えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

LTにAIVTuberを参加させてみた

ChatGPTの出現によって広く知られるようになった単語である「AIVtuber」。

AI + Virtual + YouTuberという組み合わせにより完全自動配信の世界が到来しました。

Vtuberの先駆けとなったキャラクター(キ○ナアイ)のことじゃないですよ!

動画の完全自動生成の時代になり、さらに正確な情報を入手することが難しくなってきそうです。


元々、最近の技術は追わないようにしていたのですが、TLを見てしまうと勝手にいろいろと閃いてしまう性分なので、遅れながらAIVtuberを開発することになりました。

できる限りオープンに、そして多機能にしていきたいのでいろいろ勉強していきたいと思います。

既に大枠はできているので、もうしばらくお待ちください。(GitHubに既にアップしています)

github.com


ROS-Team LT会に参加させる!

私が主導しているプロジェクトの一つにROS-Team Open communityがあります。

学生視点に近い講習会の持続を目指しています。

元々高専生向けにクローズドだったのですが、より多くの参加者層を取り入れて交流を活発化させたいという目的で唐突に思いついて作成しました。

ar-ray.hatenablog.com

思った以上につよつよが集まってびっくりしました。


さらに何を思ったのか、LT会を開くことを12月末に計画して、今月の25日に開催する運びとなりました。

↓イベント(終了)

LT会#1 (2023/03/25) - connpass


LTの開催日も近づいた前夜、元々作成していたAIVtuberを使ってよく分からなことを思い付いてしまいました…

AIVtuberに進行役などをさせたら面白そうだと思った次第です。

元々YouTube向けに入出力を作っていたので当然ながら時間が足らず、当日はコメント出力のみをさせています。

AIVtuberの詳細は今後の記事や本などで追って解説します。


構造は次のとおりです。

オンラインミーティングは入力がマイク、出力がスピーカーである必要がありますが、このAIVtuberの入力はテキスト、出力はマイクとなっています。相性最悪。

使用しているGoogle MeetにBot向けAPIが無さそうだったので音声入力からのコメント出力という機能にしました。

Ubuntuに標準で搭載されているミキサーアプリケーションを使って仮想スピーカーと仮想マイクを結合させています。


結果

AIVtuberをLT会に出現させることに成功しました🙌

(もちろんちゃんと発表は聞きました。初回にしてはかなりハイレベルなLTだったと思います)

文字列の入力には pyautogui を使用して出力予定の文字列を入力させています。

ただ、pyautoguiとUbuntu22の相性が悪いのか、出力ができる時とできない時がありました…

あと、日本語は出力できなかったので、英語のみ話させようとプロンプトを組んだつもりでしたが、普通に発表中の日本語に引っ張られて 日本語コメント→日本語部分欠損→ROSのみ残る→ROS連投BOTとなってしまいました…


今後の改善

AIVtuberをミーティングに参加させるという発想はなかったので、いろいろと試せたという意味で自分でLTを企画して良かったなと考えています(好き勝手できたので🙃)

ただ、入出力に関して詰めが甘いところがあったので、AIVtuberと1on1ミーティングができるようにしたいです。特にスピーカーに出力されるはずのものを仮想マイクに入力させるのはやったことがなかったので手こずりました。

外部ミキサーが必要そうな気はしますが、ラズパイ等に頼って外付けAIVtuberとかにするのも面白そうですね…(whisper部分の処理は重めなので工夫が必要そうです)

あと、画面共有でNaoを召喚していましたが、よく考えたらウェブカメラの入力ををスクリーン出力にすべきでした… (まだ調べきれていない)

この世の中にはChatGPTという素晴らしいツールがありますので、これを活用して改善させていきたいと思います。


将来的にリリース予定の開発者向けAIVtuberの作成を進めていきますのでご期待ください。