fmod

Setting pitch value when transitioning from FMOD Designer to FMOD Studio


I'm refactoring legacy code to use FMOD Studio EventInstance objects instead of FMOD Designer (FMOD Ex) Event object. The most common case is to have pitch set to 0.0 (i.e. normal pitch) which can be then set to be 1.0 in the new implementation.

In FMOD Designer API the call to Event::setPitch() sets the overall pitch of an event . The default value of pitch is 0.0 ( = normal pitch). The pitch value can be negative as well.

FMOD Studio API call EventInstance::setPitch() sets the pitch multiplier for the event instance. The default value is 1.0 ( = normal pitch) and setting the value 0 means no sound at all.

EDIT: I forgot to mention in the original question that in the legacy code the pitch for Events is described in FMOD_EVENT_PITCHUNITS_SEMITONES.


Solution

  • In the FMOD QA site there is a formula pitch = 2 ^ ( semitone / 12.0f) which seems to do the conversion I need. At least the end result sounds more or less the same.

    Of course I would gladly hear from a FMOD expert is this really correct or not.