You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AceForge is a **local-first AI music workstation for macOS Silicon** powered by **[ACE-Step](https://github.com/ace-step/ACE-Step)**<br>
4
6
@@ -59,6 +61,24 @@ AceForge is a **local-first AI music workstation for macOS Silicon** powered by
59
61
60
62
> **Note:** The app bundle does NOT include the large model files. On first run, it will download the ACE-Step models (several GB) automatically. You can monitor the download progress in the Terminal window or in the Server Console panel in the web interface.
61
63
64
+
### Option 2: Run locally for testing (developers)
65
+
66
+
To run the app from source without building the `.app` bundle:
67
+
68
+
1.**One-time setup:** Install dependencies (e.g. run the full build once to create the venv):
69
+
```bash
70
+
./build_local.sh
71
+
```
72
+
This creates `venv_build/` and installs Python deps. You can cancel after the PyInstaller step if you only want to run locally.
73
+
74
+
2.**Run the server:**
75
+
```bash
76
+
./run_local.sh
77
+
```
78
+
This builds the React UI if needed (requires [Bun](https://bun.sh)), then starts the Flask server at **http://127.0.0.1:5056**. Open that URL in your browser to use AceForge.
79
+
80
+
If you prefer to use your own venv instead of `venv_build`, install deps with `pip install -r requirements_ace_macos.txt` (and the same extra steps as in `build_local.sh` for TTS/ACE-Step), then run `python music_forge_ui.py`.
Copy file name to clipboardExpand all lines: docs/ACEFORGE_API.md
+8-6Lines changed: 8 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -121,15 +121,17 @@ ACE-Step text-to-music (and related tasks). Jobs are queued and run one at a tim
121
121
-`songDescription` or `style`: text prompt (caption).
122
122
-`lyrics`: optional lyrics (or "[inst]" for instrumental).
123
123
-`instrumental`: boolean (default true).
124
-
-`duration`: seconds (15–240), or -1/0 for auto-detection (pipeline will randomly select 30–240s).
124
+
-`duration`: seconds (15–240).
125
125
-`inferenceSteps`: int (e.g. 55).
126
126
-`guidanceScale`: float (e.g. 6.0).
127
127
-`seed`: int; if `randomSeed` is true, server may override with random.
128
-
-`taskType`: `"text2music"` | `"retake"` | `"repaint"` | `"extend"` | `"cover"` | `"audio2audio"` | `"lego"` | `"extract"` | `"complete"`. **Lego**, **extract**, and **complete** require the ACE-Step **Base** DiT model (see Preferences and ACE-Step models).
129
-
-`instruction`: optional; for `taskType`**lego** (and extract/complete), task-specific instruction (e.g. `"Generate the guitar track based on the audio context:"`). If omitted for lego, the server builds one from track name/caption.
130
-
-`referenceAudioUrl`, `sourceAudioUrl`: URLs like `/audio/refs/...` or `/audio/<filename>` for reference/cover. For **lego**, **extract**, and **complete**, **sourceAudioUrl** is the backing/source audio (required).
-`repaintingStart`, `repaintingEnd`: for repaint task.
128
+
-**Task and audio params** (see [ACE-Step Tutorial](https://github.com/ace-step/ACE-Step-1.5/blob/main/docs/en/Tutorial.md#guiding-the-elephant-what-can-you-control)): The API accepts both **ACE-Step official names** (snake_case) and **UI names** (camelCase): `task_type` or `taskType`; `reference_audio` or `referenceAudioUrl` or `reference_audio_path`; `src_audio` or `sourceAudioUrl` or `source_audio_path`; `audio_cover_strength` or `audioCoverStrength` or `ref_audio_strength`.
129
+
-`taskType` / `task_type`: `"text2music"` | `"retake"` | `"repaint"` | `"extend"` | `"cover"` | `"audio2audio"` | `"lego"` | `"extract"` | `"complete"`. **Lego**, **extract**, and **complete** require the ACE-Step **Base** DiT model (see Preferences and ACE-Step models).
130
+
-`instruction`: optional; for **lego** (and extract/complete), task-specific instruction (e.g. `"Generate the guitar track based on the audio context:"`). If omitted for lego, the server builds one from track name/caption.
131
+
-`reference_audio` / `referenceAudioUrl`: path or URL for reference audio (style/timbre). `src_audio` / `sourceAudioUrl`: path or URL for source/backing audio (cover, repaint, lego, etc.). For **lego**, **extract**, and **complete**, source audio is required.
0 commit comments