2015年10月03日

録音のテスト

いつの間にか10月ですね。困ったものです。

画像や音声の処理をする場合の補助として、切出しやキャプチャツールみたいなものを時間がある時に作っていました。今回は録音のテストです。この辺りはWindows 10になると動かなくなったりするんでしょうかね。

参考サイト[1][2]を見れば特に問題ないかと思います。ステレオミキサーを使うみたいですので、無効になっている場合は[3]等を参考に有効化します。

[1][2]はWindowsアプリケーションで作成していて、コンソールアプリケーションで作成している例が見当たらなかった(ちゃんと探してませんが)ので、そちらで作成してみました。

そのため、なるべくウィンドウプロシージャは使いたくなかったのでコールバック関数[4]を一つ使うようにしてみました。これで合っているのかどうかはわかりません。

基本は[1]のソースコードを[2]を参考に複数バッファ・動的サイズ変更できるようにHeapReAlloc[5]関数を使うように修正した感じです。

以下ソース。エラー処理などもしてません。何か問題があっても責任は取りません。
WaveTestConsole.cpp

WAVEを再生すると音が小さくなってる気がするのですが原因などはよくわかりません。

参考サイト
[1] 入力デバイスによる録音
[2] 音声の入力
[3] パソコンで流れる音を録音する方法(ステレオミキサー)<Windows(R)7>
[4] waveInProc
[5] HeapReAlloc
web拍手 by FC2
posted by シンドラー at 15:20 | Comment(0) | TrackBack(0) | OpenAL | このブログの読者になる | 更新情報をチェックする

2014年05月18日

WAVに関するメモ

忘れそうなのでWAVに関するメモです。用語などについては[1]に合わせているつもりです。

wav_memo_001.png

チャンネル数を減らすモノラル化です。サイズを変えたくない場合は平均値をLR両方にコピーする方法もあると思います。
wav_memo_002.png

フーリエ変換などを使えばもっとうまくサンプリングレートを変更できるんでしょうかね。
wav_memo_003.png

再生速度の変え方ってこれでいいのでしょうか。何か無理やり感があるのですが・・・。図を作るのが面倒になって最後はかなり適当です。
wav_memo_004.png

[1] http://www.kk.iij4u.or.jp/~kondo/wave/

web拍手 by FC2
posted by シンドラー at 15:50 | Comment(0) | TrackBack(0) | OpenAL | このブログの読者になる | 更新情報をチェックする

OpenAL Softを使った3Dオーディオのテスト

OpenAL Soft[1]を使うと3Dオーディオが簡単?にできるみたいなので試してみることにしました。[2]を参考にWAVを扱うクラスを作って、[3]を参考にOpenAL Softで3Dオーディオを使ってみました。WAVについてはOpenALのヘルパー関数?を使えば読込みはできるようですが、一応自分で読書き、ステレオのモノラル化、サンプリングレートの変更、再生速度の変更などを適当に実装しました。

実行結果

あぴミクさんと、[4]の歩きモーションとMMDBridgeを使用させていただいております。足音と歩行が合うように無理やりWAVデータを引き延ばしているだけです。足が地面に接触した場合に足音1回鳴らすようにすれば速度の変化にも対応できるとは思うのですが、接触判定などが大変ですね。



なぜかブログのプレイヤでは音声が再生されないみたいですのでダウンロードを押してください。動画のフォーマットが悪いんでしょうか。

[1] http://kcat.strangesoft.net/openal.html
[2] http://www.kk.iij4u.or.jp/~kondo/wave/
[3] http://cranialburnout.blogspot.jp/2012/08/openal-soft-demonstration-of-binaural.html
[4] http://www.nicovideo.jp/watch/sm9554606

web拍手 by FC2
posted by シンドラー at 00:52 | Comment(0) | TrackBack(0) | OpenAL | このブログの読者になる | 更新情報をチェックする