Pioneers Rekordbox yazılımı, DJ'ler için bir müzik yönetim aracıdır. Özelliklerinden biri, müzik dosyaları için BPM tespitidir. Maalesef bu bilgiyi ID3 etiketlerinin BPM çerçevesine yazmıyor ve bunun yerine algılanan BPM'yi kendi veritabanı dosyalarında tutuyor.
Ağımı daha iyi yönetmeme yardımcı olacak bir CLI aracı yazıyorum müzik ve yapmak istediğim şeylerden biri de, BPM verilerini her şarkı için rekordbox veritabanından çıkarmak.
Guntram Blohm'un işaret ettiği gibi, BPM neredeyse kesinlikle ikisinde depolanmıyor ANLZ dosyaları. Bunun yerine, Rekordbox 'database.edb' dosyasında depolanıyor gibi görünüyor. Buraya [1] BPM '170' ile bir parça içeren örnek bir edb dosyası yükledim.
Bu forum başlığına [2] göre edb biçimi değil açık bir format.
Biraz daha araştırmadan sonra, gömülü uygulamalarda kullanılmak üzere tasarlanmış tescilli, yüksek performanslı bir SQL veritabanı gibi görünüyor. (DAHA FAZLA araştırmadan sonra, veritabanına 'DeviceSQL' adı verilir . Orijinal yazarlar Quora'nın bu konudaki gönderisini okuyun). Tersine çevirmesi kolay bir şey gibi görünmüyor :(
BPM bilgilerini rekordbox kitaplıklarından çıkarmak isteyen herkes için: Kullanabileceğiniz bir XML dışa aktarımı olduğu ortaya çıktı. Veritabanı dosyasını okumak kadar otomatik olmasa da, güzel bir standart biçimdir!
Eski soru: Her parçanın veritabanında tutulan iki dosyası var gibi görünüyor (veritabanı bu dosyaların sadece bir dizin ağacıdır) onun için İşte örnek bir parça için dosya çifti [4]. BPM parça için 170 olarak algılandı, ancak onu bir kayan nokta veya "169,96" gibi sayılarda diğer bazı parçalar tespit edilebildiğinden iki kat daha fazla. Çift ve kayan noktalı onaltılık temsilleri aramak benim için hiçbir eşleşme sağlamadı.
Dosyaların başlık gibi görünen başlıklara sahip olduğunu görüyorum, örneğin "PPTH" ve ardından dosya yolu. ve Rekordbox kuantizasyon özelliği için "PQTZ". Ancak dosya formatlarına çok aşina değilim, bu yüzden standart bir dosya türü kullanıp kullanmadığını anlayamıyorum. Ya da daha tescilli bir şey.
Biri dosyalara bakmak ve beni doğru yöne yönlendirmekle ilgilenirse çok memnun olur! Şu anda BPM'nin nasıl depolandığını anlamaya çalışıyorum.
Henüz yeterince itibarım olmadığı için birden fazla bağlantı yapamadığım için :( İşte bağlantılar yukarıdaki parantez içindeki referanslar için: https://gist.github.com/EvanPurkhiser/72b37edd4a6ea26fbe73