AI-powered audio manipulation platform that separates and enhances music tracks directly in the browser.
SONIC_SPLIT is a full-stack web application that allows users to:
- 🎤 Extract vocals from songs
- 🥁 Isolate drums, bass, and instrumentals
- 🔊 Apply bass boost enhancements
- 🎧 Play and download processed audio in real-time
Built with Flutter Web for the frontend and FastAPI + Demucs (AI) for backend processing.
-
Powered by Facebook's Demucs model
-
Extract:
- Vocals
- Drums
- Bass
- Other instruments
- Bass boost processing using FFmpeg
- Download enhanced tracks instantly
- Stream processed audio directly in browser
- No downloads required to preview
- Download individual stems
- Clean API-driven file handling
- Flutter Web
- Provider (State Management)
- Audioplayers
- FastAPI
- Demucs (PyTorch)
- FFmpeg
- Local processing (CPU-based)
- Static file serving via FastAPI
- GitHub for version control
splitter_app/
│
├── backend/
│ ├── main.py
│ ├── processor.py
│ ├── storage.py
│ ├── uploads/
│ └── outputs/
│
├── splitz/ (Flutter Web)
│ ├── lib/
│ ├── web/
│ └── pubspec.yaml
│
└── README.md
-
User uploads an audio file (MP3/WAV)
-
Backend processes file using:
- Demucs → stem separation
- FFmpeg → audio enhancement
-
API returns downloadable URLs
-
Flutter UI displays and streams results
cd backend
python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reloadcd splitz
flutter pub get
flutter run -d chrome- Payment Options for upgrading usage tier
- ☁️ Cloud deployment (serverless GPU)
Built as a portfolio project exploring:
- AI in music processing
- Real-time web audio applications
- Full-stack Flutter + Python architecture
GitHub: https://github.com/IrunguNjagi
If you like this project, consider starring the repo!







