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.1.tar.gz (97.0 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.1-py3-none-any.whl (96.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: remixflow-0.1.1.tar.gz
  • Upload date:
  • Size: 97.0 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.1.tar.gz
Algorithm Hash digest
SHA256 8dda94789004891a0a582b43933589bef248f3e95452905a04fb821d312ff8ac
MD5 f0f4fd1a7fa89d792b247f398b7bb319
BLAKE2b-256 65dd9e3f91507c8bd91ce583093c49b6fba1414d7d3f014e3d92d95ee965cf59

See more details on using hashes here.

File details

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

File metadata

  • Download URL: remixflow-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 96.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 074c351ec7b692c0d6205a2a53737a2528017a06b06ceb329b4fe575bb80ae93
MD5 d55409112dc7d9d9fd0e773c404f6495
BLAKE2b-256 8f68603820c4460000c715daab912f37a13571727c92fcabfc3a9935b8289e9e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

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