{"id":13613538,"url":"https://github.com/evanpurkhiser/keyfinder-cli","last_synced_at":"2025-04-04T22:08:43.530Z","repository":{"id":25290685,"uuid":"28716713","full_name":"evanpurkhiser/keyfinder-cli","owner":"evanpurkhiser","description":"A CLI wrapper for libkeyfinder. Making DJs lives easier.","archived":false,"fork":false,"pushed_at":"2024-11-05T02:55:53.000Z","size":68,"stargazers_count":122,"open_issues_count":5,"forks_count":25,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-28T21:09:04.437Z","etag":null,"topics":["audio","automation","dj","key-notations","keyfinder"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evanpurkhiser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-01-02T15:12:33.000Z","updated_at":"2025-02-10T21:38:22.000Z","dependencies_parsed_at":"2023-11-18T21:23:40.608Z","dependency_job_id":"e2b9e5b5-2c1a-4e44-82ed-77cb6275b658","html_url":"https://github.com/evanpurkhiser/keyfinder-cli","commit_stats":{"total_commits":71,"total_committers":6,"mean_commits":"11.833333333333334","dds":0.07042253521126762,"last_synced_commit":"642d9b94ed78adffa1398a5473f4cb4209625f2b"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanpurkhiser%2Fkeyfinder-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanpurkhiser%2Fkeyfinder-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanpurkhiser%2Fkeyfinder-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evanpurkhiser%2Fkeyfinder-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evanpurkhiser","download_url":"https://codeload.github.com/evanpurkhiser/keyfinder-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247256115,"owners_count":20909240,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","automation","dj","key-notations","keyfinder"],"created_at":"2024-08-01T20:00:49.701Z","updated_at":"2025-04-04T22:08:43.503Z","avatar_url":"https://github.com/evanpurkhiser.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"## Keyfinder Command Line Interface\n\nThis small utility is the automation-oriented DJs best friend. By making use of\n[Ibrahim Sha'ath](http://www.ibrahimshaath.co.uk/)'s high quality\n[libKeyFinder](https://github.com/mixxxdj/libkeyfinder) library (now maintained\nby [Mixxx DJ](https://github.com/mixxxdj)), this utility can be used to\nestimate the musical key of many different audio file formats.\n\n[![Build Status](https://github.com/evanpurkhiser/keyfinder-cli/workflows/build/badge.svg)](https://github.com/evanpurkhiser/keyfinder-cli/actions?query=workflow%3Abuild)\n\n### Usage and Expected Behavior\n\nInstalling this software exposes the `keyfinder-cli` command on your system.\n\nThe most basic usage of this utility is to provide a path to an audio file, it\nwill quickly compute the estimated global music key of the audio file and print\nit to stdout.\n\n```sh\n$ keyfinder-cli AMajor.mp3\nA\n```\n\nIn the case that there is no key (silence) nothing will be printed to stdout\nand the program will exit with a 0 status code.\n\n### Different key notations\n\nThree different key notations are supported and can be toggled:\n\n1. `-n standard` for **Standard Key Notation**\n\n   Keys are outputted using the standard notation. For example, `Eb` is\n   equivalent to E flat. `A` is equivalent to A Major. Sharps are not used.\n   This is the default notation mode used to output keys when no other options\n   are specified\n\n2. `-n openkey` for [**Open Key Notation**](https://www.beatunes.com/en/open-key-notation.html)\n\n   Keys are outputted using BeaTunes Open Key notation. Keys like `1m` are\n   equivalent to C Major. This is what Traktor uses for it's key notation.\n\n3. `-n camelot` for [**Camelot Key Notation**](http://www.mixedinkey.com/HowTo)\n\n   Keys are outputted using the Camelot Easymix Wheel notation. Similar to\n   Open Key notation `8B` is equivalent to C Major.\n\n### Building\n\nYou will need to have the following dependencies installed on your machine\n\n- [ffmpeg](https://www.ffmpeg.org/) (This was not tested with `libav`)\n- [libkeyfinder](https://github.com/mixxxdj/libkeyfinder/)\n\nAs long as these two dependencies are installed then you should be able to\nsimply type:\n\n```\n$ make\n$ make install\n\n# Or suffix with PREFIX= to specify the install prefix\n$ PREFIX=$HOME/.local make install\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevanpurkhiser%2Fkeyfinder-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevanpurkhiser%2Fkeyfinder-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevanpurkhiser%2Fkeyfinder-cli/lists"}