@mastra/voice-azure 0.10.5-alpha.1 → 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 10158ms
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 12744ms
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 618ms
22
- CJS dist/index.cjs 12.96 KB
23
- CJS ⚡️ Build success in 619ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,50 @@
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
+
16
+ ## 0.10.5
17
+
18
+ ### Patch Changes
19
+
20
+ - d9e4449: dependencies updates:
21
+ - Updated dependency [`microsoft-cognitiveservices-speech-sdk@^1.45.0` ↗︎](https://www.npmjs.com/package/microsoft-cognitiveservices-speech-sdk/v/1.45.0) (from `^1.44.1`, in `dependencies`)
22
+ - f42c4c2: update peer deps for packages to latest core range
23
+ - Updated dependencies [510e2c8]
24
+ - Updated dependencies [2f72fb2]
25
+ - Updated dependencies [27cc97a]
26
+ - Updated dependencies [3f89307]
27
+ - Updated dependencies [9eda7d4]
28
+ - Updated dependencies [9d49408]
29
+ - Updated dependencies [41daa63]
30
+ - Updated dependencies [ad0a58b]
31
+ - Updated dependencies [254a36b]
32
+ - Updated dependencies [2ecf658]
33
+ - Updated dependencies [7a7754f]
34
+ - Updated dependencies [fc92d80]
35
+ - Updated dependencies [e0f73c6]
36
+ - Updated dependencies [0b89602]
37
+ - Updated dependencies [4d37822]
38
+ - Updated dependencies [23a6a7c]
39
+ - Updated dependencies [cda801d]
40
+ - Updated dependencies [a77c823]
41
+ - Updated dependencies [ff9c125]
42
+ - Updated dependencies [09bca64]
43
+ - Updated dependencies [b8efbb9]
44
+ - Updated dependencies [71466e7]
45
+ - Updated dependencies [0c99fbe]
46
+ - @mastra/core@0.12.0
47
+
3
48
  ## 0.10.5-alpha.1
4
49
 
5
50
  ### 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-alpha.1",
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
- "@mastra/core": "0.12.0-alpha.5",
33
- "@internal/lint": "0.0.23"
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';