(formerly known as Musicbox-GUI)
tmusic is an interactive music visualization web application that transforms audio into stunning visual experiences inspired by iconic album artwork. Visualize your music in real-time using multiple audio sources — all running directly in your browser.
Experience your favorite music like never before with dynamic, real-time visualizations based on legendary album covers. Whether you're listening to Spotify, playing audio from a browser tab, uploading your own files, or using your microphone, tmusic brings your audio to life with animated graphics that react to the sound.
- Browser Tab Audio - Captures audio from any tab (YouTube, SoundCloud, Spotify Web, etc.), only available via Browser Extension: Chrome Web Store
- Spotify - Connect your Spotify account for seamless playback and visualization (Spotify Premium Account required)
- File Upload - Upload MP3, WAV, or other audio files from your device
- Microphone - needs Browser permission
- Web Audio Streams
- Unknown Pleasures - Inspired by Joy Division's iconic pulsar wave artwork
- The Dark Side of the Moon - Based on Pink Floyd's legendary prism design
- Abbey Road - Featuring The Beatles' classic zebra crossing aesthetic
- Violator - Channeling Depeche Mode's minimal rose imagery
- Blue Monday - New Order's floppy disk color spectrum design
- Velvet Underground & Nico - Andy Warhol's banana pop-art style
- Never Gonna Give You Up - Zoetrope vinyl record of Rick Astley's 80s classic on a Braun SK-61
- Trans-Europe Express - Kraftwerk
- AM - Arctic Monkeys
- Currents - Tame Impala
...an oscilloscope and many more!
Each visualization is fully interactive and responds in real-time to the audio's characteristics, creating a unique experience every time you play.
- Run
npm installto install dependencies. - Use
npm run startto start the dev server. - Use
npm run lintandnpm run formatto lint and format code. npm run type-checkruns TypeScript checks.
- Create a new folder under
src/app/visualizations/<kebab-name>. - Add an
index.tsexporting a default Visualization object with fields: id (kebab-case), title, artist, design, imgSrc (import or require), description, component, color, settings. - Export the visualization component from
visualization/<ComponentName>.tsxand ensure the component name and filename match the exported symbol. - Update
src/app/visualizations/index.tswill automatically pick up new folders if you import and include them in the export list.