Is it possible to achieve a scrubbing effect in FMOD yet? Want it to sound exactly like scrubbing tape.
If not, could anyone point me in the direction of any workarounds or code that may help?
Thanks!
Is it possible to achieve a scrubbing effect in FMOD yet? Want it to sound exactly like scrubbing tape.
If not, could anyone point me in the direction of any workarounds or code that may help?
Thanks!
It is possible to adjust the pitch of sounds playing through FMOD to make them extremely fast and high-pitched, but you’ll probably get better-sounding results by recording a tape being scrubbed and playing that asset whenever your player triggers scrubbing.
I’m hoping to achieve a scrubbing effect within FMOD
In that case…
For “fast forwarding,” you’ll need to increase the pitch of the relevant events or instruments, most likely by automating it on one or more parameters.
“Rewinding” will require more work. FMOD does not support playing sounds with negative pitch, so you’ll have to create a reversed version of each audio asset you want to be able to reverse, use transition regions with inverted offset mode to jump to the backwards version whenever you want to rewind, in addition to automating the event’s pitch up.
That works great for triggering faster versions of assets like a one-shot sampler but I’m hoping I can let the player control the actual playhead and hear material speed up and slow down as the playhead does.
In previous projects I achieved something similar using the scatter instrument and triggering granules and that was great 'cause I was after a spacey effect. This time, though, I’m literally presenting the player with a tape machine.
As I said, automating the event pitch should work for fast forwarding, as it causes the rate at which the timeline advances within the event. Is there some reason why this method does not suit your requirements?
I totally forgot to reply to this.
Automating the pitch would make the sample play faster or slow but it won’t act like a scrubber.
I want to use a runtime parameter to control the playhaed position of audio file. When the parameter is sending a constant value, the audio would not be heard. If it’s slowly increasing from 0 to 0.25, we’ll hear the first quarter of tha audio file being played pitched down. If the parameter very quickly increases from 0.5 to 1, we’d hear the second half of the audio file being played pitched up.
It’s so simple but I find it difficult to explain…
Ah, I see. While there are some ways to give a player control over the movement of the timeline playback position, as of the time of writing (July of 2025) we do not support giving players the ability to click and drag the timeline playback position around directly. Our code for decoding, loading, buffering, and playing sample data is just not designed to handle playing assets in all the various ways that such a feature would require.
As such, I’m afraid that if you want to implement a scrubber feature in your game, you’ll have to build the behavior yourself by using the workarounds I mentioned in my earlier posts to fake it.
Okay, no problem. thanks @joseph