VBで正弦波などの音を出すには?


ユウ  2004-07-01 17:12:49  No: 114425  IP: [192.*.*.*]

VBでサイン波などの音を作りたいのですが、どうしたらよいでしょうか?
いいHP教えてください。またステレオを使い音が動いているようなものも作りたいのですが?(3Dサウンドのようなもの)

編集 削除
いちゆ  2004-07-01 19:29:43  No: 114426  IP: [192.*.*.*]

昔試したのですが、
WinAPIの「waveOutなんとか」とかいう関数を使えば出来たと思います。

編集 削除
へたっぴーず  2004-07-14 19:25:50  No: 114427  IP: [192.*.*.*]

waveOut***というAPIで確かにできますが、難しかったです。
作成した音を出すだけならばPlaySoundの引数にSND_MEMORYを指定した上でバッファを書き換えるとか?
WAVEファイルの構造を知らないとちょっときついかもしれませんが、waveOut***を使うのとどちらがいいかはあなた次第です(^^;

編集 削除
ねろ  2004-07-14 21:34:46  No: 114428  IP: [192.*.*.*]

VBにSin関数があります、この関数を利用してサンプリング周波数と
周波数からSin値を求めます。仕上げにWavファイルのヘッダーをつけます。
周波数が一定なら、一波長のデーターをどこからか持ってきた方が
簡単でしょう。
音を動かすには、左の音と右の音の音量を変えます、
左を下げて、右を上げれば音は左から右に移動します。
全体の音量を上げながら、相対的に左の音を下げ、右の音を上げると
音は左から右に近づいて来ます。後はこの応用になります。
本格的にやろうとすると、左右の音の位相も変えるということになりますが、
これは結構厄介ですのでやめて置いた方がいいでしょう。
ファイル再生でなく、音を出しながらダイナミックに移動させるには
へたっぴーずさんが書いています、「SND_MEMORY」を使ってメモリーに
データーを書きながら、メモリーから音を出させます、音のつなぎ目を
ごまかすのが結構大変です。CのDLLを使わないと間に合わないかも知れません。
何はともかく最初はWAVEフォーマットの勉強からとなります。

編集 削除