Vehicle sound with metasound

I generally used to work with sound cue and its node(Crossfade by parameter) to create vehicle sounds. Now that I’m trying to use metasound I’m truly lost in how to simulate car sound with metasound. Does anybody have an idea how to implement RPM of vehicle using metasound?
#audio

Make a wave player, make an input value (float) called RPM. Connect that to the pitch of the wave player. Make a BP that tracks the RPM value of the vehicle and send that parameter to the RPM value of the metasound (as you would with a sound cue). Now you should have pitch modulation at least.
Volume automation or crossfade, you could get by taking the RPM float value and make a mixer that crossfades according to the same float.

Here you go :slight_smile:

Thank you! I have one more questions tho!
let’s say RPM has an value from 0 to 800, and i wanted first audio playing intervals from - to 300, second audio playing from 250 to 600, and third audio playing from 550 to 800. Where do you define those RPM values to according wave players?

yeah, that’s where it gets tricky. We really need custom curves or something to do this. An idea would be to set up 3 different mixers and then scale the rpm input to each mixer accordingly, so it only turns up the specific sound when its in between the given values.
It’s annoying that we don’t have custom curves. Otherwise it would be very easy to do this.
You just make the first curve have the input of the rpm and then draw a curve that goes up from 0 rpm, but starts with an amplitude of 1 and then it goes to 200 and starts fading out until it reaches 300 where it should be zero amplitude, then another curve for 250-600 and so on.

I hope the good people at UE fix this eventually.

share level blue print how to set this meta sound system to change the sounds with rpm

for the BP side: keep one persistent audio component, Play once, then every tick Set Float Parameter RPM from the vehicle movement component. for the rpm bands, scale the same float per layer with maps/clamps in the graph (or crossfade mixer nodes) so each wave only speaks in its band, and smooth it with interpolation so shifts dont step.

that BP side is what Expose MetaSound Parameters To Blueprint, a MetaSound parameter plugin for Unreal Engine 5, wraps: SetFloat every tick + InterpolateFloat with curve: Expose MetaSound Parameters To Blueprint. on sale ($10.36), drive metasounds from gameplay without the scattered nodes.