Audio visualizer for the Ethos platform — planned
- TypeScript 78.7%
- CSS 18.8%
- HTML 2.5%
| src | ||
| .gitignore | ||
| index.html | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Ethos Audio Visualizer
A web-based audio visualizer built for the AeThex Ethos platform. Renders real-time frequency and waveform visualizations using the Web Audio API and HTML5 Canvas, styled in the AeThex design language.
Features
- File input — Drop or select any audio file (MP3, WAV, OGG, FLAC)
- Microphone input — Live visualization from your microphone
- Three visualization modes — Bar (frequency), Waveform (time domain), Circular
- AeThex design language — Dark background, red (
#DC2626) accent, gold (#F59E0B) highlights
Tech Stack
- React 18
- TypeScript
- Vite
- Web Audio API + HTML5 Canvas
Getting Started
npm install
npm run dev
The dev server will start at http://localhost:5173.
Scripts
| Command | Description |
|---|---|
npm run dev |
Start Vite dev server |
npm run build |
Production build to dist/ |
npm run preview |
Preview the production build |
Embedding
Build the project and serve the dist/ folder from any static host, or embed the component directly in a React app:
import { AudioVisualizer } from 'ethos-audio-visualizer';
<AudioVisualizer
mode="bar"
audioSource={audioBuffer}
colorScheme="aethex"
/>
Or use an <iframe> pointed at the hosted URL:
<iframe
src="https://visualizer.ethos.aethex.tech"
width="100%"
height="400"
frameborder="0"
allow="microphone"
></iframe>
Project Structure
src/
components/
AudioVisualizer.tsx # Core canvas-based visualizer
hooks/
useAudioAnalyser.ts # AudioContext + AnalyserNode hook
useMicrophone.ts # getUserMedia hook
App.tsx
main.tsx
styles/globals.css
License
See LICENSE.