Azure
Mastra の AzureVoice クラスは、Microsoft Azure Cognitive Services を使用した Text-to-Speech および Speech-to-Text 機能を提供します。
使用例使用例への直接リンク
環境変数または設定で直接指定できる Azure Speech Services の認証情報が必要です。
import { AzureVoice } from '@mastra/voice-azure'
// Initialize with configuration
const voice = new AzureVoice({
speechModel: {
apiKey: 'your-azure-speech-api-key', // Or use AZURE_API_KEY env var
region: 'eastus', // Or use AZURE_REGION env var
voiceName: 'en-US-AriaNeural', // Optional: specific voice for TTS
},
listeningModel: {
apiKey: 'your-azure-speech-api-key', // Or use AZURE_API_KEY env var
region: 'eastus', // Or use AZURE_REGION env var
language: 'en-US', // Optional: recognition language for STT
},
speaker: 'en-US-JennyNeural', // Optional: default voice
})
// Convert text to speech
const audioStream = await voice.speak('Hello, how can I help you?', {
speaker: 'en-US-GuyNeural', // Optional: override default voice
})
// Convert speech to text
const text = await voice.listen(audioStream)
設定設定への直接リンク
コンストラクターオプションコンストラクターオプションへの直接リンク
speechModel?:
apiKey?:
region?:
voiceName?:
language?:
listeningModel?:
apiKey?:
region?:
voiceName?:
language?:
speaker?:
メソッドメソッドへの直接リンク
speak()speakへの直接リンク
Azure のニューラル Text-to-Speech サービスを使用してテキストを音声に変換します。
input:
options?:
speaker?:
戻り値:Promise<NodeJS.ReadableStream> - WAV 形式の音声ストリーム
listen()listenへの直接リンク
Azure の Speech-to-Text サービスを使用して音声を文字起こしします。
audioStream:
戻り値:Promise<string> - 音声から認識されたテキスト
言語と認識の設定は、初期化時に listeningModel の設定で指定します。このメソッドのオプションとしては渡しません。
getSpeakers()getspeakersへの直接リンク
使用可能な Voice オプション(200種類以上)の配列を返します。各要素には次の値が含まれます。
voiceId:
language:
region:
戻り値:Promise<Array<{ voiceId: string; language: string; region: string; }>>
重要な注意事項重要な注意事項への直接リンク
Azure Speech Services と Azure OpenAI の違いAzure Speech Services と Azure OpenAI の違いへの直接リンク
⚠️ 重要: このパッケージが使用する Azure Speech Services は、Azure OpenAI Services とは異なります。
- このパッケージでは
AZURE_OPENAI_API_KEYを使用しないでください - Azure Speech Services のサブスクリプションキーを使用してください(Azure Portal の「Speech Services」から取得します)
- これらは、API キーとエンドポイントが異なる別々の Azure リソースです
環境変数環境変数への直接リンク
API キーとリージョンは、コンストラクターオプションまたは環境変数で指定できます。
AZURE_API_KEY- Azure Speech Services のサブスクリプションキーAZURE_REGION- Azure リージョン(例:'eastus'、'westeurope')
Voice 機能Voice 機能への直接リンク
- Azure は50以上の言語で200種類以上のニューラル Voice を提供します
- 各 Voice ID は
{language}-{region}-{name}Neuralの形式です(例:'en-US-JennyNeural') - 一部の Voice には、多言語対応または HD 品質のバリエーションがあります
- 音声出力は WAV 形式です
- 認識に使用する音声入力は WAV 形式である必要があります
使用可能な Voice使用可能な Voiceへの直接リンク
Azure は、多数の言語で200種類以上のニューラル Voice を提供します。代表的な英語 Voice は次のとおりです。
-
アメリカ英語:
en-US-AriaNeural(女性、デフォルト)en-US-JennyNeural(女性)en-US-GuyNeural(男性)en-US-DavisNeural(男性)en-US-AvaNeural(女性)en-US-AndrewNeural(男性)
-
イギリス英語:
en-GB-SoniaNeural(女性)en-GB-RyanNeural(男性)en-GB-LibbyNeural(女性)
-
オーストラリア英語:
en-AU-NatashaNeural(女性)en-AU-WilliamNeural(男性)
200種類以上の Voice の完全な一覧を取得するには、次のコードを使用します。
const voices = await voice.getSpeakers()
console.log(voices) // Array of { voiceId, language, region }
詳細については、Azure Neural TTS のドキュメントを参照してください。