Skip to content

Repository files navigation

Museic

CI License: Unlicense Python Ruff

Cross-platform CLI and web UI for advanced local audio manipulation: stem separation, seamless looping, auto-ducking, LUFS mastering, and more.

Key Features

  • 9-in-1 Audio Engine: Separation, seamless looping, vocal extraction, auto-ducking, LUFS optimization, directory watching, noise reduction, silence trimming, tempo effects.
  • Gradio Web UI: Visual interface at http://localhost:7860 with live logs and guided tutorials (English/Indonesian/Japanese).
  • Dynamic Plugin Ecosystem: Drop Python scripts into museic/plugins/ to register new CLI commands.
  • Targeted Slicing & Extraction: Process only user-defined timestamps using quantized Demucs models (mdx_extra_q).
  • Broadcast Standard Optimization: Built-in FFmpeg dynamic range compression and LUFS normalization.

System Prerequisites

  • Python 3.9 or newer
  • FFmpeg (in system PATH)
  • Git

Installation

git clone https://github.com/arhylsion/museic.git
cd museic
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"  # or just `pip install -e .` for runtime only

Docker (Gradio UI):

docker compose up -d
# Open http://localhost:7860

Usage

Run museic --help for full command list.

1. Extend (Seamless Looping)

Auto-detect loop points at track edges and loop seamlessly.

museic extend -i track.mp3 --auto -r 4

2. Separate (Stem Isolation)

Isolate vocals and instrumental for a targeted time slice.

museic separate -i track.mp3 -s 0 -e 30 --export mp3

3. Extract (Smart Hook Detection)

Locate the most energetic section (chorus) and extract stems.

museic extract -i track.mp3 --length 30 --export wav

4. Mix (Auto-Ducker)

Lower background music when vocals exceed threshold.

museic mix -v voiceover.wav -b background.mp3

5. Optimize (Broadcast Leveling)

Normalize to standard broadcast loudness (-14.0 LUFS).

museic optimize -i podcast.wav --lufs -14.0

6. Enhance (Noise Reduction & EQ)

Remove static hiss or boost treble/bass.

museic enhance -i raw_mic.wav --denoise --boost

7. Trim (Silence Removal)

Remove dead air from voice recordings.

museic trim -i raw_podcast.wav --aggressive

8. Vibe (Social Media Trends)

Apply tempo and spatial filters.

museic vibe -i song.mp3 --slowed
museic vibe -i song.mp3 --slowed-reverb
museic vibe -i song.mp3 --nightcore

9. Watch (Directory Monitor)

Auto-process new audio files in a directory.

museic watch -d ./raw_audio_folder

Gradio Web UI

Launch the visual interface:

python -m museic.gradio_app
# or: museic-ui  (if installed via pip with gui extra)
  • Upload audio files
  • Adjust parameters with sliders/checkboxes
  • Watch live processing logs
  • Download results
  • Multi-language guide (EN/ID/JP)

Testing

# Fast suite (no demucs model download)
pytest -m "not slow"

# Full suite (requires torch + demucs; downloads model on first run)
pytest

Plugin Development

Create museic/plugins/my_plugin.py:

def register_plugin():
    return {"command": "mycmd", "help": "My custom command"}

def execute(args):
    print("Hello from plugin!", args)

Run museic mycmd — auto-discovered.

License

The Unlicense — Public domain.

About

advanced local audio manipulation: stem separation, seamless looping, auto-ducking, LUFS mastering, and more.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages