@mastra/voice-azure 0.10.5 → 0.10.6-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,4 @@
1
1
 
2
- > @mastra/voice-azure@0.10.5-alpha.1 build /home/runner/work/mastra/mastra/voice/azure
3
- > tsup src/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting
2
+ > @mastra/voice-azure@0.10.6-alpha.0 build /home/runner/work/mastra/mastra/voice/azure
3
+ > tsup --silent --config tsup.config.ts
4
4
 
5
- CLI Building entry: src/index.ts
6
- CLI Using tsconfig: tsconfig.json
7
- CLI tsup v8.5.0
8
- TSC Build start
9
- TSC ⚡️ Build success in 11296ms
10
- DTS Build start
11
- CLI Target: es2022
12
- Analysis will use the bundled TypeScript version 5.8.3
13
- Writing package typings: /home/runner/work/mastra/mastra/voice/azure/dist/_tsup-dts-rollup.d.ts
14
- Analysis will use the bundled TypeScript version 5.8.3
15
- Writing package typings: /home/runner/work/mastra/mastra/voice/azure/dist/_tsup-dts-rollup.d.cts
16
- DTS ⚡️ Build success in 12337ms
17
- CLI Cleaning output folder
18
- ESM Build start
19
- CJS Build start
20
- ESM dist/index.js 12.33 KB
21
- ESM ⚡️ Build success in 520ms
22
- CJS dist/index.cjs 12.96 KB
23
- CJS ⚡️ Build success in 521ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @mastra/voice-azure
2
2
 
3
+ ## 0.10.6-alpha.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 4a406ec: fixes TypeScript declaration file imports to ensure proper ESM compatibility
8
+ - Updated dependencies [cb36de0]
9
+ - Updated dependencies [a82b851]
10
+ - Updated dependencies [41a0a0e]
11
+ - Updated dependencies [2871020]
12
+ - Updated dependencies [4a406ec]
13
+ - Updated dependencies [5d377e5]
14
+ - @mastra/core@0.13.0-alpha.2
15
+
3
16
  ## 0.10.5
4
17
 
5
18
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -424,3 +424,5 @@ var AzureVoice = class extends voice.MastraVoice {
424
424
  };
425
425
 
426
426
  exports.AzureVoice = AzureVoice;
427
+ //# sourceMappingURL=index.cjs.map
428
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/voices.ts","../src/index.ts"],"names":["MastraVoice","Azure","result","Readable"],"mappings":"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","file":"index.cjs","sourcesContent":["export const AZURE_VOICES = [\n 'af-ZA-AdriNeural',\n 'af-ZA-WillemNeural',\n 'am-ET-MekdesNeural',\n 'am-ET-AmehaNeural',\n 'ar-AE-FatimaNeural',\n 'ar-AE-HamdanNeural',\n 'ar-BH-LailaNeural',\n 'ar-BH-AliNeural',\n 'ar-DZ-AminaNeural',\n 'ar-DZ-IsmaelNeural',\n 'ar-EG-SalmaNeural',\n 'ar-EG-ShakirNeural',\n 'ar-IQ-RanaNeural',\n 'ar-IQ-BasselNeural',\n 'ar-JO-SanaNeural',\n 'ar-JO-TaimNeural',\n 'ar-KW-NouraNeural',\n 'ar-KW-FahedNeural',\n 'ar-LB-LaylaNeural',\n 'ar-LB-RamiNeural',\n 'ar-LY-ImanNeural',\n 'ar-LY-OmarNeural',\n 'ar-MA-MounaNeural',\n 'ar-MA-JamalNeural',\n 'ar-OM-AyshaNeural',\n 'ar-OM-AbdullahNeural',\n 'ar-QA-AmalNeural',\n 'ar-QA-MoazNeural',\n 'ar-SA-ZariyahNeural',\n 'ar-SA-HamedNeural',\n 'ar-SY-AmanyNeural',\n 'ar-SY-LaithNeural',\n 'ar-TN-ReemNeural',\n 'ar-TN-HediNeural',\n 'ar-YE-MaryamNeural',\n 'ar-YE-SalehNeural',\n 'as-IN-YashicaNeural',\n 'as-IN-PriyomNeural',\n 'az-AZ-BanuNeural',\n 'az-AZ-BabekNeural',\n 'bg-BG-KalinaNeural',\n 'bg-BG-BorislavNeural',\n 'bn-BD-NabanitaNeural',\n 'bn-BD-PradeepNeural',\n 'bn-IN-TanishaaNeural',\n 'bn-IN-BashkarNeural',\n 'bs-BA-VesnaNeural',\n 'bs-BA-GoranNeural',\n 'ca-ES-JoanaNeural',\n 'ca-ES-EnricNeural',\n 'ca-ES-AlbaNeural',\n 'cs-CZ-VlastaNeural',\n 'cs-CZ-AntoninNeural',\n 'cy-GB-NiaNeural',\n 'cy-GB-AledNeural',\n 'da-DK-ChristelNeural',\n 'da-DK-JeppeNeural',\n 'de-AT-IngridNeural',\n 'de-AT-JonasNeural',\n 'de-CH-LeniNeural',\n 'de-CH-JanNeural',\n 'de-DE-KatjaNeural',\n 'de-DE-ConradNeural',\n 'de-DE-SeraphinaMultilingualNeural',\n 'de-DE-FlorianMultilingualNeural',\n 'de-DE-AmalaNeural',\n 'de-DE-BerndNeural',\n 'de-DE-ChristophNeural',\n 'de-DE-ElkeNeural',\n 'de-DE-GiselaNeural',\n 'de-DE-KasperNeural',\n 'de-DE-KillianNeural',\n 'de-DE-KlarissaNeural',\n 'de-DE-KlausNeural',\n 'de-DE-LouisaNeural',\n 'de-DE-MajaNeural',\n 'de-DE-RalfNeural',\n 'de-DE-TanjaNeural',\n 'de-DE-Seraphina:DragonHDLatestNeural',\n 'el-GR-AthinaNeural',\n 'el-GR-NestorasNeural',\n 'en-AU-NatashaNeural',\n 'en-AU-WilliamNeural',\n 'en-AU-AnnetteNeural',\n 'en-AU-CarlyNeural',\n 'en-AU-DarrenNeural',\n 'en-AU-DuncanNeural',\n 'en-AU-ElsieNeural',\n 'en-AU-FreyaNeural',\n 'en-AU-JoanneNeural',\n 'en-AU-KenNeural',\n 'en-AU-KimNeural',\n 'en-AU-NeilNeural',\n 'en-AU-TimNeural',\n 'en-AU-TinaNeural',\n 'en-CA-ClaraNeural',\n 'en-CA-LiamNeural',\n 'en-GB-SoniaNeural',\n 'en-GB-RyanNeural',\n 'en-GB-LibbyNeural',\n 'en-GB-AdaMultilingualNeural',\n 'en-GB-OllieMultilingualNeural',\n 'en-GB-AbbiNeural',\n 'en-GB-AlfieNeural',\n 'en-GB-BellaNeural',\n 'en-GB-ElliotNeural',\n 'en-GB-EthanNeural',\n 'en-GB-HollieNeural',\n 'en-GB-MaisieNeural',\n 'en-GB-NoahNeural',\n 'en-GB-OliverNeural',\n 'en-GB-OliviaNeural',\n 'en-GB-ThomasNeural',\n 'en-GB-MiaNeural',\n 'en-HK-YanNeural',\n 'en-HK-SamNeural',\n 'en-IE-EmilyNeural',\n 'en-IE-ConnorNeural',\n 'en-IN-AaravNeural',\n 'en-IN-AashiNeural',\n 'en-IN-AnanyaNeural',\n 'en-IN-KavyaNeural',\n 'en-IN-KunalNeural',\n 'en-IN-NeerjaNeural',\n 'en-IN-PrabhatNeural',\n 'en-IN-RehaanNeural',\n 'en-IN-AartiNeural',\n 'en-IN-ArjunNeural',\n 'en-KE-AsiliaNeural',\n 'en-KE-ChilembaNeural',\n 'en-NG-EzinneNeural',\n 'en-NG-AbeoNeural',\n 'en-NZ-MollyNeural',\n 'en-NZ-MitchellNeural',\n 'en-PH-RosaNeural',\n 'en-PH-JamesNeural',\n 'en-SG-LunaNeural',\n 'en-SG-WayneNeural',\n 'en-TZ-ImaniNeural',\n 'en-TZ-ElimuNeural',\n 'en-US-AvaMultilingualNeural',\n 'en-US-AndrewMultilingualNeural',\n 'en-US-EmmaMultilingualNeural',\n 'en-US-BrianMultilingualNeural',\n 'en-US-AvaNeural',\n 'en-US-AndrewNeural',\n 'en-US-EmmaNeural',\n 'en-US-BrianNeural',\n 'en-US-JennyNeural',\n 'en-US-GuyNeural',\n 'en-US-AriaNeural',\n 'en-US-DavisNeural',\n 'en-US-JaneNeural',\n 'en-US-JasonNeural',\n 'en-US-KaiNeural',\n 'en-US-LunaNeural',\n 'en-US-SaraNeural',\n 'en-US-TonyNeural',\n 'en-US-NancyNeural',\n 'en-US-CoraMultilingualNeural',\n 'en-US-ChristopherMultilingualNeural',\n 'en-US-BrandonMultilingualNeural',\n 'en-US-AmberNeural',\n 'en-US-AnaNeural',\n 'en-US-AshleyNeural',\n 'en-US-BrandonNeural',\n 'en-US-ChristopherNeural',\n 'en-US-CoraNeural',\n 'en-US-ElizabethNeural',\n 'en-US-EricNeural',\n 'en-US-JacobNeural',\n 'en-US-JennyMultilingualNeural',\n 'en-US-MichelleNeural',\n 'en-US-MonicaNeural',\n 'en-US-RogerNeural',\n 'en-US-RyanMultilingualNeural',\n 'en-US-SteffanNeural',\n 'en-US-AdamMultilingualNeural',\n 'en-US-AIGenerate1Neural',\n 'en-US-AIGenerate2Neural',\n 'en-US-AlloyTurboMultilingualNeural',\n 'en-US-AmandaMultilingualNeural',\n 'en-US-BlueNeural',\n 'en-US-DavisMultilingualNeural',\n 'en-US-DerekMultilingualNeural',\n 'en-US-DustinMultilingualNeural',\n 'en-US-EchoTurboMultilingualNeural',\n 'en-US-EvelynMultilingualNeural',\n 'en-US-FableTurboMultilingualNeural',\n 'en-US-LewisMultilingualNeural',\n 'en-US-LolaMultilingualNeural',\n 'en-US-NancyMultilingualNeural',\n 'en-US-NovaTurboMultilingualNeural',\n 'en-US-OnyxTurboMultilingualNeural',\n 'en-US-PhoebeMultilingualNeural',\n 'en-US-SamuelMultilingualNeural',\n 'en-US-SerenaMultilingualNeural',\n 'en-US-ShimmerTurboMultilingualNeural',\n 'en-US-SteffanMultilingualNeural',\n 'en-US-Andrew:DragonHDLatestNeural',\n 'en-US-Andrew2:DragonHDLatestNeural',\n 'en-US-Aria:DragonHDLatestNeural',\n 'en-US-Ava:DragonHDLatestNeural',\n 'en-US-Brian:DragonHDLatestNeural',\n 'en-US-Davis:DragonHDLatestNeural',\n 'en-US-Emma:DragonHDLatestNeural',\n 'en-US-Emma2:DragonHDLatestNeural',\n 'en-US-Jenny:DragonHDLatestNeural',\n 'en-US-Steffan:DragonHDLatestNeural',\n 'en-ZA-LeahNeural',\n 'en-ZA-LukeNeural',\n] as const;\n\nexport type VoiceId = (typeof AZURE_VOICES)[number];\n","import { Readable } from 'stream';\nimport { MastraVoice } from '@mastra/core/voice';\nimport * as Azure from 'microsoft-cognitiveservices-speech-sdk';\nimport { AZURE_VOICES } from './voices';\nimport type { VoiceId } from './voices';\n\ninterface AzureVoiceConfig {\n apiKey?: string;\n region?: string;\n voiceName?: string;\n language?: string;\n}\n\nexport class AzureVoice extends MastraVoice {\n private speechConfig?: Azure.SpeechConfig;\n private listeningConfig?: Azure.SpeechConfig;\n private speechSynthesizer?: Azure.SpeechSynthesizer;\n private speechRecognizer?: Azure.SpeechRecognizer;\n\n /**\n * Creates a new instance of AzureVoice for text-to-speech and speech-to-text services.\n *\n * @param {Object} config - Configuration options\n * @param {AzureVoiceConfig} [config.speechModel] - Configuration for text-to-speech\n * @param {AzureVoiceConfig} [config.listeningModel] - Configuration for speech-to-text\n * @param {VoiceId} [config.speaker] - Default voice ID for speech synthesis\n */\n constructor({\n speechModel,\n listeningModel,\n speaker,\n }: {\n speechModel?: AzureVoiceConfig;\n listeningModel?: AzureVoiceConfig;\n speaker?: VoiceId;\n } = {}) {\n super({\n speechModel: {\n name: '',\n apiKey: speechModel?.apiKey ?? process.env.AZURE_API_KEY,\n },\n listeningModel: {\n name: '',\n apiKey: listeningModel?.apiKey ?? process.env.AZURE_API_KEY,\n },\n speaker,\n });\n\n const envApiKey = process.env.AZURE_API_KEY;\n const envRegion = process.env.AZURE_REGION;\n\n // Configure speech synthesis\n if (speechModel) {\n const apiKey = speechModel.apiKey ?? envApiKey;\n const region = speechModel.region ?? envRegion;\n\n if (!apiKey) throw new Error('No Azure API key provided for speech model');\n if (!region) throw new Error('No region provided for speech model');\n\n this.speechConfig = Azure.SpeechConfig.fromSubscription(apiKey, region);\n this.speechConfig.speechSynthesisVoiceName = speechModel.voiceName || speaker || 'en-US-AriaNeural';\n this.speechSynthesizer = new Azure.SpeechSynthesizer(this.speechConfig);\n }\n\n // Configure speech recognition\n if (listeningModel) {\n const apiKey = listeningModel.apiKey ?? envApiKey;\n const region = listeningModel.region ?? envRegion;\n\n if (!apiKey) throw new Error('No Azure API key provided for listening model');\n if (!region) throw new Error('No region provided for listening model');\n\n this.listeningConfig = Azure.SpeechConfig.fromSubscription(apiKey, region);\n if (listeningModel.language) {\n this.listeningConfig.speechRecognitionLanguage = listeningModel.language;\n }\n this.speechRecognizer = new Azure.SpeechRecognizer(this.listeningConfig);\n }\n }\n\n /**\n * Gets a list of available voices for speech synthesis.\n *\n * @returns {Promise<Array<{ voiceId: string; language: string; region: string; }>>} List of available voices\n */\n async getSpeakers() {\n return this.traced(async () => {\n return AZURE_VOICES.map(voice => ({\n voiceId: voice,\n language: voice.split('-')[0],\n region: voice.split('-')[1],\n }));\n }, 'voice.azure.voices')();\n }\n\n /**\n * Converts text to speech using Azure's Text-to-Speech service.\n *\n * @param {string | NodeJS.ReadableStream} input - Text to convert to speech\n * @param {Object} [options] - Optional parameters\n * @param {string} [options.speaker] - Voice ID to use for synthesis\n * @returns {Promise<NodeJS.ReadableStream>} Stream containing the synthesized audio\n * @throws {Error} If speech model is not configured or synthesis fails\n */\n async speak(\n input: string | NodeJS.ReadableStream,\n options?: {\n speaker?: string;\n [key: string]: any;\n },\n ): Promise<NodeJS.ReadableStream> {\n if (!this.speechConfig) {\n throw new Error('Speech model (Azure) not configured');\n }\n\n // Convert stream input to string if needed\n if (typeof input !== 'string') {\n const chunks: Buffer[] = [];\n try {\n for await (const chunk of input) {\n chunks.push(chunk as Buffer);\n }\n input = Buffer.concat(chunks).toString('utf-8');\n } catch (error) {\n throw new Error(`Failed to read input stream: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n\n if (!input?.trim()) {\n throw new Error('Input text is empty');\n }\n\n // Update voice if specified\n if (options?.speaker) {\n this.speechConfig.speechSynthesisVoiceName = options.speaker;\n }\n\n const synthesizer = new Azure.SpeechSynthesizer(this.speechConfig);\n\n try {\n const timeoutPromise = new Promise<never>((_, reject) => {\n setTimeout(() => reject(new Error('Speech synthesis timed out')), 5000);\n });\n\n const synthesisPromise = this.traced(\n () =>\n new Promise<Azure.SpeechSynthesisResult>((resolve, reject) => {\n synthesizer.speakTextAsync(\n input,\n result =>\n result.errorDetails\n ? reject(new Error(`Speech synthesis failed: ${result.errorDetails}`))\n : resolve(result),\n error => reject(new Error(`Speech synthesis error: ${String(error)}`)),\n );\n }),\n 'voice.azure.speak',\n )();\n\n const result = await Promise.race([synthesisPromise, timeoutPromise]);\n synthesizer.close();\n\n if (result.reason !== Azure.ResultReason.SynthesizingAudioCompleted) {\n throw new Error(`Speech synthesis failed: ${result.errorDetails || result.reason}`);\n }\n\n return Readable.from([Buffer.from(result.audioData)]);\n } catch (error) {\n synthesizer.close();\n throw error instanceof Error ? error : new Error(String(error));\n }\n }\n\n /**\n * Checks if listening capabilities are enabled.\n *\n * @returns {Promise<{ enabled: boolean }>}\n */\n async getListener() {\n return { enabled: true };\n }\n\n /**\n * Transcribes audio (STT) from a Node.js stream using Azure.\n *\n * @param {NodeJS.ReadableStream} audioStream - The audio to be transcribed, must be in .wav format.\n * @returns {Promise<string>} - The recognized text.\n */\n async listen(audioStream: NodeJS.ReadableStream): Promise<string> {\n if (!this.listeningConfig || !this.speechRecognizer) {\n throw new Error('Listening model (Azure) not configured');\n }\n\n const chunks: Buffer[] = [];\n for await (const chunk of audioStream) {\n chunks.push(chunk as Buffer);\n }\n const audioData = Buffer.concat(chunks);\n\n const pushStream = Azure.AudioInputStream.createPushStream();\n const audioConfig = Azure.AudioConfig.fromStreamInput(pushStream);\n const recognizer = new Azure.SpeechRecognizer(this.listeningConfig, audioConfig);\n\n try {\n const recognitionPromise = new Promise<string>((resolve, reject) => {\n recognizer.recognizeOnceAsync(\n result => {\n if (result.reason === Azure.ResultReason.RecognizedSpeech) {\n resolve(result.text);\n } else {\n const reason = Azure.ResultReason[result.reason] || result.reason;\n reject(new Error(`Speech recognition failed: ${reason} - ${result.errorDetails || ''}`));\n }\n },\n error => reject(new Error(`Speech recognition error: ${String(error)}`)),\n );\n });\n\n const chunkSize = 4096;\n for (let i = 0; i < audioData.length; i += chunkSize) {\n const chunk = audioData.slice(i, i + chunkSize);\n pushStream.write(chunk);\n }\n pushStream.close();\n\n const text = await this.traced(() => recognitionPromise, 'voice.azure.listen')();\n\n return text;\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw error;\n }\n throw new Error(String(error));\n } finally {\n recognizer.close();\n }\n }\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -1 +1,67 @@
1
- export { AzureVoice } from './_tsup-dts-rollup.js';
1
+ import { MastraVoice } from '@mastra/core/voice';
2
+ import type { VoiceId } from './voices.js';
3
+ interface AzureVoiceConfig {
4
+ apiKey?: string;
5
+ region?: string;
6
+ voiceName?: string;
7
+ language?: string;
8
+ }
9
+ export declare class AzureVoice extends MastraVoice {
10
+ private speechConfig?;
11
+ private listeningConfig?;
12
+ private speechSynthesizer?;
13
+ private speechRecognizer?;
14
+ /**
15
+ * Creates a new instance of AzureVoice for text-to-speech and speech-to-text services.
16
+ *
17
+ * @param {Object} config - Configuration options
18
+ * @param {AzureVoiceConfig} [config.speechModel] - Configuration for text-to-speech
19
+ * @param {AzureVoiceConfig} [config.listeningModel] - Configuration for speech-to-text
20
+ * @param {VoiceId} [config.speaker] - Default voice ID for speech synthesis
21
+ */
22
+ constructor({ speechModel, listeningModel, speaker, }?: {
23
+ speechModel?: AzureVoiceConfig;
24
+ listeningModel?: AzureVoiceConfig;
25
+ speaker?: VoiceId;
26
+ });
27
+ /**
28
+ * Gets a list of available voices for speech synthesis.
29
+ *
30
+ * @returns {Promise<Array<{ voiceId: string; language: string; region: string; }>>} List of available voices
31
+ */
32
+ getSpeakers(): Promise<{
33
+ voiceId: "af-ZA-AdriNeural" | "af-ZA-WillemNeural" | "am-ET-MekdesNeural" | "am-ET-AmehaNeural" | "ar-AE-FatimaNeural" | "ar-AE-HamdanNeural" | "ar-BH-LailaNeural" | "ar-BH-AliNeural" | "ar-DZ-AminaNeural" | "ar-DZ-IsmaelNeural" | "ar-EG-SalmaNeural" | "ar-EG-ShakirNeural" | "ar-IQ-RanaNeural" | "ar-IQ-BasselNeural" | "ar-JO-SanaNeural" | "ar-JO-TaimNeural" | "ar-KW-NouraNeural" | "ar-KW-FahedNeural" | "ar-LB-LaylaNeural" | "ar-LB-RamiNeural" | "ar-LY-ImanNeural" | "ar-LY-OmarNeural" | "ar-MA-MounaNeural" | "ar-MA-JamalNeural" | "ar-OM-AyshaNeural" | "ar-OM-AbdullahNeural" | "ar-QA-AmalNeural" | "ar-QA-MoazNeural" | "ar-SA-ZariyahNeural" | "ar-SA-HamedNeural" | "ar-SY-AmanyNeural" | "ar-SY-LaithNeural" | "ar-TN-ReemNeural" | "ar-TN-HediNeural" | "ar-YE-MaryamNeural" | "ar-YE-SalehNeural" | "as-IN-YashicaNeural" | "as-IN-PriyomNeural" | "az-AZ-BanuNeural" | "az-AZ-BabekNeural" | "bg-BG-KalinaNeural" | "bg-BG-BorislavNeural" | "bn-BD-NabanitaNeural" | "bn-BD-PradeepNeural" | "bn-IN-TanishaaNeural" | "bn-IN-BashkarNeural" | "bs-BA-VesnaNeural" | "bs-BA-GoranNeural" | "ca-ES-JoanaNeural" | "ca-ES-EnricNeural" | "ca-ES-AlbaNeural" | "cs-CZ-VlastaNeural" | "cs-CZ-AntoninNeural" | "cy-GB-NiaNeural" | "cy-GB-AledNeural" | "da-DK-ChristelNeural" | "da-DK-JeppeNeural" | "de-AT-IngridNeural" | "de-AT-JonasNeural" | "de-CH-LeniNeural" | "de-CH-JanNeural" | "de-DE-KatjaNeural" | "de-DE-ConradNeural" | "de-DE-SeraphinaMultilingualNeural" | "de-DE-FlorianMultilingualNeural" | "de-DE-AmalaNeural" | "de-DE-BerndNeural" | "de-DE-ChristophNeural" | "de-DE-ElkeNeural" | "de-DE-GiselaNeural" | "de-DE-KasperNeural" | "de-DE-KillianNeural" | "de-DE-KlarissaNeural" | "de-DE-KlausNeural" | "de-DE-LouisaNeural" | "de-DE-MajaNeural" | "de-DE-RalfNeural" | "de-DE-TanjaNeural" | "de-DE-Seraphina:DragonHDLatestNeural" | "el-GR-AthinaNeural" | "el-GR-NestorasNeural" | "en-AU-NatashaNeural" | "en-AU-WilliamNeural" | "en-AU-AnnetteNeural" | "en-AU-CarlyNeural" | "en-AU-DarrenNeural" | "en-AU-DuncanNeural" | "en-AU-ElsieNeural" | "en-AU-FreyaNeural" | "en-AU-JoanneNeural" | "en-AU-KenNeural" | "en-AU-KimNeural" | "en-AU-NeilNeural" | "en-AU-TimNeural" | "en-AU-TinaNeural" | "en-CA-ClaraNeural" | "en-CA-LiamNeural" | "en-GB-SoniaNeural" | "en-GB-RyanNeural" | "en-GB-LibbyNeural" | "en-GB-AdaMultilingualNeural" | "en-GB-OllieMultilingualNeural" | "en-GB-AbbiNeural" | "en-GB-AlfieNeural" | "en-GB-BellaNeural" | "en-GB-ElliotNeural" | "en-GB-EthanNeural" | "en-GB-HollieNeural" | "en-GB-MaisieNeural" | "en-GB-NoahNeural" | "en-GB-OliverNeural" | "en-GB-OliviaNeural" | "en-GB-ThomasNeural" | "en-GB-MiaNeural" | "en-HK-YanNeural" | "en-HK-SamNeural" | "en-IE-EmilyNeural" | "en-IE-ConnorNeural" | "en-IN-AaravNeural" | "en-IN-AashiNeural" | "en-IN-AnanyaNeural" | "en-IN-KavyaNeural" | "en-IN-KunalNeural" | "en-IN-NeerjaNeural" | "en-IN-PrabhatNeural" | "en-IN-RehaanNeural" | "en-IN-AartiNeural" | "en-IN-ArjunNeural" | "en-KE-AsiliaNeural" | "en-KE-ChilembaNeural" | "en-NG-EzinneNeural" | "en-NG-AbeoNeural" | "en-NZ-MollyNeural" | "en-NZ-MitchellNeural" | "en-PH-RosaNeural" | "en-PH-JamesNeural" | "en-SG-LunaNeural" | "en-SG-WayneNeural" | "en-TZ-ImaniNeural" | "en-TZ-ElimuNeural" | "en-US-AvaMultilingualNeural" | "en-US-AndrewMultilingualNeural" | "en-US-EmmaMultilingualNeural" | "en-US-BrianMultilingualNeural" | "en-US-AvaNeural" | "en-US-AndrewNeural" | "en-US-EmmaNeural" | "en-US-BrianNeural" | "en-US-JennyNeural" | "en-US-GuyNeural" | "en-US-AriaNeural" | "en-US-DavisNeural" | "en-US-JaneNeural" | "en-US-JasonNeural" | "en-US-KaiNeural" | "en-US-LunaNeural" | "en-US-SaraNeural" | "en-US-TonyNeural" | "en-US-NancyNeural" | "en-US-CoraMultilingualNeural" | "en-US-ChristopherMultilingualNeural" | "en-US-BrandonMultilingualNeural" | "en-US-AmberNeural" | "en-US-AnaNeural" | "en-US-AshleyNeural" | "en-US-BrandonNeural" | "en-US-ChristopherNeural" | "en-US-CoraNeural" | "en-US-ElizabethNeural" | "en-US-EricNeural" | "en-US-JacobNeural" | "en-US-JennyMultilingualNeural" | "en-US-MichelleNeural" | "en-US-MonicaNeural" | "en-US-RogerNeural" | "en-US-RyanMultilingualNeural" | "en-US-SteffanNeural" | "en-US-AdamMultilingualNeural" | "en-US-AIGenerate1Neural" | "en-US-AIGenerate2Neural" | "en-US-AlloyTurboMultilingualNeural" | "en-US-AmandaMultilingualNeural" | "en-US-BlueNeural" | "en-US-DavisMultilingualNeural" | "en-US-DerekMultilingualNeural" | "en-US-DustinMultilingualNeural" | "en-US-EchoTurboMultilingualNeural" | "en-US-EvelynMultilingualNeural" | "en-US-FableTurboMultilingualNeural" | "en-US-LewisMultilingualNeural" | "en-US-LolaMultilingualNeural" | "en-US-NancyMultilingualNeural" | "en-US-NovaTurboMultilingualNeural" | "en-US-OnyxTurboMultilingualNeural" | "en-US-PhoebeMultilingualNeural" | "en-US-SamuelMultilingualNeural" | "en-US-SerenaMultilingualNeural" | "en-US-ShimmerTurboMultilingualNeural" | "en-US-SteffanMultilingualNeural" | "en-US-Andrew:DragonHDLatestNeural" | "en-US-Andrew2:DragonHDLatestNeural" | "en-US-Aria:DragonHDLatestNeural" | "en-US-Ava:DragonHDLatestNeural" | "en-US-Brian:DragonHDLatestNeural" | "en-US-Davis:DragonHDLatestNeural" | "en-US-Emma:DragonHDLatestNeural" | "en-US-Emma2:DragonHDLatestNeural" | "en-US-Jenny:DragonHDLatestNeural" | "en-US-Steffan:DragonHDLatestNeural" | "en-ZA-LeahNeural" | "en-ZA-LukeNeural";
34
+ language: string | undefined;
35
+ region: string | undefined;
36
+ }[]>;
37
+ /**
38
+ * Converts text to speech using Azure's Text-to-Speech service.
39
+ *
40
+ * @param {string | NodeJS.ReadableStream} input - Text to convert to speech
41
+ * @param {Object} [options] - Optional parameters
42
+ * @param {string} [options.speaker] - Voice ID to use for synthesis
43
+ * @returns {Promise<NodeJS.ReadableStream>} Stream containing the synthesized audio
44
+ * @throws {Error} If speech model is not configured or synthesis fails
45
+ */
46
+ speak(input: string | NodeJS.ReadableStream, options?: {
47
+ speaker?: string;
48
+ [key: string]: any;
49
+ }): Promise<NodeJS.ReadableStream>;
50
+ /**
51
+ * Checks if listening capabilities are enabled.
52
+ *
53
+ * @returns {Promise<{ enabled: boolean }>}
54
+ */
55
+ getListener(): Promise<{
56
+ enabled: boolean;
57
+ }>;
58
+ /**
59
+ * Transcribes audio (STT) from a Node.js stream using Azure.
60
+ *
61
+ * @param {NodeJS.ReadableStream} audioStream - The audio to be transcribed, must be in .wav format.
62
+ * @returns {Promise<string>} - The recognized text.
63
+ */
64
+ listen(audioStream: NodeJS.ReadableStream): Promise<string>;
65
+ }
66
+ export {};
67
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,UAAW,SAAQ,WAAW;IACzC,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAqB;IAC7C,OAAO,CAAC,iBAAiB,CAAC,CAA0B;IACpD,OAAO,CAAC,gBAAgB,CAAC,CAAyB;IAElD;;;;;;;OAOG;gBACS,EACV,WAAW,EACX,cAAc,EACd,OAAO,GACR,GAAE;QACD,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAC/B,cAAc,CAAC,EAAE,gBAAgB,CAAC;QAClC,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IA6CN;;;;OAIG;IACG,WAAW;;;;;IAUjB;;;;;;;;OAQG;IACG,KAAK,CACT,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,EACrC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,GACA,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;IA+DjC;;;;OAIG;IACG,WAAW;;;IAIjB;;;;;OAKG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAiDlE"}
package/dist/index.js CHANGED
@@ -402,3 +402,5 @@ var AzureVoice = class extends MastraVoice {
402
402
  };
403
403
 
404
404
  export { AzureVoice };
405
+ //# sourceMappingURL=index.js.map
406
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/voices.ts","../src/index.ts"],"names":["result"],"mappings":"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","file":"index.js","sourcesContent":["export const AZURE_VOICES = [\n 'af-ZA-AdriNeural',\n 'af-ZA-WillemNeural',\n 'am-ET-MekdesNeural',\n 'am-ET-AmehaNeural',\n 'ar-AE-FatimaNeural',\n 'ar-AE-HamdanNeural',\n 'ar-BH-LailaNeural',\n 'ar-BH-AliNeural',\n 'ar-DZ-AminaNeural',\n 'ar-DZ-IsmaelNeural',\n 'ar-EG-SalmaNeural',\n 'ar-EG-ShakirNeural',\n 'ar-IQ-RanaNeural',\n 'ar-IQ-BasselNeural',\n 'ar-JO-SanaNeural',\n 'ar-JO-TaimNeural',\n 'ar-KW-NouraNeural',\n 'ar-KW-FahedNeural',\n 'ar-LB-LaylaNeural',\n 'ar-LB-RamiNeural',\n 'ar-LY-ImanNeural',\n 'ar-LY-OmarNeural',\n 'ar-MA-MounaNeural',\n 'ar-MA-JamalNeural',\n 'ar-OM-AyshaNeural',\n 'ar-OM-AbdullahNeural',\n 'ar-QA-AmalNeural',\n 'ar-QA-MoazNeural',\n 'ar-SA-ZariyahNeural',\n 'ar-SA-HamedNeural',\n 'ar-SY-AmanyNeural',\n 'ar-SY-LaithNeural',\n 'ar-TN-ReemNeural',\n 'ar-TN-HediNeural',\n 'ar-YE-MaryamNeural',\n 'ar-YE-SalehNeural',\n 'as-IN-YashicaNeural',\n 'as-IN-PriyomNeural',\n 'az-AZ-BanuNeural',\n 'az-AZ-BabekNeural',\n 'bg-BG-KalinaNeural',\n 'bg-BG-BorislavNeural',\n 'bn-BD-NabanitaNeural',\n 'bn-BD-PradeepNeural',\n 'bn-IN-TanishaaNeural',\n 'bn-IN-BashkarNeural',\n 'bs-BA-VesnaNeural',\n 'bs-BA-GoranNeural',\n 'ca-ES-JoanaNeural',\n 'ca-ES-EnricNeural',\n 'ca-ES-AlbaNeural',\n 'cs-CZ-VlastaNeural',\n 'cs-CZ-AntoninNeural',\n 'cy-GB-NiaNeural',\n 'cy-GB-AledNeural',\n 'da-DK-ChristelNeural',\n 'da-DK-JeppeNeural',\n 'de-AT-IngridNeural',\n 'de-AT-JonasNeural',\n 'de-CH-LeniNeural',\n 'de-CH-JanNeural',\n 'de-DE-KatjaNeural',\n 'de-DE-ConradNeural',\n 'de-DE-SeraphinaMultilingualNeural',\n 'de-DE-FlorianMultilingualNeural',\n 'de-DE-AmalaNeural',\n 'de-DE-BerndNeural',\n 'de-DE-ChristophNeural',\n 'de-DE-ElkeNeural',\n 'de-DE-GiselaNeural',\n 'de-DE-KasperNeural',\n 'de-DE-KillianNeural',\n 'de-DE-KlarissaNeural',\n 'de-DE-KlausNeural',\n 'de-DE-LouisaNeural',\n 'de-DE-MajaNeural',\n 'de-DE-RalfNeural',\n 'de-DE-TanjaNeural',\n 'de-DE-Seraphina:DragonHDLatestNeural',\n 'el-GR-AthinaNeural',\n 'el-GR-NestorasNeural',\n 'en-AU-NatashaNeural',\n 'en-AU-WilliamNeural',\n 'en-AU-AnnetteNeural',\n 'en-AU-CarlyNeural',\n 'en-AU-DarrenNeural',\n 'en-AU-DuncanNeural',\n 'en-AU-ElsieNeural',\n 'en-AU-FreyaNeural',\n 'en-AU-JoanneNeural',\n 'en-AU-KenNeural',\n 'en-AU-KimNeural',\n 'en-AU-NeilNeural',\n 'en-AU-TimNeural',\n 'en-AU-TinaNeural',\n 'en-CA-ClaraNeural',\n 'en-CA-LiamNeural',\n 'en-GB-SoniaNeural',\n 'en-GB-RyanNeural',\n 'en-GB-LibbyNeural',\n 'en-GB-AdaMultilingualNeural',\n 'en-GB-OllieMultilingualNeural',\n 'en-GB-AbbiNeural',\n 'en-GB-AlfieNeural',\n 'en-GB-BellaNeural',\n 'en-GB-ElliotNeural',\n 'en-GB-EthanNeural',\n 'en-GB-HollieNeural',\n 'en-GB-MaisieNeural',\n 'en-GB-NoahNeural',\n 'en-GB-OliverNeural',\n 'en-GB-OliviaNeural',\n 'en-GB-ThomasNeural',\n 'en-GB-MiaNeural',\n 'en-HK-YanNeural',\n 'en-HK-SamNeural',\n 'en-IE-EmilyNeural',\n 'en-IE-ConnorNeural',\n 'en-IN-AaravNeural',\n 'en-IN-AashiNeural',\n 'en-IN-AnanyaNeural',\n 'en-IN-KavyaNeural',\n 'en-IN-KunalNeural',\n 'en-IN-NeerjaNeural',\n 'en-IN-PrabhatNeural',\n 'en-IN-RehaanNeural',\n 'en-IN-AartiNeural',\n 'en-IN-ArjunNeural',\n 'en-KE-AsiliaNeural',\n 'en-KE-ChilembaNeural',\n 'en-NG-EzinneNeural',\n 'en-NG-AbeoNeural',\n 'en-NZ-MollyNeural',\n 'en-NZ-MitchellNeural',\n 'en-PH-RosaNeural',\n 'en-PH-JamesNeural',\n 'en-SG-LunaNeural',\n 'en-SG-WayneNeural',\n 'en-TZ-ImaniNeural',\n 'en-TZ-ElimuNeural',\n 'en-US-AvaMultilingualNeural',\n 'en-US-AndrewMultilingualNeural',\n 'en-US-EmmaMultilingualNeural',\n 'en-US-BrianMultilingualNeural',\n 'en-US-AvaNeural',\n 'en-US-AndrewNeural',\n 'en-US-EmmaNeural',\n 'en-US-BrianNeural',\n 'en-US-JennyNeural',\n 'en-US-GuyNeural',\n 'en-US-AriaNeural',\n 'en-US-DavisNeural',\n 'en-US-JaneNeural',\n 'en-US-JasonNeural',\n 'en-US-KaiNeural',\n 'en-US-LunaNeural',\n 'en-US-SaraNeural',\n 'en-US-TonyNeural',\n 'en-US-NancyNeural',\n 'en-US-CoraMultilingualNeural',\n 'en-US-ChristopherMultilingualNeural',\n 'en-US-BrandonMultilingualNeural',\n 'en-US-AmberNeural',\n 'en-US-AnaNeural',\n 'en-US-AshleyNeural',\n 'en-US-BrandonNeural',\n 'en-US-ChristopherNeural',\n 'en-US-CoraNeural',\n 'en-US-ElizabethNeural',\n 'en-US-EricNeural',\n 'en-US-JacobNeural',\n 'en-US-JennyMultilingualNeural',\n 'en-US-MichelleNeural',\n 'en-US-MonicaNeural',\n 'en-US-RogerNeural',\n 'en-US-RyanMultilingualNeural',\n 'en-US-SteffanNeural',\n 'en-US-AdamMultilingualNeural',\n 'en-US-AIGenerate1Neural',\n 'en-US-AIGenerate2Neural',\n 'en-US-AlloyTurboMultilingualNeural',\n 'en-US-AmandaMultilingualNeural',\n 'en-US-BlueNeural',\n 'en-US-DavisMultilingualNeural',\n 'en-US-DerekMultilingualNeural',\n 'en-US-DustinMultilingualNeural',\n 'en-US-EchoTurboMultilingualNeural',\n 'en-US-EvelynMultilingualNeural',\n 'en-US-FableTurboMultilingualNeural',\n 'en-US-LewisMultilingualNeural',\n 'en-US-LolaMultilingualNeural',\n 'en-US-NancyMultilingualNeural',\n 'en-US-NovaTurboMultilingualNeural',\n 'en-US-OnyxTurboMultilingualNeural',\n 'en-US-PhoebeMultilingualNeural',\n 'en-US-SamuelMultilingualNeural',\n 'en-US-SerenaMultilingualNeural',\n 'en-US-ShimmerTurboMultilingualNeural',\n 'en-US-SteffanMultilingualNeural',\n 'en-US-Andrew:DragonHDLatestNeural',\n 'en-US-Andrew2:DragonHDLatestNeural',\n 'en-US-Aria:DragonHDLatestNeural',\n 'en-US-Ava:DragonHDLatestNeural',\n 'en-US-Brian:DragonHDLatestNeural',\n 'en-US-Davis:DragonHDLatestNeural',\n 'en-US-Emma:DragonHDLatestNeural',\n 'en-US-Emma2:DragonHDLatestNeural',\n 'en-US-Jenny:DragonHDLatestNeural',\n 'en-US-Steffan:DragonHDLatestNeural',\n 'en-ZA-LeahNeural',\n 'en-ZA-LukeNeural',\n] as const;\n\nexport type VoiceId = (typeof AZURE_VOICES)[number];\n","import { Readable } from 'stream';\nimport { MastraVoice } from '@mastra/core/voice';\nimport * as Azure from 'microsoft-cognitiveservices-speech-sdk';\nimport { AZURE_VOICES } from './voices';\nimport type { VoiceId } from './voices';\n\ninterface AzureVoiceConfig {\n apiKey?: string;\n region?: string;\n voiceName?: string;\n language?: string;\n}\n\nexport class AzureVoice extends MastraVoice {\n private speechConfig?: Azure.SpeechConfig;\n private listeningConfig?: Azure.SpeechConfig;\n private speechSynthesizer?: Azure.SpeechSynthesizer;\n private speechRecognizer?: Azure.SpeechRecognizer;\n\n /**\n * Creates a new instance of AzureVoice for text-to-speech and speech-to-text services.\n *\n * @param {Object} config - Configuration options\n * @param {AzureVoiceConfig} [config.speechModel] - Configuration for text-to-speech\n * @param {AzureVoiceConfig} [config.listeningModel] - Configuration for speech-to-text\n * @param {VoiceId} [config.speaker] - Default voice ID for speech synthesis\n */\n constructor({\n speechModel,\n listeningModel,\n speaker,\n }: {\n speechModel?: AzureVoiceConfig;\n listeningModel?: AzureVoiceConfig;\n speaker?: VoiceId;\n } = {}) {\n super({\n speechModel: {\n name: '',\n apiKey: speechModel?.apiKey ?? process.env.AZURE_API_KEY,\n },\n listeningModel: {\n name: '',\n apiKey: listeningModel?.apiKey ?? process.env.AZURE_API_KEY,\n },\n speaker,\n });\n\n const envApiKey = process.env.AZURE_API_KEY;\n const envRegion = process.env.AZURE_REGION;\n\n // Configure speech synthesis\n if (speechModel) {\n const apiKey = speechModel.apiKey ?? envApiKey;\n const region = speechModel.region ?? envRegion;\n\n if (!apiKey) throw new Error('No Azure API key provided for speech model');\n if (!region) throw new Error('No region provided for speech model');\n\n this.speechConfig = Azure.SpeechConfig.fromSubscription(apiKey, region);\n this.speechConfig.speechSynthesisVoiceName = speechModel.voiceName || speaker || 'en-US-AriaNeural';\n this.speechSynthesizer = new Azure.SpeechSynthesizer(this.speechConfig);\n }\n\n // Configure speech recognition\n if (listeningModel) {\n const apiKey = listeningModel.apiKey ?? envApiKey;\n const region = listeningModel.region ?? envRegion;\n\n if (!apiKey) throw new Error('No Azure API key provided for listening model');\n if (!region) throw new Error('No region provided for listening model');\n\n this.listeningConfig = Azure.SpeechConfig.fromSubscription(apiKey, region);\n if (listeningModel.language) {\n this.listeningConfig.speechRecognitionLanguage = listeningModel.language;\n }\n this.speechRecognizer = new Azure.SpeechRecognizer(this.listeningConfig);\n }\n }\n\n /**\n * Gets a list of available voices for speech synthesis.\n *\n * @returns {Promise<Array<{ voiceId: string; language: string; region: string; }>>} List of available voices\n */\n async getSpeakers() {\n return this.traced(async () => {\n return AZURE_VOICES.map(voice => ({\n voiceId: voice,\n language: voice.split('-')[0],\n region: voice.split('-')[1],\n }));\n }, 'voice.azure.voices')();\n }\n\n /**\n * Converts text to speech using Azure's Text-to-Speech service.\n *\n * @param {string | NodeJS.ReadableStream} input - Text to convert to speech\n * @param {Object} [options] - Optional parameters\n * @param {string} [options.speaker] - Voice ID to use for synthesis\n * @returns {Promise<NodeJS.ReadableStream>} Stream containing the synthesized audio\n * @throws {Error} If speech model is not configured or synthesis fails\n */\n async speak(\n input: string | NodeJS.ReadableStream,\n options?: {\n speaker?: string;\n [key: string]: any;\n },\n ): Promise<NodeJS.ReadableStream> {\n if (!this.speechConfig) {\n throw new Error('Speech model (Azure) not configured');\n }\n\n // Convert stream input to string if needed\n if (typeof input !== 'string') {\n const chunks: Buffer[] = [];\n try {\n for await (const chunk of input) {\n chunks.push(chunk as Buffer);\n }\n input = Buffer.concat(chunks).toString('utf-8');\n } catch (error) {\n throw new Error(`Failed to read input stream: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n\n if (!input?.trim()) {\n throw new Error('Input text is empty');\n }\n\n // Update voice if specified\n if (options?.speaker) {\n this.speechConfig.speechSynthesisVoiceName = options.speaker;\n }\n\n const synthesizer = new Azure.SpeechSynthesizer(this.speechConfig);\n\n try {\n const timeoutPromise = new Promise<never>((_, reject) => {\n setTimeout(() => reject(new Error('Speech synthesis timed out')), 5000);\n });\n\n const synthesisPromise = this.traced(\n () =>\n new Promise<Azure.SpeechSynthesisResult>((resolve, reject) => {\n synthesizer.speakTextAsync(\n input,\n result =>\n result.errorDetails\n ? reject(new Error(`Speech synthesis failed: ${result.errorDetails}`))\n : resolve(result),\n error => reject(new Error(`Speech synthesis error: ${String(error)}`)),\n );\n }),\n 'voice.azure.speak',\n )();\n\n const result = await Promise.race([synthesisPromise, timeoutPromise]);\n synthesizer.close();\n\n if (result.reason !== Azure.ResultReason.SynthesizingAudioCompleted) {\n throw new Error(`Speech synthesis failed: ${result.errorDetails || result.reason}`);\n }\n\n return Readable.from([Buffer.from(result.audioData)]);\n } catch (error) {\n synthesizer.close();\n throw error instanceof Error ? error : new Error(String(error));\n }\n }\n\n /**\n * Checks if listening capabilities are enabled.\n *\n * @returns {Promise<{ enabled: boolean }>}\n */\n async getListener() {\n return { enabled: true };\n }\n\n /**\n * Transcribes audio (STT) from a Node.js stream using Azure.\n *\n * @param {NodeJS.ReadableStream} audioStream - The audio to be transcribed, must be in .wav format.\n * @returns {Promise<string>} - The recognized text.\n */\n async listen(audioStream: NodeJS.ReadableStream): Promise<string> {\n if (!this.listeningConfig || !this.speechRecognizer) {\n throw new Error('Listening model (Azure) not configured');\n }\n\n const chunks: Buffer[] = [];\n for await (const chunk of audioStream) {\n chunks.push(chunk as Buffer);\n }\n const audioData = Buffer.concat(chunks);\n\n const pushStream = Azure.AudioInputStream.createPushStream();\n const audioConfig = Azure.AudioConfig.fromStreamInput(pushStream);\n const recognizer = new Azure.SpeechRecognizer(this.listeningConfig, audioConfig);\n\n try {\n const recognitionPromise = new Promise<string>((resolve, reject) => {\n recognizer.recognizeOnceAsync(\n result => {\n if (result.reason === Azure.ResultReason.RecognizedSpeech) {\n resolve(result.text);\n } else {\n const reason = Azure.ResultReason[result.reason] || result.reason;\n reject(new Error(`Speech recognition failed: ${reason} - ${result.errorDetails || ''}`));\n }\n },\n error => reject(new Error(`Speech recognition error: ${String(error)}`)),\n );\n });\n\n const chunkSize = 4096;\n for (let i = 0; i < audioData.length; i += chunkSize) {\n const chunk = audioData.slice(i, i + chunkSize);\n pushStream.write(chunk);\n }\n pushStream.close();\n\n const text = await this.traced(() => recognitionPromise, 'voice.azure.listen')();\n\n return text;\n } catch (error: unknown) {\n if (error instanceof Error) {\n throw error;\n }\n throw new Error(String(error));\n } finally {\n recognizer.close();\n }\n }\n}\n"]}
@@ -0,0 +1,3 @@
1
+ export declare const AZURE_VOICES: readonly ["af-ZA-AdriNeural", "af-ZA-WillemNeural", "am-ET-MekdesNeural", "am-ET-AmehaNeural", "ar-AE-FatimaNeural", "ar-AE-HamdanNeural", "ar-BH-LailaNeural", "ar-BH-AliNeural", "ar-DZ-AminaNeural", "ar-DZ-IsmaelNeural", "ar-EG-SalmaNeural", "ar-EG-ShakirNeural", "ar-IQ-RanaNeural", "ar-IQ-BasselNeural", "ar-JO-SanaNeural", "ar-JO-TaimNeural", "ar-KW-NouraNeural", "ar-KW-FahedNeural", "ar-LB-LaylaNeural", "ar-LB-RamiNeural", "ar-LY-ImanNeural", "ar-LY-OmarNeural", "ar-MA-MounaNeural", "ar-MA-JamalNeural", "ar-OM-AyshaNeural", "ar-OM-AbdullahNeural", "ar-QA-AmalNeural", "ar-QA-MoazNeural", "ar-SA-ZariyahNeural", "ar-SA-HamedNeural", "ar-SY-AmanyNeural", "ar-SY-LaithNeural", "ar-TN-ReemNeural", "ar-TN-HediNeural", "ar-YE-MaryamNeural", "ar-YE-SalehNeural", "as-IN-YashicaNeural", "as-IN-PriyomNeural", "az-AZ-BanuNeural", "az-AZ-BabekNeural", "bg-BG-KalinaNeural", "bg-BG-BorislavNeural", "bn-BD-NabanitaNeural", "bn-BD-PradeepNeural", "bn-IN-TanishaaNeural", "bn-IN-BashkarNeural", "bs-BA-VesnaNeural", "bs-BA-GoranNeural", "ca-ES-JoanaNeural", "ca-ES-EnricNeural", "ca-ES-AlbaNeural", "cs-CZ-VlastaNeural", "cs-CZ-AntoninNeural", "cy-GB-NiaNeural", "cy-GB-AledNeural", "da-DK-ChristelNeural", "da-DK-JeppeNeural", "de-AT-IngridNeural", "de-AT-JonasNeural", "de-CH-LeniNeural", "de-CH-JanNeural", "de-DE-KatjaNeural", "de-DE-ConradNeural", "de-DE-SeraphinaMultilingualNeural", "de-DE-FlorianMultilingualNeural", "de-DE-AmalaNeural", "de-DE-BerndNeural", "de-DE-ChristophNeural", "de-DE-ElkeNeural", "de-DE-GiselaNeural", "de-DE-KasperNeural", "de-DE-KillianNeural", "de-DE-KlarissaNeural", "de-DE-KlausNeural", "de-DE-LouisaNeural", "de-DE-MajaNeural", "de-DE-RalfNeural", "de-DE-TanjaNeural", "de-DE-Seraphina:DragonHDLatestNeural", "el-GR-AthinaNeural", "el-GR-NestorasNeural", "en-AU-NatashaNeural", "en-AU-WilliamNeural", "en-AU-AnnetteNeural", "en-AU-CarlyNeural", "en-AU-DarrenNeural", "en-AU-DuncanNeural", "en-AU-ElsieNeural", "en-AU-FreyaNeural", "en-AU-JoanneNeural", "en-AU-KenNeural", "en-AU-KimNeural", "en-AU-NeilNeural", "en-AU-TimNeural", "en-AU-TinaNeural", "en-CA-ClaraNeural", "en-CA-LiamNeural", "en-GB-SoniaNeural", "en-GB-RyanNeural", "en-GB-LibbyNeural", "en-GB-AdaMultilingualNeural", "en-GB-OllieMultilingualNeural", "en-GB-AbbiNeural", "en-GB-AlfieNeural", "en-GB-BellaNeural", "en-GB-ElliotNeural", "en-GB-EthanNeural", "en-GB-HollieNeural", "en-GB-MaisieNeural", "en-GB-NoahNeural", "en-GB-OliverNeural", "en-GB-OliviaNeural", "en-GB-ThomasNeural", "en-GB-MiaNeural", "en-HK-YanNeural", "en-HK-SamNeural", "en-IE-EmilyNeural", "en-IE-ConnorNeural", "en-IN-AaravNeural", "en-IN-AashiNeural", "en-IN-AnanyaNeural", "en-IN-KavyaNeural", "en-IN-KunalNeural", "en-IN-NeerjaNeural", "en-IN-PrabhatNeural", "en-IN-RehaanNeural", "en-IN-AartiNeural", "en-IN-ArjunNeural", "en-KE-AsiliaNeural", "en-KE-ChilembaNeural", "en-NG-EzinneNeural", "en-NG-AbeoNeural", "en-NZ-MollyNeural", "en-NZ-MitchellNeural", "en-PH-RosaNeural", "en-PH-JamesNeural", "en-SG-LunaNeural", "en-SG-WayneNeural", "en-TZ-ImaniNeural", "en-TZ-ElimuNeural", "en-US-AvaMultilingualNeural", "en-US-AndrewMultilingualNeural", "en-US-EmmaMultilingualNeural", "en-US-BrianMultilingualNeural", "en-US-AvaNeural", "en-US-AndrewNeural", "en-US-EmmaNeural", "en-US-BrianNeural", "en-US-JennyNeural", "en-US-GuyNeural", "en-US-AriaNeural", "en-US-DavisNeural", "en-US-JaneNeural", "en-US-JasonNeural", "en-US-KaiNeural", "en-US-LunaNeural", "en-US-SaraNeural", "en-US-TonyNeural", "en-US-NancyNeural", "en-US-CoraMultilingualNeural", "en-US-ChristopherMultilingualNeural", "en-US-BrandonMultilingualNeural", "en-US-AmberNeural", "en-US-AnaNeural", "en-US-AshleyNeural", "en-US-BrandonNeural", "en-US-ChristopherNeural", "en-US-CoraNeural", "en-US-ElizabethNeural", "en-US-EricNeural", "en-US-JacobNeural", "en-US-JennyMultilingualNeural", "en-US-MichelleNeural", "en-US-MonicaNeural", "en-US-RogerNeural", "en-US-RyanMultilingualNeural", "en-US-SteffanNeural", "en-US-AdamMultilingualNeural", "en-US-AIGenerate1Neural", "en-US-AIGenerate2Neural", "en-US-AlloyTurboMultilingualNeural", "en-US-AmandaMultilingualNeural", "en-US-BlueNeural", "en-US-DavisMultilingualNeural", "en-US-DerekMultilingualNeural", "en-US-DustinMultilingualNeural", "en-US-EchoTurboMultilingualNeural", "en-US-EvelynMultilingualNeural", "en-US-FableTurboMultilingualNeural", "en-US-LewisMultilingualNeural", "en-US-LolaMultilingualNeural", "en-US-NancyMultilingualNeural", "en-US-NovaTurboMultilingualNeural", "en-US-OnyxTurboMultilingualNeural", "en-US-PhoebeMultilingualNeural", "en-US-SamuelMultilingualNeural", "en-US-SerenaMultilingualNeural", "en-US-ShimmerTurboMultilingualNeural", "en-US-SteffanMultilingualNeural", "en-US-Andrew:DragonHDLatestNeural", "en-US-Andrew2:DragonHDLatestNeural", "en-US-Aria:DragonHDLatestNeural", "en-US-Ava:DragonHDLatestNeural", "en-US-Brian:DragonHDLatestNeural", "en-US-Davis:DragonHDLatestNeural", "en-US-Emma:DragonHDLatestNeural", "en-US-Emma2:DragonHDLatestNeural", "en-US-Jenny:DragonHDLatestNeural", "en-US-Steffan:DragonHDLatestNeural", "en-ZA-LeahNeural", "en-ZA-LukeNeural"];
2
+ export type VoiceId = (typeof AZURE_VOICES)[number];
3
+ //# sourceMappingURL=voices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voices.d.ts","sourceRoot":"","sources":["../src/voices.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,k+JAoNf,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/voice-azure",
3
- "version": "0.10.5",
3
+ "version": "0.10.6-alpha.0",
4
4
  "description": "Mastra Azure speech integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,7 +12,7 @@
12
12
  "default": "./dist/index.js"
13
13
  },
14
14
  "require": {
15
- "types": "./dist/index.d.cts",
15
+ "types": "./dist/index.d.ts",
16
16
  "default": "./dist/index.cjs"
17
17
  }
18
18
  },
@@ -29,15 +29,16 @@
29
29
  "tsup": "^8.5.0",
30
30
  "typescript": "^5.8.3",
31
31
  "vitest": "^3.2.4",
32
- "@internal/lint": "0.0.24",
33
- "@mastra/core": "0.12.0"
32
+ "@internal/lint": "0.0.26",
33
+ "@mastra/core": "0.13.0-alpha.2",
34
+ "@internal/types-builder": "0.0.1"
34
35
  },
35
36
  "peerDependencies": {
36
- "@mastra/core": ">=0.10.7-0 <0.13.0-0"
37
+ "@mastra/core": ">=0.10.7-0 <0.14.0-0"
37
38
  },
38
39
  "scripts": {
39
- "build": "tsup src/index.ts --format esm,cjs --experimental-dts --clean --treeshake=smallest --splitting",
40
- "build:watch": "pnpm build --watch",
40
+ "build": "tsup --silent --config tsup.config.ts",
41
+ "build:watch": "tsup --watch --silent --config tsup.config.ts",
41
42
  "test": "vitest run",
42
43
  "lint": "eslint ."
43
44
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": ["./tsconfig.json", "../../tsconfig.build.json"],
3
+ "compilerOptions": {
4
+ "outDir": "./dist",
5
+ "rootDir": "./src"
6
+ },
7
+ "include": ["src/**/*"],
8
+ "exclude": ["node_modules", "**/*.test.ts", "src/**/*.mock.ts"]
9
+ }
package/tsconfig.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "extends": "../../tsconfig.node.json",
3
- "include": ["src/**/*"],
3
+ "include": ["src/**/*", "tsup.config.ts"],
4
4
  "exclude": ["node_modules", "**/*.test.ts"]
5
5
  }
package/tsup.config.ts ADDED
@@ -0,0 +1,17 @@
1
+ import { generateTypes } from '@internal/types-builder';
2
+ import { defineConfig } from 'tsup';
3
+
4
+ export default defineConfig({
5
+ entry: ['src/index.ts'],
6
+ format: ['esm', 'cjs'],
7
+ clean: true,
8
+ dts: false,
9
+ splitting: true,
10
+ treeshake: {
11
+ preset: 'smallest',
12
+ },
13
+ sourcemap: true,
14
+ onSuccess: async () => {
15
+ await generateTypes(process.cwd());
16
+ },
17
+ });
@@ -1,72 +0,0 @@
1
- import { MastraVoice } from '@mastra/core/voice';
2
-
3
- export declare const AZURE_VOICES: readonly ["af-ZA-AdriNeural", "af-ZA-WillemNeural", "am-ET-MekdesNeural", "am-ET-AmehaNeural", "ar-AE-FatimaNeural", "ar-AE-HamdanNeural", "ar-BH-LailaNeural", "ar-BH-AliNeural", "ar-DZ-AminaNeural", "ar-DZ-IsmaelNeural", "ar-EG-SalmaNeural", "ar-EG-ShakirNeural", "ar-IQ-RanaNeural", "ar-IQ-BasselNeural", "ar-JO-SanaNeural", "ar-JO-TaimNeural", "ar-KW-NouraNeural", "ar-KW-FahedNeural", "ar-LB-LaylaNeural", "ar-LB-RamiNeural", "ar-LY-ImanNeural", "ar-LY-OmarNeural", "ar-MA-MounaNeural", "ar-MA-JamalNeural", "ar-OM-AyshaNeural", "ar-OM-AbdullahNeural", "ar-QA-AmalNeural", "ar-QA-MoazNeural", "ar-SA-ZariyahNeural", "ar-SA-HamedNeural", "ar-SY-AmanyNeural", "ar-SY-LaithNeural", "ar-TN-ReemNeural", "ar-TN-HediNeural", "ar-YE-MaryamNeural", "ar-YE-SalehNeural", "as-IN-YashicaNeural", "as-IN-PriyomNeural", "az-AZ-BanuNeural", "az-AZ-BabekNeural", "bg-BG-KalinaNeural", "bg-BG-BorislavNeural", "bn-BD-NabanitaNeural", "bn-BD-PradeepNeural", "bn-IN-TanishaaNeural", "bn-IN-BashkarNeural", "bs-BA-VesnaNeural", "bs-BA-GoranNeural", "ca-ES-JoanaNeural", "ca-ES-EnricNeural", "ca-ES-AlbaNeural", "cs-CZ-VlastaNeural", "cs-CZ-AntoninNeural", "cy-GB-NiaNeural", "cy-GB-AledNeural", "da-DK-ChristelNeural", "da-DK-JeppeNeural", "de-AT-IngridNeural", "de-AT-JonasNeural", "de-CH-LeniNeural", "de-CH-JanNeural", "de-DE-KatjaNeural", "de-DE-ConradNeural", "de-DE-SeraphinaMultilingualNeural", "de-DE-FlorianMultilingualNeural", "de-DE-AmalaNeural", "de-DE-BerndNeural", "de-DE-ChristophNeural", "de-DE-ElkeNeural", "de-DE-GiselaNeural", "de-DE-KasperNeural", "de-DE-KillianNeural", "de-DE-KlarissaNeural", "de-DE-KlausNeural", "de-DE-LouisaNeural", "de-DE-MajaNeural", "de-DE-RalfNeural", "de-DE-TanjaNeural", "de-DE-Seraphina:DragonHDLatestNeural", "el-GR-AthinaNeural", "el-GR-NestorasNeural", "en-AU-NatashaNeural", "en-AU-WilliamNeural", "en-AU-AnnetteNeural", "en-AU-CarlyNeural", "en-AU-DarrenNeural", "en-AU-DuncanNeural", "en-AU-ElsieNeural", "en-AU-FreyaNeural", "en-AU-JoanneNeural", "en-AU-KenNeural", "en-AU-KimNeural", "en-AU-NeilNeural", "en-AU-TimNeural", "en-AU-TinaNeural", "en-CA-ClaraNeural", "en-CA-LiamNeural", "en-GB-SoniaNeural", "en-GB-RyanNeural", "en-GB-LibbyNeural", "en-GB-AdaMultilingualNeural", "en-GB-OllieMultilingualNeural", "en-GB-AbbiNeural", "en-GB-AlfieNeural", "en-GB-BellaNeural", "en-GB-ElliotNeural", "en-GB-EthanNeural", "en-GB-HollieNeural", "en-GB-MaisieNeural", "en-GB-NoahNeural", "en-GB-OliverNeural", "en-GB-OliviaNeural", "en-GB-ThomasNeural", "en-GB-MiaNeural", "en-HK-YanNeural", "en-HK-SamNeural", "en-IE-EmilyNeural", "en-IE-ConnorNeural", "en-IN-AaravNeural", "en-IN-AashiNeural", "en-IN-AnanyaNeural", "en-IN-KavyaNeural", "en-IN-KunalNeural", "en-IN-NeerjaNeural", "en-IN-PrabhatNeural", "en-IN-RehaanNeural", "en-IN-AartiNeural", "en-IN-ArjunNeural", "en-KE-AsiliaNeural", "en-KE-ChilembaNeural", "en-NG-EzinneNeural", "en-NG-AbeoNeural", "en-NZ-MollyNeural", "en-NZ-MitchellNeural", "en-PH-RosaNeural", "en-PH-JamesNeural", "en-SG-LunaNeural", "en-SG-WayneNeural", "en-TZ-ImaniNeural", "en-TZ-ElimuNeural", "en-US-AvaMultilingualNeural", "en-US-AndrewMultilingualNeural", "en-US-EmmaMultilingualNeural", "en-US-BrianMultilingualNeural", "en-US-AvaNeural", "en-US-AndrewNeural", "en-US-EmmaNeural", "en-US-BrianNeural", "en-US-JennyNeural", "en-US-GuyNeural", "en-US-AriaNeural", "en-US-DavisNeural", "en-US-JaneNeural", "en-US-JasonNeural", "en-US-KaiNeural", "en-US-LunaNeural", "en-US-SaraNeural", "en-US-TonyNeural", "en-US-NancyNeural", "en-US-CoraMultilingualNeural", "en-US-ChristopherMultilingualNeural", "en-US-BrandonMultilingualNeural", "en-US-AmberNeural", "en-US-AnaNeural", "en-US-AshleyNeural", "en-US-BrandonNeural", "en-US-ChristopherNeural", "en-US-CoraNeural", "en-US-ElizabethNeural", "en-US-EricNeural", "en-US-JacobNeural", "en-US-JennyMultilingualNeural", "en-US-MichelleNeural", "en-US-MonicaNeural", "en-US-RogerNeural", "en-US-RyanMultilingualNeural", "en-US-SteffanNeural", "en-US-AdamMultilingualNeural", "en-US-AIGenerate1Neural", "en-US-AIGenerate2Neural", "en-US-AlloyTurboMultilingualNeural", "en-US-AmandaMultilingualNeural", "en-US-BlueNeural", "en-US-DavisMultilingualNeural", "en-US-DerekMultilingualNeural", "en-US-DustinMultilingualNeural", "en-US-EchoTurboMultilingualNeural", "en-US-EvelynMultilingualNeural", "en-US-FableTurboMultilingualNeural", "en-US-LewisMultilingualNeural", "en-US-LolaMultilingualNeural", "en-US-NancyMultilingualNeural", "en-US-NovaTurboMultilingualNeural", "en-US-OnyxTurboMultilingualNeural", "en-US-PhoebeMultilingualNeural", "en-US-SamuelMultilingualNeural", "en-US-SerenaMultilingualNeural", "en-US-ShimmerTurboMultilingualNeural", "en-US-SteffanMultilingualNeural", "en-US-Andrew:DragonHDLatestNeural", "en-US-Andrew2:DragonHDLatestNeural", "en-US-Aria:DragonHDLatestNeural", "en-US-Ava:DragonHDLatestNeural", "en-US-Brian:DragonHDLatestNeural", "en-US-Davis:DragonHDLatestNeural", "en-US-Emma:DragonHDLatestNeural", "en-US-Emma2:DragonHDLatestNeural", "en-US-Jenny:DragonHDLatestNeural", "en-US-Steffan:DragonHDLatestNeural", "en-ZA-LeahNeural", "en-ZA-LukeNeural"];
4
-
5
- export declare class AzureVoice extends MastraVoice {
6
- private speechConfig?;
7
- private listeningConfig?;
8
- private speechSynthesizer?;
9
- private speechRecognizer?;
10
- /**
11
- * Creates a new instance of AzureVoice for text-to-speech and speech-to-text services.
12
- *
13
- * @param {Object} config - Configuration options
14
- * @param {AzureVoiceConfig} [config.speechModel] - Configuration for text-to-speech
15
- * @param {AzureVoiceConfig} [config.listeningModel] - Configuration for speech-to-text
16
- * @param {VoiceId} [config.speaker] - Default voice ID for speech synthesis
17
- */
18
- constructor({ speechModel, listeningModel, speaker, }?: {
19
- speechModel?: AzureVoiceConfig;
20
- listeningModel?: AzureVoiceConfig;
21
- speaker?: VoiceId;
22
- });
23
- /**
24
- * Gets a list of available voices for speech synthesis.
25
- *
26
- * @returns {Promise<Array<{ voiceId: string; language: string; region: string; }>>} List of available voices
27
- */
28
- getSpeakers(): Promise<{
29
- voiceId: "af-ZA-AdriNeural" | "af-ZA-WillemNeural" | "am-ET-MekdesNeural" | "am-ET-AmehaNeural" | "ar-AE-FatimaNeural" | "ar-AE-HamdanNeural" | "ar-BH-LailaNeural" | "ar-BH-AliNeural" | "ar-DZ-AminaNeural" | "ar-DZ-IsmaelNeural" | "ar-EG-SalmaNeural" | "ar-EG-ShakirNeural" | "ar-IQ-RanaNeural" | "ar-IQ-BasselNeural" | "ar-JO-SanaNeural" | "ar-JO-TaimNeural" | "ar-KW-NouraNeural" | "ar-KW-FahedNeural" | "ar-LB-LaylaNeural" | "ar-LB-RamiNeural" | "ar-LY-ImanNeural" | "ar-LY-OmarNeural" | "ar-MA-MounaNeural" | "ar-MA-JamalNeural" | "ar-OM-AyshaNeural" | "ar-OM-AbdullahNeural" | "ar-QA-AmalNeural" | "ar-QA-MoazNeural" | "ar-SA-ZariyahNeural" | "ar-SA-HamedNeural" | "ar-SY-AmanyNeural" | "ar-SY-LaithNeural" | "ar-TN-ReemNeural" | "ar-TN-HediNeural" | "ar-YE-MaryamNeural" | "ar-YE-SalehNeural" | "as-IN-YashicaNeural" | "as-IN-PriyomNeural" | "az-AZ-BanuNeural" | "az-AZ-BabekNeural" | "bg-BG-KalinaNeural" | "bg-BG-BorislavNeural" | "bn-BD-NabanitaNeural" | "bn-BD-PradeepNeural" | "bn-IN-TanishaaNeural" | "bn-IN-BashkarNeural" | "bs-BA-VesnaNeural" | "bs-BA-GoranNeural" | "ca-ES-JoanaNeural" | "ca-ES-EnricNeural" | "ca-ES-AlbaNeural" | "cs-CZ-VlastaNeural" | "cs-CZ-AntoninNeural" | "cy-GB-NiaNeural" | "cy-GB-AledNeural" | "da-DK-ChristelNeural" | "da-DK-JeppeNeural" | "de-AT-IngridNeural" | "de-AT-JonasNeural" | "de-CH-LeniNeural" | "de-CH-JanNeural" | "de-DE-KatjaNeural" | "de-DE-ConradNeural" | "de-DE-SeraphinaMultilingualNeural" | "de-DE-FlorianMultilingualNeural" | "de-DE-AmalaNeural" | "de-DE-BerndNeural" | "de-DE-ChristophNeural" | "de-DE-ElkeNeural" | "de-DE-GiselaNeural" | "de-DE-KasperNeural" | "de-DE-KillianNeural" | "de-DE-KlarissaNeural" | "de-DE-KlausNeural" | "de-DE-LouisaNeural" | "de-DE-MajaNeural" | "de-DE-RalfNeural" | "de-DE-TanjaNeural" | "de-DE-Seraphina:DragonHDLatestNeural" | "el-GR-AthinaNeural" | "el-GR-NestorasNeural" | "en-AU-NatashaNeural" | "en-AU-WilliamNeural" | "en-AU-AnnetteNeural" | "en-AU-CarlyNeural" | "en-AU-DarrenNeural" | "en-AU-DuncanNeural" | "en-AU-ElsieNeural" | "en-AU-FreyaNeural" | "en-AU-JoanneNeural" | "en-AU-KenNeural" | "en-AU-KimNeural" | "en-AU-NeilNeural" | "en-AU-TimNeural" | "en-AU-TinaNeural" | "en-CA-ClaraNeural" | "en-CA-LiamNeural" | "en-GB-SoniaNeural" | "en-GB-RyanNeural" | "en-GB-LibbyNeural" | "en-GB-AdaMultilingualNeural" | "en-GB-OllieMultilingualNeural" | "en-GB-AbbiNeural" | "en-GB-AlfieNeural" | "en-GB-BellaNeural" | "en-GB-ElliotNeural" | "en-GB-EthanNeural" | "en-GB-HollieNeural" | "en-GB-MaisieNeural" | "en-GB-NoahNeural" | "en-GB-OliverNeural" | "en-GB-OliviaNeural" | "en-GB-ThomasNeural" | "en-GB-MiaNeural" | "en-HK-YanNeural" | "en-HK-SamNeural" | "en-IE-EmilyNeural" | "en-IE-ConnorNeural" | "en-IN-AaravNeural" | "en-IN-AashiNeural" | "en-IN-AnanyaNeural" | "en-IN-KavyaNeural" | "en-IN-KunalNeural" | "en-IN-NeerjaNeural" | "en-IN-PrabhatNeural" | "en-IN-RehaanNeural" | "en-IN-AartiNeural" | "en-IN-ArjunNeural" | "en-KE-AsiliaNeural" | "en-KE-ChilembaNeural" | "en-NG-EzinneNeural" | "en-NG-AbeoNeural" | "en-NZ-MollyNeural" | "en-NZ-MitchellNeural" | "en-PH-RosaNeural" | "en-PH-JamesNeural" | "en-SG-LunaNeural" | "en-SG-WayneNeural" | "en-TZ-ImaniNeural" | "en-TZ-ElimuNeural" | "en-US-AvaMultilingualNeural" | "en-US-AndrewMultilingualNeural" | "en-US-EmmaMultilingualNeural" | "en-US-BrianMultilingualNeural" | "en-US-AvaNeural" | "en-US-AndrewNeural" | "en-US-EmmaNeural" | "en-US-BrianNeural" | "en-US-JennyNeural" | "en-US-GuyNeural" | "en-US-AriaNeural" | "en-US-DavisNeural" | "en-US-JaneNeural" | "en-US-JasonNeural" | "en-US-KaiNeural" | "en-US-LunaNeural" | "en-US-SaraNeural" | "en-US-TonyNeural" | "en-US-NancyNeural" | "en-US-CoraMultilingualNeural" | "en-US-ChristopherMultilingualNeural" | "en-US-BrandonMultilingualNeural" | "en-US-AmberNeural" | "en-US-AnaNeural" | "en-US-AshleyNeural" | "en-US-BrandonNeural" | "en-US-ChristopherNeural" | "en-US-CoraNeural" | "en-US-ElizabethNeural" | "en-US-EricNeural" | "en-US-JacobNeural" | "en-US-JennyMultilingualNeural" | "en-US-MichelleNeural" | "en-US-MonicaNeural" | "en-US-RogerNeural" | "en-US-RyanMultilingualNeural" | "en-US-SteffanNeural" | "en-US-AdamMultilingualNeural" | "en-US-AIGenerate1Neural" | "en-US-AIGenerate2Neural" | "en-US-AlloyTurboMultilingualNeural" | "en-US-AmandaMultilingualNeural" | "en-US-BlueNeural" | "en-US-DavisMultilingualNeural" | "en-US-DerekMultilingualNeural" | "en-US-DustinMultilingualNeural" | "en-US-EchoTurboMultilingualNeural" | "en-US-EvelynMultilingualNeural" | "en-US-FableTurboMultilingualNeural" | "en-US-LewisMultilingualNeural" | "en-US-LolaMultilingualNeural" | "en-US-NancyMultilingualNeural" | "en-US-NovaTurboMultilingualNeural" | "en-US-OnyxTurboMultilingualNeural" | "en-US-PhoebeMultilingualNeural" | "en-US-SamuelMultilingualNeural" | "en-US-SerenaMultilingualNeural" | "en-US-ShimmerTurboMultilingualNeural" | "en-US-SteffanMultilingualNeural" | "en-US-Andrew:DragonHDLatestNeural" | "en-US-Andrew2:DragonHDLatestNeural" | "en-US-Aria:DragonHDLatestNeural" | "en-US-Ava:DragonHDLatestNeural" | "en-US-Brian:DragonHDLatestNeural" | "en-US-Davis:DragonHDLatestNeural" | "en-US-Emma:DragonHDLatestNeural" | "en-US-Emma2:DragonHDLatestNeural" | "en-US-Jenny:DragonHDLatestNeural" | "en-US-Steffan:DragonHDLatestNeural" | "en-ZA-LeahNeural" | "en-ZA-LukeNeural";
30
- language: string | undefined;
31
- region: string | undefined;
32
- }[]>;
33
- /**
34
- * Converts text to speech using Azure's Text-to-Speech service.
35
- *
36
- * @param {string | NodeJS.ReadableStream} input - Text to convert to speech
37
- * @param {Object} [options] - Optional parameters
38
- * @param {string} [options.speaker] - Voice ID to use for synthesis
39
- * @returns {Promise<NodeJS.ReadableStream>} Stream containing the synthesized audio
40
- * @throws {Error} If speech model is not configured or synthesis fails
41
- */
42
- speak(input: string | NodeJS.ReadableStream, options?: {
43
- speaker?: string;
44
- [key: string]: any;
45
- }): Promise<NodeJS.ReadableStream>;
46
- /**
47
- * Checks if listening capabilities are enabled.
48
- *
49
- * @returns {Promise<{ enabled: boolean }>}
50
- */
51
- getListener(): Promise<{
52
- enabled: boolean;
53
- }>;
54
- /**
55
- * Transcribes audio (STT) from a Node.js stream using Azure.
56
- *
57
- * @param {NodeJS.ReadableStream} audioStream - The audio to be transcribed, must be in .wav format.
58
- * @returns {Promise<string>} - The recognized text.
59
- */
60
- listen(audioStream: NodeJS.ReadableStream): Promise<string>;
61
- }
62
-
63
- declare interface AzureVoiceConfig {
64
- apiKey?: string;
65
- region?: string;
66
- voiceName?: string;
67
- language?: string;
68
- }
69
-
70
- export declare type VoiceId = (typeof AZURE_VOICES)[number];
71
-
72
- export { }
@@ -1,72 +0,0 @@
1
- import { MastraVoice } from '@mastra/core/voice';
2
-
3
- export declare const AZURE_VOICES: readonly ["af-ZA-AdriNeural", "af-ZA-WillemNeural", "am-ET-MekdesNeural", "am-ET-AmehaNeural", "ar-AE-FatimaNeural", "ar-AE-HamdanNeural", "ar-BH-LailaNeural", "ar-BH-AliNeural", "ar-DZ-AminaNeural", "ar-DZ-IsmaelNeural", "ar-EG-SalmaNeural", "ar-EG-ShakirNeural", "ar-IQ-RanaNeural", "ar-IQ-BasselNeural", "ar-JO-SanaNeural", "ar-JO-TaimNeural", "ar-KW-NouraNeural", "ar-KW-FahedNeural", "ar-LB-LaylaNeural", "ar-LB-RamiNeural", "ar-LY-ImanNeural", "ar-LY-OmarNeural", "ar-MA-MounaNeural", "ar-MA-JamalNeural", "ar-OM-AyshaNeural", "ar-OM-AbdullahNeural", "ar-QA-AmalNeural", "ar-QA-MoazNeural", "ar-SA-ZariyahNeural", "ar-SA-HamedNeural", "ar-SY-AmanyNeural", "ar-SY-LaithNeural", "ar-TN-ReemNeural", "ar-TN-HediNeural", "ar-YE-MaryamNeural", "ar-YE-SalehNeural", "as-IN-YashicaNeural", "as-IN-PriyomNeural", "az-AZ-BanuNeural", "az-AZ-BabekNeural", "bg-BG-KalinaNeural", "bg-BG-BorislavNeural", "bn-BD-NabanitaNeural", "bn-BD-PradeepNeural", "bn-IN-TanishaaNeural", "bn-IN-BashkarNeural", "bs-BA-VesnaNeural", "bs-BA-GoranNeural", "ca-ES-JoanaNeural", "ca-ES-EnricNeural", "ca-ES-AlbaNeural", "cs-CZ-VlastaNeural", "cs-CZ-AntoninNeural", "cy-GB-NiaNeural", "cy-GB-AledNeural", "da-DK-ChristelNeural", "da-DK-JeppeNeural", "de-AT-IngridNeural", "de-AT-JonasNeural", "de-CH-LeniNeural", "de-CH-JanNeural", "de-DE-KatjaNeural", "de-DE-ConradNeural", "de-DE-SeraphinaMultilingualNeural", "de-DE-FlorianMultilingualNeural", "de-DE-AmalaNeural", "de-DE-BerndNeural", "de-DE-ChristophNeural", "de-DE-ElkeNeural", "de-DE-GiselaNeural", "de-DE-KasperNeural", "de-DE-KillianNeural", "de-DE-KlarissaNeural", "de-DE-KlausNeural", "de-DE-LouisaNeural", "de-DE-MajaNeural", "de-DE-RalfNeural", "de-DE-TanjaNeural", "de-DE-Seraphina:DragonHDLatestNeural", "el-GR-AthinaNeural", "el-GR-NestorasNeural", "en-AU-NatashaNeural", "en-AU-WilliamNeural", "en-AU-AnnetteNeural", "en-AU-CarlyNeural", "en-AU-DarrenNeural", "en-AU-DuncanNeural", "en-AU-ElsieNeural", "en-AU-FreyaNeural", "en-AU-JoanneNeural", "en-AU-KenNeural", "en-AU-KimNeural", "en-AU-NeilNeural", "en-AU-TimNeural", "en-AU-TinaNeural", "en-CA-ClaraNeural", "en-CA-LiamNeural", "en-GB-SoniaNeural", "en-GB-RyanNeural", "en-GB-LibbyNeural", "en-GB-AdaMultilingualNeural", "en-GB-OllieMultilingualNeural", "en-GB-AbbiNeural", "en-GB-AlfieNeural", "en-GB-BellaNeural", "en-GB-ElliotNeural", "en-GB-EthanNeural", "en-GB-HollieNeural", "en-GB-MaisieNeural", "en-GB-NoahNeural", "en-GB-OliverNeural", "en-GB-OliviaNeural", "en-GB-ThomasNeural", "en-GB-MiaNeural", "en-HK-YanNeural", "en-HK-SamNeural", "en-IE-EmilyNeural", "en-IE-ConnorNeural", "en-IN-AaravNeural", "en-IN-AashiNeural", "en-IN-AnanyaNeural", "en-IN-KavyaNeural", "en-IN-KunalNeural", "en-IN-NeerjaNeural", "en-IN-PrabhatNeural", "en-IN-RehaanNeural", "en-IN-AartiNeural", "en-IN-ArjunNeural", "en-KE-AsiliaNeural", "en-KE-ChilembaNeural", "en-NG-EzinneNeural", "en-NG-AbeoNeural", "en-NZ-MollyNeural", "en-NZ-MitchellNeural", "en-PH-RosaNeural", "en-PH-JamesNeural", "en-SG-LunaNeural", "en-SG-WayneNeural", "en-TZ-ImaniNeural", "en-TZ-ElimuNeural", "en-US-AvaMultilingualNeural", "en-US-AndrewMultilingualNeural", "en-US-EmmaMultilingualNeural", "en-US-BrianMultilingualNeural", "en-US-AvaNeural", "en-US-AndrewNeural", "en-US-EmmaNeural", "en-US-BrianNeural", "en-US-JennyNeural", "en-US-GuyNeural", "en-US-AriaNeural", "en-US-DavisNeural", "en-US-JaneNeural", "en-US-JasonNeural", "en-US-KaiNeural", "en-US-LunaNeural", "en-US-SaraNeural", "en-US-TonyNeural", "en-US-NancyNeural", "en-US-CoraMultilingualNeural", "en-US-ChristopherMultilingualNeural", "en-US-BrandonMultilingualNeural", "en-US-AmberNeural", "en-US-AnaNeural", "en-US-AshleyNeural", "en-US-BrandonNeural", "en-US-ChristopherNeural", "en-US-CoraNeural", "en-US-ElizabethNeural", "en-US-EricNeural", "en-US-JacobNeural", "en-US-JennyMultilingualNeural", "en-US-MichelleNeural", "en-US-MonicaNeural", "en-US-RogerNeural", "en-US-RyanMultilingualNeural", "en-US-SteffanNeural", "en-US-AdamMultilingualNeural", "en-US-AIGenerate1Neural", "en-US-AIGenerate2Neural", "en-US-AlloyTurboMultilingualNeural", "en-US-AmandaMultilingualNeural", "en-US-BlueNeural", "en-US-DavisMultilingualNeural", "en-US-DerekMultilingualNeural", "en-US-DustinMultilingualNeural", "en-US-EchoTurboMultilingualNeural", "en-US-EvelynMultilingualNeural", "en-US-FableTurboMultilingualNeural", "en-US-LewisMultilingualNeural", "en-US-LolaMultilingualNeural", "en-US-NancyMultilingualNeural", "en-US-NovaTurboMultilingualNeural", "en-US-OnyxTurboMultilingualNeural", "en-US-PhoebeMultilingualNeural", "en-US-SamuelMultilingualNeural", "en-US-SerenaMultilingualNeural", "en-US-ShimmerTurboMultilingualNeural", "en-US-SteffanMultilingualNeural", "en-US-Andrew:DragonHDLatestNeural", "en-US-Andrew2:DragonHDLatestNeural", "en-US-Aria:DragonHDLatestNeural", "en-US-Ava:DragonHDLatestNeural", "en-US-Brian:DragonHDLatestNeural", "en-US-Davis:DragonHDLatestNeural", "en-US-Emma:DragonHDLatestNeural", "en-US-Emma2:DragonHDLatestNeural", "en-US-Jenny:DragonHDLatestNeural", "en-US-Steffan:DragonHDLatestNeural", "en-ZA-LeahNeural", "en-ZA-LukeNeural"];
4
-
5
- export declare class AzureVoice extends MastraVoice {
6
- private speechConfig?;
7
- private listeningConfig?;
8
- private speechSynthesizer?;
9
- private speechRecognizer?;
10
- /**
11
- * Creates a new instance of AzureVoice for text-to-speech and speech-to-text services.
12
- *
13
- * @param {Object} config - Configuration options
14
- * @param {AzureVoiceConfig} [config.speechModel] - Configuration for text-to-speech
15
- * @param {AzureVoiceConfig} [config.listeningModel] - Configuration for speech-to-text
16
- * @param {VoiceId} [config.speaker] - Default voice ID for speech synthesis
17
- */
18
- constructor({ speechModel, listeningModel, speaker, }?: {
19
- speechModel?: AzureVoiceConfig;
20
- listeningModel?: AzureVoiceConfig;
21
- speaker?: VoiceId;
22
- });
23
- /**
24
- * Gets a list of available voices for speech synthesis.
25
- *
26
- * @returns {Promise<Array<{ voiceId: string; language: string; region: string; }>>} List of available voices
27
- */
28
- getSpeakers(): Promise<{
29
- voiceId: "af-ZA-AdriNeural" | "af-ZA-WillemNeural" | "am-ET-MekdesNeural" | "am-ET-AmehaNeural" | "ar-AE-FatimaNeural" | "ar-AE-HamdanNeural" | "ar-BH-LailaNeural" | "ar-BH-AliNeural" | "ar-DZ-AminaNeural" | "ar-DZ-IsmaelNeural" | "ar-EG-SalmaNeural" | "ar-EG-ShakirNeural" | "ar-IQ-RanaNeural" | "ar-IQ-BasselNeural" | "ar-JO-SanaNeural" | "ar-JO-TaimNeural" | "ar-KW-NouraNeural" | "ar-KW-FahedNeural" | "ar-LB-LaylaNeural" | "ar-LB-RamiNeural" | "ar-LY-ImanNeural" | "ar-LY-OmarNeural" | "ar-MA-MounaNeural" | "ar-MA-JamalNeural" | "ar-OM-AyshaNeural" | "ar-OM-AbdullahNeural" | "ar-QA-AmalNeural" | "ar-QA-MoazNeural" | "ar-SA-ZariyahNeural" | "ar-SA-HamedNeural" | "ar-SY-AmanyNeural" | "ar-SY-LaithNeural" | "ar-TN-ReemNeural" | "ar-TN-HediNeural" | "ar-YE-MaryamNeural" | "ar-YE-SalehNeural" | "as-IN-YashicaNeural" | "as-IN-PriyomNeural" | "az-AZ-BanuNeural" | "az-AZ-BabekNeural" | "bg-BG-KalinaNeural" | "bg-BG-BorislavNeural" | "bn-BD-NabanitaNeural" | "bn-BD-PradeepNeural" | "bn-IN-TanishaaNeural" | "bn-IN-BashkarNeural" | "bs-BA-VesnaNeural" | "bs-BA-GoranNeural" | "ca-ES-JoanaNeural" | "ca-ES-EnricNeural" | "ca-ES-AlbaNeural" | "cs-CZ-VlastaNeural" | "cs-CZ-AntoninNeural" | "cy-GB-NiaNeural" | "cy-GB-AledNeural" | "da-DK-ChristelNeural" | "da-DK-JeppeNeural" | "de-AT-IngridNeural" | "de-AT-JonasNeural" | "de-CH-LeniNeural" | "de-CH-JanNeural" | "de-DE-KatjaNeural" | "de-DE-ConradNeural" | "de-DE-SeraphinaMultilingualNeural" | "de-DE-FlorianMultilingualNeural" | "de-DE-AmalaNeural" | "de-DE-BerndNeural" | "de-DE-ChristophNeural" | "de-DE-ElkeNeural" | "de-DE-GiselaNeural" | "de-DE-KasperNeural" | "de-DE-KillianNeural" | "de-DE-KlarissaNeural" | "de-DE-KlausNeural" | "de-DE-LouisaNeural" | "de-DE-MajaNeural" | "de-DE-RalfNeural" | "de-DE-TanjaNeural" | "de-DE-Seraphina:DragonHDLatestNeural" | "el-GR-AthinaNeural" | "el-GR-NestorasNeural" | "en-AU-NatashaNeural" | "en-AU-WilliamNeural" | "en-AU-AnnetteNeural" | "en-AU-CarlyNeural" | "en-AU-DarrenNeural" | "en-AU-DuncanNeural" | "en-AU-ElsieNeural" | "en-AU-FreyaNeural" | "en-AU-JoanneNeural" | "en-AU-KenNeural" | "en-AU-KimNeural" | "en-AU-NeilNeural" | "en-AU-TimNeural" | "en-AU-TinaNeural" | "en-CA-ClaraNeural" | "en-CA-LiamNeural" | "en-GB-SoniaNeural" | "en-GB-RyanNeural" | "en-GB-LibbyNeural" | "en-GB-AdaMultilingualNeural" | "en-GB-OllieMultilingualNeural" | "en-GB-AbbiNeural" | "en-GB-AlfieNeural" | "en-GB-BellaNeural" | "en-GB-ElliotNeural" | "en-GB-EthanNeural" | "en-GB-HollieNeural" | "en-GB-MaisieNeural" | "en-GB-NoahNeural" | "en-GB-OliverNeural" | "en-GB-OliviaNeural" | "en-GB-ThomasNeural" | "en-GB-MiaNeural" | "en-HK-YanNeural" | "en-HK-SamNeural" | "en-IE-EmilyNeural" | "en-IE-ConnorNeural" | "en-IN-AaravNeural" | "en-IN-AashiNeural" | "en-IN-AnanyaNeural" | "en-IN-KavyaNeural" | "en-IN-KunalNeural" | "en-IN-NeerjaNeural" | "en-IN-PrabhatNeural" | "en-IN-RehaanNeural" | "en-IN-AartiNeural" | "en-IN-ArjunNeural" | "en-KE-AsiliaNeural" | "en-KE-ChilembaNeural" | "en-NG-EzinneNeural" | "en-NG-AbeoNeural" | "en-NZ-MollyNeural" | "en-NZ-MitchellNeural" | "en-PH-RosaNeural" | "en-PH-JamesNeural" | "en-SG-LunaNeural" | "en-SG-WayneNeural" | "en-TZ-ImaniNeural" | "en-TZ-ElimuNeural" | "en-US-AvaMultilingualNeural" | "en-US-AndrewMultilingualNeural" | "en-US-EmmaMultilingualNeural" | "en-US-BrianMultilingualNeural" | "en-US-AvaNeural" | "en-US-AndrewNeural" | "en-US-EmmaNeural" | "en-US-BrianNeural" | "en-US-JennyNeural" | "en-US-GuyNeural" | "en-US-AriaNeural" | "en-US-DavisNeural" | "en-US-JaneNeural" | "en-US-JasonNeural" | "en-US-KaiNeural" | "en-US-LunaNeural" | "en-US-SaraNeural" | "en-US-TonyNeural" | "en-US-NancyNeural" | "en-US-CoraMultilingualNeural" | "en-US-ChristopherMultilingualNeural" | "en-US-BrandonMultilingualNeural" | "en-US-AmberNeural" | "en-US-AnaNeural" | "en-US-AshleyNeural" | "en-US-BrandonNeural" | "en-US-ChristopherNeural" | "en-US-CoraNeural" | "en-US-ElizabethNeural" | "en-US-EricNeural" | "en-US-JacobNeural" | "en-US-JennyMultilingualNeural" | "en-US-MichelleNeural" | "en-US-MonicaNeural" | "en-US-RogerNeural" | "en-US-RyanMultilingualNeural" | "en-US-SteffanNeural" | "en-US-AdamMultilingualNeural" | "en-US-AIGenerate1Neural" | "en-US-AIGenerate2Neural" | "en-US-AlloyTurboMultilingualNeural" | "en-US-AmandaMultilingualNeural" | "en-US-BlueNeural" | "en-US-DavisMultilingualNeural" | "en-US-DerekMultilingualNeural" | "en-US-DustinMultilingualNeural" | "en-US-EchoTurboMultilingualNeural" | "en-US-EvelynMultilingualNeural" | "en-US-FableTurboMultilingualNeural" | "en-US-LewisMultilingualNeural" | "en-US-LolaMultilingualNeural" | "en-US-NancyMultilingualNeural" | "en-US-NovaTurboMultilingualNeural" | "en-US-OnyxTurboMultilingualNeural" | "en-US-PhoebeMultilingualNeural" | "en-US-SamuelMultilingualNeural" | "en-US-SerenaMultilingualNeural" | "en-US-ShimmerTurboMultilingualNeural" | "en-US-SteffanMultilingualNeural" | "en-US-Andrew:DragonHDLatestNeural" | "en-US-Andrew2:DragonHDLatestNeural" | "en-US-Aria:DragonHDLatestNeural" | "en-US-Ava:DragonHDLatestNeural" | "en-US-Brian:DragonHDLatestNeural" | "en-US-Davis:DragonHDLatestNeural" | "en-US-Emma:DragonHDLatestNeural" | "en-US-Emma2:DragonHDLatestNeural" | "en-US-Jenny:DragonHDLatestNeural" | "en-US-Steffan:DragonHDLatestNeural" | "en-ZA-LeahNeural" | "en-ZA-LukeNeural";
30
- language: string | undefined;
31
- region: string | undefined;
32
- }[]>;
33
- /**
34
- * Converts text to speech using Azure's Text-to-Speech service.
35
- *
36
- * @param {string | NodeJS.ReadableStream} input - Text to convert to speech
37
- * @param {Object} [options] - Optional parameters
38
- * @param {string} [options.speaker] - Voice ID to use for synthesis
39
- * @returns {Promise<NodeJS.ReadableStream>} Stream containing the synthesized audio
40
- * @throws {Error} If speech model is not configured or synthesis fails
41
- */
42
- speak(input: string | NodeJS.ReadableStream, options?: {
43
- speaker?: string;
44
- [key: string]: any;
45
- }): Promise<NodeJS.ReadableStream>;
46
- /**
47
- * Checks if listening capabilities are enabled.
48
- *
49
- * @returns {Promise<{ enabled: boolean }>}
50
- */
51
- getListener(): Promise<{
52
- enabled: boolean;
53
- }>;
54
- /**
55
- * Transcribes audio (STT) from a Node.js stream using Azure.
56
- *
57
- * @param {NodeJS.ReadableStream} audioStream - The audio to be transcribed, must be in .wav format.
58
- * @returns {Promise<string>} - The recognized text.
59
- */
60
- listen(audioStream: NodeJS.ReadableStream): Promise<string>;
61
- }
62
-
63
- declare interface AzureVoiceConfig {
64
- apiKey?: string;
65
- region?: string;
66
- voiceName?: string;
67
- language?: string;
68
- }
69
-
70
- export declare type VoiceId = (typeof AZURE_VOICES)[number];
71
-
72
- export { }
package/dist/index.d.cts DELETED
@@ -1 +0,0 @@
1
- export { AzureVoice } from './_tsup-dts-rollup.cjs';