im creating 10 eq dsps using something like the following:

[code:319egs6e]system.createDSPByType(FMOD.DSP_TYPE.PARAMEQ, ref eq[i]);[/code:319egs6e]

i used to create 5 diff system objects and addDSP() 10 new EQ DSPs to each (total 50).

now i create 1 system and use it on a 10 output channel device.

there are 5 different independant songs playing on that one system, and im using the speakerlevels to output to pairs of mono outputs.

an extra thing going on here is that i also do cross fading by playing a second song at near the same time and then slowly changing the gain (using the gain dsp) on each song’s fmod channel. there are 10 fmod channels (2 per pair of outputs: 1 for first song, 1 for second song).

now, back to the EQ.. instead of adding them all to system, i add them to the fmod channels. and instead of just having 50, i now need 100 because they are on the channels (10 EQ DSPs * 10 fmod channels) and not on system.

well, creating 100 EQ DSPs totally hoses my machine! cpu spikes and the program operates too slow to actually output any reasonable sound

any ideas on how to avoid the 100 EQ DSP? even if i use 50, the CPU usage is very high (at about 80%, where as it was at 25% when i had the 5 different system devices w/ 10 EQ DSPs each).

the reason i have 10 EQ DSPs is becausing im trying to do an equalizer w/ the center bands at 16k, 8k, 4k, 2k, 1k, 500, 250, 125, 62, 31. maybe there is a better way to do that?

  • You must to post comments

channelgroups and submixing sounds like a great place to start.. my 2 that i cross fade together should probably be grouped together so i only have 5 final channelgroups being mixed at the system level

how can i get more info? point me to an example or some apis in the documentation please.

  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.