useDemoSignal
A synthetic speech, music, tone or noise signal as frame sources, for previews, prototypes and tests.
useDemoSignal makes meters and visualizers move without a microphone. Every preview on this site runs on it. The signal is repeatable for a given seed, and it only runs while something is subscribed.
$ pnpm dlx shadcn@latest add @audiocn/use-demo-signalUsage
import { LevelMeter } from "@/components/ui/level-meter";
import { useDemoSignal } from "@/hooks/use-demo-signal";
export const Preview = () => {
const signal = useDemoSignal({ kind: "music", channels: 2 });
return <LevelMeter aria-label="Demo level" source={signal.meter} />;
};Demo signalpeak −∞ dBrms −∞ dBok
Microphonepeak −∞ dBrms −∞ dBok
Microphone: idle
Options
Prop
Type
Returns
Prop
Type
Outside React, createDemoSignal(options) returns the same object.