ガイド

Streamer.bot の読み上げを好きなAIボイスで

Streamer.bot は、視聴者が報酬を引き換えたときにほとんど何でもでき、読み上げは人気の使い方の1つです。標準の読み上げは 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秒で応答させたいなら、エンジンを小さなローカルサーバーで読み込んだままにするか、無料キーで1日3分使える SuperClonica の音声 API を使いましょう。

楽しく安全に

チャットが配信を埋め尽くさないよう、Twitch で報酬に価格とクールダウンを設定し、300文字の制限も残しましょう。視聴者は何でも書けるので、報酬もチャットと同じようにモデレートします。標準音声は収益化した配信で使えます。ファンメイドのキャラクター音声はパロディやファンコンテンツ向けで、どの声でも実在の人が言ったように見せてはいけません。