A fun little PoC web app that generates music using ACE-Step-1.5 and plays it back like a radio. Uses SvelteKit + Bun + Containers.
When I heard the quality of music ACE-Step-1.5 can generate and witnessed the speed of generation, I thought it would be fun to build a little "radio" that continuously generates and plays music based on user prompts. This project is the result of that idea.
It came to be in more or less two evenings, so do not expect much. Mostly sub-optimal architecture and some hacky bits.
The main idea is to have an automatically playing "radio" that generates songs based on user prompts. This is done by pre-fetching songs beforehand and queuing them up, so there's always something playing.
- Music Generation: Create songs with ACE-Step-1.5 by describing what you want
- Queue System: Queue up song generation to keep the radio going
- Container Setup: Everything runs in containers
- Container solution with compose support (Docker, Podman, etc.)
- NVIDIA GPU (for ACE-Step-1.5)
# Clone and go to the repo
cd ace-step-radio
# Start everything (builds containers on first run)
docker-compose up --build
# The web UI should be at http://localhost:3000
# The API runs on port 8001To stop:
docker-compose downSet these in docker-compose.yml:
ACESTEP_SERVER_URL: Where the ACE-Step API lives (default:http://acestep-api:8001)ORIGIN: Where the web app is served (default:http://localhost:3000)
The API container has a bunch of defaults you can tweak:
DOWNLOAD_SOURCE: Where to fetch models from (auto,huggingface, etc.)ACESTEP_INIT_LLM: Whether to initialize the LLM (true/false)
See ACE-Step-1.5 for more options.
- Cross-origin errors: Make sure
ORIGINenv var matches how you access the app - Bad unhappy path handling: If something goes wrong during song generation, the app might not handle it gracefully. For now console / network tab / container logs are your best bet for debugging.
This is a PoC side-project, so... PRs probably not needed. But if you find bugs or have ideas, feel free to open issues!
- ACE-Step-1.5 for the music generation
- Svelte / SvelteKit team for the awesome framework
- Bun for the super-fast JavaScript runtime
