> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # ElevenLabs Mastra の ElevenLabs Voice 実装は、ElevenLabs API を使用した高品質な Text-to-Speech(TTS)および Speech-to-Text(STT)機能を提供します。 ## 使用例 ```typescript import { ElevenLabsVoice } from '@mastra/voice-elevenlabs' // Initialize with default configuration (uses ELEVENLABS_API_KEY environment variable) const voice = new ElevenLabsVoice() // Initialize with custom configuration const voice = new ElevenLabsVoice({ speechModel: { name: 'eleven_multilingual_v2', apiKey: 'your-api-key', }, speaker: 'custom-speaker-id', }) // Text-to-Speech const audioStream = await voice.speak('Hello, world!') // Get available speakers const speakers = await voice.getSpeakers() ``` ## コンストラクターパラメーター **speechModel** (`ElevenLabsVoiceConfig`): Text-to-Speech 機能の設定。 (Default: `{ name: 'eleven_multilingual_v2' }`) **speechModel.name** (`ElevenLabsModel`): 使用する ElevenLabs モデル **speechModel.apiKey** (`string`): ElevenLabs API キー。未指定の場合は ELEVENLABS\_API\_KEY 環境変数を使用します **speaker** (`string`): Text-to-Speech に使用する Speaker の ID (Default: `'9BWtsMINqrJLrRacOk9x' (Aria voice)`) ## メソッド ### `speak()` 設定された音声モデルと Voice を使用してテキストを音声に変換します。 **input** (`string | NodeJS.ReadableStream`): 音声に変換するテキスト。ストリームを指定した場合は、先にテキストへ変換されます。 **options** (`object`): 音声合成の追加オプション **options.speaker** (`string`): このリクエストでデフォルトの Speaker ID を上書きします 戻り値:`Promise` ### `getSpeakers()` 使用可能な Voice オプションの配列を返します。各要素には次の値が含まれます。 **voiceId** (`string`): Voice の一意な識別子 **name** (`string`): Voice の表示名 **language** (`string`): Voice の言語コード **gender** (`string`): Voice の性別 ### `listen()` ElevenLabs Speech-to-Text API を使用して音声入力をテキストに変換します。 **input** (`NodeJS.ReadableStream`): 文字起こしする音声データを含む読み取り可能なストリーム **options** (`object`): 文字起こしの設定オプション options オブジェクトは次のプロパティをサポートします。 **language\_code** (`string`): ISO 言語コード(例:'en'、'fr'、'es') **tag\_audio\_events** (`boolean`): \[MUSIC]、\[LAUGHTER] などの音声イベントにタグを付けるかどうか **num\_speakers** (`number`): 音声内で検出する Speaker の数 **filetype** (`string`): 音声ファイル形式(例:'mp3'、'wav'、'ogg') **timeoutInSeconds** (`number`): リクエストのタイムアウト(秒) **maxRetries** (`number`): 再試行の最大回数 **abortSignal** (`AbortSignal`): リクエストを中止するためのシグナル 戻り値:`Promise` - 文字起こしされたテキストに解決する Promise ## 重要な注意事項 1. ElevenLabs API キーが必要です。`ELEVENLABS_API_KEY` 環境変数で設定するか、コンストラクターに渡してください。 2. デフォルトの Speaker は Aria(ID:'9BWtsMINqrJLrRacOk9x')です。 3. ElevenLabs は Speech-to-Text 機能をサポートしていません。 4. 使用可能な Speaker は `getSpeakers()` メソッドで取得できます。このメソッドは、言語や性別を含む各 Voice の詳細情報を返します。