ns-ui

Voice Recorder Meter

Voice-capture chip whose amplitude strip is real Web Audio, not Math.random() bars — flat at rest, live spectrum while listening, an honest error if the mic is denied.

Use when capturing microphone input where the amplitude strip has to be real Web Audio rather than faked bars, sitting as a static hairline at rest, reading live frequency bins while listening, and stating an honest error when permission is denied; pick loader-ink-blob instead when the listening state belongs to an assistant's own indicator rather than to a recording control the user operates.

Install

npx shadcn add https://design.helpmarq.com/r/voice-recorder-meter.json
  • voice
  • audio
  • recorder
  • microphone
  • input
  • svg
  • accessibility

New note

Dictate or type — both land in the same field.

Voice noteIdle

ns-ui / voice-recorder-meter — real levels, or an honest error, never fake bars

Props

PropTypeDefaultDescription
label?stringwhat's being captured, shown above the strip — e.g. "Voice note"
onCapture?(durationMs: number) => Promise<void> | voidCalled once with the capture duration (ms) after the user stops recording. While the returned promise is pending the strip shows the processing sweep. Omit it and the chip has nothing to wait for — it returns straight to idle when capture stops.
className?string