While working on a cozy arcade project, I regretfully discovered that
OpenAL takes too much of my time. Not only did he have to write the sound manager for about 1,500 lines of code, he also had to deal with all sorts of black magic. (For example, the implementation from nvidia tightly hung up the Vendian) Therefore, I suddenly decided that I had spent enough time on it and wrote my own bike, which was successfully run in the field, and released with open source on sourceforge.
In general, our ear is not such a tricky device. The position of the source ear determines in two ways. In the horizontal plane, sound comes in one ear a little earlier than in the other. Simple trigonometry multiplied by the diameter of the head and the trick is done! :)
The second method is much more difficult - the head has a different density and different technological holes, therefore, the sound spectrum is distorted differently depending on the direction of the signal. There were many attempts to make a reference head (nothing shameful, even Steve Jobs did it), fill it with a jelly-like brain substitute and measure distortions of the reference sound, for example, the
KEMAR project from MIT.
My project is called Clunk, and can do almost everything that needs to be able to sound library:
- An infinite amount of everything: music streams (SDL_Mix can only one, for example), objects and named sound sources attached to objects or a listener.
- Simple api in c ++. (In OpenAL, you have to rebuild the stage yourself, in order to transfer 16 sources closer to the listener, restarting sources (sic), I also recommend watching the example “how to make background music on OpenAL” , ~ poltsyshchi lines = -O))
- HRTF, HDT described above (actually 3d sound)
- Support for all distance models (drop in volume depending on distance) from OpenAL
- Optional optimization for processors with SSE technology
- Doppler effect
- It should work under all platforms where there is SDL, does not contain platform-dependent code.
- License LGPL 2.1 - can be used in commercial products.
')
Project address on sf.net:
https://sourceforge.net/projects/clunkIf you're interested, you can feel free to write me in icq, I am ready to answer any questions.