A content management/cataloguing/database format for management of music files that references music files by their digital fingerprint which is able to differentiate between file content at the bit level
- Identifies an EXACT audio file, down to the bit level using a unique digital fingerprint.
- Allows you to create playlists specifying these EXACT audio files which can represent singles or albums. The playlist can also be identified by a unique digital fingerprint, so that fingerprint specifies an exact playlist containing exactly (down to the bit level) the required audio files.
- Has separate database/file structures representing each of the following:
- The audio file (this is just your standard audio file on disc, but containing a tag with the fingerprint)
- The single/album - This contains the album details and an ordered list of audio files, identified by fingerprint.
- The collection - This contains the collection details and an ordered list of singles/albums, identified by fingerprint.
- Allows community collaboration to identify the exemplary versions of digital music, particularly that where various quality rips from an analogue medium such as vinyl exist.
- Given a playlist, all the music from that playlist can be quickly identified and each audio file can potentially be pulled from a different source, in the knowledge that is exactly the audio file (to bit level) specified in the playlist.
- Allows easy automated checking that existing collections stored in this database format are all present/correct/and without bit rot.
- Currently each audio file (usually representing a single track on an album) generally stores information on the album it comes from. Moving the album specification into a separate file/data structure allows more flexibility, for example a music manager can reference the same audio file multiple times if it is a track on multiple albums in a collection, and assign the correct album information to it.
- A sha256 hash of content is generated to uniquely identify each audio file/playlist(representing an album or single)/playlist (representing a collection of albums/singles)
- This is basically GIT minus the history tracking and minus the complexity.
- FLAC files already contain a fingerprint, but sha256 is preferred as superior (less chance of collision- if it's good enough for GIT...
- There are none at this stage. Although it will be pretty simple there's no point generating anything until we've figured out if the concept has legs and is not a rehash (there's a pun there) of something already in existence.
- I just put this up to begin a discussion.
- If it's already been done, let me know.
- If you can't see the point, it's likely this is not something you will be interested in.
- Problems or improvements on the idea? Let me know.
It's just for discussion at this point, but if something serviceable along these lines doesn't already exist I plan to throw something basic together in Python to prove the concept, which I will share here.
It's not something I'm planning to build into a music player or online music application, but if it generates enough interest maybe others will get on board.