d548bd6fdec3d3ccceff373ee26e155975f02193
AudioImage
AudioImage is a powerful web-based tool for Audio Spectrogram Art and Digital Steganography, powered by a Flask backend and Svelte 5 frontend. It transforms audio into visual art and allows for secure, invisible file embedding.
Features
- Process Visualizer: A real-time, interactive visualization page that lets you watch and hear the transformation process.
- Live Waveform: See the audio signal rendered as a glowing, real-time oscilloscope.
- Step-by-Step Reveal: Watch the spectrogram and steganographic image being constructed layer by layer.
- YouTube Audio Encoder: Directly download audio from YouTube videos (with length validation) and embed it into images seamlessly.
- Audio Art Generation: Convert MP3/AAC audio files into high-resolution visual spectrograms using Python's
librosaandmatplotlib.- GPU Acceleration: Automatically uses
torchaudioand CUDA if available for lightning-fast processing.
- GPU Acceleration: Automatically uses
- Steganography Hider: Hide secret audio or image files inside a "host" PNG image effectively using LSB (Least Significant Bit) encoding.
- Universal Decoder: Decode any image created with AudioImage to retrieve the original hidden files.
- Secure & Private: All processing happens locally on your server; files are cleaned up automatically.
Requirements
- Python 3.12+
- Node.js & npm (or Bun)
- CUDA-enabled GPU (optional, for faster spectrogram generation)
Installation
Method 1: Docker (Recommended for GPU)
The easiest way to run AudioImage with full GPU acceleration is using Docker.
- Prerequisites: Docker Desktop + NVIDIA Container Toolkit (for GPU).
- Run:
docker compose up --build - Open
http://localhost:5000.
Method 2: Manual Setup
-
Backend Setup:
cd server python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Frontend Setup:
# Root directory npm install npm run build -
Run:
cd server python app.py
Architecture
- Frontend: SvelteKit (SPA mode), Svelte 5 Runes, TailwindCSS.
- Uses Server-Sent Events (SSE) for real-time progress streaming.
- Canvas API & Web Audio API for the visualizer.
- Backend: Flask, NumPy, PIL, Librosa, PyTorch (optional).
- Integration: Flask serves the static Svelte build for a unified deployment experience.
Usage Notes
- Supported Audio: MP3, AAC, WAV, FLAC.
- Supported Images: PNG (host/stego).
- Visualizer: Visit the
/visualizerpage or click the link in the header to see the magic happen in real-time.
Description
Languages
Svelte
70.2%
Python
22.4%
CSS
4.2%
Dockerfile
1.8%
HTML
0.7%
Other
0.7%