Valora
API Reference@valora-ai/reactindexFunctions

useVoiceAssistant

function useVoiceAssistant(): {
  state: VoiceAgentState;
  level: number;
  micLevel: number;
  vadActive: boolean;
  lastError: VoiceError | null;
  agent: VoiceAgent;
};

Defined in: packages/react/src/hooks/session/useVoiceAssistant.ts:33

The agent, its state, and output level for the current <VoiceRoom>. (level is an Valora convenience.)

Returns

{
  state: VoiceAgentState;
  level: number;
  micLevel: number;
  vadActive: boolean;
  lastError: VoiceError | null;
  agent: VoiceAgent;
}

state

state: VoiceAgentState;

level

level: number;

micLevel

micLevel: number;

vadActive

vadActive: boolean;

lastError

lastError: VoiceError | null;

agent

agent: VoiceAgent;

Example

// Basic — read the assistant state and level.
const { state, level } = useVoiceAssistant();
return <meter value={level} max={1}>{state}</meter>;

// Advanced — pair visualization with turn control.
function AssistantPanel() {
  const { state, level, agent } = useVoiceAssistant();
  return (
    <VoiceRoom agent={agent}>
      <BarVisualizer barCount={7} />
      <meter value={level} max={1}>{state}</meter>
      <button disabled={state !== "speaking"} onClick={() => agent.interrupt()}>
        Interrupt
      </button>
      <VoiceAssistantControlBar controls={{ microphone: true, leave: true }} />
    </VoiceRoom>
  );
}

On this page

Valora is local-first

No API key, no server — everything in this doc runs on-device.

Star on GitHub