Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mp25: Audio Fingerprinting and metadata correction with Python


Published on

  • Be the first to comment

  • Be the first to like this

Mp25: Audio Fingerprinting and metadata correction with Python

  1. 1. Audio fingerprinting and metadata correction with Python Alastair Porter November 21, 2011
  2. 2. Me Background in Computer Science Masters McGill Music Tech Online (20/28 music; 11 in python)
  3. 3. Python as a go-to language Quick for prototyping Use the same code in a production release Very handy for API access (thin wrapper around urllib2)
  4. 4. Music and Metadata
  5. 5. Music and Metadata The problem: People are really bad at naming music Inconsistent over releases The solution: Crowdsourcing Get info from as many trusted sources as possible Make renaming take no effort
  6. 6. MusicBrainz
  7. 7. Amazon
  8. 8. Amazon (Coverart)
  9. 9.
  10. 10. (Genre tags)
  11. 11. MusicBrainz
  12. 12. albumidentify
  13. 13. MP3, FLAC, Ogg, CDs
  14. 14. Identification strategy If there’s a CD TOC, use that (musicbrainz lookup) If no match, use audio fingerprinting If no match, do a text lookup (artist/album)
  15. 15. Fingerprinting Converts an audio signal to a short sequence of numbers Smaller to compare than an entire file Perceptual features rather than byte comparison (works with different encodings)
  16. 16. Identification strategy Fingerprinting gives us a set of candidate tracks A track could be on many albums (original release, best of, mix album) Keep a list of what tracks we have for each album Once we fill all the slots for an album, success!
  17. 17. Metadata strategy Text information from Musicbrainz Genre from Image from Amazon (or folder.jpg) Musicbrainz tells us where these are (don’t need to search) Save in every file (Text is cheap)
  18. 18. Writing it all out Custom MP3/ID3 writer Ogg meta tags FLAC meta tags Name files Artist/Artist - Year - Album/01 - Artist - Track Replaygain! Be a good citizen: Submit fingerprints to musicbrainz
  19. 19. What’s next New version of musicbrainz New fingerprinter More metadata More metadata
  20. 20. Thanks More information: MusicBrainz: albumidentify: More fingerprinting:,