Skip to main content

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

groovebin-0.1.0.tar.gz (43.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

groovebin-0.1.0-py3-none-any.whl (50.2 kB view details)

Uploaded Python 3

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

Hashes for groovebin-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a3cdf0f1b68c620a02b61e33ccb8e0b5e638ecfdfdf27a43a527d77129b372a3
MD5 8c900af92103f035834e444c15516c7e
BLAKE2b-256 a507cfc99483a7aab98009da7fc6882982a44b8cb0d4f3c925533873a94709ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for groovebin-0.1.0.tar.gz:

Publisher: publish.yml on phierceweb/groovebin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for groovebin-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9d93d9817f11cb8f5d9ccadf965d9311a60bf2c5cb605a8c3a452e1bccdf4025
MD5 0e178d5d7b27cb636e523a7eff7eb107
BLAKE2b-256 c7d0bd841c39a60621801028384d171203caca36c7def9384c8acee7e85954f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for groovebin-0.1.0-py3-none-any.whl:

Publisher: publish.yml on phierceweb/groovebin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.2.0

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page