2017年11月13日

OpenJTalkの共有ライブラリを作ってみました。

お久しぶりです。

ずっと書いてませんでした。その間、もうだいぶ経ちますが、熊本地震で家が半壊になったりしてました。

最近、また文章を書きたくなったので、投稿を再開します。

ご挨拶は、これくらいにして、さて本題です。

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に書いてあります。



posted by takayan at 07:56 | Comment(3) | 音声合成 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
すみません。
私は高校生で、文化祭で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
Posted by 田中裕二 at 2017年11月14日 23:05
テラテイルにより解決しました。
お手数をかけてすみませんでした
素晴らしいライブラリをありがとうございました。
Posted by 田中裕二 at 2017年11月15日 17:43
こちらのプラグインをUnityで使用しており、データフォルダの在り処を動的に変更したいのですが
@それは技術的に可能でしょうか
Aどうやったら実現できますか
以上2点、ご存知でしたらお知らせいただけますと幸いです。

連絡が取れるか分かりませんでしたので、githubにもIssueを立てています。

よろしくお願い致します。
Posted by rarafy at 2021年08月12日 06:32
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

×

この広告は90日以上新しい記事の投稿がないブログに表示されております。