Initial scaffold: FastAPI backend + React frontend + Docker Compose
- 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
This commit is contained in:
commit
a2bc785b14
23 files changed
+819
No files matched your search
@@ -0,0 +1,49 @@
|
||||
# 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.
|
||||
Reference in new issue
Block a user