Diary/2007-12-18
Juliusで遊ぶ
大語彙連続音声認識エンジン Juliusで遊んでみた。
環境は、特に音声環境の設定とかしていないFreeBSD。
- インストール
から最新版をダウンロード。
そもそもマイクから入力を得るつもりがないので、
$ ./configure --with-mictype=oss $ make $ make install
と適当にコンパイル
で、辞書等々のファイルは、ディクテーションキットよりダウンロードして展開。
http://julius.sourceforge.jp/index.php?q=juliuskit.html
- 遊んでみる
$ julius -C dictation-kit-v3.0/light.jconf -input rawfile
とかして起動。
enter filename->
とプロンプトがでるので、用意したtest.wavと入力。
で、めでたく解析結果が見られる。
- MP3からWAV作成
mpg123 --mono --rate 16000 --wav hoge.wav hoge.mp3
とか
Microsoft Speech SDK 5.1
で遊んでみようと、サンプルをコンパイルしょうとしたら、
sphelper.h内でのコンパイルエラー。
無理矢理キャストしてみたりして、とりあえずコンパイルできたけど...
よくわからないけど、Microsoft .NET Speech SDKを使えってこと?
sphelper.h.diff(201)
769c769 < const ulLenVendorPreferred = wcslen(pszVendorPreferred); --- > const size_t ulLenVendorPreferred = wcslen(pszVendorPreferred); 1418c1418 < static CoMemCopyWFEX(const WAVEFORMATEX * pSrc, WAVEFORMATEX ** ppCoMemWFEX) --- > static HRESULT CoMemCopyWFEX(const WAVEFORMATEX * pSrc, WAVEFORMATEX ** ppCoMemWFEX) 2372c2372,2373 < for (const WCHAR * psz = (const WCHAR *)lParam; *psz; psz++) {} --- > const WCHAR * psz = (const WCHAR *)lParam; > for (; *psz; psz++) {} 2559c2560 < SPPHONEID* pphoneId = dsPhoneId; --- > SPPHONEID* pphoneId = (SPPHONEID*)((void*)dsPhoneId); 2633c2634 < pphoneId += wcslen(pphoneId) + 1; --- > pphoneId += wcslen((const wchar_t*)((void*)pphoneId)) + 1;