Azure
MastraのAzureVoiceクラスは、Microsoft Azure Cognitive Servicesを利用してテキスト読み上げ(テキスト・トゥ・スピーチ)および音声認識(スピーチ・トゥ・テキスト)機能を提供します。
使用例
import { AzureVoice } from "@mastra/voice-azure";
// Initialize with configuration
const voice = new AzureVoice({
speechModel: {
name: "neural",
apiKey: "your-azure-speech-api-key",
region: "eastus",
},
listeningModel: {
name: "whisper",
apiKey: "your-azure-speech-api-key",
region: "eastus",
},
speaker: "en-US-JennyNeural", // Default voice
});
// Convert text to speech
const audioStream = await voice.speak("Hello, how can I help you?", {
speaker: "en-US-GuyNeural", // Override default voice
style: "cheerful", // Voice style
});
// Convert speech to text
const text = await voice.listen(audioStream, {
filetype: "wav",
language: "en-US",
});
設定
コンストラクターオプション
speechModel?:
AzureSpeechConfig
テキストから音声合成のための設定。
listeningModel?:
AzureSpeechConfig
音声からテキスト認識のための設定。
speaker?:
string
音声合成のデフォルト音声ID。
AzureSpeechConfig
name?:
'neural' | 'standard' | 'whisper'
使用するモデルタイプ。TTSには'neural'、STTには'whisper'。
apiKey?:
string
Azure Speech ServicesのAPIキー。指定がない場合はAZURE_SPEECH_KEY環境変数が使用されます。
region?:
string
Azureリージョン(例: 'eastus', 'westeurope')。指定がない場合はAZURE_SPEECH_REGION環境変数が使用されます。
メソッド
speak()
Azure のニューラルテキスト読み上げサービスを使用して、テキストを音声に変換します。
input:
string | NodeJS.ReadableStream
音声に変換するテキストまたはテキストストリーム。
options.speaker?:
string
= Constructor's speaker value
音声合成に使用するボイスID。
options.style?:
string
話し方のスタイル(例: 'cheerful', 'sad', 'angry')。
options.rate?:
string
話す速度(例: 'slow', 'medium', 'fast')。
options.pitch?:
string
声のピッチ(例: 'low', 'medium', 'high')。
戻り値: Promise<NodeJS.ReadableStream>
listen()
Azure の音声認識サービスを使用して音声をテキストに書き起こします。
audioStream:
NodeJS.ReadableStream
書き起こし対象の音声ストリーム。
options.filetype?:
string
= 'wav'
入力ストリームの音声フォーマット。
options.language?:
string
= 'en-US'
書き起こしに使用する言語コード。
戻り値: Promise<string>
getSpeakers()
利用可能な音声オプションの配列を返します。各ノードには以下が含まれます:
voiceId:
string
音声の一意な識別子(例: 'en-US-JennyNeural')
name:
string
音声の人間が読める名前
locale:
string
音声の言語ロケール(例: 'en-US')
gender:
string
音声の性別('Male' または 'Female')
styles?:
string[]
その音声で利用可能な話し方のスタイル
注意事項
- APIキーは、コンストラクタのオプションまたは環境変数(AZURE_SPEECH_KEY と AZURE_SPEECH_REGION)で指定できます
- Azure は多くの言語で幅広いニューラルボイスを提供しています
- 一部のボイスは、明るい、悲しい、怒っているなどの話し方スタイルに対応しています
- 音声認識は複数の音声フォーマットと言語をサポートしています
- Azure の音声サービスは、自然な音声の高品質なニューラルボイスを提供します