-
Notifications
You must be signed in to change notification settings - Fork 729
feat: add Streamlit-based ACE Studio UI #693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
c0b8e48
8fa1ab5
4cc7cfb
4318884
4183e9e
0a52525
da08db6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| __pycache__/ | ||
| *.pyc | ||
| .cache/ | ||
| projects/ | ||
| streamlit.log |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| [theme] | ||
| primaryColor = "#FF6B9D" | ||
| backgroundColor = "#0F1419" | ||
| secondaryBackgroundColor = "#262730" | ||
| textColor = "#FAFAFA" | ||
| font = "sans serif" | ||
|
|
||
| [client] | ||
| toolbarMode = "minimal" | ||
| showErrorDetails = true | ||
|
|
||
| [browser] | ||
| gatherUsageStats = false | ||
|
|
||
| [logger] | ||
| level = "info" | ||
|
|
||
| [server] | ||
| maxUploadSize = 200 | ||
| enableXsrfProtection = true | ||
| port = 8501 | ||
| headless = true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| # Empty secrets file - prevents email prompt |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,152 @@ | ||
| """ | ||
| ACE Studio Streamlit - Installation & Setup Guide | ||
| """ | ||
|
|
||
| # Installation Instructions | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| - Python 3.8+ (tested with 3.11) | ||
| - ACE-Step main project installed (parent directory) | ||
| - pip or uv for package management | ||
|
|
||
| ## Step 1: Install Dependencies | ||
|
|
||
| From the `acestep/ui/streamlit` directory: | ||
|
|
||
| ```bash | ||
| pip install -r requirements.txt | ||
| ``` | ||
|
|
||
| Or with uv (faster): | ||
|
|
||
| ```bash | ||
| uv pip install -r requirements.txt | ||
| ``` | ||
|
|
||
| ## Step 2: Configure (Optional) | ||
|
|
||
| Edit `config.py` to customize: | ||
| - Default generation parameters | ||
| - UI appearance | ||
| - Storage paths | ||
| - Audio formats | ||
|
|
||
| ## Step 3: Run the App | ||
|
|
||
| ```bash | ||
| streamlit run main.py | ||
| ``` | ||
|
|
||
| The app will open at `http://localhost:8501` | ||
|
|
||
| ## System Requirements | ||
|
|
||
| ### Minimum | ||
| - 4GB VRAM (CPU only) | ||
| - Intel i5 or equivalent | ||
| - 2GB RAM | ||
|
|
||
| ### Recommended | ||
| - 8GB+ VRAM (GPU) | ||
| - RTX 3060 or equivalent | ||
| - 8GB+ RAM | ||
|
|
||
| ### Optimal | ||
| - 16GB+ VRAM | ||
| - RTX 4090 or A100 | ||
| - 16GB+ RAM | ||
|
|
||
| ## GPU Support | ||
|
|
||
| ### CUDA (NVIDIA) | ||
| Preinstalled CUDA 12.1+ | ||
|
|
||
| ### ROCm (AMD) | ||
| Set environment variable: | ||
| ```bash | ||
| export PYTORCH_HIP_ALLOC_CONF=":256:8" | ||
| ``` | ||
|
Comment on lines
+65
to
+69
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🌐 Web query:
💡 Result:
PYTORCH_HIP_ALLOC_CONF=<option>:<value>,<option2>:<value2>,...Example: export PYTORCH_HIP_ALLOC_CONF=garbage_collection_threshold:0.8,max_split_size_mb:128The official PyTorch docs describe the format and supported keys under “Optimizing memory usage with Sources: [1] [2] 🌐 Web query:
💡 Result:
Source: PyTorch HIP/ROCm notes (hipBLAS workspaces section). [1] 🌐 Web query:
💡 Result: Official PyTorch docs do not document a
Official documentation pages:
Sources: [1] https://docs.pytorch.org/docs/stable/notes/hip [2] https://docs.pytorch.org/docs/stable/cuda_environment_variables.html [3] https://docs.pytorch.org/docs/stable/notes/cuda.html Wrong environment variable name/value for ROCm memory configuration. The snippet mixes up two distinct environment variables:
The current line ✏️ Suggested fix (pick one based on intent) ### ROCm (AMD)
Set environment variable:
```bash
-export PYTORCH_HIP_ALLOC_CONF=":256:8"
+# To reduce memory fragmentation:
+export PYTORCH_HIP_ALLOC_CONF=expandable_segments:True
+# Or to control hipBLAS workspace size:
+export HIPBLAS_WORKSPACE_CONFIG=:4096:2🤖 Prompt for AI Agents |
||
|
|
||
| ### MPS (Apple Silicon) | ||
| Automatic detection and use | ||
|
|
||
| ### CPU | ||
| Works but slow; set device to CPU in Settings | ||
|
|
||
| ## Troubleshooting Installation | ||
|
|
||
| ### Module not found errors | ||
| ```bash | ||
| # Reinstall ACE-Step dependencies | ||
| cd .. # Go to main ACE-Step dir | ||
| pip install -e . | ||
| ``` | ||
|
Comment on lines
+79
to
+84
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Troubleshooting path is one level short for editable install. From 🤖 Prompt for AI Agents |
||
|
|
||
| ### Streamlit port already in use | ||
| ```bash | ||
| streamlit run main.py --server.port 8502 | ||
| ``` | ||
|
|
||
| ### Clear cache and restart | ||
| ```bash | ||
| streamlit cache clear | ||
| streamlit run main.py | ||
| ``` | ||
|
|
||
| ## Docker Deployment (Optional) | ||
|
|
||
| Create `Dockerfile`: | ||
| ```dockerfile | ||
| FROM python:3.11-slim | ||
| WORKDIR /app | ||
| COPY requirements.txt . | ||
| RUN pip install -r requirements.txt | ||
| COPY . . | ||
| EXPOSE 8501 | ||
| CMD ["streamlit", "run", "main.py", "--server.port=8501", "--server.address=0.0.0.0"] | ||
| ``` | ||
|
|
||
| Build and run: | ||
| ```bash | ||
| docker build -t ace-studio . | ||
| docker run -p 8501:8501 -v $(pwd)/projects:/app/projects ace-studio | ||
| ``` | ||
|
Comment on lines
+99
to
+114
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Docker snippet will fail: the parent The Dockerfile copies only 🤖 Prompt for AI Agents |
||
|
|
||
| ## Environment Variables | ||
|
|
||
| Optional `.env` file: | ||
|
|
||
| ```env | ||
| # GPU Configuration | ||
| DEVICE=cuda | ||
| OFFLOAD_CPU=1 | ||
| FLASHATTN=1 | ||
|
|
||
| # Model Configuration | ||
| DIT_MODEL=acestep-v15-turbo | ||
| LLM_MODEL=1.7B | ||
|
|
||
| # UI Configuration | ||
| MAX_BATCH_SIZE=4 | ||
| DEFAULT_DURATION=120 | ||
| DEFAULT_BPM=120 | ||
|
|
||
| # Storage | ||
| PROJECTS_DIR=./projects | ||
| CACHE_DIR=./.cache | ||
| ``` | ||
|
Comment on lines
+116
to
+138
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The section shows a 🤖 Prompt for AI Agents |
||
|
|
||
| ## Next Steps | ||
|
|
||
| 1. Go to **Dashboard** for quick start | ||
| 2. Try **Generate** to create first song | ||
| 3. Explore **Edit** features | ||
| 4. Check **Settings** for optimal configuration | ||
|
|
||
| ## Getting Help | ||
|
|
||
| - 📖 See README.md for usage guide | ||
| - 🐛 Report issues on GitHub | ||
| - 💬 Ask in Discord community | ||
| - 📚 Check ACE-Step documentation | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Contradictory "VRAM (CPU only)" specification.
"4GB VRAM" refers to GPU memory, which is unavailable in a CPU-only setup. The minimum row should either drop the VRAM column or replace it with something like "No discrete GPU required."
✏️ Suggested fix
📝 Committable suggestion
🤖 Prompt for AI Agents