マイク入力した音声の電圧値を取得するには?

解決


春雨  2010-01-26 18:35:21  No: 102177  IP: [192.*.*.*]

VB6を利用して、マイク入力した音声の電圧値を一定時間おきに測定し、Excelに測定値を入力していくプログラムを作成したいのですが、どうしたらいいでしょうか?

マイク入力した音声の音量を測定する事ができればほぼ解決できるのですが・・・
ご存知の方がいらっしゃったら、よろしくお願いします。

編集 削除
特攻隊長まるるう  2010-01-27 20:00:19  No: 102178  IP: [192.*.*.*]

参考になりそうな過去ログはこの辺だと思うが。。。
VB以外の知識も必要ですね。
http://madia.world.coocan.jp/vb/vb_bbs2/200309/200309_03090079.html
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200406/04060125.txt

編集 削除
特攻隊長まるるう  2010-01-27 20:10:28  No: 102179  IP: [192.*.*.*]

FFTで動作確認できたというのは最近の質問でありましたね。
http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200912/09120008.txt

編集 削除
春雨  2010-01-28 14:12:19  No: 102180  IP: [192.*.*.*]

特攻隊長まるるうさん
アドバイスありがとうございます。

こちらの記事は以前、僕も拝見した事があったのですが、
僕には少し難解すぎて手付かずの状態にしてました。

これらを参考に少しずつ解決させていこうと思います。
解決した際には、改めて書き込みさせて頂きますので、
それまでに、もし他の方法がありましたらアドバイスをおねがいします。

編集 削除
オショウ  2010-01-28 20:24:08  No: 102181  IP: [192.*.*.*]

電圧?音量?
どちらで欲しいのでしょうか・・・

電圧ならマイク入力からは無理です。
A/Dボードなりが必要です。

音量ならマイク入力を取得さえすれば、WAVE形式
データとして取れれば、2バイトの値で格納されてま
すので・・・

あ!16ビットモードね!
WAVE形式フォーマットを知っている前提で

ある一定時間分のWAVEデータ中の各の2バイトひと組
の値で、最大値を抽出できれば最大音量に換算できます。

※  昔のコード見たらピーク値を100倍してました・・・
    レベルメーターとして表示するためだったように思います。

レベルメーターのようにバーが音量に応じて伸びたり
縮んだりしているのは、その方法で算出したもので、
バーの値を決めてます。

で、最後にdB換算する必要があるのかどうか・・・
これに関しては、規定音量をマイク入力させて、実際にどんな
値になるかチューニングが必要です。(おそらく・・・)

ミキサーの調整やらいろいろあるので、大変かと思いますが、
頑張ってください!

以上。

編集 削除
春雨  2010-01-29 19:15:11  No: 102182  IP: [192.*.*.*]

オショウさん
アドバイスありがとうございます!

欲しかったのは電圧値ですね。
「音量」で検索するとサウンドデバイスのボリュームを操作するものしか出てこなかったので厳密には電圧値が正しいのかと。


特攻隊長まるるうさんから紹介して頂いたところを参考に完成させる事ができました。
ありがとうございました!!

編集 削除