We’re ecstatic to announce the release of Echoprint, a fully free and open source music fingerprint and identification service powered by The Echo Nest. We’ve partnered with our dear friends at Musicbrainz and 7digital to bring developers a music fingerprint for free so they can build the future of music. Read the press release for more details!
The Echo Nest has been focusing on a crucial component of the oncoming music cloud for some time: we spend a lot of time and engineering resources on music resolving. This extends from mapping a query for a band name to its ID, to uncovering mentions of songs on blogs, to identifying the song in an audio stream without any metadata — otherwise known as fingerprinting. The Echo Nest’s existing fingerprint technology, “The Echo Nest Musical Fingerprint” aka ENMFP, has been in wide use privately and via our API for 18 months. Today we are unveiling a new fingerprint technology called “Echoprint,” whose main feature is its complete openness — everything from the program to analyze the audio to the server and data to make the match are available for anyone to use, under a permissive open source license, for free.
Music resolvers such as Shazam, Soundhound, Gracenote and Audible Magic work by “listening” to the music and then searching for features in the audio in a large database of content. They find a match in a canonical song ID, and return that to the user. Some, like the mobile apps of Shazam and Soundhound work “over the air” — where audio can be identified in noisy settings over a microphone. And others work only on files, by computing hashes on mp3s stored on a hard drive. All of them share three components:
- the “code generator” — the piece of software that takes an audio signal and computes features or “codes” to look up,
- the server — the hardware and software that can quickly look up codes in large database of reference songs and find the answer, and
- the reference data — the database of millions of songs that can be resolved.
Echoprint includes all three. And, for the first time, all three are being released under open source or permissive licenses. The code generator is open source and free to download and build into apps for any platform — Mac, Windows, Linux or mobile (Android, iOS or Windows Mobile). The server is open source and available for anyone that wants to host their own resolving service. And the data, at first provided by our content partners at 7digital, is available for free download provided that any new additions are shared back. This data sharing approach ensures that over time, the Echoprint data commons will grow to every song fingerprinted by all users, and that data will be openly available to any developer. The Echo Nest will run and maintain the first Echoprint resolving server but we expect others to host their own.
Why an Open Source Fingerprint
We believe that resolving music should be something that belongs to the community. It should be a high-quality, relied-upon internet service, like DNS or email.
The catalog of current commercial music resolvers is unnecessarily limited — you cannot submit your band’s music to Shazam, for example — and we consider this to be a fault correctable by opening all parts of music resolving and recognition.
Today, application developers are forced to spend more time than they want to on song identification and basic metadata issues. We hope by opening up this resource, developers can focus their time and effort building creative new music experience for fans, not cleaning up metadata.
We think the potential of music experiences can be vastly improved with free and open access to music resolving and recognition. Allowing listeners the freedom to identify any song they hear out in the world or to clean up their collection or sync it with cloud services opens up a new class of music apps. This will become even more important during the upcoming period of the ‘big move’, when millions of fans will be moving music (often with messy metadata) from a collection of hard drives kicking around their house to cloud and locker services.
Using Echoprint alongside other Echo Nest APIs such as Rosetta Stone and Taste Profiles allows developers to build apps that can “convert” a local catalog of music into any streaming or music service. For example, Echoprint can take any audio source — a phone’s microphone or a file on a laptop — and identify the artist’s Facebook page, Rd.io ID or build a playlist on 7digital.
What we hope people will build
Any developer can now build music recognition into any app for free, with no licensing fees and no need to host their own server or collect their own data. We include sample fingerprint app source code for iOS. Just by including the provided open source projects into any app, a developer can now make their music experiences “resolving aware.”
- a social music app could scan a users’ local music collection
- a music game could detect the song playing in the room and show metadata from other Echo Nest APIs.
- a hardware box could go inbetween your turntable and your stereo to “scrobble” your vinyl on last.fm or Facebook
- your phone can figure out which movies or television is playing automatically from the soundtrack
Like Shazam or Soundhound, Echoprint works on files or “over the air” in noisy environments.
The code generator can scan audio at roughly 250x real time, i.e. an entire song can be scanned in half a second on a single processor. Enough audio to make a query can be scanned in less than a tenth of a second.
The identifier needs only 20 seconds of audio to make a match, from anywhere in the song. Our reference database contains full songs and the queries can be much smaller and from anywhere in the song.
The server component is fast and scalable. A single server-class hardware box can support 60 queries a second and can horizontally scale.
Where to get it
— Brian, Dan, Alastair and the rest of the Echo Nest