アニメーション付きの音声対話システム【exeファイルあり】

# デモ
<iframe width="560" height="315" src="https://www.youtube.com/embed/MnVfw2VrjME" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

# exeファイル公開場所
https://github.com/iris-aegis/PersonalAssistantOfficial

# 役立つ人
* 好きなキャラクターの見た目で会話したい人
* VOICEVOXのキャラと会話したい人

# 対応環境
* windows：[exeファイル](https://github.com/iris-aegis/PersonalAssistantOfficial/blob/main/PersonalAssistant-v1.1.1/PersonalAssistant-v1.1.1.exe)がwindows10,11で動作確認済みです。
* それ以外：[ipynb](https://github.com/iris-aegis/PersonalAssistantOfficial/blob/main/PersonalAssistant-v1.1.1/PersonalAssistant-v1.1.1.ipynb)か[pythonファイル](https://github.com/iris-aegis/PersonalAssistantOfficial/blob/main/PersonalAssistant-v1.1.1/PersonalAssistant-v1.1.1.py)をご自身のローカル環境で実行してください。（必要なライブラリのインストールコマンドも記載しています）
* GPUがあるとVOICEVOXでの音声合成が早くなります。（デモ動画はGPUなし）

# 構成
* 音声認識：[Google Speech Recognition API](https://github.com/Uberi/speech_recognition/tree/master)
* ChatGPT：gpt-3.5-turbo
* 音声合成：VOICEVOX API（アプリ版）
* 立ち絵キャラ：雨晴はう（画像製作者様：縁若そばこ様）

# できること
#### 立ち絵を任意のキャラに変更

<img width="500" alt="画像差し替え位置.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3470736/da428173-ff2a-f4e3-8e29-c55728bfc09f.png">

エクスプローラーでダウンロードしたフォルダのresourcesフォルダにある[雨晴はう立ち絵ver1.20_n.png](https://github.com/iris-aegis/PersonalAssistantOfficial/blob/main/PersonalAssistant-v1.1.1/resources/%E9%9B%A8%E6%99%B4%E3%81%AF%E3%81%86%E7%AB%8B%E3%81%A1%E7%B5%B5ver1.20_n.png)と[雨晴はう立ち絵ver1.20_u.png](https://github.com/iris-aegis/PersonalAssistantOfficial/blob/main/PersonalAssistant-v1.1.1/resources/%E9%9B%A8%E6%99%B4%E3%81%AF%E3%81%86%E7%AB%8B%E3%81%A1%E7%B5%B5ver1.20_u.png)のファイル名は変更せずに、ファイルの中身だけ差し替えてください。その後にアプリを起動すると立ち絵が更新されます。


<img width="600" alt="画像差し替えスクショ.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3470736/b6a78fe7-1818-4415-709b-cac8119d688c.png">

#### 任意のVOICEVOXのキャラに声を変更
```speaker_id:60```
現在(2023/6/4)変更できる声の一覧は以下の通りです。

| キャラクター名 | モード     | ID  |
|----------------|-----------|-----|
| 四国めたん      | ノーマル | 2   |
| 四国めたん      | あまあま | 0   |
| 四国めたん      | ツンツン | 6   |
| 四国めたん      | セクシー | 4   |
| 四国めたん      | ささやき | 36  |
| 四国めたん      | ヒソヒソ | 37  |
| ずんだもん      | ノーマル | 3   |
| ずんだもん      | あまあま | 1   |
| ずんだもん      | ツンツン | 7   |
| ずんだもん      | セクシー | 5   |
| ずんだもん      | ささやき | 22  |
| ずんだもん      | ヒソヒソ | 38  |
| 春日部つむぎ    | ノーマル | 8   |
| 雨晴はう        | ノーマル | 10  |
| 波音リツ        | ノーマル | 9   |
| 玄野武宏        | ノーマル | 11  |
| 玄野武宏        | 喜び     | 39  |
| 玄野武宏        | 7ツンギレ | 40  |
| 玄野武宏        | 悲しみ   | 3   |
| 白上虎太郎      | ふつう   | 12  |
| 白上虎太郎      | わーい   | 32  |
| 白上虎太郎      | びくびく | 33  |
| 白上虎太郎      | おこ     | 34  |
| 白上虎太郎      | びえーん | 35  |
| 青山龍星        | ノーマル | 13  |
| 冥鳴ひまり      | ノーマル | 14  |
| 九州そら        | ノーマル | 16  |
| 九州そら        | あまあま | 15  |
| 九州そら        | ツンツン | 18  |
| 九州そら        | セクシー | 17  |
| 九州そら        | ささやき | 19  |
| もち子さん      | ノーマル | 20  |
| 剣崎雌雄        | ノーマル | 21  |
| White         | ノーマル | 23  |
| White         | たのしい | 24  |
| White         | かなしい | 25  |
| White         | びえーん | 26  |
| 後鬼           | 人間ver  | 27  |
| 後鬼           | ぬいぐるみ | 28  |
| No.7          | ノーマル | 29  |
| No.7          | アナウンス | 30  |
| No.7          | 読み聞かせ | 31  |
| ちび式じい     | ノーマル | 42  |
| 櫻歌ミコ       | ノーマル | 43  |
| 櫻歌ミコ       | 第二形態 | 44  |
| 櫻歌ミコ       | ロリ     | 45  |
| 小夜/SA        | ノーマル | 46  |
| ナースロボ     | ノーマル | 47  |
| ナースロボ     | 楽々     | 48  |
| ナースロボ     | 恐怖     | 49  |
| ナースロボ     | 内緒話   | 50  |
| †聖騎士 紅桜†    | ノーマル | 51  |
| 雀松朱司          | ノーマル | 52  |
| 麒ヶ島宗麟        | ノーマル | 53  |
| 春歌ナナ          | ノーマル | 54  |
| 猫使アル          | ノーマル | 55  |
| 猫使アル          | おちつき | 56  |
| 猫使アル          | うきうき | 57  |
| 猫使ビィ          | ノーマル | 58  |
| 猫使ビィ          | おちつき | 59  |
| 猫使ビィ          | 人見知り | 60  |


#### キャラの人格を変更
```change_persona:人格の設定文```
以下の観点で設定文を作るといいかもしれません。
* エージェントの役割：```女の子として、妹として、友達として```
* ユーザーの役割：```恋愛的に好きな相手に対して、友達に対して```
* 口調：```ため口で、敬語で```
* 長さ制限：```二言で、２０文字で```

例：```メイドとして、ご主人様に対して敬語で２０字以内で返答をしてください。```

# 今後の開発予定
* Unityへ移植
* 以下のアニメーションの追加
* 応答文に対応した感情変化
* 口形素に応じた口パク
* 周期的な目閉じ
* ユーザの発話に対応した頷き・相槌
* 様々なタイプのUI

# 参考記事
https://qiita.com/hatt_takumi/items/d65c243294f250724c19