[Update] Here are the 10,000+ Songs that Google Pixel 2’s Now Playing Feature can Recognize
UPDATE 10/19/2017: Google reached out to us to inform us that the database is updated weekly, is regional, and can recognize tens of thousands of songs. Please read this follow-up article for more details.
Google Pixel 2’s newest features is called Now Playing, and what it does is automatically detects songs playing in the background and displays information about it on the lock screen. Google says the ambient-music recognition feature can work offline and does not need to offload any data to their servers to aid in song recognition. Furthermore, the company states that their database can match over 10,000 tunes and that this database can be updated with support for recognizing more songs in the future.
But exactly what songs has Google chosen for its initial Now Playing recognition database? After some digging, we can now share the full, 10,000+ list of songs that the Google Pixel 2‘s Now Playing feature can recognize. We achieved this by pulling the 53MB matcher.leveldb file located in
LevelDB is a key-value storage library that we presumed contained the list of songs for the Now Playing feature. We sent this file to Kieron Quinn, known on our forums as XDA Recognized Contributor Quinny899, who confirmed that this file was indeed the database needed by the Pixel Ambient Services app (which has the Now Playing feature).
When trying to run this app, the app would crash stating that it “could not locate music recognizer core shard.” With the help of APKTool, Quinny899 was able to find the code where this error message was thrown. Lo and behold, the file that Pixel Ambient Services was looking for is the matcher.leveldb file.
After confirming this, Quinny899 then ran a script to dump the contents of database, then another script of his that parsed the result to fix the formatting. The result is the “Google Pixel Ambient Song List,” a table of 17,300 songs containing the song name and artist of every tune that Now Playing can recognize.
Why 17,300? No reason in particular. Quinny899 isn’t sure if this is all of the songs as it’s possible that the script did not dump all of them. Some songs appear more than once, too, but we doubt there are thousands of duplicates in there.
Keep in mind that while this Now Playing song list is most likely comprehensive for now, it may not be in the future. This is because, as mentioned previously, Google will be updating their database. It’s unclear whether updating the database will require an OTA update or if the Pixel Ambient Services app can update the database on its own, though.
Update on “AmbientSense”
We earlier believed this feature to be related to previous research on a technology called “AmbientSense” given the matching name and topic, but Google reached out to us to state that their Now Playing feature is not based on AmbientSense. Presumably, this means that the app’s package name matching that AmbientSense paper is not relevant. We’ve reached out to Google for further information on the Now Playing feature and will update our articles when we hear back.