Cloudflare
Mastra 的 CloudflareVoice class 使用 Cloudflare Workers AI 提供文字轉語音功能。此 Provider 專為高效、低延遲的語音合成而設,適用於邊緣運算環境。
使用範例使用範例 的直接連結
import { CloudflareVoice } from '@mastra/voice-cloudflare'
// Initialize with configuration
const voice = new CloudflareVoice({
speechModel: {
name: '@cf/meta/m2m100-1.2b',
apiKey: 'your-cloudflare-api-token',
accountId: 'your-cloudflare-account-id',
},
speaker: 'en-US-1', // Default voice
})
// Convert text to speech
const audioStream = await voice.speak('Hello, how can I help you?', {
speaker: 'en-US-2', // Override default voice
})
// Get available voices
const speakers = await voice.getSpeakers()
console.log(speakers)
設定設定 的直接連結
建構函式選項建構函式選項 的直接連結
speechModel?:
CloudflareSpeechConfig
文字轉語音合成的設定。
CloudflareSpeechConfig
name?:
string
用於 TTS 的模型名稱。
apiKey?:
string
具備 Workers AI 存取權限的 Cloudflare API token。未提供時會改用 CLOUDFLARE_API_TOKEN 環境變數。
accountId?:
string
Cloudflare 帳戶 ID。未提供時會改用 CLOUDFLARE_ACCOUNT_ID 環境變數。
speaker?:
string
= 'en-US-1'
用於語音合成的預設語音 ID。
方法方法 的直接連結
speak()speak 的直接連結
使用 Cloudflare 的文字轉語音服務將文字轉換成語音。
input:
string | NodeJS.ReadableStream
要轉換成語音的文字或文字串流。
options?:
Options
設定選項。
Options
speaker?:
string
用於語音合成的語音 ID。
format?:
string
輸出音訊格式。
傳回:Promise<NodeJS.ReadableStream>
getSpeakers()getspeakers 的直接連結
傳回可用語音選項的陣列,其中每個節點包含:
voiceId:
string
語音的唯一識別碼(例如 'en-US-1')
language:
string
語音的語言代碼(例如 'en-US')
注意事項注意事項 的直接連結
- 可透過建構函式選項或環境變數(CLOUDFLARE_API_TOKEN 和 CLOUDFLARE_ACCOUNT_ID)提供 API token
- Cloudflare Workers AI 針對低延遲的邊緣運算進行了最佳化
- 此 Provider 只支援文字轉語音(TTS)功能,不支援語音轉文字(STT)
- 此服務可與其他 Cloudflare Workers 產品良好整合
- 在正式環境中使用前,請確保你的 Cloudflare 帳戶已有合適的 Workers AI 訂閱
- 與部分其他 Provider 相比,語音選項較有限,但其邊緣運算效能非常出色
相關 Provider相關 Provider 的直接連結
如果除了文字轉語音外亦需要語音轉文字功能,可考慮使用以下其中一個 Provider: