Spaces:
Running
Running
metadata
title: SYNTHIA
emoji: πΉ
colorFrom: purple
colorTo: blue
sdk: gradio
sdk_version: 5.49.1
app_file: app.py
pinned: false
short_description: Browser-based MIDI keyboard with recording and synthesis
SYNTHIA
A minimal, responsive browser-based MIDI keyboard. Play live, record performances, and export as MIDI files. πΉ
This build includes a Godzilla engine that can continue a short phrase using the Godzilla Piano Transformer.
ποΈ Project Structure
.
βββ app.py # Gradio server & API endpoints
βββ config.py # Centralized configuration
βββ engines.py # MIDI processing engines
βββ midi_model.py # Godzilla model integration
βββ midi.py # MIDI file utilities
βββ keyboard.html # HTML structure
βββ static/
β βββ keyboard.js # Client-side audio (Tone.js)
β βββ styles.css # Styling & animations
βββ requirements.txt # Python dependencies
βββ README.md # This file
π Quick Start
# Install dependencies
uv pip install -r requirements.txt
# Run the app
uv run python app.py
πΉ Godzilla Engine
Select Godzilla in the engine dropdown to generate a short continuation from your recorded phrase. The model is downloaded on first use and cached locally.
Note: the engine filters generated notes to your on-screen keyboard range.
π Deploy to Hugging Face Spaces
git remote add hf git@hf.co:spaces/YOUR_USERNAME/synthia
git push hf main
Current configuration runs Godzilla generation on CPU for reliability.
π§ Technology
- Frontend: Tone.js v6+ (Web Audio API)
- Backend: Gradio 5.x + Python 3.10+
- MIDI: mido library
- Model: Godzilla Piano Transformer (via Hugging Face)
π License
Open source - free to use and modify.