お久しぶりです。
ずっと書いてませんでした。その間、もうだいぶ経ちますが、熊本地震で家が半壊になったりしてました。
最近、また文章を書きたくなったので、投稿を再開します。
ご挨拶は、これくらいにして、さて本題です。
OpenJTalkの音声をいろんなプログラミング言語から便利に使える、共有ライブラリを作ってみました。名前はとりあえず、jtalkDLLです。Windows、Ubuntu、macOS で動作します。 以前からlinuxのスクリーンリーダー用に非同期発声対応の日本語音声合成APIを作りたかったというのが切っ掛けでした。そちらはまだ完成してないのですが、途中から各言語のFFIに対応させるのが面白くて、そちらに偏ってきてしまったという感じです。
githubに公開しています。
https://github.com/rosmarinus/jtalkdll
README.md に詳しい説明を書いているので、それを読めばインストールできるでしょう。でも、ちょっと細かく書きすぎて読む方はうんざりするかもしれません。
Windows 版だけ、Releaseページにビルド済みファイルを置いてあります。ビルドも環境を構築すれば、build.batのダブルクリックでうまくいくはずです。
他のプラットフォームでは必要なコマンドをそろえたあとで、次のコマンドでインストールしてください。
git clone https://github.com/rosmarinus/jtalkdll.git
cd jtalkdll
bash build
ffiフォルダにあるサンプルコードやそれから実行ファイルを作るビルドスクリプトを参考にすれば、いろいろ書けると思います。
https://github.com/rosmarinus/jtalkdll/tree/master/ffi
まだいくつか不具合もあります。その点もREADME.mdに書いてあります。
私は高校生で、文化祭でOpenJtalkを使ったソフトを展示するものです。
あなたの素晴らしいライブラリ使いたいのですが、Java初心者であまりよく使い方がわかりませんでした
実はJavaでRaspberry PiでOpenJtalkを動かしたかったのですが、故障してしまい急遽PC(Win10)で動かすことになりました。そこであなたのサイトを見て使わさせてもらいたかったのですが
java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: JTalkJna
と出て使えませんでした
ビルド済みのOpenJtalkをプロジェクト直下に設置してそのファイルの中にffi(masterdll)から抜き取ったものを入れています。
IDEのライブラリにはsun.JNIを入レ,その他にも、ffi内のJavaのファイル内のファイルをすべて突っ込みました。が、readmeの通り(Javaに書き換えて)入れてみましたがだめでした。
お時間がよければ、ぜひご回答をお願いします。
今、テラテイルにも回答を募集シております。どちらでも構いません。
テラテイル: https://teratail.com/questions/100506
お手数をかけてすみませんでした
素晴らしいライブラリをありがとうございました。
@それは技術的に可能でしょうか
Aどうやったら実現できますか
以上2点、ご存知でしたらお知らせいただけますと幸いです。
連絡が取れるか分かりませんでしたので、githubにもIssueを立てています。
よろしくお願い致します。