Skip to content

Releases: xDarkzx/SongForge-MCP

v0.5.0

Choose a tag to compare

@xDarkzx xDarkzx released this 09 Aug 04:51

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 gets acestep-v15-sft (2B), 20GB+ keeps the original acestep-v15-xl-sft (4B) default. Never overrides an explicitly-set SONGFORGE_ACESTEP_CHECKPOINT, and any detection failure falls back to today's exact default unchanged.
  • Fixed a real regression: split_vocal_stems could 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 with generate_vocal_track's split_stems param.

v0.4.0

Choose a tag to compare

@xDarkzx xDarkzx released this 02 Aug 22:48

Multi-stem separation, and a real payload-size bugfix. See CHANGELOG.md for the full list — highlights:

  • split_vocal_stems gets a new extra_stems param — 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 the guitar/other buckets 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's max_results had 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, and split_vocal_stems now takes a configurable model param.
  • 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_reference now 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

Choose a tag to compare

@xDarkzx xDarkzx released this 29 Jul 06:22

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_CHECKPOINT env 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

Choose a tag to compare

@xDarkzx xDarkzx released this 27 Jul 21:41

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.