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.
custom runtime storage is now supported. everything should work the same for existing users, but now you can move the runtime to an external drive or wherever you please, and clean up the legacy storage afterward if you like.
big thanks to Kostas for helping us validate all of this on the Radeon/ROCm build while we tried very hard to break it locally.
gary4local can finally keep its big stuff somewhere other than C:\. fresh
installs put the runtime beside the app, so choosing another install drive also
keeps the Python environments, models, caches, logs, and Gary-trained LoRAs
there.
existing users should see everything continue exactly where it already lives. the storage panel can switch the runtime later, copy the LoRAs Gary knows how to manage, show what is using the space, and clean up old environments, models, or caches when you are ready. nothing gets silently moved or deleted during the update.
gary's backend also accepts the seed and advanced controls added in gary4juce v4.0.13, with a less fragile fallback when its fastest attention path isn't available.
compatible with gary4juce v4.0.13.
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 the selected runtime storage folder.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 the selected runtime storage folder under
services. - new installs default runtime storage to
gary4local-datainside the install folder, so choosing an external install drive also moves service envs, caches, logs, and local models there. - existing installs keep using
%APPDATA%\Gary4JUCEwhen data is already present. the storage button in the app can choose a new folder for the next restart.
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_<version>_x64-setup.exe SHA256- plugin frontend: https://github.com/betweentwomidnights/gary4juce
- lora examples: https://github.com/betweentwomidnights/gary-lora-examples
