shazam.el is an Emacs interface to the Shazam music recognition feature included in macOS 14.2+ (Sonoma or more recent).
- Identify music with the command
shazam. - Recognized music is added to an Org file with links to Shazam and Apple Music.
shazam.el requires GNU Emacs 30.1+ running on macOS 14.2 (Sonoma) or greater.
shazam.el is available to install from MELPA (TBD).
For manual installation, ensure that shazam.el is available in the Emacs load-path variable.
This package requires the installation of a macOS Shortcut named “Identify Music JSON”. Download and install it on your system by clicking on the link below:
shazam.el by default requires your Emacs session to load the macOS SF Symbols font. Use the convenience command shazam-init to setup both SF Symbols and to globally set your keybinding preference to the shazam command.
Add the following line to your Emacs initialization file:
(shazam-init "M-<f19>")If no binding is desired, shazam-init can be called with no arguments.
By default, every identified track is logged in an Org file named shazam.org that is stored in your home directory. This log file can be changed to preference by the customizable variable shazam-log-file.
Identifying the current music playing is done with the command shazam.
M-x shazamThe command shazam-history will open the log file (specified by the variable shazam-log-file) of recognized music tracks.
Shazam is a trademark of Apple Inc., registered in the U.S. and other countries and regions.
© 2026 Charles Y. Choi