Overview
RinggSTTService is a streaming Speech-to-Text integration that delegates the
WebSocket connection, handshake, and event parsing to the official
ringglabs Python SDK. It supports
streaming interim and final transcripts, server-side capitalization and
punctuation, and client-driven VAD endpointing by forwarding Pipecat’s VAD
frames to the server as start_speaking / stop_speaking cues.
Source Repository
Source code, examples, and issues for the Ringg AI integration
Ringg AI
Learn more about Ringg AI and sign up for an API key
Ringg SDK
The
ringglabs SDK that powers the integrationInstallation
This is a community-maintained package distributed separately frompipecat-ai.
It is not yet published to PyPI, so install it directly from GitHub:
A PyPI package (
pip install pipecat-ringg) will be published after community
review. See the source repository
for the latest install instructions.Prerequisites
Ringg AI Account Setup
Before using the Ringg AI STT service, you need:- Ringg AI Account: Sign up at ringg.ai
- API Key: Get a Ringg AI API key from your account
Required Environment Variables
RINGG_API_KEY: Your Ringg AI API key for authenticationRINGG_BASE_URL(optional): Override the Ringg API base URL. Leave unset to use the SDK default.
Configuration
Constructor parameters
Optional override for the Ringg API base URL. Passed through to the SDK; leave
as
None to use the SDK default.Sample rate (Hz) of the audio to be streamed. If not provided, the value is
taken from the
StartFrame.Service configuration parameters. See Params below. Defaults are
used if omitted.
Params
Configuration passed via theparams constructor argument using
RinggSTTParams(...).
| Parameter | Type | Default | Description |
|---|---|---|---|
api_key | str | "" | Ringg API key for authentication. |
encoding | str | "int16" | Audio encoding (signed 16-bit PCM). |
language | str | "hi" | Transcription language code. |
mode | str | "stream" | "on_final" emits a final transcript on stop_speaking; "stream" emits interim transcripts. |
vad_tail_sil_ms | int | 200 | Trailing silence (ms) for server VAD. |
vad_confidence | float | 0.55 | Server VAD confidence threshold (0.0–1.0). |
enable_cap_punc | bool | True | Enable server-side capitalization/punctuation. |
accept_client_vad_events | bool | True | Use client-sent VAD events for endpointing. |
See the source repository for the
authoritative, up-to-date list of parameters and defaults.
Usage
example.py
in the source repository for a complete, runnable example.