Piano
pianoFull Description
Use to open an interactive piano keyboard inside the conversation when the user wants to play notes directly for the model. This tool is appropriate when the user needs a hands-on musical input surface rather than a text-only exchange. After rendering, the widget lets the user press piano keys, optionally hear synthesized tones in the browser, move through octave ranges in compact layouts, switch between inline, picture-in-picture, and fullscreen display modes, and finally confirm that they have finished playing.
The widget captures each played note in standard ABC notation and stores the note start time plus held duration, using zero for the first note start and milliseconds after that for the rest. This makes the tool useful for melody capture, rough rhythmic phrasing, motif demonstration, interval checking, and similar musical tasks where the exact performance sequence matters. The tool returns an initially empty note array, and the widget then persists the evolving played-note data in widget state as the user interacts with it.
Use this tool when the user says they want to play a tune, demonstrate notes on a keyboard, provide a melody by performing it, or otherwise input music interactively. Do not use it for general conversation about pianos, for purely textual notation questions, or for tasks that can be answered without an interactive keyboard.