- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!Juliusで遊ぶ
[大語彙連続音声認識エンジン Julius|http://julius.sourceforge.jp/]で遊んでみた。
環境は、特に音声環境の設定とかしていないFreeBSD。
::インストール
http://julius.sourceforge.jp/index.php?q=newjulius.html
から最新版をダウンロード。
そもそもマイクから入力を得るつもりがないので、
$ ./configure --with-mictype=oss
$ make
$ make install
と適当にコンパイル
で、辞書等々のファイルは、ディクテーションキットよりダウンロードして展開。
http://julius.sourceforge.jp/index.php?q=juliuskit.html
::遊んでみる
Microsoft PCM, 16 bit, mono 16000 Hzな音声ファイル test.wavを作成して
$ julius -C dictation-kit-v3.0/light.jconf -input rawfile
とかして起動。
enter filename->
とプロンプトがでるので、用意したtest.wavと入力。
で、めでたく解析結果が見られる。
さて、遊ぶぞ〜
::MP3からWAV作成
mpg123 --wav hoge.wav hoge.mp3
mpg123 --mono --rate 16000 --wav hoge.wav hoge.mp3
とか
!Microsoft Speech SDK 5.1
で遊んでみようと、サンプルをコンパイルしょうとしたら、
sphelper.h内でのコンパイルエラー。
無理矢理キャストしてみたりして、とりあえずコンパイルできたけど...
よくわからないけど、Microsoft .NET Speech SDKを使えってこと?
{{ref sphelper.h.diff}}
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;