Open nmori opened 3 years ago
報告いただきありがとうございます。ご提示いただいた仮対処でエラーが出なくなることを確認しました。名前の取得方法については少し調べてみます。
@nmori 各種テキストファイルやレジストリも眺めてみたのですが、該当する文字列は見つけられませんでした。ハードコーディングされているのかもしれませんね。
現時点で コミット済み のものは、小春六花、弦巻マキ (英)、弦巻マキ (日)で動作することを確認しましたが、他のCeVIO AIライブラリで同様のエラーが発生する可能性があります。この Issue はクローズせずしばらく様子を見てみたいと思います。
naoさんに最初に問題をご報告した者です.
setting.cfg
では確かに "Tsurumaki Maki (EN)","弦巻マキ (日)" と書かれているのですが,実際に CeVIO.Talk.RemoteService2
から呼び出すキャスト名はWindowsの表示言語に依存することが分かりました.
実際に使えるキャスト名は Talker2.AvailableCasts()
で取得できます(以下スクショではanoyetta/CeVIOAIProxyを使っています).
Windows(日本語設定) | Windows(英語設定) | |
---|---|---|
マキ日本語 | 弦巻マキ (日) | Tsurumaki Maki (JP) |
マキ英語 | 弦巻マキ (英) | Tsurumaki Maki (EN) |
従って,「日本語版Windowsで弦巻マキ (英)を使いたいとき」以外に「英語版Windowsで弦巻マキ (日)を使いたいとき」にもsetting.cfg通りでは問題が起きそうです. 私は「小春六花」を所持していませんが,同様に英語版ではKoharu Rikkaのようになっている可能性があります. なお,CeVIO AI自体の表示言語設定は日英どちらにしてもキャスト名に影響しませんでした.
Talker2.AvailableCasts()
からキャスト名称を取得する(この場合CeVIO AIを起動させておかなければなりません)setting.cfg
を表示言語に則して書き換えてくれることに期待する@kn1cht さん、検証ありがとうございます。
英語版Windowsに小春六花をインストールしてみたところ、英語表記になることを確認しました。
こちらは日本語のままでした。
そこまで頻繁にTalkは発売されないと思われるので、当面は @nmori さん方式で都度対応することとし、setting.cfg
が修正されることを期待しようと思います。
なお、ダウンロード版の弦巻マキ(日)(英)を英語版Windowsで実行した場合、インストーラー実行時に日本語ファイル名のフォルダに展開しようとしてインストールに失敗しました。
どうもAPI側の整合が取れていないようにもみえるのですが、 現状の取得方法では、ライセンスエラーがでて上手に発話できません。
[原因] Config からキャスト名をもってきますが、表記が英語であるため。 [仮対処] CeVIOAIEnumerator.cs に下記の細工をすると動くようになりました。
`
`