How can I easily swap audio files for an event?

Hi.

I have an ambience event that contains multiple tracks, parameters, automation, scatterer instruments and more.
Now I want to swap the referenced audio files in runtime (I use Unity).

That seemed pretty run-of-the-mill to me, but I can’t find a nice way to do it.
Banks only swap events as far as I understand and programmer sounds seem to be way out of proportion. I was expecting a one-liner to be honest.

Our ambiences all behave the same way and we will probably end up using 16+ different ambiences, so having one template event taking care of all the logic makes sense. We also use a specific naming scheme, for example: rain_layer_1, rain_particle_1, waves_layer_1, waves_particle_1 etc.

How are you transitioning between ambiences?

Depending on how you’re transitioning, if it were me, I’d just duplicate the event and replace the audio files. As long as looping stuff is Async, you can just leave the instruments and replace the asset reference.

Also, everything may sound balanced with your first ambience, but as you swap new assets into the duplicate, you might want to adjust levels of things. So, another reason to keep them separate events rather than using programmer instruments.

If you’re transitioning between ambience elements in a more dynamic way, you could try to make this all one event, with lots of parameters. This way you can make ambience more granular. Forest with birds transitioning at dusk into forest with no birds and crickets instead, then it starts raining, etc.

Hey!

There will be no transitions at all. It’s for a meditation app, in which you choose an ambience in advance.

It’s true that having dedicated events is better for fine-tuning and I currently lean towards this solution. My worry was that when we do update something, we will have to change it in every single event. It also felt somewhat inconsistent with how programming is usually done (having one function and then just swapping the data).

Also since we don’t want to fill the user’s device with unwanted content, we want to be able to add and remove ambience packs.
I figured this would be somewhat similar to how modern games probably handle localisation. Any idea how this is achieved? :thinking:

Re: updating, what is an update scenario that would cause you to have to edit each existing event? If you use Parameter Presets and Shared Effects for every event, any changes you make in one will affect all others that use that same preset. You’d still be able to tweak the balance within each event on the instrument level.

We’ve made a few makeovers to the overall arrangement of our ambiences so far (for example, how we utilise transitions and regions and whatnot). I guess we’ll stick with one ambience until we commit to a final architecture.

But yeah, I think we’ll use dedicated events then.