Ton tespitinde güven skoru ne demek olmalı — ve bizimkini nasıl yeniden ayarladık
Ton tespit araçlarının çoğu sana bir ton verir. Ne kadar emin olduğunu söyleyen daha azdır. Üstelik bir güven sayısı tek başına pek bir şey ifade etmez; önemli olan kalibre olup olmadığı: aracın 90 dediği bütün parçaların aşağı yukarı onda dokuzunun gerçekten doğru çıkıp çıkmadığı.
Bu yazı o sözle ilgili: nasıl sınıyoruz, bizimkinin kaydığını fark edince ne oldu, ve "buna güven" ile "kulakla kontrol et" arasındaki çizgiyi nereye çektik.
"Kalibre" ne demek
Bir ton tespitçisi cevabı görmez; kanıt görür ve onu puanlar. O ham puan bir olasılık değildir. Ham 40, motorun nasıl kurulduğuna bağlı olarak %80 doğru olma ihtimali de demek olabilir, %50 de.
Kalibrasyon, ham puanı bir anlam taşıyan sayıya çeviren adımdır. Motoru tonu zaten etiketli çok sayıda parçada çalıştırırsın, sonuçları ham puana göre gruplarsın ve her grubun gerçekte ne sıklıkla doğru çıktığına bakarsın. O tablo bir eğri olur; kullanıcının gördüğü sayı o eğriden gelir.
Kalibre bir skorun sınavı basittir: motorun 80–89 gösterdiği bütün parçaları al, kontrol et; etiketle uyuşanların oranı 80'lerde bir yere düşmeli. 60'larda çıkıyorsa sayı kendini abartıyor. 90'larda çıkıyorsa kendini küçümsüyor.
Bizimki kaymıştı — temkinli yöne
İlk kalibrasyon eğrimiz Ağustos'ta 348 parçayla çıkarılmıştı. O günden beri motor değişti; en çok da en iyi iki aday ton arasındaki yakın kararları veren küçük bir karar katmanı eklendi. O katman çoğunlukla düşük güvenli parçaları düzeltti. Yani eski eğri artık var olmayan bir motoru anlatıyordu.
21 Eylül'de iki çalışan DJ'in kütüphanesinden, benim ve bir DJ arkadaşımın, Mixed In Key ile etiketli 8.004 parçada yeniden ölçtük. Motor her dilimde kendini olduğundan kötü gösteriyordu:
| Gösterilen güven | Gerçek uyuşma |
|---|---|
| 40–44 | %48,9 |
| 50–59 | %64,0 |
| 80–89 | %91,6 |
Kendini küçümseyen bir skor zararsız gibi gelir; temkinli olmak iyidir. Değildir. Her gereksiz "kulakla kontrol et" uyarısı sana uyarıyı görmezden gelmeyi öğretir. Görmezden gelmeyi öğrendiğin bir uyarı, hiç olmayan uyarıdan kötüdür, çünkü gerçekten önemli olduğu anda da ekranda durur ve yine geçersin.
Nasıl yeniden ayarladık
Yöntem bilerek sade:
- Ham puanı eşit büyüklükte 20 dilime böl, her dilimdeki gerçek uyuşmayı ölç.
- Eğriyi havuz-bitişik-ihlal algoritmasıyla monoton olmaya zorla; daha yüksek ham puan hiçbir zaman daha düşük güven göstermesin. Bu adım olmazsa küçük dilimlerdeki gürültü "73, 76'dan daha güvenilir" gibi saçmalıklar üretir.
- Eğriyi 98'de tavanla. Motor sana hiçbir zaman "kesin" demez.
Ortalama kalibrasyon sapması, yani gösterilen sayının ölçülen uyuşmadan ortalama ne kadar uzak durduğu, 5,4 puandan 1,3'e indi.
O 1,3, eğrinin çıkarıldığı parçaların üzerinde ölçüldü; bu da onu olduğundan iyi gösterir. Dürüst sınav, eğriyi bir kütüphaneden çıkarıp sapmayı diğerinde ölçmek. İki yönde de yapıldığında sapma 5,1'den 1,5'e ve 6,2'den 2,5'e indi. O kadar düzgün değil, ama eğrinin hiç görmediği bir kütüphanede nasıl davrandığını söyleyen sayı bu. O kütüphane de senin kütüphanen.
Çizgiyi nereye çekmeli
Kalibre bir sayının üstüne yine de bir karar gerekiyor: uygulama hangi değerin altında seni uyarsın? Bu bir ödünleşim, bir gerçek değil. Eşik yükseldikçe daha çok parça işaretlenir, işaretlenmeyenler daha güvenilir olur. Yeni eğriyle, 8.004 parçanın tamamında ölçülen:
| Bunun altında uyar | İşaretlenen pay | İşaretsiz parçalarda uyuşma |
|---|---|---|
| 70 | %20,1 | %91,9 |
| 75 | %23,5 | %92,4 |
| 80 | %30,4 | %94,1 |
| 85 | %38,7 | %95,9 |
"Kulakla kontrol et" için 80'i, "ton belirsiz" için 60'ı seçtik. Daha temkinli seçenek olan 85, neredeyse her on parçadan dördünü işaretleyecekti. O sıklıkta uyarı bilgi taşımayı bırakır; ekranın bir parçası olur.
Seçilen eşikler arkadaşımın 6.281 parçalık kütüphanesinde böyle görünüyor. Eğri yalnız benim kütüphanemden çıkarıldı, yani sayılar eğrinin hiç görmediği parçalardan geliyor:
| Bant | Parçaların payı | Uyuşma |
|---|---|---|
| 80 ve üstü — uyarı yok | %69,3 | %94,3 |
| 60–79 — "kulakla kontrol et" | %22,1 | %69,7 |
| 60'ın altı — "ton belirsiz" | %8,6 | %50,5 |
Manşet doğruluğumuzu ölçtüğümüz standart, insan etiketli kıyas setinde 80 eşiği parçaların %75,4'ünü kapsıyor ve bu parçalar etiketle %88,2 oranında uyuşuyor.
Denediğimiz ve işe yaramayan
Akla gelen sonraki adım, elle kurulmuş skoru dokuz sinyalden güveni öğrenen bir modelle değiştirmekti; sinyallerden biri parçanın kendi bölümlerinin birbiriyle ne kadar anlaştığı. Kalibrasyonu iyileştirmedi, kötüleştirdi: sapma 1,5 puandan 2,6'ya çıktı. O deneyi tech house ölçümünde yazmıştık. Sözünü tutan basit bir skor, tutmayan zeki bir skordan iyidir.
Bu sayıların sınırları
- "Uyuşma", Mixed In Key etiketleriyle uyuşma demek; mutlak doğruluk değil. Etiketler de kusursuz değil: iki kütüphanede ortak olan 635 parçanın 45'inde (%7,1) Mixed In Key kendi kendisiyle çelişiyor.
- İki kütüphane, ikisi de ağırlıklı olarak house. Kalibrasyon hem motorun hem malzemenin özelliği. Ölçtüğümüzden çok uzak bir müzikte sayılar kayabilir; motor her değiştiğinde eğriyi yeniden çıkarmamızın sebebi de bu.
- Güven skoru bir sonuç hakkındadır, parça hakkında değil. 70, parçanın "kötü" bir tonda olduğunu söylemez. Kanıtın karışık olduğunu söyler; uygulama da sebebini yazar: parçanın bölümleri birbirinden farklı ton mu söylüyor, yoksa iki ton yalnızca birbirine çok mu yakın.
Bir güven sayısına sorulacak üç soru
Bir araç sana güven skoru ya da uyarı işareti gösteriyorsa, üç soru sormaya değer:
- Kalibre mi, neye karşı? Etiketli parçalarla hiç sınanmamış bir skor bir sıralamadır, olasılık değil.
- Motor değişince yeniden sınanıyor mu? Bizimki tek bir motor değişikliğinden sonra kaydı. Gelişen her motor aynı şekilde kayar.
- Uyarı oranı makul mü? Hiçbir şeyi işaretlemeyen bir araç daha isabetli değildir; yalnızca sana söylemiyordur.
Çoğu ton tespit aracı için yayımlanmış bir kalibrasyon ölçümü bulamadık. Bu, olmadığı anlamına gelmez; karşılaştırabileceğimiz bir şey bulamadığımız anlamına gelir. Bizimkiler yukarıda. Arkalarındaki iki kütüphane de, her parça için motorun tahmini ve güveniyle birlikte Kaggle'da yayımlı; eğriyi kendin sınayabilirsin.
Kendi kütüphanenin nereye düştüğünü görmek istersen parçalarını Harmoniq'e bırakman yeterli. Her sonuç güveniyle, işaretlenen her parça sebebiyle geliyor. Analiz tarayıcında çalışıyor, dosya yüklenmiyor.