Non-time-stretching pitch effect?

#1

Hi,

Is there a non-time-stretching pitch shifting effect that I can insert onto audio tracks (akin to what’s in Designer). I know I can automate/adjust the pitch on the master track and instruments, but what I want to do is adjust or automate the pitch for everything on an audio track. If there isn’t such an effect, could one be added?

In the interim, I can accomplish what I want to do via a nested event, but it would be convenient to have the ability to insert a simple pitch effect without having to rely on nested events (assuming that’s the only way to do what I want to do).

Thanks,
Sean

#2

Is there a non-time-stretching pitch shifting effect that I can insert onto audio tracks (akin to what’s in Designer)?

Yes. It’s called the “FMOD Pitch Shifter,” and has the same properties as the FMOD Designer effect with the same name.

Note that this effect is relatively resource-intensive in both FMOD Studio and FMOD Designer, so we recommend using other forms of pitch shifting where possible.

#3

Hi Joseph,

I believe that effect does length preservation (time stretching). I’m looking for a simple pitch effect, like the one built into the master track of an event, but that can be used as an insert pretty much anywhere.

Thanks,
Sean

#4

I’m looking for a simple pitch effect, like the one built into the master track of an event, but that can be used as an insert pretty much anywhere.

Oh! You wanted a time-variant pitch-shifting effect. Sorry, I misunderstood what you were asking for.

No, there is no such effect in FMOD Studio.

This is because FMOD Studio contains a concept that FMOD Designer didn’t: Timelines. Under the hood, event timelines are a crucial part of FMOD Studio’s scheduling system. To adjust the pitch of a track would require adjusting the speed of the timeline used by that track - and as the main benefit of having multiple tracks in an event is that all of those tracks share the same timeline, there is no way to alter the pitch (and timeline) of one track without affecting the timeline (and pitch) of the entire event.

Because of this, if you want to change the pitch of every instrument on a track without affecting the pitch (and timeline) of the entire event, your only options are to apply pitch adjustment to each individual instrument on that track, or to wrap all the instruments on a track into one nested event.

#5

Thanks for clarifying that, Joseph. The nesting functionality is great, and pretty quick to set up, so that works well for me.

#6

If you automate the Pitch of the event Master (in Event Macros), it will pitch the whole event and all modules in it in unison.

Even the Pitch of entire mixer buses can be automated; though I’m not sure what this will do to the timings of the events if they are still triggered in 1x game time.

#7

If you automate the Pitch of the event Master (in Event Macros), it will pitch the whole event and all modules in it in unison.

Indeed.

Even the Pitch of entire mixer buses can be automated; though I’m not sure what this will do to the timings of the events if they are still triggered in 1x game time.

Adjusting the pitch of a mixer bus actually adjusts the master bus pitch of every event instance routed into that mixer bus (but not events whose signals are only routed into that bus via sends).

#8

Thanks, Joseph and Skaven. I appreciate the additional info about how things work under the hood. In Designer I would frequently add pitch effects to individual layers as a quick test to see if it improved a sound, or to adjust the pitch as the velocity/timeline/etc of the event changed, but hopefully I can do most of that within the instrument settings.

#9

Hi Joseph,

As a follow-up related to this, for a scatterer, if I pitch up/down the scatterer (via its pitch knob), it also adjusts the “spawn interval” of that scatterer. So if I have a scatterer spawning sounds every 300ms, and I increase the pitch of the scatterer, the sounds now spawn even faster than every 300ms. Is this also intended?

It looks like my only option, if I need the spawn interval to remain at 300ms, is to change pitch of each sample (within the scatterer playlist), which can be tedious if I’m just experimenting or fine tuning an event and the playlist contains a lot of samples. I’m also not sure under what circumstances the current behaviour would be preferred, but I might just not have encountered that yet.

Thanks,
Sean

#10

Yes, it’s intended. It’s often useful for the spawn frequency of a a scatterer instrument to be proportional to the length of the sounds spawned by that scatterer instrument, and the current behavior supports that use-case. For example, if your game featured a scatterer that played snatches of eerie music in random order with spatial but not temporal randomization, it’d be important for those snatches of music to be on-beat and synchronized with each other no matter what pitch the music was playing at.

If you want to adjust the pitch of a scatterer instrument’s spawned sounds independently of the pawn frequency of that scatterer instrument, there’s an easy way to do that: Add a multi-instrument to the scatterer instrument playlist, then drag everything else in the scatterer instrument into that multi instrument’s playlist. Adjusting the pitch of the multi-instrument will then adjust the pitch of every sound spawned by the scatterer without affecting the scatterer’s spawn interval, and without requiring you to adjust the pitch of every single instrument that the scatterer can spawn.