指南

Telegram 机器人的 AI 语音消息

用语音消息回复的机器人显得更有生气:朗读的早间摘要、用角色声音的回复、给语言学习者的发音示例。云端语音 API 按消息收费,还能看到每一段文字。请注意:Supertonic 3 暂不支持中文,可朗读英语、日语、韩语等 31 种语言。

免费的 SuperClonica 引擎可以在你自己的服务器上,用自然声音或角色声音朗读机器人的文字。本指南介绍如何把回复变成 Telegram 语音消息、如何保持机器人响应迅速,以及如何合理使用声音。

语音机器人能做什么

简短的回复效果最好:几句话的语音消息比冗长的独白更容易听。

  • 用语音消息代替大段文字回答问题。
  • 朗读新闻、帖子或每日摘要。
  • 在游戏或粉丝社区机器人中以角色身份说话。
  • 为语言学习者提供 31 种语言的例句。

免费试听声音

在任意声音页面输入一条 30 到 100 个字符的典型机器人回复,选择语言并点击生成按钮。几秒后就能听到你的机器人的效果,无需注册。

把文字变成语音消息

WAV 只是中间文件;Opus 文件很小,在所有 Telegram 应用的聊天中都能直接播放。

  • 安装一次引擎:python -m pip install superclonica-cpu。
  • 只创建一次(tts = Superclonica()),然后为每条回复生成语音:audio, rate = tts.synthesize("Good morning! Here is your summary for today.", voice="F1", lang="en"); tts.save("reply.wav", audio)。
  • Telegram 会把 Opus 编码的 OGG 文件显示为语音消息,所以用 ffmpeg 转换:ffmpeg -i reply.wav -c:a libopus -b:a 48k reply.ogg。
  • 用你的机器人库中发送语音消息的方法发送文件,它会调用 Telegram Bot API 的 sendVoice。

保持机器人响应迅速

加载引擎需要几秒,之后每条回复不到一秒:在我们的测试中,短句在四个 CPU 线程上耗时 0.43 秒。使用 aiogram 或 python-telegram-bot 等异步库时,请在单独的线程中运行合成,让机器人能继续回复其他聊天。同样的文字、声音和 seed 总是得到同样的音频,所以请缓存重复的回复。如果你的机器人不是用 Python 写的,可以用 Docker 镜像 superclonica/superclonica:cpu 把引擎作为本地 HTTP 服务运行,并调用 POST /synthesize。

合理使用声音

模型自带的十个标准声音 M1–M5、F1–F5 免费,适合任何机器人。目录中的角色声音由粉丝制作,请用于粉丝社区里的娱乐机器人,不要冒充他人或伪装成官方。请告诉用户声音是生成的;品牌或用户众多的公开机器人,请用征得同意的说话人录音训练原创声音,或在交易所下单。