audiocn

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-signal

Usage

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.