Manipulating Music in Unity engine

I’m looking for audio engineers who are familiar with using fmod to manipulate music. I am working on a video game project where the main portion of the gameplay revolves around this, but I know much of how people use fmod is for more standard video game audio manipulation. But we are really getting into the weeds and want to push things to their limit.

I would love to talk to the fmod engineers themselves, but I’m not positive how to go about contacting them.

If anyone else is interested (or they see this post), send me an email at: calebrechten@gmail.com

I would love to talk to the fmod engineers themselves, but I’m not positive how to go about contacting them.

You already did.

1 Like

Ah! Brilliant! I guess I’m further ahead than I thought then, haha.
I didn’t presume or realize y’all were in the forums too. Very cool.

So I have a couple questions then. Forgive me if the first one is possibly a larger question to answer.

  1. I understand that FMOD and a DAW like FL Studio is not 100% equivalent / used for the same purposes / in the same way (typically), but as far as manipulating an existing music clip with various effects, how much different would you say the two tools are or what might be some limitations? I understand we can manipulate something standard like reverb with FMOD, but adjusting / manipulating the audio in more specific ways that I might be familiar with doing in FL Studio may not be available? So I’m wondering what the general limitations are here.

  2. Sort of a follow up, is there a designed way for us to add in / extend FMOD functionality if we, for example, had some specific way we wanted to modify a music clip that is not already supported? Like a place for us to add our own SDK kind of a thing?

It’s worth noting that there are a couple of parts to the FMOD Studio suite - there’s the FMOD Studio application, which is an design-time application for authoring specific audio behavior. Content authored in FMOD Studio is then played back by the FMOD Engine at run-time. The FMOD Engine is comprised of:

  • The FMOD Core API, which is an API for low-level manipulation and playback of audio
  • The FMOD Studio API, which is an API for playing back content authored in the FMOD Studio application, and is built on top of the Core API

While FMOD Studio shares many UI features with a DAW, it is not designed for generating or rendering within the application - FMOD Studio is a tool for arranging and designing audio behavior using existing audio assets.

Besides that, the main point of distinction is that when playing back audio, the FMOD Engine is primarily designed to run in real-time, most commonly alongside an additional process such as a game, whereas DAWs are geared towards non-realtime playback in the form of a final audio render. This places additional restrictions on audio processing that DAWs aren’t subject to, such as the amount of and complexity of audio processing, audio responsiveness/latency, etc. More computationally expensive effects or effect chains that you may be used to using in a DAW may not be feasible with FMOD. FMOD also doesn’t support plugin formats such as VST, so (besides our own Plugin API) you are limited to the stock effects. I would recommend taking a look at the Effects Reference chapter of the FMOD Engine User Manual for more info on what effects are available.

There are a few ways to do this, but the suggested way would be to create your own DSP plugin with the FMOD Plugin API, which will allow you to access and manipulate the audio data that flows into it, applying whatever processing you want. A custom DSP can either be directly placed into the DSP graph of an existing FMOD System at run-time, or integrated into your signal chain in FMOD Studio at design-time.

What kind of non-standard/specific audio processing are you looking to achieve?

What kind of non-standard/specific audio processing are you looking to achieve?

To be honest, we are still figuring some of that out. So I don’t have a specific answer to that question at the moment. Just planning ahead and checking options!

At the moment it seems like our best option is to pre-render as many effects as possible and only use in-engine manipulation for those more standard effects so we don’t incur a heavy processing load for running the game.

This has been tremendously helpful, thank you so much.

1 Like