2011-09-19
MMDAgent1.0の語彙数上限ひきあげ
MMDAgent1.0のデフォルトでは音声認識のJuliusの制約で語彙の上限が65534となっています。そこで、語彙数の上限をひき上げるためにソースを一部書き換えてコンパイルしなおしました。これで上限が理論上2^31語になります。
やり方
MMDAgent-1.0\Library_Julius\src\msvc\config\config-msvc-libsent.hの
#undef WORDS_INT
を
#define WORDS_INT 1
に変えます。
備考
開発環境
まっさらなWindows7(32bit)に以下の順番でインストールした環境でコンパイルしました。
- Visual Studio Express 2008
- Windows SDK
Juliusのバグ?対策
Juliusのバグ?のせいか、#define WORDS_INT 1にするとMMDAgent付属のlang_mディレクトリのweb.60k.8-8.bingramv5.gzの読み込み時にエラーが起きてJuliusが起動しません。
対策として古いバージョンのngramファイルに差し替える方法があります。
方法
http://sourceforge.jp/projects/julius/releases/44943のweb.60k.8-8.bingramv4.gzをweb.60k.8-8.bingramv5.gzにリネームして置換します。
参考
- Julius • View topic - 10万件以上のデータを入力したいと思いますが語彙の上限等はあるのでしょうか?
- MMDAgentいいなー « ほったてCV実験室
- Julius-4.2のMacPortsで日本語音声認識 - 自然言語処理 on Mac
追記
- MMDAgent1.2でもこのやり方で出来ました。
トラックバック - http://d.hatena.ne.jp/expectorate/20110919/1316463524
リンク元
- 4 http://d.hatena.ne.jp/hjym_u/20110514/1305343939
- 3 http://d.hatena.ne.jp/hjym_u/?of=10
- 3 http://www.google.co.jp/url?sa=t&rct=j&q=web.60k.8-8.bingramv5.gz&source=web&cd=2&ved=0CCMQFjAB&url=http://d.hatena.ne.jp/expectorate/20110919/1316463524&ei=jFbJTrjWCO_1mAXTgMEG&usg=AFQjCNEHxfy-apEiGXyDMxw3KCJATBfodg&sig2=j2TsOIGvMA2of7vE-srzh
- 2 http://d.hatena.ne.jp/expectorate
- 2 http://d.hatena.ne.jp/hjym_u/
- 2 http://d.hatena.ne.jp/keyword/DirectX
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=mmdagent1.0&source=web&cd=2&ved=0CCgQFjAB&url=http://d.hatena.ne.jp/expectorate/20110919/1316463524&ei=T2f0TpGdOqikmQWWm_20Ag&usg=AFQjCNEHxfy-apEiGXyDMxw3KCJATBfodg
- 2 http://www.google.co.jp/url?sa=t&rct=j&q=web.60k.8-8.bingramv4.gzフォルダ&source=web&cd=2&ved=0CCQQFjAB&url=http://d.hatena.ne.jp/expectorate/20110919/1316463524&ei=_TTTTtjoCc3qmAX2qvS9DQ&usg=AFQjCNEHxfy-apEiGXyDMxw
- 1 http://d.hatena.ne.jp/diarylist?of=100&mode=rss&type=public
- 1 http://d.hatena.ne.jp/hanecci/20110924/1316867258