VoiceEngine.Bridge (voice_engine v0.1.0)

Copy Markdown View Source

Per-session orchestrator: inbound audio → STT → turn callback → TTS → outbound audio.

Decoupled from any specific app. The host provides:

  • :turn_fnfn text -> {:ok, response} | {:error, reason} end

  • :endpoint — Phoenix Endpoint module for broadcasting to channels
  • :pubsub — Phoenix.PubSub module for internal notifications
  • :configVoiceEngine.Config struct with STT/TTS adapters + opts

Starting

VoiceEngine.Bridge.start_link(
  session_id: "abc-123",
  config: VoiceEngine.Config.current(:my_app),
  turn_fn: &MyApp.ConvEngine.turn(session_id, &1),
  endpoint: MyAppWeb.Endpoint,
  pubsub: MyApp.PubSub
)

Summary

Functions

audio_chunk(session_id, chunk, meta \\ %{})

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

set_mode(session_id, mode)

start_link(opts)

voice_start(session_id, meta \\ %{})

voice_stop(session_id)

whereis(session_id)