マイクに数秒間音が入ったら別の音も流す。
というプログラムを作ろうとしているのですが、
「マイクに音が入ったら」というところがよくわかりません。
どなたかアドバイス御願いします。
それは、マイクからの録音と言う動作はできているが、
入ったと言う状態を検知できないのか、録音自体ができ
ていないのか・・・どちらでしょうか?
この掲示板でも過去にマイク入力の投稿はあったので、
その部分を読まれてから・・・
※ 録音ができているならば、あとは、検知と言うアル
ゴリズムになりますが、スペクトルアナライザとか
FFTとかで、ある一定時間の録音された音のデー
タの周波数成分を元として、その周波数の分布が、
ある程度変化した・・・と言うのを検知としては、
いかがでしょうか?
どういうものを採用して、検知とするかは、入力さ
れる音の成分では、まちまちで、環境によっても、
左右されます。必ずこうなったら・・・と言う状態
はありませんので、お気をつけ下さい。
以上。
適当な volume の音拾ったら,ってなら,
waveInOpen して,waveInProc の WIM_DATA で毎度,WAVEHDR の
lpData を dwBufferLength / sizeof(short) 箇の short 配列と
みてその絶対値の最大値をとる.で,良さそうな値以上なら.
なんかする,でいいじゃん.API だけで書ける.
あ、“数秒間” かよ、そりゃちと面倒だなぁ…
Master 仰せの通りってことか…。
僭越なこと言っちまった、ごめん。
返信送れてすみません。
いろいろとアドバイスありがとうございます。
自分が見る限りではうまく出来たと思います。
本当にありがとうございました。
ツイート | ![]() |