Overview
Provider adapters for @absolutejs/voice.
Provider packages from ~/abs/voice-adapters. These independently versioned packages plug Deepgram, AssemblyAI, Azure, Gladia, Google Speech, Soniox, Speechmatics, OpenAI, Gemini, ElevenLabs, Cartesia, LMNT, Neets, PlayHT, Rime, and Smallest into the core voice runtime.
Install the core voice package plus the provider packages your route needs. Cascaded routes usually provide stt and tts. Realtime routes provide realtime.
import { voice } from "@absolutejs/voice";
import { deepgram } from "@absolutejs/voice-deepgram";
import { elevenlabs } from "@absolutejs/voice-elevenlabs";
import { openAIRealtime } from "@absolutejs/voice-openai";
app
.use(voice({
path: "/voice/intake",
session,
stt: deepgram({ apiKey: process.env.DEEPGRAM_API_KEY! }),
tts: elevenlabs({ apiKey: process.env.ELEVENLABS_API_KEY!, voiceId }),
onTurn
}))
.use(voice({
path: "/voice/realtime",
session,
realtime: openAIRealtime({
apiKey: process.env.OPENAI_API_KEY!,
model: "gpt-4o-realtime-preview"
})
}));@absolutejs/voice-assemblyaiAssemblyAI streaming STT adapter for universal-streaming speech models.
@absolutejs/voice-azureAzure Speech adapter with Neural TTS over REST and streaming STT over the WebSocket Unified Speech Protocol.
@absolutejs/voice-cartesiaCartesia streaming TTS adapter using SSE or byte-stream endpoints.
@absolutejs/voice-deepgramDeepgram streaming STT adapter that normalizes partial, final, and speech_final endpoint events.
@absolutejs/voice-elevenlabsElevenLabs streaming TTS adapter, with optional warm WebSocket sessions for lower startup latency.
@absolutejs/voice-geminiGemini Live realtime adapter that normalizes input transcripts, output transcripts, assistant audio, turn completion, and errors.
@absolutejs/voice-gladiaGladia v2 live STT adapter with two-step session handshake and multilingual code-switch support.
@absolutejs/voice-google-speechGoogle Cloud Speech-to-Text adapter with buffered REST recognition and real-time HTTP/2 streaming.
@absolutejs/voice-lmntLMNT streaming TTS adapter for aurora, blizzard, and mochi models.
@absolutejs/voice-neetsNeets low-cost TTS adapter for ar-diff-50k, style-tts-2, and vits models.
@absolutejs/voice-openaiOpenAI Realtime adapter for full-duplex realtime speech sessions.
@absolutejs/voice-openai-whisperOpenAI Whisper buffered-batch STT adapter for flush/close transcription.
@absolutejs/voice-playhtPlayHT streaming TTS adapter for Play3.0-mini, PlayDialog, and PlayHT2.0-turbo models.
@absolutejs/voice-rimeRime streaming TTS adapter for mist, mistv2, and arcana voice models.
@absolutejs/voice-smallestSmallest AI raw PCM TTS adapter for Lightning and Lightning-v2 models.
@absolutejs/voice-sonioxSoniox real-time STT adapter with language hints and telephony encodings.
@absolutejs/voice-speechmaticsSpeechmatics real-time STT adapter for regional WebSocket endpoints.
Deepgram, AssemblyAI, Azure, Gladia, Google Speech streaming, Soniox, and Speechmatics implement STTAdapter sessions.
OpenAI Whisper and googleSpeech() accumulate audio and emit a final transcript on flush or close.
Azure, Cartesia, ElevenLabs, LMNT, Neets, PlayHT, Rime, and Smallest implement TTSAdapter sessions.
OpenAI Realtime and Gemini Live implement RealtimeAdapter for unified input audio, transcripts, assistant audio, and turn completion.
Gladia, Google Speech, Soniox, Speechmatics, and Azure document μ-law or A-law support in addition to PCM paths.
Provider options and STTAdapterOpenOptions.languageStrategy resolve fixed languages, allow-switching lists, or auto-detect hints where the provider supports them.
Adapters normalize vendor endpoint events such as Deepgram speech_final, Gladia end_of_utterance, Google speech activity events, Azure turn.end, and Speechmatics end-of-turn events.
Most adapters accept API keys; Azure also supports token auth, and Google Speech supports API key, OAuth, or refresh hooks.
These playbooks show where this package fits, how to verify the combined system, and what changes before production.
Current package surface
AssemblyAI speech-to-text adapter for @absolutejs/voice
Azure Speech (Cognitive Services) adapter for @absolutejs/voice — Neural TTS over REST + streaming STT over the WebSocket Unified Speech Protocol
Cartesia text-to-speech adapter for @absolutejs/voice
Deepgram speech-to-text adapter for @absolutejs/voice
ElevenLabs text-to-speech adapter for @absolutejs/voice
Gemini Live realtime adapter for @absolutejs/voice
Gladia real-time speech-to-text adapter for @absolutejs/voice
Google Cloud Speech-to-Text adapter for @absolutejs/voice — buffered-batch (REST) + real-time streaming (gRPC-Web over HTTP/2, no @grpc/grpc-js dep)
LMNT text-to-speech adapter for @absolutejs/voice
Neets text-to-speech adapter for @absolutejs/voice
OpenAI realtime adapter for @absolutejs/voice
OpenAI Whisper buffered-batch speech-to-text adapter for @absolutejs/voice
PlayHT text-to-speech adapter for @absolutejs/voice
Rime text-to-speech adapter for @absolutejs/voice
Smallest AI text-to-speech adapter for @absolutejs/voice
Soniox real-time speech-to-text adapter for @absolutejs/voice
Speechmatics real-time speech-to-text adapter for @absolutejs/voice
Outcomes
Provider adapters for @absolutejs/voice.
@absolutejs/voice-assemblyai
@absolutejs/voice-azure
Hardening checklist
Follow in order