rin.kagamine e0ce9e4b6c feat: Maestro Mode - context-aware prompt generation
- Backend: POST /api/text-gen/maestro endpoint with dual modes
  - Empty prompt → generate from scratch (temp 1.0)
  - Non-empty prompt → complete/extend (temp 0.85)
  - structured=true → returns JSON fields for Advanced/Pro mode
  - Three system prompts: MAESTRO_GENERATE, MAESTRO_COMPLETE, MAESTRO_STRUCTURED
  - Trailing sentence cleanup for plain text mode
  - JSON fallback parsing for structured mode

- Frontend: MaestroButton component
  - Context-aware labels: ♪ Maestro Mode (empty) / ♪ Keep Composing (has content)
  - Loading states: animating ♩ with Dreaming.../Composing...
  - structured prop for Pro mode → populates structured fields
  - onStructuredResult callback merges fields into StructuredPrompt

- UX: Replaced 'Get Suggestions ✨' with Maestro Mode
  - Suggestions required text in the box; Maestro works with or without
  - Single button, context-aware behavior, cleaner UI
  - Advanced/Pro mode gets structured fields from Maestro
  - Removed SuggestionsModal dependency

- Rename: 'Compose for Me' → 'Keep Composing'
2026-05-31 10:13:43 -04:00

Kithara Studio

A webapp for generating, playing, and storing music clips using Google's Lyria music generation models.

Built by Kagamine Rin & Ryan.

Quick Start

# 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 API client for Google's Lyria models, 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: Google Lyria 3 Clip Preview (30s, REST)
  • v0.2: Google Lyria 3 Pro (structure-aware, ~3min)
  • v0.3: Google Lyria RealTime (WebSocket streaming)

License

MIT — Hardcore will never die.

S
Description
A webapp for generating, playing, and storing music clips using Google's Lyria models
Readme MIT
1.7 MiB
0 Stars 2 Watchers 0 Forks
Languages
TypeScript 51.8%
Python 47.4%
JavaScript 0.3%
Dockerfile 0.2%
CSS 0.2%
Other 0.1%