Voice-memo recorder with live waveform, pause/resume and blob-payload events
One-tap voice-memo recorder ported from chimaro's chat recorder. Requests mic permission (with
an explicit denied state), records with pause/resume, shows a live theme-aware waveform, and
hands the finished Blob to onRecordStop — no upload, transcription or
store coupling. Try it: your browser will ask for microphone access.
The same capture pipeline driven headlessly via createAudioRecorder() with timesliceMs + onChunk: one take, two consumable streams — the
whole-take blob still arrives at onStop (playback below), while every
MediaRecorder chunk surfaces live for restartable dictation or streaming transcription. rec.stream exposes the raw MediaStream for hosts that attach it
(WebRTC, a custom recorder with requestData() streaming).
If you block microphone access (site settings or a permission prompt denial), the recorder
shows an inline warning with a recovery hint instead of failing silently, and fires onError. The next record press retries permission cleanly.