v0.18.0¶
Release date: 2026-10-27
This release adds an audio pipeline mode for voice gateways. In audio mode a gateway runs no speech recognition, LLM, or speech synthesis: it hands the call's audio to the application and plays the application's audio into the call, so the application decides when to listen and when to speak.
Highlights¶
- Audio pipeline mode —
gateway.PipelineModeAudioruns no conversation pipeline on the call AudioSessioninterface — receive the remote party's audio, send and clear the application's audio, and read the telephony audio format
Added¶
Audio mode (gateway/)¶
PipelineModeAudiopipeline modeAudioSessioninterface, implemented by sessions of audio-mode gateways:AudioFormat()returns the audio format in both directionsReceiveAudio()returns a channel of the remote party's audio, closed when the call endsSendAudio(audio)plays audio into the callClearAudio()discards audio sent but not played yetErrAudioNotConnected, returned when sending audio before the media stream connects, andErrSessionClosed, returned after the call ends
sess, err := gateway.MakeCallWithOptions(ctx, gw, "+16695550100")
if err != nil {
return err
}
audio, ok := sess.(gateway.AudioSession)
if !ok {
return errors.New("gateway is not in audio mode")
}
for chunk := range audio.ReceiveAudio() {
// record, transcribe, or analyze the call audio
}
Documentation¶
Provider Support¶
Audio mode is implemented by the omni-twilio and omni-telnyx gateways in their releases built on omnivoice-core v0.18.0.
Compatibility¶
No breaking changes. Text and realtime modes are unchanged, and gateways that do not implement audio mode keep compiling.