Hold-to-talk + slide-to-cancel + slide-to-lock (WhatsApp classic), live waveform while recording, and a real per-message waveform with scrub + speed on playback. The sender computes the waveform at record time (no server audio processing).
Mic at the end of the composer. A quick tap shows a "hold to record" tooltip (no accidental empty sends).
While held: red dot + running timer, the waveform scrolls as you speak, "‹ slide to cancel" hint. The lock pill floats above the mic.
Slide up locks recording: lift your finger. Trash to discard, pause/resume, big Send. Telegram-style.
Sent/received voice note: play, the real per-message waveform, duration, and a 1× / 1.5× / 2× speed chip. Tap/drag the wave to scrub.
Playing: progress fills the waveform left→right, pause button, speed bumped to 1.5×. Drag the filled head to seek.