AIパワードボイスチャット
Eng | 繁中 | 日本語 | 한국어 | 简中 |
AIパワードボイスチャット
主な特徴
- OpenAI、ローカルまたはリモートテキスト生成WebUIをAIサービスとして使用するオプション
- AIが生成したメッセージを音声に変換するための組み込みTTSエンジン
- トーク中にキャラクターの顔を自動的にアニメーションさせる組み込みリップシンク
- 音声認識を組み込んで、あなたの声をテキストに変換してAIに送信する
- 選択できる英語の音声が900以上含まれており、各キャラクターに独自の声を持たせることができます
制限事項
- 音声エンジンはWindowsのみです。他のプラットフォームでは音声認識を使用して話すことができますが、応答はテキストのみになります。
## AIサービス
キャラクターに知性を与えるためのAIサービスとして使用できるさまざまなオプションがあります。以下でそれぞれの利点と欠点について議論します。
OpenAI(ChatGPT)
現時点で最も知的なオプションです。
利点:
- スマート
- 速い
- 他のリモートオプションと比較してコスト効果が高い
欠点:
- 検閲される
セットアップ: DanceXRでOpenAIサービスを使用するには、OpenAI APIキーが必要です。
- OpenAIアカウントに登録してログインします。
- ページの右上隅にあるプロフィールアイコンをクリックします。
- APIページを開くために「APIキーを表示」を選択します。
- 「新しいシークレットキーを作成」をクリックし、表示されたらキーをコピーします。キーはここでのみ表示されるので、後でフルキーを取得することはできませんので、失くさないようにしてください。
- DanceXRを開き、チャットメニューからConfigアイコンをクリックします。
- AIサービスに移動し、”OpenAI APIキー”ボックスにキーを貼り付けます。
- 次に、「AIサービス」ドロップダウンで「OpenAI(ChatGPT)」を選択し、設定が完了です。
- チャット設定で使用するモデルを選択できます。
OobaBoogaテキスト生成WebUI
このオプションを使用すると、PCが強力な場合は大規模な言語モデル(LLM)をローカルで実行できます。7bまたは13bモデルはチャットには十分です。
利点:
- プライバシーが守られ、何も送信されず、すべてがローカルで行われます。
- NSFWコンテンツに検閲されていないモデルを使用できます。
- 無料
欠点:
- OpenAIモデルほど賢くない
- 少しのセットアップが必要
- VRAMが不足していると非常に遅くなることがあります。特にDanceXRを同時に実行していると、システムはLLMを仮想VRAMに押し込んでパフォーマンスを破壊する可能性があります。
セットアップ:
- こちらの指示に従ってダウンロードしてインストールします。https://github.com/oobabooga/text-generation-webui
- WebUIをDanceXRで使用するには、APIをオンにする必要があります。これを行うには、CMD_FLAGS.txtファイルを開き、「–listen –api」を追加し、その後再起動します。
- 実行中に、モデルタブに移動して、モデルをダウンロードします(すでに持っていない場合)。
- 以下の2つのモデルのいずれかを使用することをお勧めします:https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GPTQ(7b、実行が容易)https://huggingface.co/TheBloke/Nous-Hermes-Llama2-GPTQ(13b、賢い)
- モデルリストを更新して読み込みます。
- DanceXRで、「AIサービス」->「サービスを選択」から「Local WebUI」を選択します。
- デフォルトのURL(http://127.0.0.1:5000)は、セットアップによって異なるポートやURLが必要な場合を除いて機能するはずです。
Runpodのようなリモートサービスを使用してWebUIを実行
GPUを借りてAIモデルを実行できるサービスがあります。Runpodがその1つです。彼らはWebUIのためのテンプレートを持っており、ローカルで実行するよりも簡単にセットアップできます。
利点:
- 速くて簡単
- ローカルGPUでは実行不可能なモデルを選択する自由があります。
欠点:
- OpenAIよりもやや高価
- 実行するたびにモデルをダウンロードする必要があります。しかし数分で済むはずです。
セットアップ:
- “Community Cloud”からGPUを選択し、「Deploy」をクリックします。3080tiは13bモデルを実行するのに十分です。1時間あたり26セントかかります。
- テンプレートドロップダウンから「RunPod TheBloke LLMs」を選択します。
- 実行中に、接続をクリックすると、WebUIとAPIのリンクが表示されます。APIのURLをコピーして、DanceXRの「Remote WebUI URL」ボックスに貼り付けます。
- WebUIのリンクをクリックし、モデルタブに移動してモデルをダウンロードします。
- 以下の2つのモデルのいずれかを使用することをお勧めします:https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GPTQ(7b、実行が容易)https://huggingface.co/TheBloke/Nous-Hermes-Llama2-GPTQ(13b、賢い)
- モデルリストを更新して読み込みます。
## チャットコントロール
テンプレート
テンプレートは、AIモデルが各キャラクターのチャットメッセージを生成するための駆動力です。複雑だと思うかもしれませんが、実際には非常にシンプルです。chat/templatesフォルダを開いて、デフォルトのテンプレートを開いて、その動作を確認することができます。
基本的には、平文で特定のことを誰かに指示するようなものです。デフォルトのテンプレートを変更して別の名前で保存し、チャットの内容にどのように影響するかを確認することができます。例えば、環境の説明を追加して、チャットのシナリオを設定することができます。
DanceXRでは、チャット設定→テンプレートに移動して、作成したテンプレートを選択します。
キャラクター
キャラクターは、俳優モデルの名前から派生しています。例えば、「小春ブーケカトレアヘアBサイドポニーテール」の場合、「小春」がキャラクター名として解釈され、残りの「ブーケカトレアヘアBサイドポニーテール」は彼女の衣装の説明として使用されます。
言語モデルは、よく知られている場合、キャラクターについていくらかの知識を持っているかもしれません。そのため、時々彼らが誰であり、どのように振る舞うかを知っていることがあります、特にOpenAIを使用する場合。
キャラクター設定では、キャラクターの説明や性格を入力することができ、それがチャットでの彼らの振る舞いに大きな影響を与えます。例えば、誇り高く傲慢なキャラクターを「従順で喜んで従う」と表現するだけで、その性格を変えることができます。
「プレイヤー」も実質的にはキャラクターです。自分自身についての名前、説明、性格を変更して、自分が好きなようになることができます。
ペルソナ
キャラクター設定には、ペルソナのドロップダウンもあります。これにより、TavernAIなどのAIロールプレイプログラムからダウンロードしたキャラクターを使用することができます。これらは通常、PNG形式で提供されます。png画像のメタデータには、キャラクターの説明が含まれています。
このオンラインキャラクターエディタを使用して、pngキャラクターをjson形式に変換します。https://zoltanai.github.io/character-editor/
その後、jsonを「chat/personas」フォルダに配置すると、キャラクター設定のペルソナのドロップダウンに表示されます。これを行うと、ペルソナの説明がキャラクターの説明を上書きします。
チャット履歴
新しいコンテンツを生成するたびに、チャット履歴はAIに送信され、コンテキストを維持するために使用されます。異なるシナリオやトピックに切り替えたい場合は、まず履歴をクリアして、AIが以前のチャットコンテキストに影響を受けないようにします。これを使用して、環境を操作し、チャットを進めることもできます。メッセージで何かが起こったことを説明すれば、AIはそのコンテキストで続行します。
プロンプト制限に達すると、最も古いメッセージは無視され、コンテキストに含まれません。そのため、AIは履歴の中で遠いことを忘れる可能性があります。
チャットインターフェイスでは、チャットメッセージの横にあるアイコンをクリックして、チャット履歴を操作できます。オプションには次のものがあります。
- 再生成:以下のすべてのメッセージを削除し、AIにこのメッセージを再生成させる
- 書き直し:メッセージを引き継いで自分で書き直す。これを行う場合は、メッセージの前に名前とコロンをそのままにしておく必要があります。そうしないと、システムはこのメッセージが誰からのものかわからなくなります。
- リプレイ:このメッセージからチャット履歴を再生
- エントリの削除:このメッセージを削除
- 上記を削除:これより上のすべてのメッセージを削除
- 以下を削除:これより下のすべてのメッセージを削除
温度
この値は、AIモデルがチャットメッセージを生成する際の自由度を制御します。画像生成と同様に、同じ入力でも生成結果はわずかに異なる場合があり、温度はその変動幅を制御します。
プレゼンスペナルティと頻度ペナルティ
これらの値を増やすと、AIが繰り返しコンテンツを生成する可能性が減ります。
最大生成トークンと最大プロンプト長
LLMにはトークン制限があり、この制限を超えるコンテンツは正しく生成されません。
自動生成とプレイヤー用に生成
「次のメッセージを自動生成」をオンにして、AIがタイマーが終了したときに自動的に次のメッセージを生成できるようにします。
「プレイヤー用に生成」をオンにして、AIがプレイヤーのためにメッセージを生成できるようにします。
## テキスト読み上げ
追加の声
DanceXRはPiperというTTSエンジンを使用しています。ここでは、DanceXRで使用する追加の音声モデルを聞くことができ、ダウンロードすることができます。
https://rhasspy.github.io/piper-samples/
ダウンロードしたら、それらをchat\voices\piperフォルダに入れてください。onnxファイルとonnx.jsonファイルの両方が必要であることに注意してください。
ボイスマネージャー
組み込みの音声モデルには900以上の異なる声が含まれています。デフォルトでは、最初の20個のみが有効になっています。900はユーザーが選択するには多すぎるため、他の声を有効にするには、チャットの設定からVoice -> Voice Managerに移動し、リストから声を選択し、それを聞いて”Selected”にチェックを入れて、声リストに追加できるようにします。
システム、プレイヤー、および各キャラクターの異なる声を選択することができます。
言語の一致とフォールバック
AIモデルは異なる言語のメッセージを生成することができますが、音声モデルはできません。DanceXRはメッセージの言語を判断しようとしますが、選択された音声の言語と一致しない場合、音声設定で”フォールバック”を有効にすると、言語に一致する別の声を選択できるようになります。
1.5.1のアップデートで導入された新しい設定では、デフォルトの「自動」モードの上に、チャット言語の選択が可能になりました。自動モードは以前とまったく同じように動作し、テキストの内容から言語を判断しようとします。しかし、チャット言語設定で言語を選択すると、チャットメッセージと音声の両方にその言語が使用されます。
プロンプトメッセージは、応答を生成する際にGPTモデルがどの言語を使用するかを決定する際に大きな影響を与えます。英語以外の言語を選択する場合は、選択した言語のネイティブテキストでプロンプトテンプレートを更新することが最善です。
音声からテキストへ
組み込みのWhisperモデルはあなたの声をテキストに変換し、それをAIに送信することができます。手動モードと自動モードの2つのモードがあります。
手動モード
手動モードとは、マイクボタンをクリックすると録音が開始され、終了したら再度クリックして音声が処理され、その結果がAIに送信されます。
自動モード
自動モードとは、チャットがアイドル状態(キャラクターが話していない状態)のときに自動的に録音が開始され、音声がリアルタイムで処理され、話し終わったら送信されます。ただし、時にはあまりスマートではありません。
低性能のデバイスでは、音声をテキストに変換する処理に時間がかかることがあります。そのため、Android、Quest、Picoでは自動モードは推奨されません。
キーバインディング
入力設定で、マイクの状態を切り替えるボタンを割り当てることができます。これにより、UIに入らずに録音を制御することができます。デフォルトでは、右手コントローラのメニューボタンに割り当てられています。
設定のリセットとキャラクター設定
すべてはコンテンツライブラリのchatフォルダに保存されています。すべてをデフォルトにリセットするために、chatフォルダを削除しても構いません。