There are two ways you can go about this:
1.) The cheap way is just to adjust the playback frequency through Channel::setFrequency(). This has the advantage of being basically free CPU-wise, but it is not a time-invariant pitch-shift. So if you increase the frequency of the sound, the playack time decreases.
2.) FMOD includes a time-invariant pitch shift DSP which you can attach to the channel via a System::createDSPByType() and Channel::addDSP() combo. This DSP will let you adjust the frequency without modifying the play time, but it is very CPU-intensive, and you can’t expect to get very many of these running at once.
Hope that helps!
- Adiss answered 10 years ago
Please login first to submit.