メインコンテンツへ移動

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

重要な注意事項
重要な注意事項への直接リンク

  1. ElevenLabs API キーが必要です。ELEVENLABS_API_KEY 環境変数で設定するか、コンストラクターに渡してください。
  2. デフォルトの Speaker は Aria(ID:'9BWtsMINqrJLrRacOk9x')です。
  3. ElevenLabs は Speech-to-Text 機能をサポートしていません。
  4. 使用可能な Speaker は getSpeakers() メソッドで取得できます。このメソッドは、言語や性別を含む各 Voice の詳細情報を返します。