アナログ音声の検知


あうたん  2008-06-04 23:06:59  No: 139838

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

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

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

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

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


やじゅ  2008-06-05 01:15:28  No: 139839

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-05 01:40:37  No: 139840

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

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

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


やじゅ  2008-06-05 02:28:25  No: 139841

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

あとは適当に調べてね


オショウ  2008-06-05 20:41:07  No: 139842

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

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

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

以上。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加