Skip to main content

Deep Brown Noise for Focus as a MenuBar App & CLI Tool

Reason this release was yanked:

superseded by 0.4.x line

Project description

LowHum icon

LowHum

Deep brown noise for focus, right from the macOS menu bar.

No browser tabs. No subscriptions. No account. Fully offline.

Brown noise is one of the most effective focus aids for people with ADHD and anyone who needs to block out distractions. Most options require keeping a YouTube tab open, paying for a subscription app, or relying on your phone. LowHum is a single-purpose menu bar app that generates deep brown noise locally and plays it on loop — install it, click play, forget about it.

Install

uv tool install lowhum          # recommended
# or
pip install lowhum

Usage

lowhum                          # launch the menu-bar app (runs in background)
lowhum devices                  # list output devices
lowhum generate                 # pre-generate the audio file

lhm is a shorthand alias — all commands work with either name.

Menu-bar app

  • Play / Stop from the menu bar
  • Output Device submenu — pick any connected audio device
  • Auto-stops when headphones connect or disconnect

How it works

  1. Generation — On first run, a 10-minute WAV is synthesised locally: cumulative-sum brown noise, Butterworth bandpass (1–500 Hz + 20 Hz sub-bass HP), RMS-normalised per chunk, crossfaded at boundaries. Stored at ~/.lowhum/.
  2. Playback — Memory-mapped streaming through PortAudio. No full-file RAM load. Loops seamlessly.
  3. Device detection — Polls audio devices every 2 seconds. Headphone unplug, Bluetooth disconnect — playback stops instantly.
  4. Menu-bar icon — Template icon; macOS handles dark/light mode automatically.

Requirements

  • macOS
  • Python >= 3.12

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lowhum-1.1.0.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

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

lowhum-1.1.0-py3-none-any.whl (4.1 MB view details)

Uploaded Python 3

File details

Details for the file lowhum-1.1.0.tar.gz.

File metadata

  • Download URL: lowhum-1.1.0.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lowhum-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8ba96e19ee4e03e6ad6a7600ce897440b57d65290f8549c103fc19f0dbf273f2
MD5 7095c7d6e850131824379531e797915a
BLAKE2b-256 0f9e3c0bf74cdac6619d91eb99388557da92ca6d28d0596c121ee463a8f0cc25

See more details on using hashes here.

File details

Details for the file lowhum-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: lowhum-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lowhum-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9fadb2e878566b07a74031f9a48eafa731bc4f3e1d3c4b70b6e9829da3cf1d15
MD5 8909c96d45ad9d1a877dc65300581a67
BLAKE2b-256 bd25b76385a841ccff01f9171817a4e226c1af0ca75d968edcc8d9d47221e8bc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page