{"id":22866869,"url":"https://github.com/insomnimus/kb-drums","last_synced_at":"2025-03-31T10:32:15.226Z","repository":{"id":136922896,"uuid":"368572722","full_name":"insomnimus/kb-drums","owner":"insomnimus","description":"App to play drums from the command line using midi.","archived":false,"fork":false,"pushed_at":"2022-01-01T16:56:00.000Z","size":76,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T14:58:14.025Z","etag":null,"topics":["command-line","drums","game","midi","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/insomnimus.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":"2021-05-18T15:04:21.000Z","updated_at":"2025-01-23T19:52:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"0109f1e4-6df6-4a42-ba7a-d6df16538575","html_url":"https://github.com/insomnimus/kb-drums","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fkb-drums","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fkb-drums/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fkb-drums/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insomnimus%2Fkb-drums/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/insomnimus","download_url":"https://codeload.github.com/insomnimus/kb-drums/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246453410,"owners_count":20779948,"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":["command-line","drums","game","midi","rust"],"created_at":"2024-12-13T12:17:46.073Z","updated_at":"2025-03-31T10:32:15.218Z","avatar_url":"https://github.com/insomnimus.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kb-drums\r\n\r\nPlay drums with unnoticeable latency on your keyboard!\r\n\r\n# Installation\r\nFor pre-built binaries for your platform, visit the [releases page](https://github.com/insomnimus/kb-drums/releases).\r\n\r\nTo build kb-drums from source, keep on reading.\r\n\r\n# Building the Project\r\n\r\nFirst, if you're on a linux system, make sure you have alsa dev libraries installed:\r\n```sh\r\n# debian and derivatives\r\napt install libasound2-dev\r\n\r\n# RHEL and friends\r\ndnf install alsa-lib-devel\r\n```\r\n\r\nYou have two options:\r\n\r\n## Using git\r\n\r\n```sh\r\ngit clone https://github.com/insomnimus/kb-drums\r\ncd kb-drums\r\ngit checkout main\r\ncargo install --path . --locked\r\n```\r\n\r\n## Using cargo\r\n\r\n`cargo install --locked --git https://github.com/insomnimus/kb-drums --branch main`\r\n\r\n# Requirements For Running The App\r\n\r\nYou only need a MIDI device running as a service/daemon.\r\nWindows devices come with a default MIDI device, but the quality is pretty bad so [Virtual MIDI Synth][] or [OmniMIDI] is recommended.\r\n\r\nOn *NIX or OSX, [Fluidsynth][] is very nice, although there are a lot of alternatives.\r\n\r\n[Fluidsynth][] also works on Apple devices.\r\n\r\n# Usage\r\n\r\n```output\r\nkb-drums 0.6.1\r\n\r\nPlay MIDI drums from the command line.\r\n\r\nUSAGE:\r\n    kb-drums.exe [OPTIONS] [SUBCOMMAND]\r\n\r\nOPTIONS:\r\n    -c, --config \u003cconfig\u003e       Specify a custom config file.\r\n    -d, --device-no \u003cdevice\u003e    The MIDI device no. Defaults to the first available device.\r\n    -h, --help                  Print help information\r\n        --no-raw                Disable raw mode.\r\n    -v, --volume \u003cvolume\u003e       A number between 0 and 127, 127=max.\r\n    -V, --version               Print version information\r\n\r\nSUBCOMMANDS:\r\n    default-config    Display the default configuration.\r\n    drums             Show a list of available drum names.\r\n    help              Print this message or the help of the given subcommand(s)\r\n    keys              Show available key names used in the config file.\r\n    list              List available MIDI output devices. [aliases: ls]\r\n```\r\n\r\n# Key Mapping\r\n\r\nYou can specify a config file to kb-drums with the `--config` option.\r\nYou can generate a default config file by running `kb-drums default-config`.\r\n\r\nIn the `keys` map, the keys are any letter keys (a-z)\r\nand the values are either a drum name (run `kb-drums drums` to see them all) or any valid MIDI note numbers (not strings, numbers).\r\n\r\n[Virtual MIDI Synth]: https://coolsoft.altervista.org/en/virtualmidisynth\r\n[OmniMIDI]: https://github.com/KeppySoftware/OmniMIDI\r\n[Fluidsynth]: https://www.fluidsynth.org/\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsomnimus%2Fkb-drums","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finsomnimus%2Fkb-drums","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsomnimus%2Fkb-drums/lists"}