An automated audio processing pipeline for creating lo-fi/slowed+reverb remixes with animated waveform visualizations.
- Audio Processing: Apply pitch shifting, reverb, and normalization to create lo-fi effects
- Batch Processing: Process multiple audio files at once
- Waveform Visualization: Generate animated waveform videos for YouTube uploads
- Web Interface: Easy-to-use Streamlit interface with real-time preview
- Flexible Controls: Adjust pitch shift, reverb room size, wet level, and normalization settings
- Multiple Formats: Support for MP3, WAV, M4A, and AAC audio files
- Python 3.8+
- FFmpeg (required for audio/video processing)
Windows (Chocolatey):
choco install ffmpegOr download from: https://ffmpeg.org/download.html
macOS (Homebrew):
brew install ffmpegLinux (apt):
sudo apt-get install ffmpeg- Clone the repository:
git clone https://github.com/yourusername/AudioSaR.git
cd AudioSaR- Create a virtual environment:
python -m venv venv- Activate virtual environment:
# Windows
venv\Scripts\activate
# Mac/Linux
source venv/bin/activate- Install dependencies:
pip install -r requirements.txt- Start the Streamlit app:
streamlit run app.py-
Open your browser to
http://localhost:8501 -
Upload audio files (MP3, WAV, M4A, or AAC)
-
Adjust effect parameters in the sidebar:
- Pitch Shift: -6 to +6 semitones (default: -2 for lo-fi effect)
- Reverb Room Size: 0.0 to 1.0 (default: 0.5)
- Reverb Wet Level: 0.0 to 1.0 (default: 0.3)
- Normalization: Target volume in dBFS (default: -14.0)
-
Click Process to apply effects to individual files or Process All for batch processing
-
Generate waveform videos for YouTube uploads (optional)
AudioSaR/
├── app.py # Streamlit web interface
├── audio_processor.py # Audio processing module (pitch shift, reverb, normalization)
├── video_generator.py # Video generation module (waveform visualization)
├── requirements.txt # Python dependencies
├── input_audio/ # Upload your audio files here
├── output_audio/ # Processed audio outputs (for SoundCloud, etc.)
└── output_videos/ # Generated waveform videos (for YouTube)
- Load Audio: Supports MP3, WAV, M4A, AAC formats
- Pitch Shift: Adjust pitch using semitone shifts (negative values = lower/slower)
- Reverb: Apply high-quality reverb using Spotify's Pedalboard library
- Normalize: Consistent volume across all tracks
- Export: Save processed audio to
output_audio/
Two methods available:
- SeeWav (default): Facebook Research's waveform visualization tool
- FFmpeg showwaves: Built-in FFmpeg filter with customizable modes
Generates animated waveform videos at 1920x1080 resolution (30 FPS) for YouTube uploads.
- streamlit: Web interface
- pydub: Audio manipulation and pitch shifting
- pedalboard: Professional-grade audio effects (Spotify's library)
- numpy: Numerical processing
- seewav: Waveform visualization
- torch/torchaudio: Deep learning framework for audio processing
- Maximum upload size: 100 MB per file
- Recommended audio length: 2-5 minutes for optimal processing time
"FFmpeg not found" error:
- Ensure FFmpeg is installed and available in your system PATH
- Restart your terminal/command prompt after installation
"SeeWav not found" error:
- Reinstall dependencies:
pip install -r requirements.txt - Try FFmpeg video generation method instead
Processing fails:
- Check that audio files are not corrupted
- Ensure sufficient disk space in output directories
- Verify FFmpeg installation:
ffmpeg -version
MIT License - See LICENSE file for details
Contributions welcome! Please open an issue or submit a pull request.