🍉

AItuber最前線!AIを使った3Dキャラとの対話

2024/12/23に公開

はじめに

株式会社松尾研究所でインターンをしているsinoです。
本記事は、松尾研究所 Advent Calendar 2024の記事です。

もともとアニメが非常に好きで、キャラクターとの会話に関心があったため、AIを利用して手軽に対話を体験できるサービスやアプリについて調査しました。

今回は、AITuberキットというAITuber用のブラウザアプリと、AITuberにとって重要な要素である音声合成デスクトップアプリのAivisSpeechを紹介したいと思います。

上記2つは手軽に実装し、試すことができ、非常におすすめのため選ばせていただきました。

AITuberキットの調査

概要

AITuberキットとは

AITuberキットとは、AI技術を駆使して、YouTubeで簡単に配信をすることが出来るブラウザアプリです。
3DのキャラクターがYouTubeのコメントを読み取って、LLMで返答文章を生成、テキスト読み上げで音声として返答することができます。
React/TypeScriptを使用しており、pixiv社が公開している、簡単にAIキャラクターと会話ができるChatVRMというアプリを改造して作成されています。
https://note.com/nike_cha_n/n/ne98acb25e00f
https://github.com/tegnike/aituber-kit

機能紹介

言語は、日本語・英語・中国語・韓国語を使用できます。
LLMは、OpenAI、Anthropic、Googleなどの企業のLLMに加えて、ローカルLLMも利用することができます。
TTSは、VOICEVOX、Koemotion、Google Cloud TTS、Style-Bert-VITS2、GSVI TTS、ElevenLabsから選ぶことが出来ます。
キャラクターモデルは、デフォルトで一体入っていますが、VRM形式であれば、使用できます。
商用利用可能な無料配布のモデルなどもあるので、好きなモデルを選択してください。

Style-Bert-VIT2での実装

ここからは、LLMにOpenAIのGPT-4o mini、TTSにStyle-Bert-VIT2を使用したWindowsでの実装を紹介します。
Style-Bert-VIT2では簡単に高品質な音声合成を利用できるため今回の実装で使用します。
手順としては、以下3ステップになります。

  1. AITuberキットの立ち上げ
  2. ChatGPTのAPIを取得
  3. Style-Bert-Vits2でローカルサーバを立ち上げる

1.AITuberキットの立ち上げ

AITuberキットのセットアップは以下記事を参照してください。
https://note.com/nike_cha_n/n/ne98acb25e00f

2.ChatGPTのAPIを取得

クレジットは先払いになりますので注意してください。
APIの取得方法については、以下記事を参照してください。
今回はAITuberキットの、設定>AI設定>AIサービスを選択 で「OpenAI」、OpenAI API キーで、取得したAPIキーをフォームに入力、モデルを選択 で「GPT-4o-mini」を選択してください。
https://excelcamp.jp/ai-bot/media/howto/23133/
https://openai.com/index/openai-api/

3.Style-Bert-VIT2でローカルサーバを立ち上げる

Style-Bert-VIT2はZipファイルか、CLIでインストールしてください。
セットアップは以下READMEを参照してください。
https://github.com/litagin02/Style-Bert-VITS2?tab=readme-ov-file
CLIでの使い方はdocs/CLI.mdを参照してください。
ステップは0までで今回の実装は可能です。
インストールが終わったら、ローカルサーバーを立ち上げます。
Zipファイルでインストールした場合は、Server.batをダブルクリックしてください。
CLIでインストールした場合は、server_fastapi.pyを実行してください。
また、AITuberキットの、設定>音声設定>合成音声エンジンの選択 で「Style-Bert-VITS2を使用する」を選択します。

AITuberキットの動作確認

システムが構築できたので、画面下部のフォームから文字を入力するかマイクボタンを押して何か話してみましょう。文字の返答と音声の再生ができていたら上手くいっています。

設定からキャラクター設定を変えたり、キャラモデルを変更したりなど様々な工夫が出来るのでぜひ自分好みのキャラクターを作ってみて下さい。

AivisSpeechの調査

概要

AivisSpeechは、AivisProjectの5つの製品の中の1つで、VOICEVOXのエディターUIをベースにした、日本語音声合成ソフトウェアです。
使いやすいUIでイントネーションや話速などを簡単に調整して、誰でも自由に高品質な音声を合成することが出来ます。
https://aivis-project.com/

機能紹介

話速、スタイルの強さ、テンポの緩急、音高、音量をパラメータで変更することが出来ます。
選択した話者によっては、複数のスタイル(喋り方)を変えることができ、通常、悲しみ、喜びなど声色を自由に指定できます。読み方&アクセント辞書があるため、正しく発音されない単語については修正することが出来ます。また、テキストファイルを読み込ませることもできます。

Style-Bert-VIT2で作成したモデルの使用方法

ここでは先ほども紹介したStyle-Bert-VIT2で作成したモデルの使用方法について紹介します。
現在(2024/12/18時点)はまだ、Style-Bert-VIT2からAivisSpeechで使用する.aivmxファイルに変換してくれる機能が実装中であるため、すぐに試したい方のために手順を解説します。
AivisSpeechを試してみたい方は以下公式のnoteを参照してください。
https://note.com/jpchain/n/nb31893cab32a

必要なものは、動かしたい音声合成モデルの「.aivmxファイル」です。
それを作成するには、Style-Bert-VIT2で得られる3つのファイルと、「.onnxファイル」を用意してAivisGeneratorで変換する必要があります。

手順は以下4ステップです。

  1. Style-Bert-VIT2で学習が完了した際に得られる3つのファイルを用意する
  2. 「.onnxファイル」を作成する
  3. AivisGeneratorで上記合計4つのファイルを変換する
  4. 得られた「.aivmxファイル」を音声合成モデルに指定する

1.Style-Bert-VIT2で学習が完了した際に得られる3つのファイルを用意する

まずは、SBVで学習が完了した際に得られる、

{モデル名}.safetensors
config.json
style_vectors.npy

を入手します。
Windowsの場合
場所は\Style-Bert-VITS2\model_assetsの中にある使用したい音声合成モデルのファイル内です。

2.「.onnxファイル」を作成する

次に、「.onnxファイル」を作成するため。以下のコードを実行します。
convert_onnx.py
実行時には、Style-Bert-VITS2を利用する際にインストールするライブラリなどが必要です。
適宜足りないものはインストールしてください。
実行すると、「.onnxファイル」を入手できます。

3.AivisGeneratorで上記合計4つのファイルを変換する

AivisGeneratorで1.ファイル選択の下部にあるここに先ほどまでに入手したファイルを選択します。

選択したら、手順に沿って2.メタデータ編集 を行い3.AIVM / AIVMX ファイルを生成 を行ってください。

4.得られた「.aivmxファイル」を音声合成モデルに指定する

利用するのは末尾がXの「.aivmxファイル」の方です。
AivisSpeechで、設定>音声合成モデルの管理>インストール/更新から、
先ほど作成した「.aivmx」を指定します。
これで、モデルから自分が作成したものを選べるようになります。

まとめ

AItuberキットとAivisSpeechについて紹介してみました。
AItuberキットについては、LLMを変更したり、キャラモデルやプロンプトを変更したりすることで、自由にカスタマイズして配信することができますし、AivisSpeechでは、他の方が作成したモデルを簡単に利用したり、ChatGPTにフォーマットを指定させて書かせたテキストを読み込ませることで一瞬で対話音声を作成したりすることができます。様々な工夫や楽しみ方があると思いますので、ぜひ試行錯誤して好みのキャラクターを作ってみて下さい。
ここまで読んでくださりありがとうございました!

松尾研究所テックブログ

Discussion