Documentation
¶
Overview ¶
Package jargo is a framework for building real-time voice and multimodal AI pipelines.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package adapter converts jargo's universal conversation context into the request each LLM provider takes.
|
Package adapter converts jargo's universal conversation context into the request each LLM provider takes. |
|
anthropic
Package anthropic converts a universal conversation into the request Anthropic takes, and with it Bedrock, which serves the same models.
|
Package anthropic converts a universal conversation into the request Anthropic takes, and with it Bedrock, which serves the same models. |
|
gemini
Package gemini converts a universal conversation into the request Gemini takes, and with it Vertex AI, which serves the same models.
|
Package gemini converts a universal conversation into the request Gemini takes, and with it Vertex AI, which serves the same models. |
|
mistral
Package mistral converts a universal conversation into the request Mistral takes.
|
Package mistral converts a universal conversation into the request Mistral takes. |
|
openai
Package openai converts a universal conversation into the chat-completions request OpenAI takes, and with it every endpoint that speaks OpenAI's API.
|
Package openai converts a universal conversation into the chat-completions request OpenAI takes, and with it every endpoint that speaks OpenAI's API. |
|
perplexity
Package perplexity converts a universal conversation into the request Perplexity takes.
|
Package perplexity converts a universal conversation into the request Perplexity takes. |
|
realtime
Package realtime converts a universal conversation into what OpenAI's Realtime API takes on a session.
|
Package realtime converts a universal conversation into what OpenAI's Realtime API takes on a session. |
|
responses
Package responses converts a universal conversation into the request OpenAI's Responses API takes, over HTTP and over the WebSocket alike: the two transports carry the same request.
|
Package responses converts a universal conversation into the request OpenAI's Responses API takes, over HTTP and over the WebSocket alike: the two transports carry the same request. |
|
Package audio defines the interfaces for pluggable audio processing a transport applies to the media it sends and receives.
|
Package audio defines the interfaces for pluggable audio processing a transport applies to the media it sends and receives. |
|
dtmf
Package dtmf generates the dual-tone multi-frequency signals a telephone keypad produces, as 16-bit mono PCM.
|
Package dtmf generates the dual-tone multi-frequency signals a telephone keypad produces, as 16-bit mono PCM. |
|
g711
Package g711 implements the ITU-T G.711 companding codecs used by telephony media streams (Twilio, Telnyx, Plivo and the wider PSTN): μ-law (PCMU), the North American variant, and A-law (PCMA), used elsewhere.
|
Package g711 implements the ITU-T G.711 companding codecs used by telephony media streams (Twilio, Telnyx, Plivo and the wider PSTN): μ-law (PCMU), the North American variant, and A-law (PCMA), used elsewhere. |
|
loudness
Package loudness measures how loud audio is, to ITU-R BS.1770 (the EBU R128 standard), and normalizes the result to a 0..1 scale.
|
Package loudness measures how loud audio is, to ITU-R BS.1770 (the EBU R128 standard), and normalizes the result to a 0..1 scale. |
|
mixer
Package mixer mixes background audio into a transport's outgoing audio.
|
Package mixer mixes background audio into a transport's outgoing audio. |
|
noise/gate
Package gate provides a noise gate: an audio.Filter that silences a chunk of audio whose RMS energy falls below a threshold, suppressing low-level background hum and hiss between speech.
|
Package gate provides a noise gate: an audio.Filter that silences a chunk of audio whose RMS energy falls below a threshold, suppressing low-level background hum and hiss between speech. |
|
noise/rnnoise
Package rnnoise is an input audio filter that suppresses background noise with RNNoise, Xiph's recurrent-network denoiser.
|
Package rnnoise is an input audio filter that suppresses background noise with RNNoise, Xiph's recurrent-network denoiser. |
|
onset
Package onset detects the first audible sample in a stream of PCM audio.
|
Package onset detects the first audible sample in a stream of PCM audio. |
|
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, preserving the channel count.
|
Package resample converts interleaved S16LE PCM audio between sample rates, preserving the channel count. |
|
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. |
|
vad/controller
Package controller drives a voice-activity detector and reports what it hears.
|
Package controller drives a voice-activity detector and reports what it hears. |
|
Package bus is the pub/sub messaging that connects workers to each other and to the runner that manages them.
|
Package bus is the pub/sub messaging that connects workers to each other and to the runner that manages them. |
|
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. |
|
cmd
|
|
|
jargo
command
Command jargo is the command-line entry point for jargo tooling.
|
Command jargo is the command-line entry point for jargo tooling. |
|
Package eval is a behavioral eval harness for jargo bots.
|
Package eval is a behavioral eval harness for jargo bots. |
|
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. |
|
eval
command
Command eval is a tiny demo bot for the jargo eval harness.
|
Command eval is a tiny demo bot for the jargo eval harness. |
|
flows
command
Command flows is a headless jargo voice backend driven by a conversation flow.
|
Command flows is a headless jargo voice backend driven by a conversation flow. |
|
localaudio
command
Command localaudio echoes the local microphone straight back to the local speaker using jargo's pure-Go local-audio transport.
|
Command localaudio echoes the local microphone straight back to the local speaker using jargo's pure-Go local-audio transport. |
|
silktest
command
Throwaway: exercise jargo's audio/opus Encoder end-to-end, the way the transport does — feeding 20 ms frames of 48 kHz mono S16LE PCM and decoding the packets back.
|
Throwaway: exercise jargo's audio/opus Encoder end-to-end, the way the transport does — feeding 20 ms frames of 48 kHz mono S16LE PCM and decoding the packets back. |
|
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 flows builds structured, multi-step conversations on top of jargo's LLM service.
|
Package flows builds structured, multi-step conversations on top of jargo's LLM service. |
|
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. |
|
providertest
Package providertest holds shared assertions for provider packages whose behavior is fully determined by the base service they delegate to.
|
Package providertest holds shared assertions for provider packages whose behavior is fully determined by the base service they delegate to. |
|
query
Package query provides jargo's shared URL-query helpers.
|
Package query provides jargo's shared URL-query helpers. |
|
tagscan
Package tagscan extracts control tags like <dtmf>1</dtmf> from a streamed text response, so a processor can act on the tags and speak the rest.
|
Package tagscan extracts control tags like <dtmf>1</dtmf> from a streamed text response, so a processor can act on the tags and speak the rest. |
|
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 observers provides pipeline observers: components that watch the frames flowing through a pipeline to derive turn, latency and startup metrics, or to log the stream, without modifying it.
|
Package observers provides pipeline observers: components that watch the frames flowing through a pipeline to derive turn, latency and startup metrics, or to log the stream, without modifying it. |
|
Package pipeline connects frame processors into a chain and drives them.
|
Package pipeline connects frame processors into a chain and drives them. |
|
jobcontext
Package jobcontext describes the long-running work one worker asks another for: how such a job ends, and the error a job carries when it is cut short.
|
Package jobcontext describes the long-running work one worker asks another for: how such a job ends, and the error a job carries when it is cut short. |
|
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. |
|
aggregators
Package aggregators assembles the conversation around an LLM.
|
Package aggregators assembles the conversation around an LLM. |
|
audiobuffer
Package audiobuffer records a conversation's audio.
|
Package audiobuffer records a conversation's audio. |
|
dtmf
Package dtmf aggregates the DTMF keypresses a caller makes into a string a language model can read.
|
Package dtmf aggregates the DTMF keypresses a caller makes into a string a language model can read. |
|
ivr
Package ivr navigates automated phone menus (IVR systems).
|
Package ivr navigates automated phone menus (IVR systems). |
|
langchain
Package langchain bridges an external "chain" — any streaming text generator, such as a LangChain-style runnable or a custom agent — into a jargo pipeline.
|
Package langchain bridges an external "chain" — any streaming text generator, such as a LangChain-style runnable or a custom agent — into a jargo pipeline. |
|
rtvi
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. |
|
turns
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. |
|
vadproc
Package vadproc is the voice-activity-detection pipeline processor.
|
Package vadproc is the voice-activity-detection pipeline processor. |
|
voicemail
Package voicemail detects whether an outbound call reached a person or a voicemail system.
|
Package voicemail detects whether an outbound call reached a person or a voicemail system. |
|
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. |
|
asyncai
Package asyncai is a streaming text-to-speech service backed by Async's TTS WebSocket.
|
Package asyncai is a streaming text-to-speech service backed by Async's TTS WebSocket. |
|
aws/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. |
|
aws/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. |
|
aws/polly
Package polly is a text-to-speech service backed by Amazon Polly's SynthesizeSpeech API.
|
Package polly is a text-to-speech service backed by Amazon Polly's SynthesizeSpeech API. |
|
aws/transcribe
Package transcribe is a streaming speech-to-text service backed by Amazon Transcribe's StartStreamTranscription API.
|
Package transcribe is a streaming speech-to-text service backed by Amazon Transcribe's StartStreamTranscription API. |
|
azure/openai
Package openai provides an LLM and a transcription service for Azure OpenAI.
|
Package openai provides an LLM and a transcription service for Azure OpenAI. |
|
azure/realtime
Package realtime is a speech-to-speech service built on Azure OpenAI's Realtime API.
|
Package realtime is a speech-to-speech service built on Azure OpenAI's Realtime API. |
|
azure/speech
Package speech provides Azure AI Speech services.
|
Package speech provides Azure AI Speech services. |
|
camb
Package camb is a streaming text-to-speech service backed by Camb.ai's MARS models.
|
Package camb is a streaming text-to-speech service backed by Camb.ai's MARS models. |
|
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, see stt.go), its Aura text-to-speech service (see tts.go), and its Flux streaming STT and TTS services (see flux.go and flux_tts.go).
|
Package deepgram provides Deepgram's streaming speech-to-text service (over the live transcription WebSocket, see stt.go), its Aura text-to-speech service (see tts.go), and its Flux streaming STT and TTS services (see flux.go and flux_tts.go). |
|
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 ElevenLabs.
|
Package elevenlabs is a streaming text-to-speech service backed by ElevenLabs. |
|
fal
Package fal is a batch speech-to-text service backed by Fal's Wizper API.
|
Package fal is a batch speech-to-text service backed by Fal's Wizper 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. |
|
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/gemini
Package gemini is a streaming LLM service backed by Google's Gemini API (generateContent with SSE).
|
Package gemini is a streaming LLM service backed by Google's Gemini API (generateContent with SSE). |
|
google/live
Package live is a speech-to-speech service built on Google's Gemini Live API (BidiGenerateContent).
|
Package live is a speech-to-speech service built on Google's Gemini Live API (BidiGenerateContent). |
|
google/vertex
Package vertex provides Google's Gemini models as served by Vertex AI: a streaming LLM (NewLLM) and the Live speech-to-speech service (NewS2S).
|
Package vertex provides Google's Gemini models as served by Vertex AI: a streaming LLM (NewLLM) and the Live speech-to-speech service (NewS2S). |
|
gradium
Package gradium provides Gradium's speech services: streaming text-to-speech and real-time streaming speech-to-text, both over Gradium's WebSocket API.
|
Package gradium provides Gradium's speech services: streaming text-to-speech and real-time streaming speech-to-text, both over Gradium's WebSocket API. |
|
groq
Package groq provides Groq's OpenAI-compatible LLM service and its Whisper speech-to-text and text-to-speech services.
|
Package groq provides Groq's OpenAI-compatible LLM service and its Whisper speech-to-text and text-to-speech 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. |
|
inception
Package inception provides Inception's OpenAI-compatible LLM service.
|
Package inception provides Inception's OpenAI-compatible LLM service. |
|
inworld
Package inworld is a streaming text-to-speech service backed by Inworld AI's HTTP streaming endpoint.
|
Package inworld is a streaming text-to-speech service backed by Inworld AI's HTTP streaming endpoint. |
|
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. |
|
kyutai
Package kyutai provides Kyutai's self-hosted speech services.
|
Package kyutai provides Kyutai's self-hosted speech services. |
|
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. |
|
neuphonic
Package neuphonic is a streaming text-to-speech service backed by Neuphonic's TTS WebSocket.
|
Package neuphonic is a streaming text-to-speech service backed by Neuphonic's TTS WebSocket. |
|
novita
Package novita provides Novita AI's OpenAI-compatible LLM service.
|
Package novita provides Novita AI's OpenAI-compatible LLM service. |
|
nvidia
Package nvidia provides NVIDIA services: an NVIDIA NIM OpenAI-compatible LLM (NewLLM), a Riva streaming speech-to-text service (NewSTT), and a Riva streaming text-to-speech service (NewTTS).
|
Package nvidia provides NVIDIA services: an NVIDIA NIM OpenAI-compatible LLM (NewLLM), a Riva streaming speech-to-text service (NewSTT), and a Riva streaming text-to-speech service (NewTTS). |
|
nvidia/internal/rivapb
Package rivapb holds the generated gRPC clients for the subset of the NVIDIA Riva speech API the streaming ASR and TTS services use.
|
Package rivapb holds the generated gRPC clients for the subset of the NVIDIA Riva speech API the streaming ASR and TTS services use. |
|
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/chat
Package chat 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 chat 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. |
|
openai/realtime
Package realtime is a speech-to-speech service built on OpenAI's Realtime API.
|
Package realtime is a speech-to-speech service built on OpenAI's Realtime API. |
|
openai/responses
Package responses provides OpenAI's Responses API as an LLM service, in two forms.
|
Package responses provides OpenAI's Responses API as an LLM service, in two forms. |
|
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. |
|
resembleai
Package resembleai is a streaming text-to-speech service backed by Resemble AI's WebSocket.
|
Package resembleai is a streaming text-to-speech service backed by Resemble AI's WebSocket. |
|
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. |
|
sarvam
Package sarvam provides Sarvam's OpenAI-compatible LLM plus its WebSocket streaming text-to-speech and speech-to-text services for Indian languages.
|
Package sarvam provides Sarvam's OpenAI-compatible LLM plus its WebSocket streaming text-to-speech and speech-to-text services for Indian languages. |
|
smallest
Package smallest is a streaming text-to-speech service backed by Smallest AI's Waves WebSocket.
|
Package smallest is a streaming text-to-speech service backed by Smallest AI's Waves WebSocket. |
|
soniox
Package soniox provides Soniox's real-time speech services over its WebSocket APIs.
|
Package soniox provides Soniox's real-time speech services over its WebSocket APIs. |
|
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 and its streaming speech-to-text and text-to-speech services.
|
Package together provides Together AI's OpenAI-compatible LLM service and its streaming speech-to-text and text-to-speech services. |
|
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/grok
Package grok provides xAI's (Grok) services: an OpenAI-compatible LLM, real-time streaming speech-to-text, and text-to-speech in both a streaming WebSocket and a batch HTTP form.
|
Package grok provides xAI's (Grok) services: an OpenAI-compatible LLM, real-time streaming speech-to-text, and text-to-speech in both a streaming WebSocket and a batch HTTP form. |
|
xai/realtime
Package realtime is a speech-to-speech service built on xAI's Realtime API.
|
Package realtime is a speech-to-speech service built on xAI's Realtime API. |
|
xtts
Package xtts provides text-to-speech via a self-hosted Coqui XTTS streaming server (https://github.com/coqui-ai/xtts-streaming-server).
|
Package xtts provides text-to-speech via a self-hosted Coqui XTTS streaming server (https://github.com/coqui-ai/xtts-streaming-server). |
|
Package registry tracks the workers a runner knows about, its own and those belonging to other runners, so a worker can find another by name and be told when one it is waiting for becomes ready.
|
Package registry tracks the workers a runner knows about, its own and those belonging to other runners, so a worker can find another by name and be told when one it is waiting for becomes ready. |
|
Package service holds what every AI service in a pipeline has in common, whatever it does: transcription, generation or synthesis.
|
Package service holds what every AI service in a pipeline has in common, whatever it does: transcription, generation or synthesis. |
|
llm
Package llm is the shared base for streaming LLM services.
|
Package llm is the shared base for streaming LLM services. |
|
mcp
Package mcp connects a jargo LLM to Model Context Protocol tool servers.
|
Package mcp connects a jargo LLM to Model Context Protocol tool servers. |
|
settings
Package settings holds the part of a service's configuration that can change while the pipeline is running: the model, the voice, the language, the sampling knobs an LLM exposes.
|
Package settings holds the part of a service's configuration that can change while the pipeline is running: the model, the voice, the language, the sampling knobs an LLM exposes. |
|
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. |
|
wsservice
Package wsservice is the shared base for services that talk to a provider over a WebSocket held open for the length of a call.
|
Package wsservice is the shared base for services that talk to a provider over a WebSocket held open for the length of a call. |
|
wsutil
Package wsutil holds small shared helpers for the provider WebSocket clients.
|
Package wsutil holds small shared helpers for the provider WebSocket clients. |
|
telemetry
|
|
|
metrics
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. |
|
tracing
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. |
|
livekit
Package livekit implements a jargo transport that joins a LiveKit room as a participant.
|
Package livekit implements a jargo transport that joins a LiveKit room as a participant. |
|
localaudio
Package localaudio is a transport that captures from the local microphone and plays back through the local speaker, for running a bot on the same machine with no browser or telephony leg.
|
Package localaudio is a transport that captures from the local microphone and plays back through the local speaker, for running a bot on the same machine with no browser or telephony leg. |
|
rtc
Package rtc implements a WebRTC transport for jargo.
|
Package rtc implements a WebRTC transport for jargo. |
|
whatsapp
Package whatsapp answers inbound WhatsApp Business calls and bridges their audio into a jargo pipeline.
|
Package whatsapp answers inbound WhatsApp Business calls and bridges their audio into a jargo pipeline. |
|
wsserver
Package wsserver is a WebSocket media transport for telephony.
|
Package wsserver is a WebSocket media transport for telephony. |
|
wsserver/exotel
Package exotel is the wsserver.Serializer for Exotel Media Streaming (the Voicebot applet).
|
Package exotel is the wsserver.Serializer for Exotel Media Streaming (the Voicebot applet). |
|
wsserver/plivo
Package plivo is the wsserver.Serializer for Plivo Audio Streaming.
|
Package plivo is the wsserver.Serializer for Plivo Audio Streaming. |
|
wsserver/rtviws
Package rtviws is the wsserver.Serializer that carries the RTVI protocol over a plain WebSocket, so an RTVI client can drive a jargo bot without WebRTC.
|
Package rtviws is the wsserver.Serializer that carries the RTVI protocol over a plain WebSocket, so an RTVI client can drive a jargo bot without WebRTC. |
|
wsserver/telnyx
Package telnyx is the wsserver.Serializer for Telnyx Media Streaming.
|
Package telnyx is the wsserver.Serializer for Telnyx Media Streaming. |
|
wsserver/twilio
Package twilio is the wsserver.Serializer for Twilio Media Streams.
|
Package twilio is the wsserver.Serializer for Twilio Media Streams. |
|
utils
|
|
|
context
Package context provides the text-alignment utilities that let a TTS service map the words it actually spoke back to the original written text, so the conversation context can be truncated to exactly what was spoken when the bot is interrupted.
|
Package context provides the text-alignment utilities that let a TTS service map the words it actually spoke back to the original written text, so the conversation context can be truncated to exactly what was spoken when the bot is interrupted. |
|
errors
Package errors classifies failures the way every service shares: it gives a provider-agnostic vocabulary for why an operation failed, so a caller can tell a transient failure (worth retrying) from a permanent one (retrying will never help).
|
Package errors classifies failures the way every service shares: it gives a provider-agnostic vocabulary for why an operation failed, so a caller can tell a transient failure (worth retrying) from a permanent one (retrying will never help). |
|
events
Package events is the event-handler registry an object exposes to report what it did, for the things a caller wants to observe but the frame path does not carry: a summary being applied, a socket failing to open, a worker becoming ready.
|
Package events is the event-handler registry an object exposes to report what it did, for the things a caller wants to observe but the frame path does not carry: a summary being applied, a socket failing to open, a worker becoming ready. |
|
network
Package network holds the retry helpers shared by services that keep a connection open to a provider for the length of a call.
|
Package network holds the retry helpers shared by services that keep a connection open to a provider for the length of a call. |
|
notify
Package notify carries the signaling primitives processors use to coordinate with one another without being wired together in the pipeline.
|
Package notify carries the signaling primitives processors use to coordinate with one another without being wired together in the pipeline. |
|
security
Package security holds the checks that decide whether a connection from outside is allowed in.
|
Package security holds the checks that decide whether a connection from outside is allowed in. |
|
text
Package text normalizes written text into a form better suited to text-to-speech: it strips Markdown, expands numbers, currency, percentages, dates, units and acronyms into spoken words, spaces out phone-number digits, and spells email addresses.
|
Package text normalizes written text into a form better suited to text-to-speech: it strips Markdown, expands numbers, currency, percentages, dates, units and acronyms into spoken words, spaces out phone-number digits, and spells email addresses. |
|
Package workers is the base every worker is built on: the thing that connects to a bus, registers itself so others can find it, is activated and deactivated, and exchanges long-running jobs with the other workers.
|
Package workers is the base every worker is built on: the thing that connects to a bus, registers itself so others can find it, is activated and deactivated, and exchanges long-running jobs with the other workers. |
|
llmworker
Package llmworker is a pipeline worker built around a language model, with the tool handling that makes one usable from the bus.
|
Package llmworker is a pipeline worker built around a language model, with the tool handling that makes one usable from the bus. |
|
proxy
Package proxy carries bus messages between two processes over a WebSocket.
|
Package proxy carries bus messages between two processes over a WebSocket. |
Click to show internal directories.
Click to hide internal directories.