groovebin
MIDI files, note maps and a pattern library in Python. It reads and writes Standard MIDI Files, translates notes between instrument maps — General MIDI drums, Addictive Drums 2, Logic's Drum Kit Designer — and indexes a folder of MIDI patterns so they can be searched, shown and recombined. Nothing needs a DAW or a plug-in installed or running.
Status: alpha. Commands, the library API and the index format may change before 1.0.
Install
pip install groovebin
groovebin --version
Needs Python 3.12 or newer.
Commands
groovebin remap IN.mid --from drum-kit-designer --to addictive-drums-2 -o OUT.mid
groovebin notes IN.mid --map gm
groovebin index ~/Grooves --map addictive-drums-2
groovebin search --role verse --meter 4/4 --tempo 90-110
groovebin generate --meter 4/4 --bars 16 --fills --role verse -o verse.mid
Usage: docs/usage.md. Changes: CHANGELOG.md.
Develop
From a checkout:
bin/run setup
bin/run pytest
bin/run lint # ruff + the pf-core structural gate (300 soft / 500 hard lines)
See CONTRIBUTING.md.
groovebin ships note-number tables only: no sounds, patterns or MIDI content from any vendor.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file groovebin-0.1.0.tar.gz.
File metadata
- Download URL: groovebin-0.1.0.tar.gz
- Upload date:
- Size: 43.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3cdf0f1b68c620a02b61e33ccb8e0b5e638ecfdfdf27a43a527d77129b372a3
|
|
| MD5 |
8c900af92103f035834e444c15516c7e
|
|
| BLAKE2b-256 |
a507cfc99483a7aab98009da7fc6882982a44b8cb0d4f3c925533873a94709ae
|
Provenance
The following attestation bundles were made for groovebin-0.1.0.tar.gz:
Publisher:
publish.yml on phierceweb/groovebin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
groovebin-0.1.0.tar.gz -
Subject digest:
a3cdf0f1b68c620a02b61e33ccb8e0b5e638ecfdfdf27a43a527d77129b372a3 - Sigstore transparency entry: 2841237735
- Sigstore integration time:
-
Permalink:
phierceweb/groovebin@e85b73eea116183080f85ca18f608556a51e856f -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/phierceweb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e85b73eea116183080f85ca18f608556a51e856f -
Trigger Event:
push
-
Statement type:
File details
Details for the file groovebin-0.1.0-py3-none-any.whl.
File metadata
- Download URL: groovebin-0.1.0-py3-none-any.whl
- Upload date:
- Size: 50.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d93d9817f11cb8f5d9ccadf965d9311a60bf2c5cb605a8c3a452e1bccdf4025
|
|
| MD5 |
0e178d5d7b27cb636e523a7eff7eb107
|
|
| BLAKE2b-256 |
c7d0bd841c39a60621801028384d171203caca36c7def9384c8acee7e85954f6
|
Provenance
The following attestation bundles were made for groovebin-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on phierceweb/groovebin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
groovebin-0.1.0-py3-none-any.whl -
Subject digest:
9d93d9817f11cb8f5d9ccadf965d9311a60bf2c5cb605a8c3a452e1bccdf4025 - Sigstore transparency entry: 2841237861
- Sigstore integration time:
-
Permalink:
phierceweb/groovebin@e85b73eea116183080f85ca18f608556a51e856f -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/phierceweb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e85b73eea116183080f85ca18f608556a51e856f -
Trigger Event:
push
-
Statement type: