Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the benefits of FMOD on iOS platform than Apple's audio APIs?

I heard FMOD is one of most popular audio engine in desktop apps such as games. I have read its documentation, but I can't feel any benefits of them than Apple's API like Audio Unit. It has many of powerful features, but it does not look usable on mobile device like iPhone because processing power is too weak.

However maybe this caused by my shallow knowledge and experience. What feature (or attribute) can I count benefit of FMOD than Apple's API? (not only FMOD, but also other sound systems if you know)

like image 452
eonil Avatar asked Dec 16 '22 15:12

eonil


2 Answers

Full disclosure: I am a programmer working at Firelight Technologies, the makers of FMOD.

Firstly I'd encourage you to try FMOD out, it's freely downloadable, have a look through the examples and the documentation. Depending on what your application or game requires will greatly affect the benefits you will receive from using FMOD.

With FMOD you'll have features like our virtual voice system which makes efficient use of limited resources, there is a whole swag of DSP effects you can apply to your sound, we provide sample accurate sound playback for stitching and syncing. Along with all the standard volume, pitch, 3D spatialization, rolloff, etc features you would expect. Not to mention we take full advantage of iOS hardware / software decoding capabilities, and we handle interruptions like alarms and calls automatically.

If you want to step up to a more sound designer, data driven implementation we have FMOD Designer. Here you can create complex multi-sound parameter driven events, randomized ambiances and controllable music systems all in a graphical tool with minimal programming required to implement.

There are plenty of benefits to using FMOD, or just audio middleware in general. The best advice I can give is try them out for your needs. If you are interested in learning more about FMOD, try our forums: http://www.fmod.org/forum

like image 80
Mathew Block Avatar answered Jan 17 '23 15:01

Mathew Block


I've opted to use FMOD in my indie project. I was extremely impressed with the effort required to get it going. I was able to get sound up and running in my game in 3-4 hours. That included time to watch an intro video for FMOD studio, setting up an FMOD project for 2 background looping music events and also setting up a high pass filter on one of them and controlling it parametrically from the game.

The intro video to FMOD studio as well as their examples were very helpful.

As for perf.. My current project uses the following worst case scenario

  • 3 minute long looping music with effects, levels controlled by game parameters
  • 20 second long ambient loop with effects, levels controlled by game parameters
  • Continuous looping Motor sound (for a vehicle) with effects, levels controlled by game parameters
  • upto 2 or 3 concurrent fire and forget 2 sec audio clips, some of them controlled by game parameters for pitch modification, etc

I haven't measured specific times with and without FMod, but my game maintains 60 on iPhone 4S. However, my game destroys the iPhone 4 (making the device unusable), but I'm pretty certain its how I'm using OpenGL ES.

To answer your question directly. Why I would choose FMOD over something else?

  • FMOD's toolset, flexibility, and ease of integration are a big plus compared to other options like OpenAL. I'm not familiar with the Apple audio API. So I can't compare FMOD against that directly.
  • FMOD Studio is free for indies (I believe its projects that cost less than 10k) which is fantastic.
  • Perf seems solid from what I have seen.
  • The biggest win for me is cross platform compatibility. I already have my game targeting iOS, Win32 and OSX and all I've had to do was download and use the appropriate FMOD libs. If I'm right, FMOD supports Win8, WinPhone8, Android, Linux as well. Furthermore it also integrates with Unity.
like image 32
Shammi Avatar answered Jan 17 '23 15:01

Shammi