I need to gather information and advice regarding Unreal’s native audio capabilities versus the use of middleware. One key factor for my considerations is implementing vehicle sounds. Now, I am reasonably inexperienced in this area, so my own education of how best to implement such sounds will probably be a huge determining factor too. For example, so far, using native Unreal, I have implemented vehicle sounds using short sample loops of engine sounds and then modifying their pitch using parameters like wheel speed or velocity of the vehicle. This has given reasonable results, but I am unsure if:
a) This is the best way to do it.
b) I would get better results with it using middleware instead
Now, I am aware that Unreal’s audio engine has been completely rewritten and will be available for testing in 4.16, so this is another thing I need to factor into my decision. There are features such as:
Timestretching samples (might be a better implementation for engine sounds?)
Real-time modulation of a cutoff filter (doesn’t seem possible natively in 4.15)
Peak meters and some kind of visual mixer (like Unity has)
…which are things I found myself desiring when developing natively in Unreal.
In summary then, I just need some help deciding whether to design vehicle sounds natively in Unreal, or if I should definitely pursue middleware, and which middleware!
A mature audio middleware solution is almost guaranteed to be more feature-rich than a game engine’s built-in audio system; FMOD Studio definitely has features that Unreal does not. Of course, whether you actually need any of those extra features, and which of those features you need, depends on what your game’s requirements are.
You mention you’re building car engines. That’s definitely something that FMOD Studio supports; Numerous well-known racing franchises use FMOD Studio specifically because we make it easy to develop the kind of parameter-driven engine behaviour you describe. We also have a number of features, effects, and plugins that make it easy to customise and tweak those engines in a variety of ways.
You also mentioned time-stretching, cutoff filters, peak metering and visual mixing. FMOD Studio features time-stretching with or without pitch change; multiple cutoff filters that can be driven via automation, various modulators, or both; a visual mixer; and a profiler that can record play sessions in your game and audition them with changes to your mix and game content so that you can audition mix changes in the context of the recorded play session.
If you need help with or information about any of these features, please don’t hesitate to ask us further questions. Are there any other features you want or need?
As far as I know, FMODStudio has no time-stretching feature exactly.
You can use just “pitch” - higher pitch and shorter time, lower pitch and longer time -, and “pitch shifter effect” - shifting pitch without time change.
But there is no such effect as ‘time stretch".
If you want to ‘time stretch’ a file without pitch shifting, you can lower pitch for longer time and compensate the pitch using ‘pitch shifter effect’. As for my testing, that is not so good as time stretch a file using another audio process programs such as cubase or sound forge etc.
Nevertheless, FMODStudio is quite better than any Engines’ original sound systems, of course.
UE4 (as of the 4.16 preview) has a few synths built in (modular, granular and sampler) that would be useful for creating engine sounds directly in UE4 controlled from various variables. In fact the whole audio engine is getting rewritten with a lot of useful features like submixes and fx chains.