跳至主要內容

Murf

Mastra 的 Murf 語音實作使用 Murf 的 AI 語音服務,提供文字轉語音 (TTS) 功能。它支援不同語言的多種語音。

使用範例
「使用範例」的直接連結

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' }
文字轉語音功能的設定
MurfConfig

name:

'GEN1' | 'GEN2'
要使用的 Murf 模型世代

apiKey?:

string
Murf API 金鑰。未提供時會改用 MURF_API_KEY 環境變數

properties?:

object
所有語音合成請求的預設屬性
object

style?:

string
語音的說話風格

rate?:

number
說話速度倍數

pitch?:

number
語音音高調整

sampleRate?:

8000 | 24000 | 44100 | 48000
音訊取樣率(單位:Hz)

format?:

'MP3' | 'WAV' | 'FLAC' | 'ALAW' | 'ULAW'
輸出音訊格式

channelType?:

'STEREO' | 'MONO'
音訊聲道設定

pronunciationDictionary?:

Record<string, string>
自訂發音對應

encodeAsBase64?:

boolean
是否將音訊編碼為 Base64

variation?:

number
語音變化參數

audioDuration?:

number
目標音訊長度(秒)

multiNativeLocale?:

string
多語言支援使用的語系

speaker?:

string
= 'en-UK-hazel'
文字轉語音預設使用的語音 ID

方法
「方法」的直接連結

speak()
「speak」的直接連結

使用 Murf 的 API 將文字轉換成語音。

input:

string | NodeJS.ReadableStream
要轉換成語音的文字。若提供串流,會先將其轉換成文字。

options?:

object
語音合成選項
object

speaker?:

string
覆寫此請求的預設說話者

properties?:

object
覆寫此請求的預設語音屬性

傳回:Promise<NodeJS.ReadableStream>

getSpeakers()
「getspeakers」的直接連結

傳回可用的語音選項陣列,其中每個節點包含:

voiceId:

string
語音的唯一識別碼

name:

string
語音的顯示名稱

language:

string
語音的語言程式碼

gender:

string
語音的性別

listen()
「listen」的直接連結

Murf 不支援此方法,呼叫時會擲回錯誤。Murf 不提供語音轉文字功能。

重要注意事項
「重要注意事項」的直接連結

  1. 必須提供 Murf API 金鑰。請透過 MURF_API_KEY 環境變數設定,或傳入建構函式。
  2. 此服務預設使用 GEN2 模型版本。
  3. 語音屬性可在建構函式層級設定,並可針對個別請求覆寫。
  4. 此服務可透過格式、取樣率與聲道類型等屬性,提供廣泛的音訊自訂功能。
  5. 不支援語音轉文字功能。