Piano 1024
By Kyung-Hoon Kim
Overview
Piano 1024 puts a playable synth piano in your conversation. Ask Claude for a note, a chord, a scale, a chord progression or a melody, and it appears as a card with a keyboard you can play, loop, slow to half speed, transpose, and switch between piano, electric piano and organ voices. Learn a song: ask "teach me the melody of Twinkle Twinkle Little Star" and the melody is split into phrases with a follow-along highlight, phrase-by-phrase navigation and an optional left hand you can practice hands separately. Claude explains the fingering and phrase boundaries in the chat. Write music together: describe a mood ("a sad, dreamy progression for a low alto") and keep revising it across turns ("darker", "slower", "add a melody over it"). Each card carries the full song, so every change builds on the last one. Practice: run interval, chord and scale ear-training drills that Claude grades and adapts as you improve, or start a metronome in any meter, including compound time like 6/8. All sound is synthesized on your device inside the card. No account is needed, and the app stores nothing about you. Tap the card once to turn on audio, since browsers block autoplay.
Tools
play_music
ChatGPTkind. The widget plays when the user TAPS it (ChatGPT blocks autoplay) — so invite the tap; never claim it already played. CO-EDITING: the full song is returned in structured output. To revise a previous render ('darker', 'slower', 'in my key', 'add a 7th'), call this again with the changed fields and set changed to a short human note of what you altered (shown as a ribbon). Use roman numerals (I, vi, ii7) WITH key, or absolute chord symbols (Cmaj7, F#m, Bb13). After rendering, the card's controls are all client-side: Loop, 0.5× (slow), octave shift, transpose, and switch voice.start_pulse
ChatGPTtimeSig (e.g. [6,8], [7,8], [3,4]) and the click pattern + label are derived automatically — you don't need to set beats/subdivision yourself.teach_song
ChatGPTear_training
Claudeplay_music
Claudekind. The widget plays when the user TAPS it (hosts block autoplay) — so invite the tap; never claim it already played. CO-EDITING: the full song is returned in structured output. To revise a previous render ('darker', 'slower', 'in my key', 'add a 7th'), call this again with the changed fields and set changed to a short human note of what you altered (shown as a ribbon). Use roman numerals (I, vi, ii7) WITH key, or absolute chord symbols (Cmaj7, F#m, Bb13). After rendering, the card's controls are all client-side: Loop, 0.5× (slow), octave shift, transpose, and switch voice.start_pulse
ClaudetimeSig (e.g. [6,8], [7,8], [3,4]) and the click pattern + label are derived automatically — you don't need to set beats/subdivision yourself.teach_song
ClaudeCapabilities
Example Prompts
Click any prompt to copy it.






