가이드

Streamer.bot TTS를 나만의 AI 목소리로

Streamer.bot은 시청자가 보상을 교환할 때 거의 무엇이든 할 수 있고, TTS는 가장 인기 있는 활용 중 하나입니다. 기본 TTS는 Speaker.bot을 통해 시스템이나 클라우드 음성을 씁니다. 보상이 아나운서, 악당, 만화 캐릭터 목소리로 말하게 하고 싶다면 나만의 목소리를 연결할 수 있습니다.

이 가이드는 테스트한 작은 Python 스크립트로 Streamer.bot과 무료 SuperClonica 엔진을 연결합니다. 시청자가 메시지를 쓰면 엔진이 PC에서 오프라인으로 읽고, Streamer.bot이 방송에서 파일을 재생합니다.

준비물

Windows용 Streamer.bot, Python 3, 그리고 python -m pip install superclonica-cpu 로 설치하는 무료 엔진. 다음은 목소리입니다. 엔진에 포함된 표준 목소리 10개 M1~M5, F1~F5는 수익화 방송에도 쓸 수 있고, 카탈로그 목소리는 한 번 구매해 작은 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)

텍스트는 명령줄이 아니라 환경 변수로 전달되므로, 따옴표나 기호가 들어간 메시지도 명령을 망가뜨리지 않습니다.

Streamer.bot 액션

시청자에게 텍스트 입력을 요구하는 채널 포인트 보상을 만드세요. Streamer.bot에서 그 보상에 대해 트리거 Twitch, Channel Reward, Reward Redemption으로 액션을 추가합니다. 하위 액션 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」을 켜 두면 다음 보상이 차례를 기다립니다.

속도

저희 테스트 PC에서 5초짜리 대사가 완성 파일이 되기까지 약 11초가 걸렸고, 대부분은 매번 하는 모델 로딩이었습니다. 보상과 알림에는 충분합니다. 1~2초 안에 답하게 하려면 엔진을 작은 로컬 서버에 띄워 두거나, 무료 키로 하루 3분 쓸 수 있는 SuperClonica 음성 API를 쓰세요.

재미있고 안전하게

채팅이 방송을 뒤덮지 않도록 Twitch에서 보상에 가격과 쿨다운을 정하고, 300자 제한도 유지하세요. 시청자는 무엇이든 쓸 수 있으니 보상도 채팅처럼 관리하세요. 표준 목소리는 수익화 방송에 쓸 수 있고, 팬이 만든 캐릭터 목소리는 패러디와 팬 콘텐츠용이며, 어떤 목소리로도 실제 사람이 말한 것처럼 보이게 해서는 안 됩니다.