REPL Guide
The AbstractMusic REPL is an interactive shell for iterating on prompts, engines, models, and generation parameters without restarting the process.
Launch it with either command (they are the same):
abstractmusic cli
abstractmusic repl
You can also set the starting engine and output directory:
abstractmusic cli --engine acemusic --duration 25 --out-dir smoke-artifacts/repl
abstractmusic cli --engine acestep --duration 25 --out-dir smoke-artifacts/repl
Core concepts
- Engine: the backend implementation (
acemusic,acestep,stable-audio-3, …). - Model: the provider model id from the packaged registry (for local engines, this is usually a Hugging Face repo id).
The REPL keeps an engine + model pair. If you pick a known model with /model, the REPL will
auto-switch to the correct engine when it can.
Quick start
/status
/prompt high-energy electronic synthwave track with heavy bass
/run
Styles, instruments, and vocal traits
Use style tags to steer instrumentation and vocal character without rewriting your entire prompt.
/style saxophone, brushed drums, female vocalist, smoky jazz club
/negative-style no autotune, no chipmunk voice
/prompt a clean jazz arrangement with a clear chorus lift
/run
Notes:
- For
elevenlabs, style tags are passed as a provider-neutralcomposition_plan(so it will run in plan mode). - For other engines, style tags are appended into the prompt text as lightweight “tags”.
- This is not voice cloning or a guaranteed vocalist identity selector. For explicit voice selection / cloning, use AbstractVoice.
Discover engines and models
/engineslists engines and their packaged default models./modelslists all known models, grouped by engine./modelshows the current model selection (or which default is in use)./engineshows the current engine selection (and the effective model).
Examples:
/engines
/models
/engine stable-audio-3
/model stabilityai/stable-audio-3-medium
/status
Switching engines and models (important)
Use /model <id> when you know which model you want. It will:
- set the model id
- auto-switch the engine if the model is known
- auto-clamp
/durationif the model has a max duration (ex: Stable Audio Open Small)
Use /engine <name> when you want to force a backend implementation. If the current explicit model
belongs to a different engine, the REPL clears it back to that engine’s default to avoid accidental
mismatches.
Downloads / offline mode
Local engines load Hugging Face weights. By default, downloads are enabled unless any of these are set:
ABSTRACTMUSIC_LOCAL_FILES_ONLY=1HF_HUB_OFFLINE=1TRANSFORMERS_OFFLINE=1DIFFUSERS_OFFLINE=1
Within a REPL session, use:
/download off
to require cache-only loading (useful for offline runs), or:
/download on
to allow pulling missing files.
Duration limits
stable-audio(Stable Audio Open Small) supports up to 11 seconds.stable-audio-3models support longer durations (Small Music up to 120s; Medium up to 380s).
If you request too long a duration for a model, /model may auto-adjust the current /duration
down to the model maximum.
Common commands
/help
/status
/prompt <text|clear>
/run
/duration <seconds>
/style <tags|clear>
/negative-style <tags|clear>
/steps <n|auto>
/seed <n|auto>
/format <wav|mp3|flac>
/engine <name>
/model <id|default|clear>
/models
/engines
/params
/exit