Speechify
Mastra 中的 Speechify 语音实现通过 Speechify API 提供文本转语音功能。
使用示例使用示例的直接链接
import { SpeechifyVoice } from '@mastra/voice-speechify'
// Initialize with default configuration (uses SPEECHIFY_API_KEY environment variable)
const voice = new SpeechifyVoice()
// Initialize with custom configuration
const voice = new SpeechifyVoice({
speechModel: {
name: 'simba-3.2',
apiKey: 'your-api-key',
},
speaker: 'harper_32', // Default voice (simba-3.2 serves the curated Simba 3 voices only)
})
// Convert text to speech
const audioStream = await voice.speak('Hello, world!', {
speaker: 'imogen_32', // Override default voice
})
构造函数参数构造函数参数的直接链接
speechModel?:
SpeechifyConfig
= { name: 'simba-english' }
文本转语音功能的配置
SpeechifyConfig
name?:
SpeechifyModel
要使用的 Speechify 模型('simba-3.2'、'simba-3.0'、'simba-english' 或 'simba-multilingual')
apiKey?:
string
Speechify API key。未设置时使用 SPEECHIFY_API_KEY 环境变量
speaker?:
SpeechifyVoiceId
= Simba 3 模型使用 'harper_32',其他模型使用 'george'
用于语音合成的默认音色 ID。Simba 3 模型仅提供精选音色集(harper_32、imogen_32 等);经典音色目录中的音色(george、henry 等)可用于 simba-english 和 simba-multilingual
方法方法的直接链接
speak()speak的直接链接
使用已配置的语音模型和音色将文本转换为语音。
input:
string | NodeJS.ReadableStream
要转换为语音的文本。如果提供流,会先将其转换为文本。
options?:
Options
配置选项。
Options
speaker?:
string
为本次请求覆盖默认 speaker
model?:
SpeechifyModel
为本次请求覆盖默认模型
返回:Promise<NodeJS.ReadableStream>
getSpeakers()getspeakers的直接链接
返回可用音色选项的数组,其中每个节点包含:
voiceId:
string
音色的唯一标识符
name:
string
音色的显示名称
language:
string
音色的语言代码
gender:
string
音色的性别
listen()listen的直接链接
Speechify 不支持此方法,调用时会抛出错误。Speechify 不提供语音转文本功能。
注意事项注意事项的直接链接
- Speechify 身份验证需要 API key
- 默认模型为 'simba-english'
- 'simba-3.2' 是 Speechify 最新的 streaming 模型,延迟最低、表现力最丰富,也是推荐用于英语的模型
- 'simba-3.2' 和 'simba-3.0' 目前仅支持英语;对于非英语或混合语言输入,请使用 'simba-multilingual'
- 'simba-3.2' 和 'simba-3.0' 仅提供精选音色集:'beatrice_32'、'dominic_32'、'edmund_32'、'geffen_32'、'harper_32'、'hugh_32'、'imogen_32'、'wyatt_32'。在这些模型上使用 'george' 等经典目录音色会返回错误
- 默认 speaker 取决于配置的模型:Simba 3 模型使用 'harper_32',其他模型使用 'george'
- 不支持语音转文本功能
- 可以通过 speak() 方法的 options 参数传递其他音频流选项