🎹 PlayPiano
Pianoforte virtuale a 88 tasti per suonare, leggere spartiti, imparare brani e inventare musica. Funziona nel browser e come app desktop per macOS, Windows e Linux.
Provalo online: https://melody.djluza.com/
Sviluppato da luzadev.
Cosa fa
- Pianoforte a coda campionato su tutti gli 88 tasti, da La0 a Do8, con registrazioni di uno Yamaha C5. Sono disponibili anche piano elettrico, organo, synth e archi.
- Tanti modi di suonare: mouse, touch con più dita, tastiera del computer e tastiera MIDI. Pedale sustain, glissando e dinamica in base al punto in cui premi il tasto.
- Spartiti: carica file MIDI (
.mid) e MusicXML (.musicxml,.xml,.mxl), anche trascinandoli sulla pagina. - Pentagramma in chiave di violino e di basso, due righe per volta, con i nomi delle note (Do Re Mi oppure C D E).
- Cascata di note "spaziale" che scende verso la tastiera e illumina il tasto da suonare.
- Modalità Apprendimento: il brano avanza solo quando suoni la nota giusta. Puoi studiare una mano alla volta, rallentare fino al 25% e vedere il punteggio di precisione.
- Compositore di idee: genera brani da 8 a 128 battute in sei stili, con tonalità, accordi, melodia e accompagnamento.
- Generatore di accordi: 18 tipi di accordo con rivolti e 13 giri classici (pop, jazz, blues, canone di Pachelbel, andalusa e altri) in tutte le tonalità.
- Idee con IA locale: descrivi a parole il brano che vorresti e un modello di Ollama sul tuo computer ne progetta la struttura.
- Registratore ed esportazione in MIDI di qualsiasi brano caricato o generato.
Comandi da tastiera
| Tasti | Funzione |
|---|---|
Z X C V B N M con S D G H J |
ottava bassa, tasti bianchi e neri |
Q W E R T Y U I O P con 2 3 5 6 7 9 0 |
ottava alta, tasti bianchi e neri |
← → |
cambia ottava |
Spazio |
pedale sustain |
Invio |
avvia o mette in pausa il brano |
Maiusc + tasto |
nota più forte |
Le etichette sui tasti si adattano al layout della tua tastiera, italiana compresa.
Come usarlo
Online
Apri https://melody.djluza.com/ con Chrome, Edge, Firefox o Safari.
Sul tuo computer, nel browser
Su macOS fai doppio clic su Avvia PlayPiano.command. Avvia un piccolo server locale e apre l'app su
http://localhost:8765. Su altri sistemi, dalla cartella del progetto:
python3 -m http.server 8765 --bind 127.0.0.1
Aprire direttamente index.html con un doppio clic funziona, ma con due limiti: i campioni del pianoforte
vengono scaricati da internet e Ollama rifiuta le richieste della pagina.
App desktop
Scarica il pacchetto per il tuo sistema dalla pagina Actions (sezione Artifacts dell'ultima compilazione riuscita) oppure dalle Release, se presenti.
I pacchetti non sono firmati con un certificato a pagamento. Al primo avvio su macOS usa clic destro e poi "Apri". Su Windows scegli "Ulteriori informazioni" e poi "Esegui comunque".
Idee con IA locale (Ollama)
- Installa e avvia Ollama, poi scarica un modello, per esempio
ollama pull gemma3:12b. - Nell'app scrivi la descrizione del brano, scegli il modello e premi "Genera con IA".
Il modello decide titolo, stile, tonalità, metrica, tempo, accordi e il motivo melodico di ogni sezione. Ogni valore viene verificato dall'app, che completa melodia e accompagnamento.
Vanno bene i modelli "instruct" da circa 8 miliardi di parametri in su. Provati: gemma3:12b e gemma4:26b.
Ollama accetta richieste solo da pagine servite su localhost e dall'app desktop. Per usare l'IA dal sito
online, avvia Ollama consentendo il sito:
OLLAMA_ORIGINS=https://melody.djluza.com ollama serve
Sviluppo
Tutta l'app è nel file index.html, senza dipendenze né passaggi di compilazione.
| Percorso | Contenuto |
|---|---|
index.html |
l'intera applicazione web |
samples/ |
campioni del pianoforte, un mp3 ogni terza minore |
esempi/ |
brani di prova in formato MIDI, MusicXML e MXL |
desktop/ |
contenitore Electron e icona |
.github/workflows/build.yml |
compilazione dei pacchetti desktop su GitHub |
App desktop in locale
Serve Node.js 20 o superiore.
npm install # solo la prima volta
npm start # avvia l'app desktop
npm run dist:mac # crea i file .dmg nella cartella dist/
Da un Mac con chip Apple si ottengono anche le versioni portatili:
npx electron-builder --win zip --x64
npx electron-builder --linux tar.gz --x64
L'installer per Windows e l'AppImage per Linux vengono compilati da GitHub Actions. Il flusso si avvia a mano dalla pagina Actions, oppure pubblicando un tag di versione, che crea anche una Release con i pacchetti:
git tag v1.0.1 && git push origin v1.0.1
Pubblicazione del sito
Il sito è composto da soli file statici:
rsync -az index.html samples esempi utente@server:public_html/
Limiti noti
- Gli spartiti in PDF o in foto non sono supportati: servono MIDI o MusicXML.
- Sul pentagramma non vengono disegnate pause, legature di valore e travature.
- Nei file MIDI le durate scritte sono dedotte dall'esecuzione, quindi possono risultare approssimate.
- I ritornelli dei file MusicXML non vengono ripetuti.
Crediti e licenze
- Sviluppo e progetto: luzadev.
- Campioni di pianoforte: Salamander Grand Piano di Alexander Holm, licenza CC-BY 3.0.
- App desktop realizzata con Electron.
