Sheet Music GEN

open source
Sheet Music GEN preview
Mar 2026 - Mar 2026
PythonFastAPIPostgreSQLRedisNext.jsTypeScriptPyTorchDemucsDocker

Freemium SaaS converting audio to sheet music via Demucs stem separation, MT3 transcription, and async RQ workers, Next.js + FastAPI monorepo

A B2C freemium web app (similar to Moises.ai / Chordify) where users drag-and-drop an MP3/WAV file and get back downloadable MIDI and MusicXML sheet music for every instrument. A Next.js 15 dashboard posts uploads to a FastAPI backend that validates credits, queues an RQ job to Redis, and runs a Demucs stem separator + MT3-style transcriber in a Python worker. Real-time progress is polled by a JobTracker component that animates a status bar.

Audio-to-sheet-music SaaS built on a Pants monorepo with async ML workers. • Monorepo: Pants-managed; apps/web (Next.js 15+ App Router), apps/api (FastAPI), apps/workers (RQ over Redis), libs/db (SQLAlchemy async + Alembic), libs/ml-core (Demucs + MT3 wrappers). • ML pipeline: DemucsSeparator.separate_stems() → 4 stems; MT3Transcriber.transcribe_stem() per stem; results aggregated into TranscriptionJob.result_data (JSONB). • API: POST /api/v1/jobs/upload (credit check, rate limit, RQ enqueue), GET /api/v1/jobs/{id} (status polling), GET download/{format} (MIDI via mido / MusicXML via music21). • DB: PostgreSQL + pgvector; User (tier, credits_remaining), TranscriptionJob (status enum, result_data, audio_file_path); async SQLAlchemy sessions. • Frontend: drag-and-drop FileUpload, animated JobTracker with stage-based progress bar, status pill, and collapsible JSON preview. • Infra: Docker Compose (pgvector/pg16 + redis:7-alpine); Alembic migrations.