I’m working on a harp-like application for iPhone. The system seems to max out on the number of simultaneous samples played when I play a whole lot of strings at once. With 32 voices, the samples seem to clip once there are more than 32.

I tried setting max voices and channels larger to experiment:

[code:1otpwn7y]result = system_->init(1000, FMOD_INIT_NORMAL | FMOD_INIT_ENABLE_PROFILE, NULL);
result = system_->setSoftwareChannels(1000);

Then get the behavior where I am only hearing a few samples, playing mostly towards the end of each sample (e.g. missing the beginning part of each sound playing back). Can anyone advise on:

  1. How many simultaneous voices/channels can you have on an iPad and iPhone?
  2. Is there any clever workaround to get hundreds at once for straight mixing?

One straightforward approach I will try is shortening the samples – right now they are very high quality samples with 6-14s durations. However, I am curious if it’s possible to play many simultaneous samples of longer duration.


  • You must to post comments

There are no hard restrictions on channel count for iPhone unless you are talking about hardware decoded compressed streams i.e. MP3 or AAC in which case you can have only 1 (device restriction).

Setting the channel count in init will determine your max FMOD channels, the number of audible channels will be the value you set in setSoftwareChannels. That being said keep an eye on getCPUUsage() because playing too many sounds will overwhelm the limited processing power of the iPhone.

If you connect with the profiler you should see all the channels connecting to the DSP tree.

Also if by chance you are using ADPCM compression with FMOD_CREATECOMPRESSEDSAMPLE there is a limit of 32 which can be changed via System::setAdvancedSettings.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.