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 — transforms notes by selection (velocity curves, humanize, swing, note lengths), 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 transform IN.mid -o OUT.mid --preset humanize --seed 7
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.2.0.tar.gz (54.4 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.2.0-py3-none-any.whl (63.2 kB view details)

Uploaded Python 3

File details

Details for the file groovebin-0.2.0.tar.gz.

File metadata

  • Download URL: groovebin-0.2.0.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for groovebin-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4dce3321df1d1e23adde167fc1f70289d706d1f951ac392f50357c67e3bddb96
MD5 177d0e51325c671f96f6ab7603b40b12
BLAKE2b-256 207a457057ea0ec9fe3c48675f6064363c2aa321df92f96e92f03267c78c5323

See more details on using hashes here.

Provenance

The following attestation bundles were made for groovebin-0.2.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: groovebin-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 63.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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b278c905f85f0588cbeb522dab451b33bc9837037ae3e0edc0090d5c95cc0ff5
MD5 d682331ab2807c76fb299c16f581fb32
BLAKE2b-256 e0f47b5db5427ba72570af03ce50ba85152291eef78be2c6a0b479b0daf123ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for groovebin-0.2.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

This release

0.2.0 This release

2 files

0.1.0

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