Documentation
¶
Overview ¶
Package jargo is a framework for building real-time voice and multimodal AI pipelines.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package aggregators assembles the conversation around an LLM.
|
Package aggregators assembles the conversation around an LLM. |
|
audio
|
|
|
g711
Package g711 implements the ITU-T G.711 μ-law companding codec used by telephony media streams (Twilio, Telnyx, Plivo and the wider PSTN).
|
Package g711 implements the ITU-T G.711 μ-law companding codec used by telephony media streams (Twilio, Telnyx, Plivo and the wider PSTN). |
|
opus
Package opus wraps the Opus codec for jargo's audio path: it decodes Opus packets to PCM on the way in and encodes PCM to Opus packets on the way out.
|
Package opus wraps the Opus codec for jargo's audio path: it decodes Opus packets to PCM on the way in and encodes PCM to Opus packets on the way out. |
|
resample
Package resample converts interleaved S16LE PCM audio between sample rates using libsoxr (the SoX Resampler), a high-quality polyphase resampler.
|
Package resample converts interleaved S16LE PCM audio between sample rates using libsoxr (the SoX Resampler), a high-quality polyphase resampler. |
|
turn
Package turn provides end-of-turn detection: it decides when a user has actually finished speaking, as opposed to merely pausing.
|
Package turn provides end-of-turn detection: it decides when a user has actually finished speaking, as opposed to merely pausing. |
|
vad
Package vad provides voice activity detection: it tells the pipeline when a user is speaking.
|
Package vad provides voice activity detection: it tells the pipeline when a user is speaking. |
|
vadproc
Package vadproc is the voice-activity-detection pipeline processor.
|
Package vadproc is the voice-activity-detection pipeline processor. |
|
Package clock provides the timing source a pipeline uses for presentation timestamps and elapsed-time measurements.
|
Package clock provides the timing source a pipeline uses for presentation timestamps and elapsed-time measurements. |
|
examples
|
|
|
echo
command
Command echo is a WebRTC echo bot built on jargo: it receives microphone audio from a browser, runs it through a pipeline, and sends it back so you hear yourself.
|
Command echo is a WebRTC echo bot built on jargo: it receives microphone audio from a browser, runs it through a pipeline, and sends it back so you hear yourself. |
|
twiliobot
command
Command twiliobot is a telephony voice agent built on jargo: a Twilio phone call streams audio over a WebSocket (μ-law 8 kHz), an STT service transcribes it, an LLM reasons over it, a TTS service speaks the reply, and the audio goes back to the caller.
|
Command twiliobot is a telephony voice agent built on jargo: a Twilio phone call streams audio over a WebSocket (μ-law 8 kHz), an STT service transcribes it, an LLM reasons over it, a TTS service speaks the reply, and the audio goes back to the caller. |
|
voice/anthropic
command
Command voice-anthropic is the voice bot with an Anthropic LLM (Deepgram STT, ElevenLabs TTS).
|
Command voice-anthropic is the voice bot with an Anthropic LLM (Deepgram STT, ElevenLabs TTS). |
|
voice/assemblyai
command
Command voice-assemblyai is the voice bot with AssemblyAI speech-to-text (Anthropic LLM, ElevenLabs TTS).
|
Command voice-assemblyai is the voice bot with AssemblyAI speech-to-text (Anthropic LLM, ElevenLabs TTS). |
|
voice/azure
command
Command voice-azure is the voice bot with Azure for speech-to-text (Azure OpenAI Whisper) and text-to-speech (Azure Speech), with an Anthropic LLM.
|
Command voice-azure is the voice bot with Azure for speech-to-text (Azure OpenAI Whisper) and text-to-speech (Azure Speech), with an Anthropic LLM. |
|
voice/cartesia
command
Command voice-cartesia is the voice bot with Cartesia text-to-speech (Deepgram STT, Anthropic LLM).
|
Command voice-cartesia is the voice bot with Cartesia text-to-speech (Deepgram STT, Anthropic LLM). |
|
voice/deepgram
command
Command voice-deepgram is the voice bot with Deepgram for both speech-to-text and text-to-speech (Anthropic handles the LLM).
|
Command voice-deepgram is the voice bot with Deepgram for both speech-to-text and text-to-speech (Anthropic handles the LLM). |
|
voice/deepseek
command
Command voice-deepseek is the voice bot with a DeepSeek LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS).
|
Command voice-deepseek is the voice bot with a DeepSeek LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS). |
|
voice/elevenlabs
command
Command voice-elevenlabs is the voice bot with ElevenLabs text-to-speech (Deepgram STT, Anthropic LLM).
|
Command voice-elevenlabs is the voice bot with ElevenLabs text-to-speech (Deepgram STT, Anthropic LLM). |
|
voice/fish
command
Command voice-fish is the voice bot with Fish Audio text-to-speech (Deepgram STT, Anthropic LLM).
|
Command voice-fish is the voice bot with Fish Audio text-to-speech (Deepgram STT, Anthropic LLM). |
|
voice/gladia
command
Command voice-gladia is the voice bot with Gladia speech-to-text (Anthropic LLM, ElevenLabs TTS).
|
Command voice-gladia is the voice bot with Gladia speech-to-text (Anthropic LLM, ElevenLabs TTS). |
|
voice/google
command
Command voice-google is the voice bot with a Google Gemini LLM (Deepgram STT, ElevenLabs TTS).
|
Command voice-google is the voice bot with a Google Gemini LLM (Deepgram STT, ElevenLabs TTS). |
|
voice/groq
command
Command voice-groq is the voice bot with Groq for both speech-to-text (Whisper) and the LLM, served through jargo's OpenAI-compatible clients (ElevenLabs TTS).
|
Command voice-groq is the voice bot with Groq for both speech-to-text (Whisper) and the LLM, served through jargo's OpenAI-compatible clients (ElevenLabs TTS). |
|
voice/hume
command
Command voice-hume is the voice bot with Hume Octave text-to-speech (Deepgram STT, Anthropic LLM).
|
Command voice-hume is the voice bot with Hume Octave text-to-speech (Deepgram STT, Anthropic LLM). |
|
voice/lmnt
command
Command voice-lmnt is the voice bot with LMNT text-to-speech (Deepgram STT, Anthropic LLM).
|
Command voice-lmnt is the voice bot with LMNT text-to-speech (Deepgram STT, Anthropic LLM). |
|
voice/minimax
command
Command voice-minimax is the voice bot with MiniMax text-to-speech (Deepgram STT, Anthropic LLM).
|
Command voice-minimax is the voice bot with MiniMax text-to-speech (Deepgram STT, Anthropic LLM). |
|
voice/mistral
command
Command voice-mistral is the voice bot with a Mistral LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS).
|
Command voice-mistral is the voice bot with a Mistral LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS). |
|
voice/nebius
command
Command voice-nebius is the voice bot with a Nebius AI Studio LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS).
|
Command voice-nebius is the voice bot with a Nebius AI Studio LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS). |
|
voice/ollama
command
Command voice-ollama is the voice bot with a local Ollama LLM, served through jargo's OpenAI-compatible client — no LLM API key needed (Deepgram STT, ElevenLabs TTS).
|
Command voice-ollama is the voice bot with a local Ollama LLM, served through jargo's OpenAI-compatible client — no LLM API key needed (Deepgram STT, ElevenLabs TTS). |
|
voice/openai
command
Command voice-openai is the all-OpenAI voice bot: OpenAI for speech-to-text, the LLM, and text-to-speech.
|
Command voice-openai is the all-OpenAI voice bot: OpenAI for speech-to-text, the LLM, and text-to-speech. |
|
voice/qwen
command
Command voice-qwen is the voice bot with an Alibaba Qwen LLM (DashScope), served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS).
|
Command voice-qwen is the voice bot with an Alibaba Qwen LLM (DashScope), served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS). |
|
voice/rime
command
Command voice-rime is the voice bot with Rime text-to-speech (Deepgram STT, Anthropic LLM).
|
Command voice-rime is the voice bot with Rime text-to-speech (Deepgram STT, Anthropic LLM). |
|
voice/run
Package run holds the shared scaffolding for the per-provider voice examples under examples/voice.
|
Package run holds the shared scaffolding for the per-provider voice examples under examples/voice. |
|
voice/sambanova
command
Command voice-sambanova is the voice bot with a SambaNova LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS).
|
Command voice-sambanova is the voice bot with a SambaNova LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS). |
|
voice/soniox
command
Command voice-soniox is the voice bot with Soniox speech-to-text (Anthropic LLM, ElevenLabs TTS).
|
Command voice-soniox is the voice bot with Soniox speech-to-text (Anthropic LLM, ElevenLabs TTS). |
|
voice/speechmatics
command
Command voice-speechmatics is the voice bot with Speechmatics speech-to-text (Anthropic LLM, ElevenLabs TTS).
|
Command voice-speechmatics is the voice bot with Speechmatics speech-to-text (Anthropic LLM, ElevenLabs TTS). |
|
voice/together
command
Command voice-together is the voice bot with a Together AI LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS).
|
Command voice-together is the voice bot with a Together AI LLM, served through jargo's OpenAI-compatible client (Deepgram STT, ElevenLabs TTS). |
|
voicebot
command
Command voicebot is the full-featured voice agent built on jargo: microphone audio comes in over WebRTC, Deepgram transcribes it, an Anthropic LLM reasons over it, ElevenLabs speaks the reply, and the audio goes back out over WebRTC.
|
Command voicebot is the full-featured voice agent built on jargo: microphone audio comes in over WebRTC, Deepgram transcribes it, an Anthropic LLM reasons over it, ElevenLabs speaks the reply, and the audio goes back out over WebRTC. |
|
Package frames defines the Frame type and the core frame categories — system, data and control — that flow through a jargo pipeline.
|
Package frames defines the Frame type and the core frame categories — system, data and control — that flow through a jargo pipeline. |
|
internal
|
|
|
onnxrt
Package onnxrt centralizes jargo's use of the ONNX runtime.
|
Package onnxrt centralizes jargo's use of the ONNX runtime. |
|
validate
Package validate provides jargo's shared struct validator.
|
Package validate provides jargo's shared struct validator. |
|
Package language defines a canonical Language type and helpers so an application can name a language once and let each STT/TTS service map it to that provider's own code.
|
Package language defines a canonical Language type and helpers so an application can name a language once and let each STT/TTS service map it to that provider's own code. |
|
Package metrics exports jargo's service measurements — time-to-first-byte, processing time, LLM token usage and TTS characters — as OpenTelemetry metrics over OTLP.
|
Package metrics exports jargo's service measurements — time-to-first-byte, processing time, LLM token usage and TTS characters — as OpenTelemetry metrics over OTLP. |
|
Package pipeline connects frame processors into a chain and drives them.
|
Package pipeline connects frame processors into a chain and drives them. |
|
Package processor defines the frame processor: the building block of a jargo pipeline.
|
Package processor defines the frame processor: the building block of a jargo pipeline. |
|
provider
|
|
|
anthropic
Package anthropic is a streaming LLM service backed by the Anthropic API.
|
Package anthropic is a streaming LLM service backed by the Anthropic API. |
|
assemblyai
Package assemblyai is a streaming speech-to-text service backed by AssemblyAI's Universal-Streaming (v3) WebSocket.
|
Package assemblyai is a streaming speech-to-text service backed by AssemblyAI's Universal-Streaming (v3) WebSocket. |
|
azureopenai
Package azureopenai provides an LLM service for Azure OpenAI.
|
Package azureopenai provides an LLM service for Azure OpenAI. |
|
azurespeech
Package azurespeech provides Azure AI Speech services.
|
Package azurespeech provides Azure AI Speech services. |
|
bedrock
Package bedrock provides a streaming LLM service for Anthropic Claude models served through Amazon Bedrock.
|
Package bedrock provides a streaming LLM service for Anthropic Claude models served through Amazon Bedrock. |
|
cartesia
Package cartesia is a streaming text-to-speech service backed by Cartesia's TTS WebSocket.
|
Package cartesia is a streaming text-to-speech service backed by Cartesia's TTS WebSocket. |
|
cerebras
Package cerebras provides Cerebras's OpenAI-compatible LLM service.
|
Package cerebras provides Cerebras's OpenAI-compatible LLM service. |
|
deepgram
Package deepgram provides Deepgram's streaming speech-to-text service (over the live transcription WebSocket) and its Aura text-to-speech service.
|
Package deepgram provides Deepgram's streaming speech-to-text service (over the live transcription WebSocket) and its Aura text-to-speech service. |
|
deepseek
Package deepseek provides DeepSeek's OpenAI-compatible LLM service.
|
Package deepseek provides DeepSeek's OpenAI-compatible LLM service. |
|
elevenlabs
Package elevenlabs is a streaming text-to-speech service backed by the ElevenLabs HTTP streaming API.
|
Package elevenlabs is a streaming text-to-speech service backed by the ElevenLabs HTTP streaming API. |
|
fireworks
Package fireworks provides Fireworks AI's OpenAI-compatible LLM service.
|
Package fireworks provides Fireworks AI's OpenAI-compatible LLM service. |
|
fish
Package fish is a streaming text-to-speech service backed by Fish Audio.
|
Package fish is a streaming text-to-speech service backed by Fish Audio. |
|
geminilive
Package geminilive is a speech-to-speech service built on Google's Gemini Live API (BidiGenerateContent).
|
Package geminilive is a speech-to-speech service built on Google's Gemini Live API (BidiGenerateContent). |
|
gladia
Package gladia is a streaming speech-to-text service backed by Gladia's Live STT v2 API.
|
Package gladia is a streaming speech-to-text service backed by Gladia's Live STT v2 API. |
|
google
Package google is a streaming LLM service backed by Google's Gemini API (generateContent with SSE).
|
Package google is a streaming LLM service backed by Google's Gemini API (generateContent with SSE). |
|
groq
Package groq provides Groq's OpenAI-compatible LLM and Whisper STT services.
|
Package groq provides Groq's OpenAI-compatible LLM and Whisper STT services. |
|
hume
Package hume is a streaming text-to-speech service backed by Hume AI's Octave TTS.
|
Package hume is a streaming text-to-speech service backed by Hume AI's Octave TTS. |
|
kokoro
Package kokoro is a text-to-speech provider for a local Kokoro-FastAPI server.
|
Package kokoro is a text-to-speech provider for a local Kokoro-FastAPI server. |
|
lmnt
Package lmnt is a streaming text-to-speech service backed by LMNT's HTTP "speech bytes" endpoint, which streams raw PCM.
|
Package lmnt is a streaming text-to-speech service backed by LMNT's HTTP "speech bytes" endpoint, which streams raw PCM. |
|
mem0
Package mem0 adds long-term memory to a jargo voice agent, backed by a mem0 server (https://github.com/mem0ai/mem0).
|
Package mem0 adds long-term memory to a jargo voice agent, backed by a mem0 server (https://github.com/mem0ai/mem0). |
|
minimax
Package minimax is a streaming text-to-speech service backed by MiniMax's T2A API.
|
Package minimax is a streaming text-to-speech service backed by MiniMax's T2A API. |
|
mistral
Package mistral provides Mistral AI's OpenAI-compatible LLM service.
|
Package mistral provides Mistral AI's OpenAI-compatible LLM service. |
|
nebius
Package nebius provides Nebius AI Studio's OpenAI-compatible LLM service.
|
Package nebius provides Nebius AI Studio's OpenAI-compatible LLM service. |
|
novasonic
Package novasonic is a speech-to-speech service built on Amazon Nova Sonic, served over Bedrock's bidirectional streaming API.
|
Package novasonic is a speech-to-speech service built on Amazon Nova Sonic, served over Bedrock's bidirectional streaming API. |
|
nvidia
Package nvidia provides NVIDIA NIM's OpenAI-compatible LLM service.
|
Package nvidia provides NVIDIA NIM's OpenAI-compatible LLM service. |
|
ollama
Package ollama provides a client for a local Ollama server through its OpenAI-compatible LLM endpoint.
|
Package ollama provides a client for a local Ollama server through its OpenAI-compatible LLM endpoint. |
|
openai
Package openai provides OpenAI's LLM, STT and TTS services, plus the OpenAI-compatible LLM base that other providers (Groq, Together, Fireworks and the rest) wrap with their own base URL, key and default model.
|
Package openai provides OpenAI's LLM, STT and TTS services, plus the OpenAI-compatible LLM base that other providers (Groq, Together, Fireworks and the rest) wrap with their own base URL, key and default model. |
|
openairealtime
Package openairealtime is a speech-to-speech service built on OpenAI's Realtime API.
|
Package openairealtime is a speech-to-speech service built on OpenAI's Realtime API. |
|
openrouter
Package openrouter provides OpenRouter's OpenAI-compatible LLM service, a gateway to many models behind one API.
|
Package openrouter provides OpenRouter's OpenAI-compatible LLM service, a gateway to many models behind one API. |
|
perplexity
Package perplexity provides Perplexity's OpenAI-compatible LLM service.
|
Package perplexity provides Perplexity's OpenAI-compatible LLM service. |
|
piper
Package piper is a text-to-speech provider for a local Piper HTTP server (python -m piper.http_server).
|
Package piper is a text-to-speech provider for a local Piper HTTP server (python -m piper.http_server). |
|
qwen
Package qwen provides Alibaba's Qwen LLM over the DashScope OpenAI-compatible endpoint.
|
Package qwen provides Alibaba's Qwen LLM over the DashScope OpenAI-compatible endpoint. |
|
rime
Package rime is a streaming text-to-speech service backed by Rime's HTTP API.
|
Package rime is a streaming text-to-speech service backed by Rime's HTTP API. |
|
sambanova
Package sambanova provides SambaNova Cloud's OpenAI-compatible LLM service.
|
Package sambanova provides SambaNova Cloud's OpenAI-compatible LLM service. |
|
soniox
Package soniox provides Soniox real-time streaming speech-to-text over its WebSocket API.
|
Package soniox provides Soniox real-time streaming speech-to-text over its WebSocket API. |
|
speechmatics
Package speechmatics provides Speechmatics' real-time streaming speech-to-text over its WebSocket API.
|
Package speechmatics provides Speechmatics' real-time streaming speech-to-text over its WebSocket API. |
|
together
Package together provides Together AI's OpenAI-compatible LLM service.
|
Package together provides Together AI's OpenAI-compatible LLM service. |
|
whispercpp
Package whispercpp is a speech-to-text provider for a local whisper.cpp server.
|
Package whispercpp is a speech-to-text provider for a local whisper.cpp server. |
|
xai
Package xai provides xAI's (Grok) OpenAI-compatible LLM service.
|
Package xai provides xAI's (Grok) OpenAI-compatible LLM service. |
|
Package rtvi implements the RTVI protocol over a transport's messaging channel: a JSON message format and a processor that completes the client handshake and reports pipeline events to the client.
|
Package rtvi implements the RTVI protocol over a transport's messaging channel: a JSON message format and a processor that completes the client handshake and reports pipeline events to the client. |
|
service
|
|
|
llm
Package llm is the shared base for streaming LLM services.
|
Package llm is the shared base for streaming LLM services. |
|
stt
Package stt is the shared base for speech-to-text services.
|
Package stt is the shared base for speech-to-text services. |
|
tts
Package tts is the shared base for text-to-speech services.
|
Package tts is the shared base for text-to-speech services. |
|
Package tracing wires OpenTelemetry tracing into a jargo voice agent.
|
Package tracing wires OpenTelemetry tracing into a jargo voice agent. |
|
Package transport defines the boundary between a pipeline and the outside world.
|
Package transport defines the boundary between a pipeline and the outside world. |
|
pionrtc
Package pionrtc implements a WebRTC transport for jargo using Pion.
|
Package pionrtc implements a WebRTC transport for jargo using Pion. |
|
wsserver
Package wsserver is a WebSocket media transport for telephony.
|
Package wsserver is a WebSocket media transport for telephony. |
|
wsserver/twilio
Package twilio is the wsserver.Serializer for Twilio Media Streams.
|
Package twilio is the wsserver.Serializer for Twilio Media Streams. |
|
Package turns manages the user-turn lifecycle, ported from Pipecat's turns subsystem.
|
Package turns manages the user-turn lifecycle, ported from Pipecat's turns subsystem. |
Click to show internal directories.
Click to hide internal directories.