Skip to content

Release Notes: v0.14.0

Release Date: 2026-10-28

Summary

Updates every provider to its latest release. OpenAI, ElevenLabs, and Deepgram text-to-speech are now interchangeable on phone calls: each returns 8 kHz mu-law or A-law audio from the same SynthesisConfig and reports its sample rate correctly. Twilio and Telnyx voice gateways gain an audio mode that hands raw call audio to the application, and can send keypad digits on answered outbound calls, for example to join a meeting's phone dial-in line.

OmniVoice's own API is unchanged; the new behavior comes from the providers and from omnivoice-core.

Highlights

  • Phone-call speech from any TTS provider: OutputFormat: "mulaw" or "alaw" returns 8 kHz audio from OpenAI, ElevenLabs, and Deepgram alike, so switching providers is a change of registry name
  • Raw call audio: Twilio and Telnyx voice gateways can run in audio mode, handing the call's audio to the application instead of running a speech pipeline
  • Keypad digits on outbound calls: answered Twilio and Telnyx calls can send DTMF tones

Provider Changes

OpenAI (omni-openai v0.8.0)

  • mulaw (or ulaw) and alaw output, converted from OpenAI's 24 kHz PCM at 8 kHz unless another SampleRate is requested
  • pcm output resampled to the requested SampleRate
  • Format names with the rate appended, such as ulaw_8000 and pcm_16000
  • Streamed speech converted chunk by chunk
  • SynthesisResult.SampleRate set for raw formats

ElevenLabs (elevenlabs-go v0.14.0)

  • SynthesisResult.SampleRate is the rate of the returned audio. A mulaw request returns 8 kHz ulaw_8000 audio and now reports 8000; it reported 44100

Twilio (omni-twilio v0.10.0 to v0.12.0)

  • Keypad digits (DTMF) on answered outbound calls
  • Audio pipeline mode for raw call audio
  • Session.Hangup ends the call, not just the media stream
  • Realtime mode receives caller audio

Telnyx (omni-telnyx v0.5.0 to v0.7.0)

  • Keypad digits (DTMF) on answered outbound calls
  • Audio pipeline mode, with bidirectional PCMU media streaming
  • The gateway no longer treats its own outbound calls as incoming calls
  • Session.Hangup ends the call instead of leaving it connected without audio

omnivoice-core (v0.16.0 to v0.18.1)

  • Audio pipeline mode for voice gateways (gateway.PipelineModeAudio)
  • Keypad digits and call options on outbound calls (OptionCaller)
  • Shared terminology engine for TTS pronunciation and subtitle case correction

Documentation

  • User guides moved under docs/guides/: getting started, the provider pages (now docs/guides/providers/), the provider registry, and multi-provider failover. Design and spec documents moved to docs/design/architecture/ and docs/specs/
  • The OpenAI and ElevenLabs provider pages describe phone-call output formats and the reported sample rate
  • The provider overview notes that all three TTS providers produce phone-call audio from the same config

Pages on the documentation site moved with their files, so links to the old providers/ and reference/ pages need updating.

Dependencies

  • github.com/plexusone/omni-openai from v0.5.0 to v0.8.0
  • github.com/plexusone/elevenlabs-go from v0.13.0 to v0.14.0
  • github.com/plexusone/omni-twilio from v0.9.0 to v0.12.0
  • github.com/plexusone/omni-telnyx from v0.4.0 to v0.7.0
  • github.com/plexusone/omnivoice-core from v0.15.0 to v0.18.1
  • Indirect dependencies updated

Installation

go get github.com/plexusone/[email protected]