this is a windows control center for running 6 music models directly on your computer.
this project now supports multiple frontends:
- betweentwomidnights/sa3-ableton-extension (more extensions planned)
- betweentwomidnights/gary4juce
find the macOS version here: gary-localhost-installer-mac.
gary4local is built with Tauri, Rust, and Svelte. the old PyInstaller/Inno Setup flow remains available in the older branch history.
we've got ACE-Step LoRA training now. you can caption and edit a dataset, train against regular base or XL-base, and automatically register the finished LoRA with carey. see the ACE-Step LoRA training guide for where we're at with it, what i've actually tested, and which parts are still experimental.
i also fixed up the carey service itself to offload models more cleanly so they can be swapped around freely while you're using gary4juce.
older release notes now live in CHANGELOG.md.
install and startup flow:
control-center/the Tauri + Svelte desktop app that manages the local services, model downloads, installer flow, tray menu, and production runtime sync into%APPDATA%\Gary4JUCE.services/the Python backends and model-specific code for gary, terry, jerry, carey, foundation, and sa3.keygen_music_for_installer.wavsource loop used to generate the tiny installer music asset. cuz why not?
gary/ MusicGen:http://localhost:8000via audiocraftterry/ MelodyFlow:http://localhost:8002via MelodyFlowcarey/ ACE-Step:http://localhost:8003via ACE-Step 1.5 with localhostlego,extract,complete, andcovermode changes from ace-legojerry/ Stable Audio:http://localhost:8005via stable-audio-open-small and stable-audio-toolssa3/ Stable Audio 3:http://localhost:8006via stable-audio-3foundation-1:http://localhost:8015via Foundation-1 and RC-stable-audio-tools
for more info about some of the custom model backends and localhost-specific optimizations in this project, see the custom model backend notes.
- development runs directly from the repo.
- production syncs the bundled service source into
%APPDATA%\Gary4JUCE\services. - mutable runtime data such as logs, virtual environments, caches, and models live under
%APPDATA%\Gary4JUCE, not inside the installed app folder.
this project has an auto-updater inside the UI. you can read about how that's handled in the auto-updater notes, or just build it without one:
cd control-center
npm ci
$env:VITE_ENABLE_APP_UPDATER='0'
npm run tauri build
Remove-Item Env:VITE_ENABLE_APP_UPDATERthat flag removes the updater UI and manifest checks from the build.
prerequisites:
- Windows 10 or 11
- Node.js 20+
- Rust toolchain for Tauri builds
- WebView2
ffmpegif you want to regenerate the installer audio asset
run the app in development:
cd control-center
npm install
npm run tauri devbuild the installer:
cd control-center
npm ci
npm run tauri buildthe build now stages control-center/src-tauri/resources/services automatically from the tracked repo services/ tree, so a clean clone doesn't need a pre-populated bundled-services folder or extra bash / rsync tooling just to package the app.
if you want a build that hides the experimental Terry Flash Attention toggle entirely, set the feature flag before building:
cd control-center
npm ci
$env:VITE_ENABLE_MELODYFLOW_FA2_TOGGLE='0'
npm run tauri build
Remove-Item Env:VITE_ENABLE_MELODYFLOW_FA2_TOGGLEnotes:
VITE_ENABLE_MELODYFLOW_FA2_TOGGLEis a build-time flag, not a runtime toggle.- when this flag is set to
0, the terry Flash Attention setting is removed from the UI and the packaged app forces MelodyFlow to stay on the standard attention path. - leaving the flag unset keeps the terry Flash Attention panel available, but the optimization itself still defaults to off unless the user enables it.
artifacts land in:
control-center/src-tauri/target/release/bundle/nsis/control-center/src-tauri/target/release/bundle/msi/
the current preferred Windows artifact is the NSIS setup executable.
the installers are currently unsigned. the intended verification flow is:
- build the installer locally from this branch with one of the commands above.
- compare the generated hash against the release artifact hash.
example:
certutil -hashfile .\control-center\src-tauri\target\release\bundle\nsis\gary4local_0.1.1_x64-setup.exe SHA256- plugin frontend: https://github.com/betweentwomidnights/gary4juce
- lora examples: https://github.com/betweentwomidnights/gary-lora-examples
