メインコンテンツへ移動

Murf

Mastra の Murf Voice 実装は、Murf の AI Voice サービスを使用した Text-to-Speech(TTS)機能を提供します。さまざまな言語の複数の Voice をサポートします。

使用例
使用例への直接リンク

import { MurfVoice } from '@mastra/voice-murf'

// Initialize with default configuration (uses MURF_API_KEY environment variable)
const voice = new MurfVoice()

// Initialize with custom configuration
const voice = new MurfVoice({
speechModel: {
name: 'GEN2',
apiKey: 'your-api-key',
properties: {
format: 'MP3',
rate: 1.0,
pitch: 1.0,
sampleRate: 48000,
channelType: 'STEREO',
},
},
speaker: 'en-US-cooper',
})

// Text-to-Speech with default settings
const audioStream = await voice.speak('Hello, world!')

// Text-to-Speech with custom properties
const audioStream = await voice.speak('Hello, world!', {
speaker: 'en-UK-hazel',
properties: {
format: 'WAV',
rate: 1.2,
style: 'casual',
},
})

// Get available voices
const voices = await voice.getSpeakers()

コンストラクターパラメーター
コンストラクターパラメーターへの直接リンク

speechModel?:

MurfConfig
= { name: 'GEN2' }
Text-to-Speech 機能の設定
MurfConfig

name:

'GEN1' | 'GEN2'
使用する Murf モデルの世代

apiKey?:

string
Murf API キー。未指定の場合は MURF_API_KEY 環境変数を使用します

properties?:

object
すべての音声合成リクエストに使用するデフォルトプロパティ
object

style?:

string
Voice の発話スタイル

rate?:

number
発話速度の倍率

pitch?:

number
Voice のピッチ調整

sampleRate?:

8000 | 24000 | 44100 | 48000
音声サンプルレート(Hz)

format?:

'MP3' | 'WAV' | 'FLAC' | 'ALAW' | 'ULAW'
出力音声形式

channelType?:

'STEREO' | 'MONO'
音声チャンネル設定

pronunciationDictionary?:

Record<string, string>
カスタム発音のマッピング

encodeAsBase64?:

boolean
音声を base64 としてエンコードするかどうか

variation?:

number
Voice のバリエーションパラメーター

audioDuration?:

number
目標の音声時間(秒)

multiNativeLocale?:

string
多言語サポートのロケール

speaker?:

string
= 'en-UK-hazel'
Text-to-Speech に使用するデフォルトの Voice ID

メソッド
メソッドへの直接リンク

speak()
speakへの直接リンク

Murf API を使用してテキストを音声に変換します。

input:

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

options?:

object
音声合成オプション
object

speaker?:

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

properties?:

object
このリクエストでデフォルトの音声プロパティを上書きします

戻り値:Promise<NodeJS.ReadableStream>

getSpeakers()
getspeakersへの直接リンク

使用可能な Voice オプションの配列を返します。各要素には次の値が含まれます。

voiceId:

string
Voice の一意な識別子

name:

string
Voice の表示名

language:

string
Voice の言語コード

gender:

string
Voice の性別

listen()
listenへの直接リンク

このメソッドは Murf でサポートされておらず、エラーをスローします。Murf は Speech-to-Text 機能を提供しません。

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

  1. Murf API キーが必要です。MURF_API_KEY 環境変数で設定するか、コンストラクターに渡してください。
  2. このサービスは、デフォルトのモデルバージョンとして GEN2 を使用します。
  3. 音声プロパティはコンストラクターで設定し、リクエストごとに上書きできます。
  4. このサービスは、形式、サンプルレート、チャンネルタイプなどのプロパティを通じて幅広い音声カスタマイズをサポートします。
  5. Speech-to-Text 機能はサポートされていません。