Skip to main content

Rhythm Box

A simple drum-machine/rhythm-box for OVOS - loops an 8-step (eighth- note) beat pattern at a chosen tempo. All 4 drum sounds (kick, snare, closed hi-hat, open hi-hat) are generated, not recorded - nothing to source or license (see scripts/generate_drums.py). Same timing philosophy as ovos-skill-metronome: a background thread scheduling each step from a fixed accumulator, extended to a step-sequencer instead of a single click.

Tests PyPI version

Early 0.0.x release. Only 2 patterns (rock, four-on-the-floor) for now, deliberately kept small to prove the sequencing engine before building a genre library - see "Planned patterns" below.

Usage

"play a rock beat at 100 bpm"
"play a disco beat"
"start a drum loop"
"stop the beat"
"spil et rock beat på 100 bpm"    (Danish)
"stop beatet"                     (Danish)

Bare "start a drum loop" resumes the last pattern/tempo used this session, or a 120 bpm rock beat if nothing has been played yet. Valid range is 40-220 bpm.

The two patterns

Both are an 8-step grid (one bar of eighth notes):

Step 1 & 2 & 3 & 4 &
Rock: hi-hat ● ● ● ● ● ● ● ●
Rock: kick ● ●
Rock: snare ● ●
Four-on-the-floor: kick ● ● ● ●
Four-on-the-floor: open hat ● ● ● ●
Four-on-the-floor: snare ● ●

Planned patterns (tracked as issues, not built yet)

  • Swing/shuffle - needs a different timing model (triplet feel), not just a new hit-pattern on the existing straight-eighth grid.
  • Funk, latin/bossa, half-time - half-time is cheap (reuses the existing 4-sample palette); funk/latin likely need more samples.

A real caveat: simultaneous hits

Some steps hit more than one instrument at once (kick + hi-hat on beat 1, for example). Each is sent as a separate play_audio() call in quick succession - this relies on the OVOS audio backend actually mixing overlapping playback rather than one call cutting off the previous. Most real setups do mix correctly (PulseAudio/PipeWire-level mixing), but if a beat sounds thin or clipped on a given deployment, this is a real, known reason why - not something silently assumed away.

Install

pip install ovos-skill-rhythm-box

Development

See DEVELOPMENT.md.

Category

Entertainment

Tags

#music #drums #rhythm #beat

Metadata

Release files for ovos-skill-rhythm-box 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovos-skill-rhythm-box 0.0.4
File Size Uploaded Provenance Actions
ovos_skill_rhythm_box-0.0.4.tar.gz 67.6 kB With provenance Details for ovos_skill_rhythm_box-0.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ovos-skill-rhythm-box 0.0.4
File Interpreter ABI Platform Actions
ovos_skill_rhythm_box-0.0.4-py3-none-any.whl Python 3 none any Details for ovos_skill_rhythm_box-0.0.4-py3-none-any.whl

Total release size: 136.9 kB

Release files / ovos_skill_rhythm_box-0.0.4.tar.gz

Download URL ovos_skill_rhythm_box-0.0.4.tar.gz
Size 67.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a7a2efdc4b7c5a9f5ef893cd1fe20b6573f081abcd919c88079963e820e74834
BLAKE2b-256 checksum
How to use checksums
3fc8ec06c7f10110dcd519a0bde07e6517c3bcd33b784aa2bc419d31aa2d2522
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / ovos_skill_rhythm_box-0.0.4-py3-none-any.whl

Download URL ovos_skill_rhythm_box-0.0.4-py3-none-any.whl
Size 69.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
15d15195a994808498af003f47e68d40e9a545b83b827a48002178d6b423e9b8
BLAKE2b-256 checksum
How to use checksums
fd80fd2a301ce1797e83ffbcfaa130b3677312647b973f2494aa4bbaa9cfd485
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Security for ovos-skill-rhythm-box 0.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ovos_skill_rhythm_box-0.0.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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