NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ExpressVIのサウンドを集録がもつ仕様について

解決済み
解決策を見る

PCのマイク端子から音声信号を取得するプログラムを作りました。ExpressVIの「サウンドを集録」を用いてデータ収録をしているのですが、収録時間の設定を0.1秒以下にしたらLabViewがハングしてしまいます。「サウンドの収録」コマンドの収録時間に対する下限値仕様は決まっているのでしょうか。お判りになる方がいたら御教示下さい。

0 件の賞賛
メッセージ1/3
1,243件の閲覧回数
解決策
トピック作成者hide19が受理

私の手元でも、durationを0.01などにすると、ハングする現象を確認しました。

Express VIを開いて原因を探ろうとしましたが、サブVI内では実行のハイライトが使えず、それ以上探れませんでした。

 

そのため、 "Finite Sound Input.vi "のサンプルを用いて確認しました。

"Sound Input Read.vi"でハングしているようです。内部ではDLLを呼び出していて、

取得するサンプル数が十分あれば配列として値が返りますが、例えば "200" のようにすると、空の配列しか返されず、

タイムアウトエラーが発生します。

YuT_0-1648781648451.png

 

https://forums.ni.com/t5/LabVIEW/lvsound2-dll-continuous-sound-input-read-vi-hanging-issue/td-p/1772...

上記スレッドを見ると、サウンドカードがいまいちなんじゃない?という回答がされています。

「バッファオーバーフローが起きてるんじゃない?」というコメントも見られます。

確かに私のPCはスペックが比較的低いものです。

 

試しにサンプリング周波数を落とすと、ハングなく収録できました。

hide19さんの手元でも、サンプリング周波数を変更してお試しいただくといかがでしょう。

 

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
0 件の賞賛
メッセージ2/3
1,228件の閲覧回数

Yu.T様

早速の返信有難う御座いました。

 

参考トピを見る限りかなり前からこのような現象は知られているようですね。

私が使用しているのはノートPCなので、この手のペリフェラルはごみのような性能だと思います。

もう一台LabViewをインストールしてあるPCが手元に有りますが、此方で確認したところ0.2s以下でハングしました。

どうやらマシン依存性もあるようで、「**s以下は動かない」といった仕様にすることもできなさそうです。

コマンドへのパラメータを少し変えて検討してみます。

 

それから、少し調べて頂いたようでお手数お掛けしました。

有難う御座いました。

0 件の賞賛
メッセージ3/3
1,212件の閲覧回数