Darkside(https対応しました)

2008年5月19日(月) 17:24

waveOut

 ガルボがメインの用途では使えないと判明してしまったが、PC直結操作に関しては先に進めてみる。というのも、レーザーお絵かきでゲームするという、もう1つの大きな用途があるのだ。例えばアーケードゲームのシミュレーターに MAME というのがあるが、表示装置にガルボを使用した Laser MAME という分野が存在する。
 ガルボが使える人間しか参加出来ないコアな世界である。

 ゲームに限らずインタラクティブな使い方をしようとすれば、PC制御は避けて通れない。自分の手法ではPC制御とは、リアルタイムでWAV合成やることを意味する。実際には合成は容易であり、問題はリアルタイム音声出力の方な次第。音声は幾らでも出せるが、合成したビット列とは異なるものが出力されてしまう。どうすれば同じビット列が出力出来るのか?
 お手軽な PlaySound() では駄目だった。

 オーバーシュートの修正まで含めて最後まで問題を解決しなくても、この機会に音声出力ぐらいは解決しておきたい。レーザーの共振で煮詰まっていることもあるし、一度作業を止めると再開に多大なエネルギーが必要なのでキリが良いところまで進めておきたいってこともある。
 PlaySound() が駄目なら、次は waveOut系を試してみたい。
 PlaySound() はWAVファイルでもメモリ中に読み込んだファイルでも再生出来るが、一応はファイル再生向けの関数である。これに対し、waveOut系はメモリー内再生向けの関数。特に、ボリュームコントロール関数を含むところがおいしい。というか、ソフト的に再生ボリュームを設定したいと思って情報を集めたら waveOut系にぶつかったという方が正しい。

 さて、コイツは使い物になるかどうか?
 Windows のプログラムはそれなりにあれこれ仕込みが必要なので、サクっとプログラム作って走らせてみた、とは済まないことも多い。waveOut系もすぐには結論に飛びつけない。準備に結構手間が掛かる。

written by higashino [ガルバノメーター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4