Skip to Content
リファレンス音声リファレンス: ElevenLabs Voice | Voice Providers | Mastra ドキュメント

ElevenLabs

MastraにおけるElevenLabsの音声実装は、ElevenLabs APIを利用して高品質なテキスト読み上げ(TTS)および音声認識(STT)機能を提供します。

使用例

import { ElevenLabsVoice } from "@mastra/voice-elevenlabs"; // デフォルト設定で初期化(ELEVENLABS_API_KEY 環境変数を使用) const voice = new ElevenLabsVoice(); // カスタム設定で初期化 const voice = new ElevenLabsVoice({ speechModel: { name: "eleven_multilingual_v2", apiKey: "your-api-key", }, speaker: "custom-speaker-id", }); // テキスト読み上げ const audioStream = await voice.speak("Hello, world!"); // 利用可能なスピーカーを取得 const speakers = await voice.getSpeakers();

コンストラクタのパラメーター

speechModel?:

ElevenLabsVoiceConfig
= { name: 'eleven_multilingual_v2' }
テキスト読み上げ機能のための設定。

speaker?:

string
= '9BWtsMINqrJLrRacOk9x' (Aria voice)
テキスト読み上げに使用するスピーカーのID

ElevenLabsVoiceConfig

name?:

ElevenLabsModel
= 'eleven_multilingual_v2'
使用するElevenLabsモデル

apiKey?:

string
ElevenLabsのAPIキー。指定がない場合はELEVENLABS_API_KEY環境変数が使用されます。

メソッド

speak()

設定された音声モデルとボイスを使用してテキストを音声に変換します。

input:

string | NodeJS.ReadableStream
音声に変換するテキスト。ストリームが指定された場合は、最初にテキストへ変換されます。

options?:

object
音声合成の追加オプション

options.speaker?:

string
このリクエストでデフォルトのスピーカーIDを上書きします

戻り値: Promise<NodeJS.ReadableStream>

getSpeakers()

利用可能なボイスオプションの配列を返します。各ノードには以下が含まれます:

voiceId:

string
ボイスの一意の識別子

name:

string
ボイスの表示名

language:

string
ボイスの言語コード

gender:

string
ボイスの性別

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
音声内で検出する話者の数

filetype?:

string
音声ファイル形式(例: 'mp3', 'wav', 'ogg')

timeoutInSeconds?:

number
リクエストのタイムアウト(秒)

maxRetries?:

number
再試行の最大回数

abortSignal?:

AbortSignal
リクエストを中断するためのシグナル

戻り値: Promise<string> - 書き起こされたテキストを解決する Promise

重要な注意事項

  1. ElevenLabsのAPIキーが必要です。ELEVENLABS_API_KEY環境変数で設定するか、コンストラクタに渡してください。
  2. デフォルトのスピーカーはAria(ID: ‘9BWtsMINqrJLrRacOk9x’)に設定されています。
  3. ElevenLabsでは音声からテキストへの機能はサポートされていません。
  4. 利用可能なスピーカーは、getSpeakers()メソッドを使用して取得できます。このメソッドは、各ボイスの言語や性別などの詳細情報を返します。