Open alice251 opened 2 years ago
お世話になっております。 @alice251 様がご指摘のように、たしかにビルドすると動かなくなっていますね。夜にでも詳しい原因を調査してみます。今しばらくお待ちください。
恐らくなんですが、 #1 と同様に実行時パスを直接指定すれば解決する可能性がありますね。 これも夜に確認してみます
@alice251 様 お世話になっております。こちらの問題ですが、当面2通りの解決方法がございます。
open_jtalk.zip をダウンロードし、Cドライブ直下に配置する。C:\open_jtalk\bin
となるように配置してください。
Streaming Assetsにファイルを含むよう設定し、 #1 と同様に実行時パスを直接指定する。(おそらく public JTalkTTS(String voicePath = "mei_happy", String dicPath = "StreamingAssets/OpenJTalkForUnity/dll/dic_utf_8", String voiceDirPath = "StreamingAssets/OpenJTalkForUnity/dll/voice")
などとなるはずです。)
もしくは、ビルド後に手動でフォルダを作ってexeファイルと同階層にdicファイル(上記zipファイル内のdic_utf_8ファイル)とvoiceファイルを置くという解決方法もあります。
ちなみにdicファイルとvoiceファイルの判定方法については
voice
フォルダ、voice
で始まるフォルダ、hts_voice
で始まるフォルダの順で探す。
※冒頭に(win)
とある項目はWindows限定。dic_utf_8
フォルダ、dic
で始まるフォルダ、open_jtalk_dic_utf_8-
で始まるフォルダの順で探す。
※冒頭に(win)
とある項目はWindows限定。といった順で処理が行われています。
原因は特定出来ましたが、完全な修正にはPackageManagerによる方法を廃止する必要があり、概ね1ヶ月前後を要する見込です。まずは上記の一時回避策をお試し頂けますでしょうか。
ちなみにPackage Manager(git URL)での導入が廃止されたら不便・・・ですよね。UPMにStreaming Assetsを含める方法について調査してみます。
どうしてもUPMにStreaming Assetsを含むことは出来ないようです。完全な修正に向けては
のどちらかを考えています。どちらが良いでしょうか?ご意見お聞かせいただければと思います。
ありがとうございます。 jtalk.csの書き換えて C:\open_jtalk\binにファイルを置くのと またはexeファイルと同階層にファイルを置くどちらでも build後の音声合成での音声が出ました。 exeファイルと同階層にファイルを置くのが自分の用途には合ってました。
大変助かりました。ありがとうございます。
個人的には 、1.ビルド後に別途ディレクトリを配置して頂くか(この場合はReadMeに追記します) でいいのではないかなと思います。
たぶんこれは全然別ものの話になってしまうと思いますが スマホのandroidへのBuildはやりようによってできたりするのでしょうか?
解決したようで何よりです。もし良ければReadMe.mdに直接追記しておいて頂けると助かります(たった数クリックでOSSコントリビュータを名乗れます!詳細な手順はこの辺の記事)。
AndroidへのBuildに関しては、適切な回答になってるかは分かりませんがテクニカルな解決方法が2つ、正攻法が1つあります。具体的には
という3つの方法がすぐに思い付きます。ちょっと調べてみた感じでも 「Androidでおしゃべりコマンドを試す。」 などの記事がヒットするので、Android向けのC++ライブラリの出力は恐らく出来るはずです。AndroidはLinuxベースだったはずなので、Linux向けにビルドしたパッケージがそのまま使えるかもしれません。
まだReadMeに追記してませんでした
Unity 2020.3.3.11f1を使用 Unityはwindows ビルドするプラットフォームはPC,MAC&LinuxStandaloneを選択 ターゲットプラットフォームはWindows Unityのプロジェクト上では音声合成されて動作するシーンをBuildすると音声が出ない状態です。 Apiは .Net4.xに変更してます。 Buildしたものだと音声がでない原因は何かありますでしょうか?