| musicdb-dump.pl | ||
| Offsets.pm | ||
| README.md | ||
| write_datablocks.pl | ||
MusicDB-POC
Perl program that will parse an iTunes itl OR Apple Music musicdb format file into a dump of the raw data that has been identified.
This doesn't do anything 'useful' with the output, and ends up dumping a HUGE amount of data to the disk.
Use
./musicdb-dump.pl --key xxxx FILENAME.musicdb
Will produce files: ./FILENAME.musicdb.dump ./FILENAME.musicdb.out
Perl Requires
Crypt::Cipher (this has the AES Decryption needed). Compress::Zlib (this uncompresses the library).
If you don't know how to do/get this, you probably just want to translate what I've written to the language you actually want.
User Requires
Apple's AES key for iTunes and MusicDB. Other projects have this easily available, but I self-host and won't risk publishing it.
Structural
This is written in a way that forces Perl to read the entire file, unencrypted and uncompressed fully into memory before parsing beyond the initial envelope header. This is not how I would do this for 'production' use, but creating a way to stream it a few sections at a time is something I didn't have time to do for this sub-project.
Project HomePages
This is the program that I have used to create the following two web-pages that list the internal file formats of iTunes .itl files and Apple Music .musicdb files.
https://www.home.vollink.com/gary/playlister/ituneslib.html
https://www.home.vollink.com/gary/playlister/musicdb.html
Long term, this will be part of the PlayLister project, which currently reads iTunes XML files and produces m3u playlists from that.