指南

Kick 文字转语音:为频道奖励加上 TTS

请注意:Supertonic 3 暂不支持中文,可朗读英语、日语、韩语等 31 种语言。Kick 主播也想要和 Twitch 一样的玩法:观众输入一条消息,直播里用搞笑或夸张的声音读出来。可以用能连接 Kick 的 Streamer.bot,加上在你电脑上离线、用任意声音朗读的免费 SuperClonica 引擎来实现。

本指南以 Kick 频道奖励为触发器,使用与 Streamer.bot 指南相同的、经过测试的小脚本。

需要准备什么

已连接 Kick 账号的 Windows 版 Streamer.bot、Python 3,以及用 python -m pip install superclonica-cpu 安装的免费引擎。声音可以用可在盈利直播中使用的标准声音 F1 至 F5、M1 至 M5,或一次性购买并下载为 JSON 文件的目录声音。创建一个文件夹,例如 C:\stream。

脚本

把下面内容保存为 C:\stream\sb_tts.py。它从环境变量读取消息,截断到 300 个字符,跳过空消息并写出音频文件:

import os, shutil, subprocess, sys

text = os.environ.get('SC_TEXT', '').strip()[:300]
if not text:
    sys.exit(0)
cli = shutil.which('superclonica') or os.path.join(os.path.dirname(sys.executable), 'Scripts', 'superclonica')
subprocess.run([cli, '--text', text, '--voice', os.environ.get('SC_VOICE', 'F1'),
                '--lang', os.environ.get('SC_LANG', 'en'), '--output', os.environ.get('SC_OUT', 'tts.wav')], check=True)

Kick 动作

在 Kick 上创建一个要求观众输入文字的频道奖励。在 Streamer.bot 中添加触发器为 Kick、Channel Reward、Reward Redemption 的动作,观众文字通过 %rawInput% 传入。添加 Core、System、Run a Program:Command 填 python,Arguments 填 C:\stream\sb_tts.py,Working Directory 填 C:\stream,Wait for Exit 填 30,Environment Variables 填 SC_TEXT = %rawInput%, SC_VOICE = C:\stream\voice.json, SC_LANG = en, SC_OUT = C:\stream\tts.wav。然后添加 Core、Sounds、Play Sound,文件为 C:\stream\tts.wav,并保持“Finish playing before continuing”开启。

速度和其他方案

在我们的测试电脑上,一句 5 秒的台词约需 11 秒,大部分时间用于每次运行时加载模型;用于奖励已经足够。想更快,可以让引擎常驻在本地服务器,或使用每天免费 3 分钟音频的 SuperClonica 语音 API。同样的动作也适用于 Twitch,只需更换触发器。

管好聊天

为奖励设置价格和冷却时间,保留 300 个字符的截断,并像管理聊天一样管理奖励。标准声音可用于盈利直播;粉丝制作的角色声音仅用于恶搞和粉丝内容,任何声音都不能让人误以为是真人说的话。