keyfinder-cli

A CLI wrapper for libkeyfinder. Making DJs lives easier.

GPL-3.0 License

Stars
111
Committers
6

Keyfinder Command Line Interface

This small utility is the automation-oriented DJs best friend. By making use of Ibrahim Sha'ath's high quality libKeyFinder library (now maintained by Mixxx DJ), this utility can be used to estimate the musical key of many different audio file formats.

Usage and Expected Behavior

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
A

In the case that there is no key (silence) nothing will be printed to stdout and the program will exit with a 0 status code.

Different key notations

Three different key notations are supported and can be toggled:

  1. -n standard for Standard Key Notation

    Keys are outputted using the standard notation. For example, Eb is equivalent to E flat. A is equivalent to A Major. Sharps are not used. This is the default notation mode used to output keys when no other options are specified

  2. -n openkey for Open Key Notation

    Keys are outputted using BeaTunes Open Key notation. Keys like 1m are equivalent to C Major. This is what Traktor uses for it's key notation.

  3. -n camelot for Camelot Key Notation

    Keys are outputted using the Camelot Easymix Wheel notation. Similar to Open Key notation 8B is equivalent to C Major.

Building

You will need to have the following dependencies installed on your machine

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
Package Rankings
Top 10.26% on Alpine-v3.18
Top 10.81% on Alpine-v3.8
Top 10.86% on Alpine-v3.12
Top 9.94% on Alpine-v3.7
Top 14.73% on Alpine-v3.16
Top 16.22% on Alpine-v3.17
Top 8.17% on Proxy.golang.org
Top 11.24% on Alpine-v3.13
Top 13.63% on Alpine-v3.15
Top 14.67% on Alpine-edge
Top 10.96% on Alpine-v3.11
Top 12.01% on Alpine-v3.14
Top 10.56% on Alpine-v3.9
Top 12.5% on Alpine-v3.10
Badges
Extracted from project README
Build Status