Altered sounds during import

Hello everyone!
Here’s my problem: there’s a sound that I imported in FMOD which doesn’t sound as the original version. It seems that the import lowered its quality and added lower and higher frequencies.
I tried different codecs, rates and bit depths but it didn’t change anything.
The file in the asset folder plays well, though, but not inside FMOD.
Original sound on the left picture, once it’s imported in FMOD on the right.
Does anyone have experienced this kind of issue and what do you think I can do to solve this problem? Many thanks

Are you able to post the sound file you’re using or DM it to me to investigate further?

Hello Richard, thank you for your attention to this matter.
Here’s the original sound, corresponding to the left picture that I already posted.

Here’s the same sound once imported in FMOD:

As the volume level is quite low you may not hear any difference at first.

Actually, as soon as I import whatever shiny sound I get those added frequencies.
Here’s another sound comparison:

It looks like this might be caused by resampling. Could you please try encoding the original audio file as 48KHz and trying again?

I’ve just tried importing some encoded files as WAV 48KHz / 24 bit and unfortunately FMOD still transforms the sounds. I’ll DM you one of the files for you to try, if possible. Thanks

Hi ,
Some very specific sounds with harmonics and low frequencies in them can cause aliasing with a linear resampler.
The current fix for this is to set FMOD to use a higher quality sample rate converter/resampler at runtime. The code for this is

FMOD_ADVANCEDSETTINGS settings;
memset(&settings, 0, sizeof(settings));
settings.cbSize = sizeof(settings);
settings.resamplerMethod = FMOD_DSP_RESAMPLER_CUBIC;
gSystem->setAdvancedSettings(&settings);

just before any call to fmod initialization.

A better solution would be to have a high quality resampler button in studio to press (like the ‘stream’ button in the sound build properties), we’ll look at doing this in the future but you have a workaround.

1 Like

Hi!

Sorry for digging up an old thread, but I’ve been having the same issue, specifically with some piano samples and chain rattling sounds. How would I go about using this code to make it work?

Thanks a bunch!

Hello Kaedalus, what audio interface do you have?

You need to set all the ADVANCESETTINGS settings before the Studio::System::initialize() call.

If you are using the FMOD Unity or Unreal integrations, you can add this code to line 198 of RuntimeManager.cs (Unity) or line 664 of FMODStudioModule.cpp (UE4).

1 Like

Heya, I have a Behringer UMC202HD, but I don’t see how this could influence the import quality in FMOD - though if there’s something it could be affecting it would be good to know! :thinking:

Thank you! So this is something that should be done only on the integrations? Not on the FMOD Studio app itself? Sorry if I’m missing something obvious here :sweat_smile:

That’s correct, it’s not possible to set this within the FMOD Studio application - this only applies to when running the game using FMOD.

1 Like

Any plans to look into this?
Having this issue as well with some sounds with high frequency content. They produce really obvious artifacts when pitched up in FMOD. If I apply a 10 KHz 30 dB/oct lowpass filter to the sound the artifacts are minimal, but having to watch out for that definitely isn’t a nice workflow

1 Like

Hi,

What version of FMOD Studio are you using? Would it be possible to get an audio file you are experiencing the issue with or get a recording of the issue?

I’m on 2.02.20. Here’s a video of the issue: https://youtu.be/J644uXnQfIY?feature=shared

1 Like

Hi,

Thank you for the video.

Unfortunately, there isn’t much more you can do within Studio beyond adding the filter. However, when using FMOD Engine this comment: Altered sounds during import - #8 by brett should help minimize the artifacts further.

1 Like

Thank you Connor. Wouldn’t that hit performance significantly, if it means that all sounds are processed at a higher quality sample rate converter?

Hi,

In terms of performance, it will add one mix block of latency, which is like 10ms. With a simple scene of 10 events playing, it increases the CPU usage by ~1%
image

I have also passed on the original suggestion of the high-quality resampler toggle to our development team to look into further.

Hope this helps!

1 Like