Pioneeride Rekordbox tarkvara on DJ-de jaoks mõeldud muusikahalduse tööriist. Selle üks omadusi on muusikafailide tuvastamine BPM-is. Kahjuks ei kirjuta see seda teavet failide ID3 siltide BPM-i kaadrisse ja hoiab tuvastatud BPM-i enda andmebaasifailides.
Kirjutan CLI-tööriista, mis aitab mul oma muusika ja üks asi, mida ma tahaksin teha, on BPM-i andmete väljavõtmine iga loo rekordboxi andmebaasist.
Nagu Guntram Blohm osutas, pole BPM-i peaaegu kindlasti kahte salvestatud. ANLZ-failid. Selle asemel näib see olevat salvestatud faili Rekordbox 'database.edb'. Olen siia üles laadinud edb-faili näite [1], mis sisaldab ühte rada BPM-ga '170'.
Selle foorumilõigu [2] kohaselt pole edb-vorming ei avatud vormingus.
Pärast veidi rohkem uurimist näib, et see on varustatud suure jõudlusega SQL-i andmebaas, mis on mõeldud manustatud rakendustes kasutamiseks. (Pärast VEEL ROHKEM uuringuid on andmebaasi nimeks „DeviceSQL” . Selle kohta lugege algsete autorite Quora postitust). Tundub, et see pole midagi, mida oleks lihtne tagasi pöörata :(
Kõigile teistele, kes soovivad BPM-i teavet oma rekordkasti teegist välja võtta: Selgub, et saate kasutada XML-i eksporti. Kuigi see pole nii automatiseeritud kui lihtsalt andmebaasifaili lugemine, on see kena standardvorming!
Vana küsimus: tundub, et igal rajal on andmebaasis kaks faili (andmebaas on lihtsalt nende failide kataloogipuu) selle jaoks. Siin on näidisraja [4] failipaar. Raja jaoks tuvastati BPM 170-ga, kuigi ma kahtlustan, et see salvestab seda ujuva punktina või topelt, kuna mõned muud rajad on tuvastatavad numbritega nagu "169,96". Kuigi topelt- ja ujukomaheksandi kujutiste otsimine ei andnud mulle ühtegi vastet.
Ma näen, et failidel on päised, näiteks "PPTH", millele järgneb faili tee. ja "PQTZ" Rekordboxi kvantimisfunktsiooni jaoks. Kuid ma pole failivormingutega liiga tuttav, nii et ma ei saa öelda, kas see kasutab standardset failitüüpi. Või midagi omandiõiguslikumat.
Kui keegi on huvitatud failidest üle vaatama ja mind õiges suunas näitama, oleks see väga teretulnud! Praegu proovin lihtsalt välja selgitada, kuidas BPM salvestatakse.
Kuna mul pole veel piisavalt mainet, ei saanud ma enam kui ühte linki :( Siin on lingid ülaltoodud sulgudes olevate viidete jaoks: https://gist.github.com/EvanPurkhiser/72b37edd4a6ea26fbe73