UNPKG

@mastra/voice-sarvam

Version:

Mastra Sarvam AI voice integration

68 lines (53 loc) 2.44 kB
import { MastraVoice } from '@mastra/core/voice'; export declare const SARVAM_STT_LANGUAGES: readonly ["hi-IN", "bn-IN", "kn-IN", "ml-IN", "mr-IN", "od-IN", "pa-IN", "ta-IN", "te-IN", "en-IN", "gu-IN", "unknown"]; export declare const SARVAM_STT_MODELS: readonly ["saarika:v1", "saarika:v2", "saarika:flash"]; export declare const SARVAM_TTS_LANGUAGES: readonly ["hi-IN", "bn-IN", "kn-IN", "ml-IN", "mr-IN", "od-IN", "pa-IN", "ta-IN", "te-IN", "en-IN", "gu-IN"]; export declare const SARVAM_TTS_MODELS: readonly ["bulbul:v1"]; export declare const SARVAM_VOICES: readonly ["meera", "pavithra", "maitreyi", "arvind", "amol", "amartya", "diya", "neel", "misha", "vian", "arjun", "maya"]; declare interface SarvamListenOptions { apiKey?: string; model?: SarvamSTTModel; languageCode?: SarvamSTTLanguage; filetype?: 'mp3' | 'wav'; } export declare type SarvamSTTLanguage = (typeof SARVAM_STT_LANGUAGES)[number]; export declare type SarvamSTTModel = (typeof SARVAM_STT_MODELS)[number]; export declare type SarvamTTSLanguage = (typeof SARVAM_TTS_LANGUAGES)[number]; export declare type SarvamTTSModel = (typeof SARVAM_TTS_MODELS)[number]; export declare class SarvamVoice extends MastraVoice { private apiKey?; private model; private language; private properties; protected speaker: SarvamVoiceId; private baseUrl; constructor({ speechModel, speaker, listeningModel, }?: { speechModel?: SarvamVoiceConfig; speaker?: SarvamVoiceId; listeningModel?: SarvamListenOptions; }); private makeRequest; private streamToString; speak(input: string | NodeJS.ReadableStream, options?: { speaker?: SarvamVoiceId; }): Promise<NodeJS.ReadableStream>; getSpeakers(): Promise<{ voiceId: "meera" | "pavithra" | "maitreyi" | "arvind" | "amol" | "amartya" | "diya" | "neel" | "misha" | "vian" | "arjun" | "maya"; }[]>; listen(input: NodeJS.ReadableStream, options?: SarvamListenOptions): Promise<string>; } declare interface SarvamVoiceConfig { apiKey?: string; model?: SarvamTTSModel; language?: SarvamTTSLanguage; properties?: { pitch?: number; pace?: number; loudness?: number; speech_sample_rate?: 8000 | 16000 | 22050; enable_preprocessing?: boolean; eng_interpolation_wt?: number; }; } export declare type SarvamVoiceId = (typeof SARVAM_VOICES)[number]; export { }