This small utility is the automation-oriented DJs best friend. By making use of Ibrahim Sha'ath's high quality libKeyFinder library, this utility can be used to estimate the musical key of many different audio file formats.
Installing this software exposes the keyfinder-cli command on your system.
The most basic usage of this utility is to provide a path to an audio file, it will quickly compute the estimated global music key of the audio file and print it to stdout.
$ keyfinder-cli AMajor.mp3
AIn the case that there is no key (silence) nothing will be printed to stdout and the program will exit with a 0 status code.
Three different key notations are supported and can be toggled:
-
-n standardfor Standard Key NotationKeys are outputed using the standard notation. For example,
Ebis equivelant to E flat.Ais equivelant to A Major. Sharps are not used. This is the default notation mode used to output keys when no other otpions are specified -
-n openkeyfor Open Key NotationKeys are outputed using BeaTunes Open Key notation. Keys like
1mare equivelant to C Major. This is what Traktor uses for it's key notation. -
-n camelotfor Camelot Key NotationKeys are outputed using the Camelot Easymix Wheel notation. Similar to Open Key notation
8Bis equivelant to C Major.
You will need to have the following dependencies installed on your machine
- ffmpeg (This was not tested with
libav) - libkeyfinder
As long as these two dependencies are installed then you should be able to simply type:
$ make
$ make install
# Or suffix with PREFIX= to specify the install prefix
$ PREFIX=$HOME/.local make install