使用 ElevenLabs AI 实现文字转语音和语音转文字。当用户需要将文字转为语音、转录音频消息或在音乐中处理语音时使用。
十一Labs Speech. 完成语音解决方案 — TTS 和STT 都使用一个 API:.是一项面向实际任务的技能,主要用于TTS : Text to- Speech (高质量语音).;STT : Speaking- to- Text 透過 Scribe( 准确的转录) QQ 快速启动.;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
完整的语音解决方案 —— 使用单一 API 同时支持 TTS(文本转语音)与 STT(语音转文本):
设置您的 API 密钥:
export ELEVENLABS_API_KEY="sk_..."
或在工作区根目录下创建 .env 文件。
将文本转换为自然流畅的语音:
python scripts/elevenlabs_speech.py tts -t "Hello world" -o greeting.mp3
使用自定义音色:
python scripts/elevenlabs_speech.py tts -t "Hello" -v "voice_id_here" -o output.mp3
python scripts/elevenlabs_speech.py voices
from scripts.elevenlabs_speech import ElevenLabsClient
client = ElevenLabsClient(api_key="sk_...")
# 基础 TTS
result = client.text_to_speech(
text="Hello from zerox",
output_path="greeting.mp3"
)
# 带自定义参数
result = client.text_to_speech(
text="Your text here",
voice_id="21m00Tcm4TlvDq8ikWAM", # Rachel
stability=0.5,
similarity_boost=0.75,
output_path="output.mp3"
)
# 获取可用音色列表
voices = client.get_voices()
for voice in voices['voices']:
print(f"{voice['name']}: {voice['voice_id']}")
| 音色 ID | 名称 | 描述 |
|---|---|---|
21m00Tcm4TlvDq8ikWAM |
Rachel | 自然、通用(默认) |
AZnzlk1XvdvUeBnXmlld |
Domi | 有力、富有活力 |
EXAVITQu4vr4xnSDxMaL |
Bella | 柔和、舒缓 |
ErXwobaYiN019PkySvjV |
Antoni | 均衡全面 |
MF3mGyEYCl7XYWbV9V6O |
Elli | 温暖、友好 |
TxGEqnHWrfWFTfGW9XjX |
Josh | 低沉、沉稳 |
VR6AewLTigWG4xSOukaG |
Arnold | 权威感强 |
默认值:stability=0.5,similarity_boost=0.75
eleven_turbo_v2_5 — 快速且高质量(默认)eleven_multilingual_v2 — 多语言支持最佳(推荐用于非英语场景)eleven_monolingual_v1 — 仅支持英语当用户发送文本并希望获得语音回复时:
# 生成语音 result = client.text_to_speech(text=user_text, output_path="reply.mp3") # 通过 Telegram 消息工具发送语音文件(指定 media 路径) message(action="send", media="path/to/reply.mp3", as_voice=True)
请访问 https://elevenlabs.io/pricing 查看最新资费详情。提供免费额度!
使用 ElevenLabs Scribe 对语音消息进行转录:
python scripts/elevenlabs_scribe.py voice_message.ogg
指定语言:
python scripts/elevenlabs_scribe.py voice_message.ogg --language ara
启用说话人区分(适用于多人对话):
python scripts/elevenlabs_scribe.py voice_message.ogg --speakers 2
from scripts.elevenlabs_scribe import ElevenLabsScribe
client = ElevenLabsScribe(api_key="sk-...")
# 基础转录
result = client.transcribe("voice_message.ogg")
print(result['text'])
# 指定语言(提升识别准确率)
result = client.transcribe("voice_message.ogg", language_code="ara")
# 启用说话人检测
result = client.transcribe("voice_message.ogg", num_speakers=2)
.ogg 格式)兼容性极佳Scribe 支持 99 种语言,包括但不限于:
ara)eng)spa)fra)若未指定语言,系统将自动识别。
用户发送语音消息 → 您以语音形式回复:
from scripts.elevenlabs_scribe import ElevenLabsScribe
from scripts.elevenlabs_speech import ElevenLabsClient
# 1. 转录用户语音消息
stt = ElevenLabsScribe()
transcription = stt.transcribe("user_voice.ogg")
user_text = transcription['text']
# 2. 处理/理解文本内容
# ... 您的业务逻辑 ...
# 3. 生成回复文本
response_text = "Your response here"
# 4. 将回复文本转为语音
tts = ElevenLabsClient()
tts.text_to_speech(response_text, output_path="reply.mp3")
# 5. 发送语音回复
message(action="send", media="reply.mp3", as_voice=True)
请访问 https://elevenlabs.io/pricing 查看最新资费详情:
TTS(文本转语音):
STT(语音转文本)— Scribe:
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.6万人学习
共89课时 | 133.4万人学习
共49课时 | 82.2万人学习