[Julius Web page]
[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[julius-u:00256] マルチスレッド化について質問


ココネ株式会社 関口と申します

同時アクセス可能な認識アプリケーションを作る場合のマルチスレッド化について以下2点伺います

スレッド間で音響モデルは同一で、言語モデル(文法モデル)および認識する音声ファイルが異なる場合について伺います

1.スレッドが個別のエンジンインスタンスを生成する場合
各スレッドが以下のAPI関数を呼び出す場合ですが、
*******************
j_config_load_file_new   jconfファイルを読み込んでjconfのパラメタを設定
j_config_load_args 言語モデル,音声ファイルを指定する
j_create_instance_from_jconf()   エンジンインスタンスを生成する
j_adin_init()
j_recog_info()
j_open_stream()
j_recognize_stream()
j_recog_free()
*******************
スレッドがそれぞれエンジンインスタンスを生成すると思いますが、スレッドセーフになっているでしょうか
何かインスタンス共有の変数を同時に更新する、といったことはあり得ませんでしょうか

2.プロセスに1つエンジンインスタンスを生成して、各スレッドで共有させる場合
音響モデルのロード時間を節約するため、エンジンインスタンスを最初の一回だけ生成するようなしくみにする場合の方法を教えていただけますようお願いします
プロセスで初期処理として以下のようにjconfに音響モデルをロードします
*******************
j_config_load_file_new
j_create_instance_from_jconf()   エンジンインスタンスを生成して音響モデルをロード

*******************
各スレッドに、言語モデル、認識する音声ファイルを設定して、認識を実行させるためのAPI関数の呼び出し方を教えてください
その処理はクリティカルセクションになるでしょうか

また、juliusは複数モデルを用いた認識が可能で、エンジンインスタンスで複数の認識インスタンスを並列に処理できます
これを利用して、各スレッドを同時実行することは不可能でしょうか

よろしくお願いいたします


-- 
----------------------------------------
Cocone Corporation
Sekiguchi Tomoko
KM Bldg 4F, 5-5-7
Nishigotanda, Shinagawa-ku, Tokyo, Japan
Tel +81-3-5719-4774
Fax +81-3-5719-4784
----------------------------------------

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: