Overview
WavixFrameSerializer converts audio between Pipecat frames and the
Wavix WebSocket media stream format, enabling bidirectional
audio streaming between a Pipecat pipeline and Wavix telephony. It is used with
FastAPIWebsocketTransport to build voice-enabled applications over Wavix calls.
Source Repository
Source code, examples, and issues for the Wavix integration
PyPI Package
The
pipecat-wavix package on PyPIWavix
Wavix telephony platform and developer documentation
Create Account
Sign up for a Wavix account and provision a phone number
Installation
This is a community-maintained package distributed separately frompipecat-ai:
Prerequisites
Wavix Account Setup
Before using the Wavix serializer, you need:- Wavix Account: Sign up at Wavix
- Phone Number: Provision a Wavix phone number with voice capabilities
Required Environment Variables
WAVIX_API_KEY: Your Wavix API key
OPENAI_API_KEY,
DEEPGRAM_API_KEY, and CARTESIA_API_KEY for the speech and LLM services in the
pipeline.
Configuration
The serializer is constructed with astream_id and an optional InputParams
object.
str
required
The Wavix media stream identifier, used to address outbound messages.
WavixFrameSerializer.InputParams
default:"None"
Serializer configuration. Defaults to
WavixFrameSerializer.InputParams()
when not provided. See Input Parameters below.Input Parameters
Configuration passed via theparams constructor argument using
WavixFrameSerializer.InputParams(...).
Wavix uses a fixed media format: PCM16, 24 kHz, mono, little-endian, 20 ms
frames. See the source repository
for the authoritative, up-to-date list of parameters.
Usage
Wire the serializer into aFastAPIWebsocketTransport:
server.py and bot.py examples, including webhook handling and call control.
Compatibility
Built againstpipecat-ai==0.0.105 (per the package dependencies). Check the
source repository for the latest tested
version and changelog.