@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
55 lines (54 loc) • 3.54 kB
TypeScript
/**
* Voice Module - Unified Voice/Speech Integration for NeuroLink
*
* Provides TTS (Text-to-Speech), STT (Speech-to-Text), and
* Realtime Voice capabilities across multiple providers.
*
* Use TTSProcessor (src/lib/utils/ttsProcessor.ts) for TTS.
* Use STTProcessor (src/lib/utils/sttProcessor.ts) for STT.
* Use RealtimeProcessor for realtime voice sessions.
*
* Importing this module does NOT register any handlers as a side effect.
* Call `registerDefaultTTSHandlers()` / `registerDefaultSTTHandlers()` /
* `registerDefaultRealtimeHandlers()` explicitly (or go through
* `ProviderRegistry.registerAllProviders()`, which every documented
* `NeuroLink` entry point already calls) to register every shipped handler
* whose backing API key is present in `process.env`. Registration is
* idempotent and silently skipped on failure.
*
* @module voice
*/
export { AUDIO_FORMAT_DETAILS, DEFAULT_REALTIME_CONFIG, DEFAULT_STT_OPTIONS, isSTTResult, isTranscriptionSegment, isValidRealtimeConfig, isValidSTTOptions, REALTIME_ERROR_CODES, STT_ERROR_CODES, VOICE_ERROR_CODES, } from "../types/index.js";
export { RealtimeError, STTError, VoiceError } from "./errors.js";
export { BaseRealtimeHandler, RealtimeProcessor } from "./RealtimeVoiceAPI.js";
export { AUDIO_SIGNATURES, calculateDuration, convertAudioFormat, createPcmBuffer, createWavFile, createWavHeader, detectAudioFormat, extractPcmSamples, getFileExtension, getMimeType, MIME_TYPES, normalizeAudio, resamplePcm, splitIntoChunks, } from "./audio-utils.js";
export { asyncIterableToStream, ChunkedAudioStream, StreamHandler, StreamMerger, StreamSplitter, streamToAsyncIterable, } from "./stream-handler.js";
export { GoogleTTSHandler } from "../adapters/tts/googleTTSHandler.js";
export { AzureTTS, AzureTTS as AzureTTSHandler } from "./providers/AzureTTS.js";
export { SixtyDBTTS, SixtyDBTTS as SixtyDBTTSHandler, } from "./providers/SixtyDBTTS.js";
export { CartesiaTTS, CartesiaTTS as CartesiaTTSHandler, } from "./providers/CartesiaTTS.js";
export { ElevenLabsTTS, ElevenLabsTTS as ElevenLabsTTSHandler, } from "./providers/ElevenLabsTTS.js";
export { FishAudioTTS, FishAudioTTS as FishAudioTTSHandler, } from "./providers/FishAudioTTS.js";
export { OpenAITTS, OpenAITTS as OpenAITTSHandler, } from "./providers/OpenAITTS.js";
export { AzureSTT, AzureSTT as AzureSTTHandler } from "./providers/AzureSTT.js";
export { DeepgramSTT, DeepgramSTT as DeepgramSTTHandler, } from "./providers/DeepgramSTT.js";
export { GoogleSTT, GoogleSTT as GoogleSTTHandler, } from "./providers/GoogleSTT.js";
export { OpenAISTT, OpenAISTTHandler, WhisperSTT, WhisperSTTHandler, } from "./providers/OpenAISTT.js";
export { GeminiLive, GeminiLive as GeminiLiveHandler, } from "./providers/GeminiLive.js";
export { OpenAIRealtime, OpenAIRealtime as OpenAIRealtimeHandler, } from "./providers/OpenAIRealtime.js";
/**
* Register every shipped TTS handler whose backing credentials are
* present in the environment. Safe to call multiple times.
*/
export declare function registerDefaultTTSHandlers(): void;
/**
* Register every shipped STT handler whose backing credentials are
* present in the environment. Safe to call multiple times.
*/
export declare function registerDefaultSTTHandlers(): void;
/**
* Register every shipped Realtime handler. Realtime handlers don't gate
* registration on isConfigured() because session-time API keys can be
* supplied per-call; missing creds surface when `connect()` is invoked.
*/
export declare function registerDefaultRealtimeHandlers(): void;