ElevenLabs
Mastra の ElevenLabs Voice 実装は、ElevenLabs API を使用した高品質な Text-to-Speech(TTS)および Speech-to-Text(STT)機能を提供します。
使用例使用例への直接リンク
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
= { name: 'eleven_multilingual_v2' }
Text-to-Speech 機能の設定。
ElevenLabsVoiceConfig
name?:
ElevenLabsModel
使用する ElevenLabs モデル
apiKey?:
string
ElevenLabs API キー。未指定の場合は ELEVENLABS_API_KEY 環境変数を使用します
speaker?:
string
= '9BWtsMINqrJLrRacOk9x' (Aria voice)
Text-to-Speech に使用する Speaker の ID
メソッドメソッドへの直接リンク
speak()speakへの直接リンク
設定された音声モデルと Voice を使用してテキストを音声に変換します。
input:
string | NodeJS.ReadableStream
音声に変換するテキスト。ストリームを指定した場合は、先にテキストへ変換されます。
options?:
object
音声合成の追加オプション
object
speaker?:
string
このリクエストでデフォルトの Speaker ID を上書きします
戻り値:Promise<NodeJS.ReadableStream>
getSpeakers()getspeakersへの直接リンク
使用可能な Voice オプションの配列を返します。各要素には次の値が含まれます。
voiceId:
string
Voice の一意な識別子
name:
string
Voice の表示名
language:
string
Voice の言語コード
gender:
string
Voice の性別
listen()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<string> - 文字起こしされたテキストに解決する Promise
重要な注意事項重要な注意事項への直接リンク
- ElevenLabs API キーが必要です。
ELEVENLABS_API_KEY環境変数で設定するか、コンストラクターに渡してください。 - デフォルトの Speaker は Aria(ID:'9BWtsMINqrJLrRacOk9x')です。
- ElevenLabs は Speech-to-Text 機能をサポートしていません。
- 使用可能な Speaker は
getSpeakers()メソッドで取得できます。このメソッドは、言語や性別を含む各 Voice の詳細情報を返します。