Skip to main content

RemixFlow — backend

FastAPI backend for the RemixFlow music-evolution platform. See the repo-root README.md for the full picture; this file covers the Python package.

Install

pip install -e ".[audio,dev]"   # audio extra adds librosa (tempo/pitch/key)

Core deps are pure PyPI wheels. The bundled libsndfile (via soundfile) reads and writes MP3/WAV/FLAC/OGG with no system packages — no ffmpeg needed. The audio extra pulls in librosa for tempo/key detection and time-stretch/pitch-shift.

Run

remixflow serve                 # http://127.0.0.1:8770  (API + built UI)
remixflow serve --reload        # dev auto-reload

Interactive API docs at /docs.

Layout

Path Role
params.py Single source of truth for every steering control & identity lock (PRD §3, §4). Served to the UI via /api/controls.
models.py Pydantic schemas: Song, Variant, Steering, evolution TreeNode.
audio/io.py Load/save with graceful degradation (soundfile → librosa).
audio/analysis.py Feature extraction + Musical-DNA embedding + similarity.
generation/base.py The Generator contract every backend implements.
generation/dsp.py Reference DSP backend — real, audible variations today.
generation/registry.py Plug point for model backends (ACE-Step, Stable Audio, MusicGen).
service.py Orchestration: import → steer → generate → evaluate → branch.
store.py File-backed store (JSON + audio dir); swap for a DB later.
app.py FastAPI routes; serves the built React UI from static/.

Adding a real model backend

Implement Generator and register it:

from remixflow.generation import Generator, register_generator

class AceStepBackend(Generator):
    name = "ace-step"
    description = "ACE-Step 1.5 diffusion"
    def generate(self, parent, steering, *, original=None, seed=None):
        ...  # map steering -> latent edits, run the model, return GenerationResult

register_generator(AceStepBackend())

It then appears in /api/backends and is selectable via POST /api/generate?backend=ace-step.

Config (env vars)

Var Default Meaning
REMIXFLOW_DATA_DIR ./remixflow_data Where songs/variants/audio persist.
REMIXFLOW_MAX_UPLOAD_MB 50 Upload size cap.
REMIXFLOW_CORS * Comma-separated allowed origins.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remixflow-0.1.0.tar.gz (96.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

remixflow-0.1.0-py3-none-any.whl (95.8 kB view details)

Uploaded Python 3

File details

Details for the file remixflow-0.1.0.tar.gz.

File metadata

  • Download URL: remixflow-0.1.0.tar.gz
  • Upload date:
  • Size: 96.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for remixflow-0.1.0.tar.gz
Algorithm Hash digest
SHA256 65f0b2694d9a57840c4b1c735d224fdd30ef8325ddc1ebe192371a6801ef1735
MD5 549d56c664b1e9e0c8e23ceee3cd2568
BLAKE2b-256 eb3bf668c03bf5d631c85e40fb5373016d1126893a23e19b3b4af347e6393d26

See more details on using hashes here.

File details

Details for the file remixflow-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: remixflow-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 95.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for remixflow-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca0486f2923493c7cf807426d0999ab37b70883eef3ac282405cf1842f6a4e01
MD5 64f887bb2b9ba4e982358b5dca07bc03
BLAKE2b-256 33af922b08be71ea87de617a31eb55cef7550a767087ac73851f8c730f471a38

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page