feat: add start.sh for Linux/macOS, harden both launchers
start.sh mirrors start.bat: finds Python 3.10+, creates the venv, installs PyTorch (CUDA index on Linux, the MPS build on macOS, or the CPU index with --cpu), installs ACE-Step, reports the device and launches the UI. Same flags, and the defaults can also come from the environment (PORT=7870 ./start.sh). On macOS it passes --bf16 false, which the README already calls for. Dropped start.sh from .gitignore, where it sat among the upstream author's local scratch files. Both launchers also gain two fixes found while testing on WSL: - A venv is only accepted if pip works in it, not merely if the interpreter exists. A directory left by an interrupted install looked ready and then failed several steps later with a misleading "check your internet connection". Such a venv is now recreated, and if creation fails on Debian/Ubuntu the error points at python3-venv, which is the actual cause there. - The launch banner announced the URL as if the server were already up, while model loading still had a minute to go. It now says the interface will be available once "Running on local URL" appears. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e9ea6b9bab
commit
7f441defcc
@@ -22,7 +22,7 @@
|
||||
|
||||
- [✨ Features](#-features)
|
||||
- [📦 Installation](#-installation)
|
||||
- [⚡ Quick Start (Windows)](#-quick-start-windows)
|
||||
- [⚡ Quick Start](#-quick-start)
|
||||
- [🚀 Usage](#-usage)
|
||||
- [📱 User Interface Guide](#-user-interface-guide)
|
||||
- [🔨 Train](#-train)
|
||||
@@ -260,19 +260,30 @@ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.o
|
||||
pip install -e .
|
||||
```
|
||||
|
||||
If you also intend to train or fine-tune, install the training extras as well (they are not needed for inference):
|
||||
```bash
|
||||
pip install -e ".[train]"
|
||||
```
|
||||
|
||||
The ACE-Step application is now installed. The GUI works on Windows, macOS, and Linux. For instructions on how to run it, please see the [Usage](#-usage) section.
|
||||
|
||||
|
||||
## ⚡ Quick Start (Windows)
|
||||
## ⚡ Quick Start
|
||||
|
||||
This repository ships with [`start.bat`](./start.bat), which does everything for you: checks Python, creates the virtual environment, installs PyTorch with CUDA support, installs ACE-Step, and launches the web UI.
|
||||
This repository ships with launcher scripts that do everything for you: check Python, create the virtual environment, install PyTorch with the right backend, install ACE-Step, and launch the web UI.
|
||||
|
||||
Just double-click `start.bat`, or run it from a command prompt:
|
||||
**Windows** — double-click [`start.bat`](./start.bat), or run it from a command prompt:
|
||||
|
||||
```bat
|
||||
start.bat
|
||||
```
|
||||
|
||||
**Linux / macOS** — run [`start.sh`](./start.sh):
|
||||
|
||||
```bash
|
||||
./start.sh
|
||||
```
|
||||
|
||||
The first run takes a few minutes (roughly 3 GB of packages are downloaded). Model weights (~8 GB) are fetched automatically on the first generation. Later runs start immediately.
|
||||
|
||||
### Script flags
|
||||
@@ -296,7 +307,7 @@ Flags can be combined, for example:
|
||||
start.bat --lowvram --listen --port 7870
|
||||
```
|
||||
|
||||
Defaults (port, GPU index, checkpoint path) live in the settings block at the top of `start.bat`.
|
||||
Defaults (port, GPU index, checkpoint path) live in the settings block at the top of each script. In `start.sh` they can also be overridden with environment variables (`PORT=7870 ./start.sh`). On macOS the scripts install the MPS build of PyTorch and pass `--bf16 false` automatically.
|
||||
|
||||
|
||||
## 🚀 Usage
|
||||
@@ -321,6 +332,22 @@ acestep --checkpoint_path /path/to/checkpoint --port 7865 --device_id 0 --share
|
||||
|
||||
If you are using macOS, please use `--bf16 false` to avoid errors.
|
||||
|
||||
#### 🖥️ Command Line Generation
|
||||
|
||||
To generate without the web UI, use `infer.py`:
|
||||
|
||||
```bash
|
||||
python infer.py \
|
||||
--prompt "synth-pop, female vocal, warm analog synths, 110 bpm" \
|
||||
--lyrics_file my_song.txt \
|
||||
--duration 120 --steps 60 --seed 7 \
|
||||
--format mp3 --output_path outputs/my_song.mp3
|
||||
```
|
||||
|
||||
Run `python infer.py --help` for the full list. The main options are `--prompt`, `--lyrics` / `--lyrics_file`, `--duration`, `--steps`, `--guidance_scale`, `--scheduler`, `--cfg_type`, `--omega_scale`, `--seed`, `--format` and `--output_path`; the runtime flags (`--bf16`, `--cpu_offload`, `--overlapped_decode`, `--torch_compile`, `--device_id`) match the ones the GUI takes.
|
||||
|
||||
With no `--prompt`, the script keeps its original behaviour and generates from a random example in `examples/input_params`.
|
||||
|
||||
#### 🔍 API Usage
|
||||
If you intend to integrate ACE-Step as a library into your own Python projects, you can install the latest version directly from GitHub using the following pip command.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user