前置き
この記事はQiita Advent Calendar 2025 / ひとりアドベントカレンダー 分野における ふぐおの配信関係多めひとり Advent Calendar 2025 の4日目記事となります。
こんにちは! AI Tuberなどの開発をしているふぐおです。
今日は、AI Tuberの開発において、発言時間の管理が大事であるということについて書きます。
AI Tuberを作っている方々の参考になれば幸いです。
こんな時に喋られると困ってしまうこと一覧
コメントの読み上げに被ってしまう
人が喋っている場合は、コメント読み上げと被っても聞き取れますが、機械音声同士が被ってしまうと非常に聞きとりづらいです。
何よりもカオスな雰囲気に...
分けてコメントを打っている最中に喋ってしまう
コメントを書く人も、色々なスタイルの方がいらっしゃいます。
例えば、
「今日めっちゃ寒かったけど、AIちゃんも今日寒かった?」
と書く人もいれば、
「今日めっちゃ寒かったけど」「AIちゃんも今日寒かった?」
と分けて、コメントを書く方もいます。
後者の方の場合、1つ目のコメントの直後にコメントを拾ってしまうと、コメントを書くのを急かしている感じが出てしまいます。
(パートナー型AI Tuberの場合)相方の発言中に喋ってしまう
言わずもがなですね。
(パートナー型AI Tuberの場合)相方が発言中にちょっと考えてから発言しようとしているときに、言葉に詰まったタイミングで喋ってしまう
これ結構あります。ちょっと言葉が出てこなくて、思い出しているときに喋られると割と困ります。
空気を読ませるには?
上記の問題を解決するには、空気を読ませる必要があります。
でも、難しく考える必要はありません。発言時間を管理すればいいだけです。
発言時間の管理方法
管理する人物一覧
- コメント
- (パートナー型の場合)相方
- AIちゃん自身
このAIちゃん自身を管理対象にするの忘れがちです。
自分が今喋っているのに、誰も喋っていないから喋ろうとしてしまい、AIちゃんが二枚舌になってしまいます。
管理するイベント
- 発言を現在しているか
- 最後に発言した時間
発言を現在しているかは真理値で管理します。
最後に発言した時間はunix時間でやってます。ちなみに、コメントに関しては現在発言中というのがないので、そこは管理しません。
条件式
発言中
発言中の場合は、発言をしません。
これ忘れると、発言しているときは別に最後の発言時間は更新されてないので詰みます。
最後の発言からの経過時間
- コメント: 4秒
- 相方: 4秒
- AIちゃん: 5秒
これ以上の時間が経過している場合は、発言を許可しています。
この経過時間に関しては、相方とAIちゃんに関しては参考にしたものがあって、AI TuberのNeuro Samaの発言のタイミングを観察して、この時間にしました。
毎回Vedalが喋ってから5秒くらい後にNeuro Samaが喋るので、似たようなロジックを組んでいるんじゃないのかなと思います。
パートナー型AIにおける、発言した時間
相方が発言しているか、発言し終わったかについては、私はWeb Speech APIの音声認識を使って判定しています。
Web Speech APIについてはこんな記事を書いてます。
まとめ
プロンプトとかはAI Tuberだと結構記事があるけど、発言時間の管理も大事だよ。
おまけ
ニコ生で毎日ライブコーディングしてます。来てね。