※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

OpenAL(Open Audio Library)

ALUT OpenAL 解説 最終更新日 2009-09-24
link_pdfプラグインはご利用いただけなくなりました。
View -

OpenGLを補完するオーディオAPIとして開発された、クロスプラットフォームのオープンソースなオーディオAPI。
マルチチャンネル3次元定位オーディオを効率よく表現するように設計されている。

簡単に言えば、三次元空間上に音源(ソース)と観測者(リスナー)を配置し、音の聞こえ方をシミュレーションできる。

OpenGLと組み合わせれば、「人間の前を救急車が通り過ぎるCG」を作成し「その際に人間が聞こえるサイレンの音」を再現することができるかもしれない。(まだためしてない)

大事な単語

ソース(Source) 音源、音の発生する場所
リスナー(Listener) 観測者、音を聞く場所
ピッチ(PITCH) 音の高低(音の振動数の相違)
ゲイン(GAIN) 平均音量

参考文献

公式ページ
OpenAL

非公式の日本語API
OpenAL 1.1 Specification and Reference

OpenALのチュートリアル(英語)
Sound and Music Programming

Macな人へ

Macな人はOpenALはデフォルトで入ってるかもしれないので、公式ページからダウンロードする前に確認しましょう。
(インストーラで入れると厄介なことになるかも?)
だがしかし、Sound and Music Programmingで使われているソースコードは半分も動きません。というのも、ALUTがないから、、、

なので、ALUTは公式サイトからダウンロードして自前でコンパイルしましょう!
autogen.sh
./configure LIBS="-framework OpenAL"
make
sudo make install

もちろん、Makefileも書き換えましょう。
以下、lesson1のMakefileの書き換え例
CC = g++
TARGET = lesson1
COMPILEFLAGS = -framework OpenAL
LIBS="-lalut"

$(TARGET): main.o
$(CC) -o $(TARGET) main.o $(COMPILEFLAGS) $(LIBS)

main.o: main.cpp
$(CC) -c main.cpp -Wno-deprecated 

clean:
rm -f $(TARGET) main.o

試した環境
MacOSX 10.5.8 ALUT 1.1.0

このページ中のOpenALに関する記事