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(257)
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;