ElevenLabs Text-to-Speech 是一个使用 ElevenLabs API 从文本生成高质量语音的技能。
用途 该技能用于将文本转换为语音音频,适合在需要为消息、旁白或无障碍内容生成语音时使用。典型场景包括:用户请求语音消息或音频旁白、创建无障碍音频内容、为聊天机器人生成语音回复、以及为通知生成文本转语音。
主要能力
- 基础文本转语音:将给定文本合成为 MP3 音频文件。
- 语音选择:可在调用时指定 voice_id 以使用特定语音。
- 列出可用语音:通过 --list-voices 参数获取可用语音及其 ID。
- SSML 支持:可使用 SSML 进行高级控制,例如插入停顿(<break time="1s"/>、<break time="500ms"/>)。
- 输出格式:在指定路径创建 MP3 文件,成功时返回该路径。
使用方式 快速开始: /job/.pi/skills/elevenlabs-tts/elevenlabs-tts.js "Hello there" /tmp/output.mp3
基础 TTS: /job/.pi/skills/elevenlabs-tts/elevenlabs-tts.js "<text>" <output_file>
带语音选择: /job/.pi/skills/elevenlabs-tts/elevenlabs-tts.js "<text>" <output_file> <voice_id>
列出可用语音: /job/.pi/skills/elevenlabs-tts/elevenlabs-tts.js --list-voices
配置 需要环境变量:ELEVENLABS_API_KEY,即 ElevenLabs API 密钥。
可用语音 默认语音(可通过 --list-voices 获取 ID):
- rachel:沉稳、专业的女声
- drew:对话式男声
- clive:权威感男声
- bella:柔和女声
- antoni:多用途男声
- charlie:充满活力的男声
SSML 支持 使用 SSML 进行高级控制,例如: <speak> <break time="1s"/> Hello there! <break time="500ms"/> How can I help you? </speak>
示例
使用默认语音生成语音
/job/.pi/skills/elevenlabs-tts/elevenlabs-tts.js "Welcome to our service" /tmp/welcome.mp3
使用指定语音生成
/job/.pi/skills/elevenlabs-tts/elevenlabs-tts.js "This is important" /tmp/alert.mp3 EXAVITQu4vr4xnSDxMaL
列出所有可用语音
/job/.pi/skills/elevenlabs-tts/elevenlabs-tts.js --list-voices
提示
- 每次请求的文本保持在 5000 字符以内。
- 使用停顿和暂停让语音更自然。
- 在生成较长音频前,先用短片段预览。
- 如需情感表达,可在文本中使用针对特定语音的提示。
限制 该技能依赖 ElevenLabs API 与 ELEVENLABS_API_KEY 环境变量;每次请求文本建议不超过 5000 字符。关于收费、价格、平台支持范围等信息,资料中暂未提供。