Repository navigation
Releases: xDarkzx/SongForge-MCP
Releases · xDarkzx/SongForge-MCP
Release list
v0.5.0
GPU VRAM auto-detection and a real regression fix. See CHANGELOG.md for the full list — highlights:
- Both installers now auto-detect GPU VRAM and pick the right-sized ACE-Step checkpoint automatically — widens the supported hardware floor from ~12GB down to ~6GB. Below 8GB gets
acestep-v15-turbo(2B), 8-20GB getsacestep-v15-sft(2B), 20GB+ keeps the originalacestep-v15-xl-sft(4B) default. Never overrides an explicitly-setSONGFORGE_ACESTEP_CHECKPOINT, and any detection failure falls back to today's exact default unchanged. - Fixed a real regression:
split_vocal_stemscould get called when the user never asked for stems, delaying the expected auto-play of a finished track. Its own docstring never carried the "only when explicitly asked" gate that existed elsewhere — now it does, along withgenerate_vocal_track'ssplit_stemsparam.
v0.4.0
Multi-stem separation, and a real payload-size bugfix. See CHANGELOG.md for the full list — highlights:
split_vocal_stemsgets a newextra_stemsparam — splits a mix into drums/bass/guitar/piano/other via Demucs, alongside the existing vocals/instrumental split. Verified end-to-end against real generated tracks, both a rock/pop mix and an EDM mix — known limitation: guitar content on the rock/pop track split across theguitar/otherbuckets rather than cleanly isolating (a precision limit of the underlying model, not fixable by a retry).- Fixed a real payload-size bug:
get_midi_notes'smax_resultshad no enforced upper bound, defeating its own stated pagination purpose. Now hard-capped server-side. - Fixed a real production bug in the vocal separator: lowercase
(vocals)/(other)output labels from the current default model weren't being matched, andsplit_vocal_stemsnow takes a configurablemodelparam. - Fixed a real silent-failure bug: reference-audio uploads could be treated as attached when they weren't (blind 6s wait, no confirmation). Now confirms the file actually attached in the UI before proceeding.
prepare_voice_referencenow accepts a local audio file, not just a YouTube link.- Corrected stale documentation (
ARCHITECTURE.md,TOOLS.md) that still described inline audio playback removed earlier in this project's life, and documented 5 previously-undocumented tools.
v0.3.0
First real PyPI release. See CHANGELOG.md for the full list — highlights:
- 5 new tools:
generate_vocal_track_takes,list_generated_tracks,list_recent_jobs,delete_generated_track,edit_audio_track - Security fix: YouTube URL validation now checks the actual host, not just a shaped-like-YouTube pattern
- New
SONGFORGE_ACESTEP_CHECKPOINTenv var for manually selecting a different ACE-Step model - Now published on PyPI:
pip install songforge-mcp
v0.2.0 — ACE-Step 1.5 backend, public release
First public release, under the new name SongForge-MCP (previously Vocal-Synth-MCP).
Highlights
- Full track generation (vocals + instrumentation) via ACE-Step 1.5, driven through its Gradio UI over Playwright browser automation
- Vocal/instrumental stem splitting
- Reference-audio and YouTube-based style matching
- Instrumental-to-MIDI transcription
- Named voice-reference library
- LoRA/LoKr adapter loading for custom-trained styles
- Job/poll pattern on every long-running tool, avoiding MCP client timeout issues on generations that can take minutes
- Automatic Claude Desktop configuration in both installers
- Runs entirely locally — no subscription, no account, no cloud processing
Requirements
NVIDIA GPU with 12GB+ VRAM (20GB+ to run without CPU offload), ~40GB free disk space. See README and docs/INSTALLATION.md for full requirements and setup.
Credit
Built on ACE-Step 1.5, an open-source AI music generation model. This project automates and orchestrates it; it does not modify, retrain, or claim authorship of the model itself.