Bassolation: AI-Powered Bass Stem Extraction for Musicians

Tech Stack:
FastAPI React.js Machine Learning Audio Processing SQLAlchemy

A web application that uses AI to extract bass stems from audio files, enabling bassists to practice with isolated bass tracks

Bassolation: AI-Powered Bass Stem Extraction for Musicians

Project Overview

Bassolation is a specialized web application designed for bass players who want to practice along with their favorite songs. Using advanced AI audio separation technology (Demucs), it extracts bass stems from any audio file, allowing musicians to hear isolated bass lines, play along with the rest of the band, or create their own bass covers. The full-stack application combines a FastAPI backend with a React frontend, providing a seamless experience for audio processing and user management.

Bassolation Architecture Diagram

Tech Stack

  • Backend: FastAPI, SQLAlchemy, Alembic
  • Frontend: React.js, Vite, TanStack Query
  • AI/ML: Demucs (Meta’s audio source separation model)
  • Database: PostgreSQL
  • Authentication: JWT-based user authentication

Key Challenges

  • Audio Processing Performance: Processing large audio files with AI models requires significant computational resources and time
  • File Management: Handling upload, processing, storage, and delivery of large audio files efficiently
  • Real-time Updates: Keeping users informed about the processing status of their audio files
  • User Experience: Creating an intuitive interface for non-technical musicians while handling complex backend processes

Solutions

Efficient Audio Processing Pipeline:

  • Implemented asynchronous task processing using background workers
  • Created a queue system to handle multiple extraction requests
  • Optimized Demucs integration for faster processing times
  • Added progress tracking for long-running extraction tasks

Scalable Backend Architecture:

  • Built RESTful API with FastAPI for high-performance async operations
  • Implemented proper database schema with SQLAlchemy ORM
  • Used Alembic for database migrations and version control
  • Created modular service layer for clean separation of concerns

Modern Frontend Development:

  • Developed responsive UI with React.js and modern hooks
  • Utilized TanStack Query for efficient data fetching and caching
  • Implemented real-time progress updates using WebSockets
  • Created intuitive file upload interface with drag-and-drop support

User Authentication & Management:

  • Built secure JWT-based authentication system
  • Implemented user registration and profile management
  • Added file ownership and access control
  • Created user dashboard for managing extracted stems

Features & Innovation

  • AI-Powered Extraction: Leverages state-of-the-art Demucs model for high-quality stem separation
  • Multiple Output Options: Users can download isolated bass, drums, vocals, or other instruments
  • Batch Processing: Support for processing multiple songs in queue
  • Audio Preview: In-browser playback of extracted stems before download
  • Processing History: Users can access previously processed files

Impact & Use Cases

  • Enables bass players to learn songs more effectively by isolating bass lines
  • Helps music teachers create practice materials for students
  • Allows musicians to create backing tracks for performances
  • Supports music producers in remixing and sampling workflows

Lessons Learned

  • Gained hands-on experience with audio processing and machine learning model integration
  • Developed expertise in building scalable full-stack applications with modern frameworks
  • Learned to optimize performance for compute-intensive tasks
  • Understood the importance of user feedback and progress indication for long-running processes
  • Mastered async programming patterns in both backend and frontend development

Attachments

Main Dashboard

Bassolation Dashboard

Audio Upload Interface

File Upload Screen

Processing Progress

Extraction Progress View

Extracted Stems Player

Audio Player Interface

Project Repository: Bassolation - Bass Stem Extractor