Using Shazam to pick up audio over internal soundcard / headphones

I recently discovered Shazam has an app for mac, it seems it works by listening on the built in mic (or any mic presumably).

I wondered if there was a way I could get it to listen to the soundcard instead? I typically listen to radio streams over VLC, through headphones and thought it would be awesome to be able to use Shazam for those unknown tunes.

I found out about the Audio MIDI Setup.app which you can create aggregate devices, I thought maybe I could somehow forward the output into the mic- but I don't really understand it exactly truth be told.

Is there a way I could get this to work?


Solution 1:

You can do this like so:

  1. Install Soundflower (from https://rogueamoeba.com/freebies/soundflower/)
  2. Option-click the volume icon and change both the input and the output device to "Soundflower (2ch)"
  3. Start the Soundflowerbed application that comes with Soundflower, then click its icon in the top right (of a flower) and choose "Built-in Output" from the list under "Soundflower (2ch)"

Now your system audio output (e.g. VLC) is going out on the Soundflower virtual audio cable and your system input (e.g. Shazam) is coming from the Soundflower virtual audio cable, so Shazam can listen to whatever you play on the Mac, but Soundflowerbed lets you also route that virtual audio cable out through the system audio output so you can hear it all the time!

This could have a slightly negative effect on CPU usage and latency, so you might not want to use this set up all the time if you aren't using Shazam - in this case, you just Option-click the volume icon and set the output (and input if required) back to "Built-in". It's really cool to have Shazam IDing tracks as you listen to a DJ mix/radio station, and it's (sometimes) impressively accurate!

Solution 2:

Have a look at Soundflower - freeware internal audio router