Cut points are currently found by scrubbing. A per-track loudness/waveform strip makes silences, crosstalk, and laughs visible at a glance.
Sketch
- Server: generate a compact peaks array per track after assembly (ffmpeg
astats/showwavespic data or a custom decode pass), cache alongside the track.
- Editor (
web/src/pages/EditorPage.tsx): render peaks as a canvas strip per track aligned with the click-to-seek timeline; word-level transcript selection stays the primary editing tool.
Done when: the timeline shows waveforms for every audio track of a ready recording without noticeable load-time regression.
Cut points are currently found by scrubbing. A per-track loudness/waveform strip makes silences, crosstalk, and laughs visible at a glance.
Sketch
astats/showwavespicdata or a custom decode pass), cache alongside the track.web/src/pages/EditorPage.tsx): render peaks as a canvas strip per track aligned with the click-to-seek timeline; word-level transcript selection stays the primary editing tool.Done when: the timeline shows waveforms for every audio track of a ready recording without noticeable load-time regression.