New Audio Engine: Quick-Start Guide

At the moment, setting up Arrays of SoundWaves is a bit fiddly (in my opinion, at least), so I think it’s still has some use–but BPs are way more powerful and more than that, they allow you to more smoothly interact with all the other systems in the game and allows audio cats to sync up better with Designers and Artists (who are already knee deep in BPs).

The Modular Synthesizer Aaron built is similar to the OB-8 or Juno 106 era performance synths in that there is an Oscillator/Voice section and that gets summed out into the Filter and then the Amplifier, your standard:

VCO => VCF => VCA

If you’re comfortable in code, however, you can just make your own synth component–the libraries are all there with more to come for sure!

You can have as many mod synth components as your processor can handle and no more. They aren’t cheap, but a BP Actor can have several. I made a Drum synth for GDC that had 12 Synth Components.

In this case, you don’t want to use the default patch destinations for the LFO, you want to set up a custom Patch. The Modular Patch section at the end of the Preset is a custom array of Modulation Sources to one or more Modulation Destinations–it is there that you can set a specific Osc Gain as a Modulation Destination.

Modular_synth_patches.JPG

See the ADVANCED MODULAR PATCH ASSIGNMENTS section.

Awesome thanks mate

Hey there!

, I am currently testing this awesome new audio engine.
I meet a few problems and I wonder where it comes from.

First, occasionally, when I play in editor, you can hear some distortions. It happens two times at the beginning of the video. When it happens, I have to stop playing.
Then, I made a generative sequencer in blueprints, and I use the modular synth. You can hear that sometimes (when chords are played) there is I think a cpu overload or something like this as we can hear glitches.
Am I doing something wrong or the synth is simply too powerful for my system?
Specs : 3,41 GHz Intel Core i7 / 16 Go 2400 MHz DDR4 / graphic : NVIDIA GeForce GTX 960 2047 Mo / Sound card : Motu Ultralite MK3 - sample rate at 48khz

Here is a video :

[video]UE 4.16 audio - YouTube

I’ve experienced those noises when I was using the synth and accidentally forgot to enable the new audio engine - I wasnt expecting it to work at all with the old audio system but it did, and had exactly the symptoms you describe. Are you sure you have the new audio engine enabled?

****! I just upgraded to 4.16, and it seems like this will be great for my game. IO could just create the notes for my game with the synthesizer, rather than using an external program to save all 71 notes separately, plus who knows what other changes in timbre I’d like to add. I will be definitely be looking at all of this more slowly next week!

Thanks for the amazing new features and write ups!

Hey! Thanks for your answer.
Actually I’m on mac so I followed PirateTony explanation to enable the new audio Engine. Perhaps I should point out my sound card here instead of coreaudio? I don’t know how to do it actually :confused:

[Audio]
AudioDeviceModuleName=AudioMixerCoreAudio

Seems to be the sound card problem. First I forgot to add the MacEngne.ini in a Mac folder. When I done this, no sound came from UE4. So now, I don’t know how to add my sound card to the MacEngine.ini line. I tried :
[Audio]
AudioDeviceModuleName=MotuUltraliteMk3Hybrid

And

[Audio]
AudioDeviceModuleName=AudioMixerMotuUltraliteMk3Hybrid

Didn’t worked.

I also tried :

[Audio]
AudioDeviceModuleName=CoreAudio

It worked but I had the glitches.

Finally I found this thread : https://forums.unrealengine.com/showthread.php?144090-Supposed-to-work-on-Macs-yet
So the problem seems to be that the engine uses the default playback device so it won’t play on my sound card.

Hi Tomavatars,

[Audio]
AudioDeviceModuleName=

The AudioDeviceModule is the module Epic has built to allow Unreal to interact with your Operating System’s audio device. This is not a reference to your audio device. This configuration parameter tells Unreal which module to load (by name) so that Unreal can interact with your Operating System’s audio device.

AudioDeviceModuleName=CoreAudio would tell Unreal to load the original (old audio engine) implementation of CoreAudio which is the Mac OSX’s audio device architecture.
AudioDeviceModuleName=AudioMixerCoreAudio is an alternative module which loads the new audio engine. However, we are still smoothing out the implementations. We have several platforms for which we must build these modules and we hope to get as many of these done as quickly as possible (work is ongoing). For 4.16, we only had time to actually test Windows/PC, so we welcome any feedback you might have on this still experimental system.

Thanks! :slight_smile:

Thanks for the explanations.
I will then wait for a new UE4 version to play with the new audio engine on Mac.

Got a question here, is finally possible calibrate the audio and set more gain in the left or right side for speakers ?

Hi!

Not sure where to post this, but I’m having trouble getting media sources to play in 4.16 with the new audio engine enabled. In my particular case, I have a .mp4 video file with audio. The video plays fine, but the audio doesn’t play. This is fixed if I disable the new audio engine. Any ideas on how I might work around this? I thought about just playing the separating the sound file as a .wav and playing that at the same time as the video, but if there’s something simple I’m overlooking let me know :slight_smile:

The output of the second oscillator in the Modular Synth Component seems a bit buggy to me. It seems like most waveform Types, especially when combined with Octave transpositions, generally “don’t work.” For instance, mixing a Sine in Osc1 with a Sine in Osc2 an octave down makes it sounds more like a distorted sawtooth than a fundamental and a first harmonic. Something glitchy here? Can be more specific with some use cases if requested.

I’m having difficulty following how to get chords playing on modularSynth. I’m not a synthesizer expert, so I’m missing some assumed knowledge here. I’m trying to setup programmatic playing of chords. My initial attempt was to use NoteOn multiple times, but when the new note was played, the old one turned off.


Reading the quick guide and hunting around, it seemed that this may be because the default modularSynth preset did not allow for polyphony. So I attempted to create a preset that allowed for polyphony, but ran into an issue where it demanded I set up patches.

The quick guide seems to indicate that patches are an advanced feature, so this is where I stopped to ask for some guidance. It seems like I could make chords by using patches themselves and targeting the two modular synth oscillators, then utilizing multiple modular synths to increase the number of notes in the chord to 2, 4, 6, etc. but it seems unlikely that is the right way to do it as modular synths are “expensive”. So how would I do programmatic generation of chords as intended? Especially curious on the process for running multiple tracks with different voices (violin, piano, etc.) Any resources I can jump on? Thanks all!

For the patches error, you just need to give your “Make modularsynthpreset” node an empty dummy-array. If you extend the node, it is pretty much at the bottom. Drag a blue line from it and type in node “make array”. Will solve it!

You can play chords from one instrument on a single synth. You want different presets for different instruments, and they need to run on their own separate synthesizers if you want them playing at the same time. To understand and wield all the parameters, and also to be able to separate engine-terms from sound-terms, I highly advise learning generic sound synthesis. If you learn one synthesizer, you will also understand all others + unreals new synth automagically. I highly recommend http://www.syntorial.com/. Maybe find some documentaries on the early days of synthesis, as you will learn a lot there too, while being entertained :slight_smile:

Thank you so much :cool:, that’s a huge help! Part of my efforts on this project are to teach myself more composition and music theory so jumping into a documentary might be exactly what I need.

Hi Magicxtian!

The Media System is supported by another team (non-audio developers), but it’s definitely on our radar!

A couple of things to watch for:

I find it useful, often, to pull back the gain, high gain can sometimes introduce distortion from which harmonics can emerge. Additionally, you’ll want to ensure that Oscillator sync is off, which would restart the second oscillator every cycle resulting in a slightly sawtoothy (or sharksfinny) waveform.

Definitely hit us up with a video if you’re certain you’re hitting a bug.

As mentioned, you’ll need to feed it a dummy array–it’s one of the quirks of Blueprints that an Array Pin input must have an array. However, that array can be empty.

It would be cool to get some video along with the introduction, showcasing the sound differences, effects etc.

Are the new audio engine along with aspects like the sound utilities plugin going to be fully released with 4.17? No longer experimental / beta versions? Holding off on really diving into this until everything’s had a good shakedown…