audio
audioOpen in playground

Drop audio here

Recent

No scenario by those words

Your own agent, Claude Code, Codex, Pi, Gemini, Kimi or another, can measure and edit this sound. In a terminal, run

npx audio --bridge

and paste the key it prints below.

Filethe output as one file

Markers
Edit listthe cuts, for a video editor

Frames a second
Checkagainst a delivery spec
RuleAfterLimit

0:00.000

Nothing by that name

Click
Put the caret there, all else gone at once, and hear the moment under it; by a marker's line, on the marker. On a caret's line, drag the caret: the others stay
The time row
As a ruler's: a click puts the caret there alone, what is selected staying; a drag selects, with tracks through every track; held, the caret, dragged
Drag
Select a time range. An edge goes onto a cue or a marker a few pixels from it, which lights. Inside the selection, move its audio over what is there, silence where it was (past the end, silence up to it)
Double-click
Select the fragment: between the cues either side (where sounds start and end, where they hit; the markers); in a pause, the pause
Triple-click
Select the sound: between the pauses either side, a word spoken, a note held
Shift
Sums: a press extends the selection, or the caret, to it at once, from where it was begun, as in a text, and a drag goes on with it; a double-click extends to the fragment. The pointer, an I-beam with a chevron, says which way
Alt
Adds: a click another caret, the one Shift then extends (on one, takes it away); a drag another range; a double-click another fragment. Dragged inside the selection, a copy of its audio, put in where it is let go, what is there moving on after it. Held, as Figma's: every cue, faint, where a press would snap, and how far the pointer is from the selection or the caret, a line to it, the length on the time row (inside the selection, from each edge). The pointer has a plus
⌘
Empowers: a range's end sets its length, as its square does; the cue under the pointer lights, and dragged moves, the audio either side stretching to meet it; on the spectrogram a press makes a box of time and frequency, a band (with Alt, another), and pressed while a range is dragged there, the range becomes one, from where it began. While dragging elsewhere, it aims finely: the pointer's moves go a quarter as far, and nothing snaps
A range's edge
Drag it, any range's, the others staying; onto the other edge, it leaves the caret
The corners at its top
Inward: fade it in from its start, out to its end. Outward: the audio past the edge goes, crossfading into it, the two sides drawn over each other across the seam as they will fade. A click: the next curve, as it says
The pill on its top edge
Up or down: its level, in steps (the settings)
The tools at its foot
A voice's pitch, intonation and formants, side by side, each dragged up or down: its pitch, a few cents near where it was pressed and semitones further, 12 a picture's height away, the note it goes to said; its intonation, its rises and falls wider or flatter about their median; its formants alike, the pitch kept; each heard as it goes, from the first move
Pitch curve (View, or a click on the pitch tool)
The picture turns to the spectrogram, framed on the voice, and draws the pitch curve on its harmonics: dragged up or down, the whole pitch line with it, by cents as the pitch tool goes; its bends (Praat's stylization, 2 semitones) as hollow handles, one dragged bending the voice between the handles either side; a click on it a point of the line, dragged as the gain line's, a double-click taking it away. On the waveform, the pitch line itself, one pitch() curve in semitones (an octave over half a lane)
A press held
Half a second, still, in the picture or on the time row: the caret, dragged, the sound under it heard as it goes. On Play, the speed's line: one hold everywhere, gone if the press moves 3 px first
The square past its end
Its length: trimmed back or with silence added, stretched with the pitch kept, or sped up or slowed down with the pitch following. A click: the next. None of them while it plays
The square past the caret
With nothing selected, drag it across: silence opens there, that long, as trimming out does. At the end, it is before the caret, and pulled out past the picture's edge the view widens, the silence as long as it goes
Right-click
The edits for what is under the pointer: the selection, else the caret put there; the methods used last, again; every method by kind, and the search for one; on a selection, an edit of the chain turned off over it alone. On a caret, an edge or a handle, all stays as it is
Space
Play or pause: the selection (from where it paused, inside it), else from the caret. Put the caret elsewhere while it plays and it plays from there. While recording, it stops the recording
Play, held
Held, the speed's line shows. Dragged: faster to the right, to 4×; to the left slower, then backwards, to −2×. Let go, it plays on at that speed until stopped; at 0 or backwards, it stops there
Waveform, spectrogram
In the bar under the picture, after its levels: how the output shows. The one shown, pressed again, its dropdown: how it draws, every option in sight. The waveform's levels in sample values or dB, its colour, fill and lanes; the spectrogram's frequency scale (octaves, mel, ERB, hertz), its method (frames as they are, reassigned, by band, tapers), its colours, gamma, range and FFT size
Arrows, ⌥ arrows, ⌘ arrows
Move the caret a little, to the next cue, to the next sound, the selection kept; ⌘ ↑ ↓ (Home, End), to the start, the end; Shift extends
The time
The caret's, or the playhead's; after it, how long all that is selected is, or, nothing selected, all of the sound, softer. Pointed at, the selection and its samples. Clicked, the time brings the view to the caret or the playhead; the length shows the selection whole, again all of the sound. Out of sight, the caret or the playhead stays at the edge of the picture it is past, and under it on the time row a chevron points out to it: clicked, the view goes there
The bar's right
What the sound is: the note at the caret, or over the selection (a melody's compass), or where chords sound, the chords (playing, the chord at the playhead), and the tempo and key of the selection or of all of it, each where it is clear (pointed at, how it was found); its peak level (pointed at, the loudness, or the selection's RMS); its rate and channels, a click from changing them; the depth the export writes, the file's kept unless another is picked there or in Export (the edits run in 32-bit float)
Wheel
Scroll: through time; up and down over zoomed-in frequencies or levels, through them. Pinch, or Ctrl and the wheel, zooms the axis under the pointer, twice as far as the fingers spread, a notch as far as = or −: the frequencies or the spectrum beside them, the levels (a quiet sound larger, or what goes over full scale), else time, while it plays about the playhead, the view following it on
= − 0
Zoom in, out, show all (all the frequencies, full scale)
⌘P
The palette: the edits for what is selected, and every method, found by typing (⌘K too)
Delete, ⌘X ⌘C ⌘V, ⌘Z ⇧⌘Z
Edit the selection; undo, redo, as the arrows over the picture do. Each edit is a step of the chain, its seams crossfaded (the settings). What is copied pastes in any tab, and in another window of the editor; in Chrome, as a WAV in any page that takes one. ⌘V also pastes an audio file copied in the Finder or the Explorer
L, Loop
Playback repeats the selection, or all of it
B, Before
Hear the file as it opened, level-matched, at the same place; B or Before again, the output. Before is on the deck, after Loop
R, Record
Into the picture from the caret, drawn as the waveform or the spectrogram, its level and spectrum on the meters, over what is there, as a tape; into a selection, to its end (with the loop on, pass after pass). Stopped, the caret waits where the take ended: Record again records on. Undo takes it back
M
A marker at the caret, or over the selection, its flag over the picture, its name asked for; drag the flag (a range's bar) to move it, click its name or double-click the flag to rename it; right-click it to name it or take it away
Edits
Every step of the chain, a panel. Choose one: the output up to it, and its settings; again, or Esc, the whole chain. An edit made then goes in right after it, the steps after it kept. Its power switch bypasses it, to hear the output without it; its × takes it away; open, its Δ: what it takes out. Dragged, a row goes where it is let go, into a group or out of one. Shift picks a range, ⌘G makes it a group, ⇧⌘G unmakes it, a double-click names it. Right-clicked, its menu: mute, move, group, flatten up to it or all of it (made one sound, kept as a take is), remove. A recipe's steps are one group under its name, folded; a press unfolds it, its switch and × act on all of them. Add an edit, under them: the palette
Recipes, Agent, Edits, Code, Export, Settings
At the top right, a panel each, beside the picture (on a phone, the buttons along the foot, the panel under the picture), which keeps where it starts and its scale: a goal's whole chain, found by its words, folded by what it is for, put after the script's own over the selection or all of it; your own agent, through the local bridge (npx audio --bridge, its key here), its words as they come, each call it makes in plain words, its conversations kept with the tab; the chain's steps; the script, its numbers dragged across, or selected and stepped by ↑ ↓ (Shift, ten steps), what each sets said by it; the file (its format, what it is written with, its markers, its name; ⌘S), the cuts as an edit list for a video editor (EDL, OTIO, FCPXML), the output checked against a delivery spec; the settings, what holds everywhere: what shows over the sound and how time reads, how an edit steps and joins, how a held caret sounds and a take records. Its button again closes it; its left edge drags its width
Tracks
Sounds side by side in time, a lane each, played and exported together. Move to a new track (Edit, right-click, ⌘P) takes the selection to a track of its own under this one, where it was, silence left behind, so it sounds as before and is edited alone; Open as a new track (File) adds a file; Split the voice to a new track (Edit, right-click, ⌘P) puts a song's voice, by a separation model, on a track of its own, the rest left on this one, each then repaired alone; Split into four stems puts its voice, bass and drums on three, the rest left here; Export the track alone (File) takes one elsewhere, to be remade, and Line up with (Edit) puts what comes back, opened as a new track, where the original stood, Match with (Edit) at its tone and loudness; Duck under (Edit) takes the track 15 dB down while another sounds, a bed under a voice; Add a master (Edit) puts the tracks' sum through steps of its own, a lane of its own, the last: in the code, `voice.clone().mix(bed)` and its steps. A press in a lane edits its track: the caret, the selection, the edits and their panel are its own, its name bright. Dragged on the time row, a range runs through every track, an edit of it (Delete, a level, a fade, its audio dragged) each track's alike, so they stay in time; dragged up or down into another track's lane, a selection's audio goes into that track over what is there, silence where it was (Alt: a copy). The speaker by a track's name mutes it, at once. Taking away the step a split parted a track by (the voice's, the stems') takes the split with it, the sound whole again. In the code, each a sound declared, `let voice = audio(…)`, that no other reads
Tabs
Above the picture, a sound each, its own script and edits, dragged along to reorder. A sound opened goes into a tab of its own; + a new one, × closes one, ⇧⌘T opens the last closed again, as it was left. A tab left while its sound renders renders on: a ring turns in its × place till it is done, then a dot till it is shown. Tabs play at once, as a browser's: one left playing plays on, a speaker before its name, a press on it muting it. A selection dragged up onto them with Alt goes to a tab of its own, copied; with ⌘, moved. A tab dragged down onto the picture is a track of the sound there; Edit › Move the track to its own tab, the other way
F10
The menu

The editor is open in another tab.