Finalist
CORO
CORO is a real-time collaborative music engine that turns any audience into a live orchestra.
Core trick
Gemini aggregates audience votes into evolving prompts that stream to Lyria RealTime, while WebSockets fan out inputs under a second.
Description
CORO is a real-time collaborative music engine that turns any audience into a live orchestra. Audience members join a room via QR code, pick a musical role (Drummer, Vibe Setter, Genre DJ, or Instrumentalist), and their collective inputs are synthesized by Google Gemini 2.5 into evolving musical prompts, which Google Lyria then renders as a continuous, never-repeating audio stream. Features include a coordinated "Drop Button" (majority vote triggers a bass drop), a microphone-powered Applause Meter that dynamically shapes the music's energy, and a real-time Musical Timeline showing the crowd's influence on the evolving composition. Built with FastAPI, React, and WebSockets for sub-second latency across up to 10 simultaneous participants.
README excerpt
# 🎵 CrowdSynth
> The crowd IS the music. Everyone plays. No skills required.
Built in 8 hours at a hackathon using **Google Lyria RealTime** + **Gemini 2.5 Flash**.
---
## Quick Start
### Prerequisites
- Python 3.11+
- Node.js 18+
- A Google AI Studio API key → https://aistudio.google.com/apikey
---
### Backend (R, C, B)
```bash
cd backend
cp .env.example .env
# → Edit .env and add your GEMINI_API_KEY
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
uvicorn main:app --reload --port 8000
```
Test it: http://localhost:8000/health → `{"status":"ok"}`
---
### Frontend (S, and everyone for testing)
```bash
cd frontend
cp .env.example .env
# → Edit .env: VITE_WS_URL=ws://localhost:8000/ws
npm install
npm run dev
```
Open: http://localhost:3000
---
## Team Responsibilities
| Person | Files to own |
|--------|-------------|
| **R — Rahil** | `backend/services/lyria_service.py` |
| **C — Chinmay** | `backend/services/gemini_service.py`, `backend/services/room_service.py` |
| **B — Bharath** | `backend/main.py`, `backend/routers/ws.py`, `backend/models/schemas.py`, deployment |
| **S — Sariya** | Everything in `frontend/src/` |
---
## Architecture
```
React Frontend (Vercel)
↕ WebSocket (JSON + binary audio)
FastAPI Backend (Railway)
├── Lyria RealTime WebSocket → streams 48kHz stereo audio
└── Gemini 2.5 Flash → arbitrates crowd inputs every 4s
```
---
## Deploy
### Backend → Railway