アナログ音声の検知


あうたん  2008-06-04 14:06:59  No: 139838  IP: 192.*.*.*

以前よりDOMっておりましたが今回ご質問させていただくことになりました
あうと申します。

早速ですがVB6.0にてPCのサウンドボードのラインインより入力された音声の
無音検知を行いたいと考えているのですが、どういった方法がありますでしょうか?

具体的には、ラインより入力された音声が一定時間無音(何db以下とか)だったらという検知を行いたいのですが・・・

音声に関しての知識を習得しないまま質問をしてしまっているので
とんちんかんなお返事になるかもしれませんが、どうぞよろしくお願い致します。

外部DLLなど使わないでやれるに越したことはないのですが、

編集 削除
やじゅ  2008-06-04 16:15:28  No: 139839  IP: 192.*.*.*

WaveIn関数にて音声を取込んで、WAVEファイル化するなりして
一定時間無音かの判断(波形が小さいとか)でしょうかね 

WAVE 入力デバイス インターフェイス コントロール (WaveIn コントロール) とは?
http://www32.ocn.ne.jp/~kentaro/Programs/WaveIF/WaveIn/Intro.html
WaveCutterマニュアル
http://hp.vector.co.jp/authors/VA017945/wc_man/Man3.htm

編集 削除
あうたん  2008-06-04 16:40:37  No: 139840  IP: 192.*.*.*

やじゅ様  レスありがとうございます。

できれば入力ソースのAudio Level が拾えてリアルタイムで
監視できるといいのですが(^^;

メディアエンコーダのコンポーネント越しに音声の入力レベルって
とれないもんでしょうか?
(そもそもコンポーネントなんてないかもしれず全く想像で話しちゃってます
m(_  _)m)

編集 削除
やじゅ  2008-06-04 17:28:25  No: 139841  IP: 192.*.*.*

「音声 キャプチャ」で検索するとか・・・
DirectShow.NETを使って音声キャプチャ 
http://d.hatena.ne.jp/kent013/20080524/1211598985

あとは適当に調べてね

編集 削除
オショウ  2008-06-05 11:41:07  No: 139842  IP: 192.*.*.*

外部DLL使わずに・・・は無理です。
またミキサーで各入力のボリュームの状態もチェックしないと
本当に無音なのか、ただ単にボリュームが絞ってあったのか、
判断できません。

今は、DirectXがありますので、簡単?にできますが、私がやっ
た折は、C言語で作成しました。因みにMFCでActiveXにして、
フォームに貼って使えるようにしましたが・・・

何はともあれ、VB6のみでやりたいならばDirectX関係を調べて
下さい。

以上。

編集 削除