Cloudflare
Mastra 中的 CloudflareVoice 类使用 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
要转换为语音的文本或文本 stream。
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 之一: