LabVIEW で音声入力

LabVIEW で音声入力をする

同僚が LabVIEW に音声入力をしたいらしく奮闘しているが、デバイスID がどうのこうので、サンプルが動作せずはまっているようなので私の方でもテストをしてみました。

LabVIEW サウンド入力サンプルを動かす

関数パレットを開くと「グラフィック&サウンド」→「サウンド」→「入力」に ”サウンド入力構成” 関数があるので、まずはこれをドロップ。

clip_image001

関数を右クリックからヘルプ→サンプルに Continuous Sound Input VI: labview\examples\sound2\sound2.llb があったので、とりあえず開いて動かしてみると、確かに動きません。

clip_image002

やっかいです。

デバイスの確認

Windows Vista? の頃からか、Windows はマイクやスピーカが接続されているかちゃんと認識するようになりました。だからマイク端子にはちゃんとマイクを接続しないと、デバイスとして使用することが出来ません。

と言うわけでスピーカとマイクを Line ケーブルで接続し、マイクがつながっているかどうかを確認。

Windows Media プレイヤーで適当な音楽を流しておけば、スピーカ→マイクで音楽が入力させるはずです。

clip_image003

結果は、ちゃんと認識していて入力音声レベルがスケールに表示されているので、デバイスは問題なさそうです。

ではいったい何なのか?

正体不明な情報(Word .doc)によるとエラーコード 4800 は "マイクがない!" という事らしいが、マイクデバイスもあるし、ちゃんとマイクもつけている・・・

Microphone device not found or connected.

“Error 4800 occurred at Sound Input Configure.vi ->Continuous Sound Input.vi”Microphone needs to be connected to the computer through the microphone jack.

うーんよく分からん。

とりあえず。

とりえずは NI ディスカッションフォーラムに投稿して様子を見ます。

私の予想では、

  • Windows7 64bit
  • DirectX 11
  • LabVIEW 2010 32bit

の組合わせが良くないのではないかと。

と思ったら・・・なぜか動いた・・・

フォーラムに投稿した後、色々試してみたところ、何故か動き出しました。

私が試したのは、

  • dxdiag で DirectX バージョンの確認。
  • サウンドプロパティ「録音」の「ライン入力」を無効にして有効にする。

これをしただけ。

で、Windows を再起動してもエラーコード 4800 の現象は再現せず、何事もなかったように動きました。

同僚の PC でも何事もなかったかのように動きました。不思議だ・・・

clip_image004

参考

Using Sound Input and Sound Output Devices
http://zone.ni.com/reference/en-XX/help/371361D-01/lvhowto/using_snd_inputoutput_dev/

LabVIEW ”G” Diary from Kyoto (in Japanese)
http://d.hatena.ne.jp/zakkie/20091221

コメント