Skip to content

CullanAriyawanse/soundleton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

soundleton

A music production assistant for Ableton Live 12.

Features

  • Sample matching — drag in an audio clip, find the closest matching samples across your local Ableton packs and plugin libraries (OsTIrus, Osiris)
  • Audio effect Q&A — ask natural language questions like "how do I make this sound darker?" and get answers grounded in a knowledge base about Ableton effects
  • Human-in-the-loop teaching — inject your own knowledge statements that persist and inform future answers

Architecture

Service Language Role
sample-indexer Python Scans Ableton directories, builds CLAP audio embeddings in Qdrant
sample-api Python (FastAPI) Accepts an audio upload, returns ranked similar samples
knowledge-api Python (FastAPI) RAG Q&A (/ask) and knowledge injection (/teach)
scraper Python (Playwright) Stub — future Splice.com online sample search
desktop-ui C# WPF Windows desktop app — drag-drop, Q&A chat, teach input

Infrastructure: Qdrant (vector DB) · Ollama (local LLM, default) · Docker Compose (local dev) · k3d / Kubernetes (learning environment)

Quick Start

See docs/dev-setup.md for the full setup guide.

# 1. Start infrastructure + APIs
docker compose -f infra/docker-compose.yml up -d

# 2. Dry run — confirm files are found before committing to a full index
docker compose -f infra/docker-compose.yml --profile indexer run --rm sample-indexer sample-indexer index --dry-run

# 3. Index your local samples (first run takes 30-60 min depending on library size)
docker compose -f infra/docker-compose.yml --profile indexer run --rm sample-indexer sample-indexer index

# 4. Open services/desktop-ui/SoundletonApp.sln in Visual Studio and run

Note: Re-running the indexer is safe — each file gets a deterministic ID from its path, so existing samples are updated in place rather than duplicated.

Project Structure

services/
  sample-indexer/   Python batch job -- indexes audio samples
  sample-api/       Python FastAPI   -- sample similarity search
  knowledge-api/    Python FastAPI   -- RAG Q&A + human teaching
  scraper/          Python stub      -- future Splice.com scraper
  desktop-ui/       C# WPF           -- Windows desktop UI
shared/python/soundleton-core/       -- shared audio utilities
infra/                               -- Docker Compose + Kubernetes manifests
scripts/                             -- helper scripts
docs/                                -- architecture and setup docs

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors