White Noise
An ambient noise machine for OVOS - "play white noise" for sleep or focus. White, pink, and brown noise, all generated, not recorded.
Usage
"play white noise"
"play pink noise"
"start some background noise"
"stop the noise"
"spil hvid støj" (Danish)
"stop støjen" (Danish)
How "play ..." reaches this skill
On an OVOS install the OCP media pipeline takes every sentence that starts with "play" before normal intents are tried. So the skill also answers OCP's search: a phrase that asks for noise and nothing else ("white noise", "some pink noise for sleep", "background noise") gets this skill's result with top confidence, and OCP hands playback back to the skill. Anything else ("white noise by some band") is left to the music skills. The global "stop" works too.
Why no rain/ocean/fan sounds
The original brief mentioned rain and ocean waves too. Those need genuinely loopable recordings - a hard seam or click at the loop point would be very noticeable in a sustained ambient track, a stricter sourcing requirement than the short one-shot clips ovos-skill-sound-like uses. White/pink/brown noise sidesteps the problem entirely: noise has no coherent waveform pattern for the ear to lock onto, so a generated clip looping back to its own start is inherently seamless. Rain/ocean are a real future possibility, but need actual recordings sourced and vetted for clean looping - not built here.
How the noise is generated
- White: uniform random samples (flat spectrum).
- Pink: Paul Kellet's economy IIR filter approximation (1/f spectrum) - a well-known, publicly documented DSP technique, not sourced from any particular library or artist.
- Brown/red: a clamped random walk (1/f² spectrum).
All three use a fixed random seed, so regenerating a given noise type produces byte-identical audio - deterministic, same as every other generated sound in this project family (clicks, tones, drum hits), even though the underlying content is "random".
Why "stop" doesn't stop instantly
Same underlying reason as
ovos-skill-tuning-fork:
play_audio() has no reliable way to interrupt an already-playing
sound. Noise loops by repeatedly re-triggering a 20-second generated
clip - "stop" prevents the next clip from starting, but the clip
already playing rings out to its natural end. Worst case, that's up
to 20 seconds - noticeably longer than the metronome/rhythm-box's
"before the next beat" stop latency, and disclosed rather than
glossed over.
Install
pip install ovos-skill-white-noise
Development
See DEVELOPMENT.md.
Category
Utility
Tags
#ambient #sleep #focus #white-noise #relaxation
Metadata
Release files for ovos-skill-white-noise 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| ovos_skill_white_noise-0.0.2.tar.gz | 27.5 kB | With provenance | Details for ovos_skill_white_noise-0.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ovos_skill_white_noise-0.0.2-py3-none-any.whl | Python 3 | none | any | Details for ovos_skill_white_noise-0.0.2-py3-none-any.whl |
Total release size: 55.7 kB
Release files / ovos_skill_white_noise-0.0.2.tar.gz
| Download URL | ovos_skill_white_noise-0.0.2.tar.gz |
|---|---|
| Size | 27.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b37c63d758caddfbfc15f2e72d1cbe3800a69c75105ca3386115fb2b2a5fdfb7
|
|
BLAKE2b-256 checksum How to use checksums |
bbabcde7b90914a78dd4d04ad8d4f98e9aa0d55c9611a090dd8be655abf839cd
|
| 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 logRelease files / ovos_skill_white_noise-0.0.2-py3-none-any.whl
| Download URL | ovos_skill_white_noise-0.0.2-py3-none-any.whl |
|---|---|
| Size | 28.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84cd5b3b025f9210c9c5f16e049a6619a3cddf3608f37b0e2933892f890bcb59
|
|
BLAKE2b-256 checksum How to use checksums |
88b9d374ed8993ad29e29c1c83842badb8c5c0a9afa53664f9bf0d44e141e4b0
|
| 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 logSecurity for ovos-skill-white-noise 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.
Attestation for ovos_skill_white_noise-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 logA 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.