Skip to content

Repository files navigation

ASCII-music

Audio-reactive ASCII music visualizer for people who like terminal interfaces, old-school signal displays, and VJ-style browser toys.

Drop in a track, press play, and the page turns the audio energy into a glowing green ASCII waveform, spectrum analyzer, and retro control deck.

ASCII-music screenshot

Why Star This

If you like projects that feel more like an instrument than a dashboard, give this repo a star. It helps me keep building small visual tools like this and makes it easier for other people to discover the project.

Features

  • Local audio playback with file picker and drag-and-drop support.
  • Live Web Audio analysis through AnalyserNode.
  • Audio-reactive ASCII waveform with separated vertical pulse peaks.
  • Terminal-style UI with dashed panels, green signal graphics, amber controls, and a compact player deck.
  • Energy, BPM-style display, progress control, volume control, and output spectrum.
  • Vite + React + TypeScript. No backend required.
  • Runs entirely in the browser. Your audio file stays local.

Demo

Live demo: https://ascii-music.vercel.app

Quick Start

npm install
npm run dev

Open http://127.0.0.1:5173/, click [ OPEN AUDIO ], or drag an audio file onto the page.

Build

npm run build
npm run preview

Test

npm test

The tests lock down the core UI contract: terminal panel geometry, one-row visualization labels, the four-corner transport control, the idle progress state, and the ASCII peak renderer.

Tech Stack

  • React 19
  • TypeScript
  • Vite
  • Web Audio API
  • Canvas 2D
  • lucide-react icons

Project Structure

src/
  App.tsx              # Player shell, controls, audio loading
  AsciiVisualizer.tsx  # Canvas renderer and audio-reactive ASCII field
  styles.css           # Terminal UI system
tests/
  ui-contract.test.mjs # Layout and renderer contract checks
docs/
  ascii-music-screenshot.png

Notes

  • This is a browser visualizer, not a streaming app.
  • Audio analysis starts after the user opens or drops a local audio file.
  • The visual direction intentionally stays focused on one green terminal-style interface instead of multiple unrelated modes.

License

MIT

About

Audio-reactive ASCII music visualizer with a terminal-style UI

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages