Geçen ay kendi arşivimden bir öneri listesi çıkardım: 2.400 kadar parça, çoğu 2000–2015 arası Türkçe rock ve elektronik. Liste elle sıralanınca geçişlerin bir kısmı kulakta “takılıyordu”, özellikle iki parçanın tempo aralığı yakın ama vuruş ızgarası kaymışsa. Bunu ölçmek için basit bir betik yazdım.
Önce her dosyanın ilk 45 saniyesinden tempo ve ilk vuruş konumunu çıkardım. Kullandığım araç aubio, çünkü kurulumu tek komut ve çıktıyı metin olarak veriyor:
for f in *.mp3; do
aubio tempo -i "$f" | head -n 1
done
Sonra çiftler arasında iki değere baktım: BPM farkı ve ilk vuruşun saniye cinsinden kayması. Geçişi kabul ettiğim koşul şuydu:
abs(bpm_a - bpm_b) <= 4 and abs(offset_a - offset_b) <= 0.06
Bu eşikler keyfi değil: 4 BPM üstü farkta kulakta ritim değişimi belirginleşiyor, 60 ms üstü kaymada ise iki parçayı üst üste bindirdiğimde vuruşlar çakışmıyor. Eşleşen çiftleri listeye aldım, almayanları ayırdım. 2.400 parçadan yaklaşık 900 çift bu koşulu geçti; kalanı için ya parça atladım ya da geçişe kısa bir sessizlik koydum.
Bunu yapmamın nedeni, öneri listesinin “iyi parçalar” toplamı olmasının yetmemesi. Sıralama da bir üretim kararı; iki parçayı yan yana koyduğunuzda ortaya çıkan şey, parçaların tek tek kalitesinden bağımsız bir sonuç. Ölçüm bunu kulakla deneme yanılmaya bırakmadan önce elememi sağladı. Bedeli şu: betik her parça için yaklaşık 0,4 saniye harcıyor, yani 2.400 parça için 15–20 dakika. Tek seferlik iş için kabul edilebilir, sürekli güncellenen bir listede değil.
Nerede işe yaramıyor: canlı kayıtlarda tempo parça içinde değişiyor, ilk 45 saniyeden çıkarılan değer parçanın tamamını temsil etmiyor. Serbest tempolu girişlerde (piyano intro, ambient açılış) aubio çoğu zaman yanlış vuruş veriyor; bu dosyaları elle işaretlemek zorunda kaldım. Bir de 3/4’lük parçalarda BPM değeri iki katına çıkabiliyor, yani 90 yerine 180 okuyorsunuz ve eşik anlamsızlaşıyor. Bunu fark ettiğimde 40 kadar parçayı listeden çıkarıp yeniden etiketledim.
Sizin listenizde geçişleri neye göre kabul ediyorsunuz: sadece BPM farkına mı bakıyorsunuz, yoksa tonalite veya ilk vuruş kayması da hesaba giriyor mu?


0 条评论
还没有评论,写下第一条。