ChatGPT(API)との会話をマイクで行いVOICEROIDやVOICEVOXで読み上げさせるだけのスクリプト
run_local.batを起動した後、キャラクター名を呼びかけることで対象キャラのプロンプトを使いチャットを開始する
Discord Botとして稼働させてメンションテキスト or ボイスチャットでも会話可能(ローカルよりも音声認識の遅延がかなり増える為注意)
※初期設定ではマイク入力、音声読み上げで会話するようになっている為、テキストのみで使う場合はconfig.yaml
のText_Only: False
をTrueに変更する
.env
ファイルにOpenAIのAPI Keyを入力するsetup.bat
を実行- VOICEVOXをDL、インストールする(少なくともずんだもんで音声再生可能な環境にする)
.env
ファイルにOpenAIのAPI Key及びBotのToken及び使用するサーバーIDを入力するsetup.bat
を実行- VOICEVOXをDL、インストールする(少なくともずんだもんで音声再生可能な環境にする)
run_local.bat
を実行- 「起動しました!」のメッセージが出た後にテキストか音声でキャラクター名を入力(例:ずんだもん、葵、茜、きりたん、etc...)
- 対象のキャラクターとの会話が開始する
「前回の続き」と入力することで前回のsummary.txtを読み込む
「検索して」を含む文章を入力することでGoogle検索結果を踏まえて回答する(要Option設定)
「エンド」と入力することでキャラクターとの会話を終了する
再度「エンド」と入力することでbatを終了する
注意:「おやすみ」「PCをシャットダウン」と入力すると会話を要約してからshutdownコマンドを実行する為注意(完全一致でのみ実行)
run_discord.bat
を実行- 「起動しました!」のメッセージが出た後にメンションかVCでキャラクター名を入力(例:ずんだもん、葵、茜、きりたん、etc...)
- 対象のキャラクターとの会話が開始する
「前回の続き」と入力することで前回のsummary.txtを読み込む
「検索して」を含む文章を入力することでGoogle検索結果を踏まえて回答する(要Option設定)
「エンド」と入力することでキャラクターとの会話を終了する
再度「エンド」と入力することでbatを終了する
注意:「おやすみ」「PCをシャットダウン」と入力すると会話を要約してからshutdownコマンドを実行する為注意(完全一致でのみ実行)
- 通常通りDiscord Botを作成し、Botをサーバーに参加させる
- Bot Token、Discord_Text_Channel_ID、Discord_Voice_Channel_ID、Discord_Server_IDを
.env
に記載
Installの手順だけではまだVOICEROID等他読み上げソフトは実行できない
- Assistant SeikaをDL、インストールする
AssistantSeika.exe
とVoiceroidEditor.exe
を起動する- VOICEROID2にチェックを入れる
- 製品スキャンを実行
- 話者一覧タブに移動し読み上げに使うボイスプリセットのcidを確認(画像は2158)
./character/{キャラクター名}.yaml
のvoice_cid
を手順5で確認した値に変更するconfig.yaml
のAssistant_Seika_flag
をTrueに変更する
CeVIOやCOEIROINK、ガイノイドTalk等AssistantSeikaが対応してるソフトであれば上記手順で設定可能
その場合はrun_local.bat
でソフト自動起動までは行われないためあらかじめ立ち上げておく必要がある
必要に応じてGoogle検索を利用して検索結果を踏まえた回答をする(OpenAI API限定)
会話中に「検索して」を含む文章を入れるとGoogle検索を利用して検索結果を踏まえた回答をする
ただし事前にGoogle Cloud PlatformからCustom Search APIのAPI Keyを作成する必要がある
- Goole Custom Search APIのAPI Keyを作成する Custom Search APIを使ってGoogle検索結果を取得する - Qiita
.env
のgoogle_api_key
とcx
を入力する- 自環境に合うJDKをインストール Java JDKのインストール方法(Windows & Mac対応)|Code for Fun
config.yaml
のjava_home
のパスをインストールしたJDKのバージョンに合わせ変更
./character/{キャラクター名}.yaml
を追加・修正することで可能
音声認識でキャラクター名が正常に認識されないことが多い場合は、よくご認識される文章をai_name
のリストに追記する
config.yaml
のrecord_model
をfaster-whisperに変更することで利用可能
聞き間違いが多くなる為非推奨
※キャラクター名自体認識できなくなることを防ぐ為、record_model
を変更しても起動直後の音声認識はwhisperのまま