Linux では,以下のサウンドドライバに対応しています.
これらは configure 実行時に自動判別されます.
使用ドライバを明示的に指定したい場合は,configure で"--with-mictype=TYPE" を指定してください(TYPEには oss もしくは alsa を指定).
16bit,16kHz,monoral で録音できることが必須です.
正しく録音できるどうかは,現状ではドライバやチップとの相性に大きく左右されます.よくある "Sound-Blaster Pro 互換" の設定ではおそらく正しく動作しません.特に,NotePC についてはドライバの相性が問題となることが多く,16bit,16kHz録音がサポートされているとされるチップであっても,実際には録音音質が非常に悪く使用に耐えないものもあります.ご留意下さい.
Juliusはミキサーデバイスの設定を行いません.録音デバイスの選択や各デバイスのボリューム調節は xmixer などで別途行ってください.
関連リンク:
Solaris 2.5.1 および 2.6 で動作確認をしています.
デフォルトのデバイス名は "/dev/audio" です.環境変数 AUDIODEV で指定できます.
起動後オーディオ入力がマイクに自動的に切り替わります.また音量は 14 に自動設定されます.
SunOS 4.1.3 で動作確認をしています.コンパイルにはヘッダ
デフォルトのデバイス名は "/dev/audio" です.環境変数 AUDIODEV で指定できます.
起動後オーディオ入力がマイクに自動的に切り替わります.音量は 20 に自動設定されます.
IRIX 6.3 で動作確認をしています.(5.x でも動作する可能性は大)
起動後オーディオ入力はマイクに自動的に切り替わりますが,ボリュームは自動調節されません.apanelコマンドで別途調節してください.
FreeBSD 3.2-RELEASEで、ドライバはsndで動作確認をしました."--with-mictype=oss" で動作します.
ミキサーの設定は行われません.入力デバイスの選択(MIC/LINE)やボリューム調節を他のツールで行うようにしてください.
サウンドカードなどの注意点は Linux の項をご覧下さい.
mic API type : oss (Open Sound System compatibles)自動判別に失敗する場合は,configure にオプション"--with-mictype=TYPE"を指定してください.TYPEは oss, alsa, freebsd, sol2,sun4, irix のどれかを指定します.
なお 3.1p1 よりドライバが ALSA であっても OSS API使用がデフォルトとなりました。ALSA ドライバーをお使いの方も OSS emulation での使用をお奨めします.ALSA native API 使用版(β版)を使用したい方は "--with-mictype=alsa" を指定してください.
マイク入力を認識させるには,起動時に "-input mic" を指定します.すると起動後,以下のようなプロンプトが出て音声のトリガ待ちになります.(プロンプトが出る前に発声した内容は無視されます)
<<< please speak >>>プロンプトを確認後,マイクに向かって発声します.口の位置はマイクから15cm程度離し,できるだけはっきり発声して下さい.
一定以上のレベルの入力があるとJuliusは第1パスの処理をはじめます.解析は入力と平行して進みます.次に長い無音区間が現れたらそこで第1パスの解析をやめて第2パスへ移行し,最終結果を出力します.その後また入力待ちになる,を繰り返します.
|
マイク入力の場合,基本的に最初の第1発話は正しく認識できません.
これは,実時間処理では直前の入力で計算したCMNパラメータを次の入力で使用する仕組みになっているため,最初の入力では CMN を行えないためです. 最初の入力は「マイクテスト」などと適当な入力を行い,2回目以降から本 入力を開始するようにしてください. ただし "-cmnload filename" で初期 CMN パラメータをファイル から読み込み,第1発話からCMNを適用することができます.また Julius/Julian 内のCMNパラメータは "-cmnsave filename" で保存できます. |
なお起動時に "-demo" を指定することで第1パスの解析途中の候補をリアルタイムに出力することができます.
調節の流れですが,まずマイクのボリュームを調節してから,トリガレベルを決定します.ボリュームは入力音声が割れない程度に大きくします(他の録音ツール等で正しく録音できているかチェックすると良いでしょう).
感度が鈍くて音声を検出できない場合や,逆に周囲の雑音でトリガしてしまう場合は,トリガレベルを調節します.トリガレベルはオプション "-lv" で指定できます.値の範囲はunsigned short の振幅 (0-32767) で,デフォルトは 3000 です.トリガレベルが大きいと感度が鈍り,小さいと感度が鋭くなります.
また,発話開始や発話終了部分の音声が切れてしまう場合は,トリガレベルを下げると 途切れずに収録できることがあります.
% ./adinrec/adinrec myfile上記のように実行すると,adinrec はマイクから1回分の発声をファイル myfile に記録します.この adinrec は Julius 本体と同じ取り込みルーチンを使用しているので,この録音ファイルの音質がすなわちJuliusが認識しようとしている音声の音質になります.
オプションを指定しない場合,録音ファイルはヘッダなしの 16kHz, monoral, signed 16bit big endian です.以下のコマンドで再生できます(要sox)
Linux/OSS: sox -t .raw -r 16000 -s -w -x -c 1 myfile -t ossdsp -s -w /dev/dsp Linux/ALSA: aplay -f s16b -r -s 16000 myfile Solaris2: sox -t .raw -r 16000 -s -w -c 1 aaa -t sunau -w -s /dev/audio記録した音声波形を見るには,例えば以下のツールを使用してみてください.