i have a microphone with pitch detection working great in my app. fantastic!

i have now added non-looping 3d sounds that function sort of like breadcrumbs, as the listener moves about, they are "dropped" at the listener’s position (well, actually a bit in front of them). i have a lot of these sounds, about 100 files, but i play maybe a max of 20 individual sounds at once.

it is all essentially "functioning"

first problem:

if i load my file sounds as FMOD_SOFTWARE (but NOT if i load the sounds as software), when i call the spectrum function (on the pitch detection channel, not the sample channels), after a time i get this error :

FMOD error! (49) Tried to use a feature that requires the software engine. Software engine has either been turned off, or command was executed on a hardware channel which does not support this feature.

and then after a time, it stops making sound all together, but the pitch detection still functions???

mind you, i am calling the spectrum analysis on a channel variable completely separate from the channel array i use for the sounds. it is the channel variable created exactly as it is in the sample code

i use FMOD_CHANNEL_FREE for the sounds, and FMOD_CHANNEL_REUSE for the pitch detection. the pitch detection is looping, so its internal channel should never be "FREE" once it is played, right?

now here is where it gets weird: if i create my sounds with FMOD_HARDWARE, this error does not occur. it seems to me that the opposite should be true – if i was passing the wrong channel to the function – but ALL channels are software channels when the error occurs.

just to be clear, i am doing pitch detection on a microphone, NOT on the samples being played.

second problem:

i get popping noises when i have many sounds playing at once. sometimes it is actually not that many, 6 or 7. and yes, i play with paused true, set my 3d props, then set pause false. i am using virtual voices similar to the example code, a bit different in that i cycle the virtual channels, assuming that by the time i have to "go around block" in my array, the 3d channel will have finished playing. so as far as i can tell, i am not clobbering a sound file mid-play and playing another one.

sometimes i seem to get these popping noises even with only one sound, and perhaps this is happening when the listener position is the same or almost the same as the sound position. i’m not positive about that, just a feeling.