oneshotlm
Compare all models on this prompt →

Piano synth · kimi-k3

Using the pre-provided tone.min.js (global Tone), build a playable piano keyboard controlled by mouse and computer keys that synthesizes notes with an ADSR envelope and visual key feedback.

⛨ sandboxed Open in new tab ↗
transcript · 6 messages
user

Using the pre-provided tone.min.js (global Tone), build a playable piano keyboard controlled by mouse and computer keys that synthesizes notes with an ADSR envelope and visual key feedback.

assistant
thinking
Create index.html with Tone.js synth, keyboard UI, mouse + computer key mapping, ADSR controls.
bash {"command":"ls /workspace; head -c 100 /workspace/tone.min.js"}
toolResult

tone.min.js /*! For license information please see Tone.js.LICENSE.txt */ !function(t,e){"object"==typeof export

assistant
thinking
Write the single-page app. Two octaves (C4–B5), computer key mapping rows a w s e d f t g y h u j k (lower row) plus upper row for octave. ADSR sliders. Visual feedback.
write /workspace/index.html (11049 bytes)
toolResult

Successfully wrote 11049 bytes to /workspace/index.html

assistant
thinking
Quick sanity check with node? Just verify file exists. Done.

Created `/workspace/index.html` — a fully self-contained Tone.js piano app: - **Keyboard UI**: 2.5 octaves (C4–E6) with overlapping black keys, glowing gold active-state feedback, and note-to-key labels. - **Input**: mouse click, pointer-drag glissando across keys, touch (via PointerEvents), and computer keys — `A S D F G H J K L` for white keys, `W E T Y U O P` for black keys; `Z`/`X` shift the base octave. - **Synthesis**: `Tone.PolySynth(Tone.Synth)` (16-voice polyphony) with a live-tunable **ADSR envelope** (vertical sliders for Attack/Decay/Sustain/Release), waveform selector (sine/triangle/square/sawtooth), lowpass filter, and a touch of reverb. - **Robust release handling**: keys always release on pointerup/keyup, and `Tone.start()` is awaited on first interaction to satisfy autoplay policies. Only external file referenced is the local `tone.min.js`; everything else is inline.

TAKE IT TO CODE

A single self-contained HTML file — copy it and open in any browser, or reuse the prompt with your own pi-agent run.

RUN

modelkimi-k3
vendorMoonshot · Kimi
harnesspi-agent
generated2026-07-28

EVALUATION

4/5 working

Clean piano UI with ADSR sliders; click and drag trigger key highlight and note label correctly.

Vision grade · anthropic/claude-sonnet-5

MEASUREMENTS

Raw readings from the capture, not a verdict — the grade above is the only judgement. Percentages are how much of the screen changed; the measure under-reports sparse motion on a dark background.

idle motion0.0%
on click1.1%
on drag1.0%
on wheel0.0%
on enter + space0.0%
on arrow keys0.0%
frame spread77.5 / 255
console errors0
js errors none

METRICS

runtime72.9s
tokens in5.2k
tokens out3.9k
cached3.1k
cost / run$0.0173