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.2

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.2
File Size Uploaded Provenance Actions
ovos_skill_rhythm_box-0.0.2.tar.gz 67.6 kB With provenance Details for ovos_skill_rhythm_box-0.0.2.tar.gz

Built distribution (wheel)

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

Total release size: 136.8 kB

Release files / ovos_skill_rhythm_box-0.0.2.tar.gz

Download URL ovos_skill_rhythm_box-0.0.2.tar.gz
Size 67.6 kB
Tags Source
SHA-256 checksum
How to use checksums
51b78755f5bb802269497a35fd605cb6a8f08c42c43a342a36f238d94585e0d4
BLAKE2b-256 checksum
How to use checksums
4df5dc7e69edda46bea44912b194fcce18553f8d5c78a9fb32a78d2f68d3677e
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 Sep 30, 2026.

Transparency log

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

Download URL ovos_skill_rhythm_box-0.0.2-py3-none-any.whl
Size 69.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
271d9bedd95d2b24d2cea37899f515dd8a0e6fad2b81742d8d632c1dab533059
BLAKE2b-256 checksum
How to use checksums
1ec70226963f12d6e5b599bfa37246528a07ead7ad39aba72b6b65236e8e70c8
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 Sep 30, 2026.

Transparency log

Security for ovos-skill-rhythm-box 0.0.2

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.2.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 Sep 30, 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