はじめに
この記事はQiita Advent Calendar 2025 / ひとりアドベントカレンダー 分野における ふぐおの配信関係多めひとり Advent Calendar 2025 の10日目の記事となります。
今日はこれまで作った配信ツールを紹介します。
現在も稼働中のツール
コメントで動画を流せる機能
コメントで指定のキーワードを送ると、OBSのブラウザソースで動画が流れる機能を作りました。
詳細については以下の記事をご覧ください。
VoicePeak邪神ちゃんと生放送のコメントの読み上げ連携
私の配信のコメント読み上げにはVoicePeak邪神ちゃんを使っています。
このシステムも自作しています。
少しシステムは変わってしまいましたが、昔はWin32APIを使って、VoicePeak邪神ちゃんのウィンドウを操作していました。
技術的な詳細は以下の記事から。
https://qiita.com/boxfish_jp/items/f2bd0d23337f9e0847b1
Spotify連携
配信中にBGMをかけていたりしますが、リクエストに応えるツールを実装しています。
使い方は簡単で、コメント欄に流したい曲のURLを貼るだけです。
技術的な話をすると、SpotifyのURLを検出し、URI部分を抽出します。
それをCLIを使って、Spotifyのキューに追加する感じです。
CLIの部分は、昔は以下のTUIツールを使っていました。
ただ、このツールは更新が止まってしまっています。一応キューの追加部分は生きていますが、一部の機能が死んでしまっているので、少し将来性が不安です。
そこで最近は、Pythonのライブラリを使って、キューに追加するスクリプトを自作しています。
読み上げの教育
VoicePeak邪神ちゃんは英語が苦手だったり、日本語も特定の単語が苦手だったりします。
そこで視聴者がコメントから簡単に読み上げの発音を教育できるツールを作りました。
使い方としては、
// 覚えさせたいとき
教育:typescript:タイプスクリプト
// 忘れさせたいとき
忘却:typescript
こんな感じでコメント欄に入力するだけです。
LLMとか使えば、こんな教育機能とかいらないんじゃないかと言われたことがあるんですが、変な読み方をしてしまう邪神ちゃんが可愛いので。
その他細かい機能
URLがそのまま読み上げられてしまうと、読み上げがすごい長く、聞き心地も良くないので、URL部分を「URL省略」と読み替える機能を入れています。
また大文字のアルファベットはすべて小文字に変換する機能も入れています。これは教育機能を使いやすくする機能です。「TypeScript」「Typescript」も一個の「教育:typescript:タイプスクリプト」コマンドで覚えさせられるようにするためです。
なくなってしまった機能
bot返信機能
現在流れている曲を知れたり、定期的にブログのリンクを貼ったりすることに使っていました。
コメントの認証が絡み、結構面倒くさい割に利用者が少なかったので、廃止しています。
個人的には好きな機能だったので、また復活させるかもしれません。
コメント欄で画像生成
コメント欄に画像生成のプロンプトを入力すると、Stable Diffusionで画像を生成する機能も実装していました。
NSFWな画像も生成できるようにしていました。さすがに出来上がったNSFWな画像を配信で表示するとBANされるので、専用の画像閲覧サイトを作っていました。
毎日利用してくれる人もいて、そこそこ好評でした。
しかし、当時のNVIDIAドライバーが不安定で、頻繁にクラッシュしてしまう問題があり、廃止しました。
少し技術的な話をすると、CLIからStable Diffusionで生成した画像を、Cloudflare R2にアップロードして、画像のURL情報をCloudflare D1で管理していました。そして、それをCloudflare WorkersにデプロイしたNext.jsで作成したサイトからURLを取得して表示、閲覧できるようにしていました。
R2やD1のお世話にはHonoを使用していました。
Cloudflareは本当に無料で使える範囲が広くて、ありがたいです。
ギフトで落ちもの演出をする機能
ギフトやニコニ広告をされると、OBSのブラウザソースで落ちもの演出を流す機能も作っていました。
ニコニコのキャラ(ニコニコテレビ君)などが主に落ちてきます。
1%ほどの確率で「壺男をやらせる権利」みたいな大当たり的なものも混ぜていました。
壺男を2周もやらされたのは良い思い出です。
無料のギフトを投げてくる人がいなくなって、使われなくなってしまったので、廃止しました。
まとめ
常に私の配信ツールは進化し続けています。
今後の進化もお楽しみに!

