Help:Tracklist Generation Tools
|
โญ โ Personally tested and highly recommended.
๐ โ Supports continuous listening (โpassively monitors and recognizes music)โ.
๐ โ Capable of analyzing mixes and providing multiple tracks / tracklists.
Information marked with (?) is unverified and needs confirmation.
Differences between music recognition services
Leading providers include Shazam, ACRCloud, AudD, SoundHound and Google (mainly over Google Voice Assistant). While other providers exist, they typically offer their services only to large businesses (e.g. Gracenote).
Each of these platforms uses its own fingerprinting library and may collaborate with different licensing partners, which can influence the catalog of tracks available for recognition.
Shazam is usually the best, but as each service has a different fingerprinting library, it's worth trying the other ones if Shazam doesn't return results.
Sometimes, the official Shazam client performs a tiny bit better at detecting tracks than unofficial ones, likely due to deeper integration or access to more advanced features or better defaults. But in generally the thrid-party apps are absolutely usable!
AudD and ACRCloud typically require an API key to use their services, which means you'll need to register with them. AudD offers a free usage quota, making it accessible for light or personal use, while ACRCloud only provides a 14-day free trial before requiring a paid plan. That said, some apps are exceptions and offer access to these services for free, without the need of an API key โ likely due to partnerships or cooperation with the providers. In such cases, the companies may benefit by collecting valuable usage data, making it a mutually beneficial arrangement.
โPlease note that the free usage limits and trial periods for services like AudD and ACRCloud are subject to change. It's advisable to consult their official websites or documentation for the most current information.
Browser Extensions for Track Recognition
These browser extensions can recognize music playing in your browser, but they can't detect music from other applications on your computer.
- โญ Shazam Extension (Chrome) โ The official Shazam extension. For Chrome based browsers only.
- โญ AHA Music - Song Finder for Browser (Chrome) โ Uses the ACRCloud recognition service. Free to use, unlike a lot of other tools that use ACRCloud. For Chrome based browser only.
- โญ AudDยฎ Music Recognition (Chrome), (Firefox) โ Official browser extension for the AudD music recognition service.
There are unofficial Shazam based extensions for Firefox (Librezam, Song Identifier). Recent reviews report clunky UIs but they should be working just fine.
Desktop Programs for Track Recognition
These programs can identify music from system audio, a connected microphone, and some of them directly from audio files.
They also link identified tracks to various music services and may include additional features, such as the ability to download the tracks or view lyrics.
- โญ FlairMax Beta (Windows) โ Uses the Shazam engine as well as ACRCloud, although for ACRCloud you would need an API key (not free).
- MRA - Music Identifier (Windows) โ Uses the Shazam engine. I preferred FlairMax over this one, but both have good UI and work perfectly fine.
- ๐ SongRec (Linux) โ Open-source Shazam client for Linux.
- Music Radar (Linux) โ Another open-source Shazam client for Linux. SongRec has more active development, so I would first take a look at SongRec.
- Mousai (Linux) โ Open-source AudD client for Linux. It requires an AudD API key, which you can get by registering. AudD offers free access up to a certain usage limit. Mousai looks very polished based on the screenshots and is actively maintained (over 1800 commits).
- โญ ๐ Shazam (Mac) โ Official Shazam client for Mac.
Phone Applications for Track Recognition
- โญ ๐ Shazam (Android), (iOS)
- ๐ SoundHound (Android), (iOS) โ Uses its own SoundHound music recognition service.
- Musixmatch (Android), (iOS) โ Primarily a lyrics app but comes also with music recognition. I couldn't find info on which service it uses under the hood.
- Genius (Android), (iOS) โ The other big app that focuses on lyrics. Includes a music recognition feature powered by the ACRCloud service, and is one of the few ways to use the ACRCloud service for free.
- Beatfind (Android) โ Android-only app using the ACRCloud service. Also with this app you get free ACRCloud use.
- ๐ Audile (Android) โ Open-source Android app using AudD and ACRCloud services. Requires API keys, AudD has a free contingent, ACRCloud is not free. Features offline saving.
- โญ Google Voice Assistant (Android) / ๐ Now Playing (Google Pixel Phones) / iOS via Google App โ Uses it's own Google recognition service. Now Playing on Pixel phones offers passive, offline recognition for popular tracks. The online search can be triggered via voice ("Hey Google, what's this song?") or the "Search a song" button in the Google app/widget. Often considered as quite good, on par with Shazam.
- ๐ Ambient Music Mod (Android) โ Supports continuous listening. An open-source app that brings Googleโs Now Playing to non-Pixel devices (Android 9+), enabling offline music recognition using an on-device song database, but also the standard online recognition. The US version of the database is ~250MB and contains around 70,000 tracks. Still, itโs more of a gimmick, I guess. Online recognition is, of course, in a different league when it comes to identifying songs.
Command Line Tools + APIs for Track Recognition
Programmatically querying the APIs can make tracklist generation faster and easier than manually curating it. ACRCloud and AudD provide access via API, although an account is required and they cost money. Shazam offers ShazamKit, which you can use for free, but it is officially intended for use within native applications on Apple platforms and Android only.
Thereโs no shortage of projects that let you access the Shazam API without using ShazamKit. However, keep in mind that abusing or spamming these unofficial endpoints could result in rate limitsโor even a permanent ban from the service. Use them responsibly!
A few selected ones are:
- โญ ShazamIO โ A free asynchronous library from reverse engineered Shazam API written in Python.
- ๐ Tracklistify
- ๐ RipThatSet โ Written in Python, uses ShazamIO under the hood, extends it's capabilities to make it easy to extract a whole setlist. Fallback to ACRCloud for non-identified parts.
Other Options for Track Recognition
(Under Construction, to be extended)
- โญ ๐ TrackId.net (as Premium User) โ One of the best services for tracklist recognition. Sadly, not free anymore, but the price is not overly expensive (ยฃ20/year or ยฃ12/6 months; + VAT or other local taxes).
- ๐ Mixcloud.com (as Premium User) โ Utilizes Gracenote MusicID (?) (last reports from ~2018). According to their premium sales site, premium subscribers have access to full tracklists. (Worth checking how good/usuable this actually is!)
- ๐ hearthis.at (as Premium User) โ Employs ACRCloud's fingerprinting technology. According to their premium sales site, premium subscribers have access to full tracklists. (Worth checking how good/usuable this actually is!)
- ๐ YouTube.com โ Uploaders are notified of copyrighted tracks that trigger Content ID claims, including exact timestamps and enforcement options like muting or trimming. Separately, YouTube may display identified music tracks in the video description under a "Music in this video" section. This feature is primarily intended for viewers and operates independently of Content ID claims, though no timestamps are provided.
ACRCloud File Scanning โ On ACRCloud, when you log in, there's an option called "File Scanning" (seperate from their API service) where you can upload a music file or submit a YouTube URL (other popular platforms for DJ mixes arenโt supported yet). During the free trial, I tested it on a 1h 47min set, a session that would typically cost approximately $2.50. The output is super detailed, which is a big plus, but there were also a few false positives.
Others that could theoretically be used, are:
- Smart Home Devices
- Google Nest/Home โ Utilizes Google's own music recognition service. Users can ask, "Hey Google, what song is this?" to identify ambient music.
- Amazon Echo (Alexa) โ Employs Amazon's music recognition capabilities (?).
- Apple HomePod (Siri) โ Integrates Shazam for song identification.
- Snapchat โ The Snapchat app features built-in music recognition powered by Shazam. By pressing and holding on the camera screen, Snapchat listens to ambient music and displays the song's title and artist.
- Bixby (Samsung) โ Samsung's Bixby voice assistant includes music recognition capabilities. Users can activate Bixby and ask, "What song is this?" to identify music playing nearby.
And probably some others in the same vain as well as LLMs with voice chat, but I guess most use the services the other tools on this list also use - so not that interesting.
Except maybe Amazon, as they have their own music business, I could imagine they run there own recognition service. And maybe Samsung?
MixesDB-Specific Tips
(Under Construction)
How It Works - Background Info
Shazam records a short snippet of sound and transforms it into a spectrogram โ a visual map showing how the audioโs energy is distributed over time and frequency. It then automatically identifies the most distinctive peaks in this map, which together form a unique fingerprint of the recording. This fingerprint is sent to Shazamโs servers, where itโs compared against millions of stored fingerprints to identify the song. The process is based on methods originally outlined by Avery Wang and has been refined through later research and patented innovations.
This video explains the process rather nicely and is just under 7 minutes long.
The most comprehensive yet accessible explanation I found is How does Shazam Work.
If you want to go deeper, there are research papers available publicly including the original one by Avery Wang (Co-Founder of Shazam), as well as numerous implementations on GitHub (e.g. Dejavu) .
This is the core patent filed by Avery Wang. It should be public domain by now.
This article is mostly written by User:AveCaesar.