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. |
|
twilio/outbound
command
Command outbound is an outbound telephony voice agent: it places a phone call over Twilio, talks to whoever answers, collects a few details and hangs up.
|
Command outbound is an outbound telephony voice agent: it places a phone call over Twilio, talks to whoever answers, collects a few details and hangs up. |
|
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 a headless jargo voice backend.
|
Command voice-anthropic is a headless jargo voice backend. |
|
voice/assemblyai
command
Command voice-assemblyai is a headless jargo voice backend.
|
Command voice-assemblyai is a headless jargo voice backend. |
|
voice/azure
command
Command voice-azure is a headless jargo voice backend.
|
Command voice-azure is a headless jargo voice backend. |
|
voice/cartesia
command
Command voice-cartesia is a headless jargo voice backend.
|
Command voice-cartesia is a headless jargo voice backend. |
|
voice/deepgram
command
Command voice-deepgram is a headless jargo voice backend.
|
Command voice-deepgram is a headless jargo voice backend. |
|
voice/deepseek
command
Command voice-deepseek is a headless jargo voice backend.
|
Command voice-deepseek is a headless jargo voice backend. |
|
voice/elevenlabs
command
Command voice-elevenlabs is a headless jargo voice backend.
|
Command voice-elevenlabs is a headless jargo voice backend. |
|
voice/fish
command
Command voice-fish is a headless jargo voice backend.
|
Command voice-fish is a headless jargo voice backend. |
|
voice/gladia
command
Command voice-gladia is a headless jargo voice backend.
|
Command voice-gladia is a headless jargo voice backend. |
|
voice/google
command
Command voice-google is a headless jargo voice backend.
|
Command voice-google is a headless jargo voice backend. |
|
voice/groq
command
Command voice-groq is a headless jargo voice backend.
|
Command voice-groq is a headless jargo voice backend. |
|
voice/hume
command
Command voice-hume is a headless jargo voice backend.
|
Command voice-hume is a headless jargo voice backend. |
|
voice/lmnt
command
Command voice-lmnt is a headless jargo voice backend.
|
Command voice-lmnt is a headless jargo voice backend. |
|
voice/minimax
command
Command voice-minimax is a headless jargo voice backend.
|
Command voice-minimax is a headless jargo voice backend. |
|
voice/mistral
command
Command voice-mistral is a headless jargo voice backend.
|
Command voice-mistral is a headless jargo voice backend. |
|
voice/nebius
command
Command voice-nebius is a headless jargo voice backend.
|
Command voice-nebius is a headless jargo voice backend. |
|
voice/ollama
command
Command voice-ollama is a headless jargo voice backend.
|
Command voice-ollama is a headless jargo voice backend. |
|
voice/openai
command
Command voice-openai is a headless jargo voice backend.
|
Command voice-openai is a headless jargo voice backend. |
|
voice/qwen
command
Command voice-qwen is a headless jargo voice backend.
|
Command voice-qwen is a headless jargo voice backend. |
|
voice/rime
command
Command voice-rime is a headless jargo voice backend.
|
Command voice-rime is a headless jargo voice backend. |
|
voice/sambanova
command
Command voice-sambanova is a headless jargo voice backend.
|
Command voice-sambanova is a headless jargo voice backend. |
|
voice/soniox
command
Command voice-soniox is a headless jargo voice backend.
|
Command voice-soniox is a headless jargo voice backend. |
|
voice/speechmatics
command
Command voice-speechmatics is a headless jargo voice backend.
|
Command voice-speechmatics is a headless jargo voice backend. |
|
voice/together
command
Command voice-together is a headless jargo voice backend.
|
Command voice-together is a headless jargo voice backend. |
|
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.