- Backend: FastAPI with SQLite, clip CRUD, health check - Frontend: React + Vite + TypeScript + Tailwind, dark theme - Components: Generator, Gallery, Player - Docker: Compose setup for backend + frontend - Architecture docs in Palace KB
50 lines
1.2 KiB
Markdown
50 lines
1.2 KiB
Markdown
# Lyria Studio
|
|
|
|
A webapp for generating, playing, and storing music clips using Google's Lyria music generation models.
|
|
|
|
Built by Kagamine Rin & Ryan.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Backend
|
|
cd backend
|
|
python -m venv .venv
|
|
source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
cd src
|
|
uvicorn main:app --reload
|
|
|
|
# Frontend (new terminal)
|
|
cd frontend
|
|
npm install
|
|
npm run dev
|
|
```
|
|
|
|
## Architecture
|
|
|
|
- **Backend**: FastAPI (Python) — async Lyria API client, SQLite metadata, file storage
|
|
- **Frontend**: React + Vite + TypeScript + Tailwind — dark theme, audio player
|
|
- **Storage**: SQLite for clip metadata, local filesystem for MP3 files
|
|
|
|
## API
|
|
|
|
| Endpoint | Method | Description |
|
|
|----------|--------|-------------|
|
|
| `/api/health` | GET | Health check |
|
|
| `/api/generate` | POST | Start clip generation |
|
|
| `/api/clips` | GET | List all clips |
|
|
| `/api/clips/{id}` | GET | Get clip metadata |
|
|
| `/api/clips/{id}/audio` | GET | Stream MP3 |
|
|
| `/api/clips/{id}` | DELETE | Delete clip |
|
|
|
|
## Models
|
|
|
|
- **v0.1**: Lyria 3 Clip Preview (30s, REST)
|
|
- **v0.2**: Lyria 3 Pro (structure-aware, ~3min)
|
|
- **v0.3**: Lyria RealTime (WebSocket streaming)
|
|
|
|
## License
|
|
|
|
MIT — Hardcore will never die.
|