TTS en Streamer.bot con voces IA propias
Streamer.bot puede hacer casi cualquier cosa cuando un espectador canjea una recompensa, y el texto a voz es uno de los trucos favoritos. Su TTS propio pasa por Speaker.bot y las voces instaladas en el sistema o en servicios en la nube. Si quieres que un canje hable como un locutor, un villano o un personaje de dibujos, puedes conectar tu propia voz.
Esta guía conecta Streamer.bot con el motor gratuito SuperClonica mediante un pequeño script de Python probado: el espectador escribe un mensaje, el motor lo genera sin conexión en tu PC y Streamer.bot reproduce el archivo en el directo.
Qué necesitas
Streamer.bot en Windows, Python 3 y el motor gratuito, instalado con python -m pip install superclonica-cpu. Luego una voz: las diez voces estándar M1 a M5 y F1 a F5 vienen con el motor y sirven para directos monetizados, y cualquier voz del catálogo se compra una vez y se descarga como un pequeño archivo JSON. Crea una carpeta como C:\stream para el script, la voz y el audio.
El script
Guarda esto como C:\stream\sb_tts.py. Lee el texto de una variable de entorno, lo corta a 300 caracteres, omite los mensajes vacíos y escribe el archivo de audio:
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)El texto llega por una variable de entorno y no por la línea de comandos, así un mensaje con comillas u otros símbolos no puede romper el comando.
La acción en Streamer.bot
Crea una recompensa de puntos de canal que pida texto al espectador. En Streamer.bot añade una acción con el disparador Twitch, Channel Reward, Reward Redemption para esa recompensa. Añade la subacción Core, System, Run a Program: Command python, Arguments C:\stream\sb_tts.py, Working Directory C:\stream, Wait for Exit 30 y en Environment Variables SC_TEXT = %rawInput%, SC_VOICE = C:\stream\voice.json, SC_LANG = en, SC_OUT = C:\stream\tts.wav. Después añade Core, Sounds, Play Sound con el archivo C:\stream\tts.wav y deja activado «Finish playing before continuing» para que el siguiente canje espere su turno.
Qué tan rápido es
En nuestro PC de prueba, una frase de cinco segundos tardó unos once segundos hasta el archivo final, sobre todo por la carga del modelo, que el script hace en cada ejecución. Para canjes y alertas es suficiente. Para respuestas en uno o dos segundos, mantén el motor cargado en un pequeño servidor local o usa la API de voz de SuperClonica, cuya clave gratuita da 3 minutos de audio al día.
Divertido y seguro
Pon a la recompensa un precio y un tiempo de espera en Twitch para que el chat no inunde el directo, y conserva el corte de 300 caracteres. Los espectadores pueden escribir cualquier cosa, así que modera la recompensa como el chat. Las voces estándar valen para directos monetizados; las voces de personajes hechas por fans son para parodia y contenido de fans, y ninguna voz debe hacer creer que una persona real dijo algo.