openAL vs FMOD and sample pitch shifting

Aside from license and cost, what are the technical differences between openAL and FMOD?

Also, what are the differences between the two within OFW, i.e. is openal working on all platforms etc.

Is there a limit to the number of samples that each can play?

Which systems work on iphone?

And finally, do you know if it is possible with either to alter the pitch of a sample whilst it is playing, just as you would with volume or pan etc?

Many thanks

Hi chris,

The two at a basic level are very similar in some ways because they were primarily designed as 3D audio api’s. When I say 3D I mean 3D as in a computer game world, where you have x,y and z coordinates describe a space. So both can play a sound in a 3D software space and they will automatically calculate how much sound a particular listener receives, and how it is panned (i.e. in 2 channel stereo, or Quad, or 5.1 etc)

OpenAL was designed to match the kind of calls you make in OpenGL…so it’s kind of state based in that way.

FMOD is a game sound engine, designed as middleware that developers can plug into their game engines.

More game sound engines:
http://www.iasig.org/wiki/index.php?tit-…-Middleware

FMOD is much more developed than OpenAL and has a lot more features…however depending on your needs you may never need those features. OpenAL development is pretty slow (moderated by Creative Labs), with most updates coming from the open source version of OpenAL (openAL soft - http://kcat.strangesoft.net/openal.html). FMOD updates (and occasionally bugs mind you) are much more frequent.

In principle, the number of sounds playing concurrently is actually limited by your hardware (mostly the sound card), not the software.

Both work on iPhone.

You can alter pitch of a sample while it is playing with both openAL and FMOD.

Zach Gage has worked on the iPhone OpenAL implementation I believe. I made an ofSoundPlayer replacement using OpenAL here (which works on all platforms):
http://forum.openframeworks.cc/t/new-openal-based-ofsoundplayer/2920/0