You are browsing as a guest. Sign up (or log in) to start making projects!

ReactBeat

  • 3 Devlogs
  • 5 Total hours

reactbeat is a local terminal music visualizer. It decodes an audio file, plays it back, analyzes short-time energy in sync with playback, and renders particle or fluid motion as packed braille graphics in a Textual TUI.

Open comments for this post

1h 25m 14s logged

Hey guys, I finally finished building ReactBeat, it was a fun journey where i learnt a lot of new stuff. It was also math heavy for simulations and stuff.

Hey guys, I finally finished building ReactBeat, it was a fun journey where i learnt a lot of new stuff. It was also math heavy for simulations and stuff.

Replying to @DevaanshPathak

0
1
Open comments for this post

2h 35m 36s logged

ReactBeat Devlog

Built reactbeat into a full local Python TUI music visualizer. The app now opens with a Textual start screen where users
can browse folders or reopen recent audio files, then plays local audio while rendering beat-reactive braille graphics.

Implemented the core audio pipeline: WAV/FLAC/OGG loading through soundfile, callback-driven playback through
sounddevice, playback-position tracking, and a manual NumPy FFT analyzer for bass, broadband energy, intensity, and
onset detection. MP3 and external media tools were intentionally avoided to keep the app self-contained.

Built the rendering stack from scratch: a custom Unicode braille packer, Rich style spans per cell, and multiple
simulation-driven visuals rather than FFT bars. The current modes are:

  • particles: vectorized particle motion with structured spawning and beat forces
  • fluid: coarse Stable Fluids-style density/velocity simulation
  • waves: damped 2D ripple simulation added as a third mode

Added five runtime themes: ember, aurora, voltage, prism, and ghost. Styles can be cycled during playback, and modes
cycle with m.

Improved the TUI flow: single command launch with python -m src.cli, folder picker support, recent files, visible
controls/status bar, direct audio-file launch, folder launch, diagnostics, smoke tests, and audio metadata checks. Mouse
interaction was experimented with, but removed after it caused lag and didn’t improve the experience enough.

Added project docs and validation: README.md, PRD.md, ROADMAP.md, a cross-platform python -m scripts.check command, unit
tests for core systems, smoke renders for all modes, and PyInstaller/Linux packaging notes. The latest verification
passed with:

python -m scripts.check
python -m compileall src tests scripts

ReactBeat Devlog

Built reactbeat into a full local Python TUI music visualizer. The app now opens with a Textual start screen where users
can browse folders or reopen recent audio files, then plays local audio while rendering beat-reactive braille graphics.

Implemented the core audio pipeline: WAV/FLAC/OGG loading through soundfile, callback-driven playback through
sounddevice, playback-position tracking, and a manual NumPy FFT analyzer for bass, broadband energy, intensity, and
onset detection. MP3 and external media tools were intentionally avoided to keep the app self-contained.

Built the rendering stack from scratch: a custom Unicode braille packer, Rich style spans per cell, and multiple
simulation-driven visuals rather than FFT bars. The current modes are:

  • particles: vectorized particle motion with structured spawning and beat forces
  • fluid: coarse Stable Fluids-style density/velocity simulation
  • waves: damped 2D ripple simulation added as a third mode

Added five runtime themes: ember, aurora, voltage, prism, and ghost. Styles can be cycled during playback, and modes
cycle with m.

Improved the TUI flow: single command launch with python -m src.cli, folder picker support, recent files, visible
controls/status bar, direct audio-file launch, folder launch, diagnostics, smoke tests, and audio metadata checks. Mouse
interaction was experimented with, but removed after it caused lag and didn’t improve the experience enough.

Added project docs and validation: README.md, PRD.md, ROADMAP.md, a cross-platform python -m scripts.check command, unit
tests for core systems, smoke renders for all modes, and PyInstaller/Linux packaging notes. The latest verification
passed with:

python -m scripts.check
python -m compileall src tests scripts

Replying to @DevaanshPathak

0
1
Open comments for this post

1h 20m 31s logged

reactbeat

reactbeat is a local terminal music visualizer. It decodes an audio file, plays it back, analyzes short-time energy in sync with playback, and renders particle or fluid motion as packed braille graphics in a Textual TUI.The visual core is simulation-driven generative art, not FFT bars. Audio, analysis, simulation, and rendering all run locally.

Features

  • TUI start screen with Browse and Recent Files choices.
  • Folder browser filtered to supported audio files.
  • Persistent recent-file list for reopening previously selected tracks.
  • Custom braille renderer using Unicode braille cells and Rich styles.
  • Numpy-vectorized particle simulation.
  • Stable Fluids-style density/velocity simulation.
  • Local WAV, FLAC, and OGG decode through soundfile.
  • Callback-driven playback through sounddevice.
  • Manual FFT energy analyzer with adaptive onset detection.
  • Runtime visual styles: ember, aurora, voltage.
  • One-file Linux PyInstaller build with bundled PortAudio and ALSA config.

Supported Audio

  • WAV
  • FLAC
  • OGG/Vorbis

reactbeat

reactbeat is a local terminal music visualizer. It decodes an audio file, plays it back, analyzes short-time energy in sync with playback, and renders particle or fluid motion as packed braille graphics in a Textual TUI.The visual core is simulation-driven generative art, not FFT bars. Audio, analysis, simulation, and rendering all run locally.

Features

  • TUI start screen with Browse and Recent Files choices.
  • Folder browser filtered to supported audio files.
  • Persistent recent-file list for reopening previously selected tracks.
  • Custom braille renderer using Unicode braille cells and Rich styles.
  • Numpy-vectorized particle simulation.
  • Stable Fluids-style density/velocity simulation.
  • Local WAV, FLAC, and OGG decode through soundfile.
  • Callback-driven playback through sounddevice.
  • Manual FFT energy analyzer with adaptive onset detection.
  • Runtime visual styles: ember, aurora, voltage.
  • One-file Linux PyInstaller build with bundled PortAudio and ALSA config.

Supported Audio

  • WAV
  • FLAC
  • OGG/Vorbis

Replying to @DevaanshPathak

0
12

Followers

Loading…