Audio and Channel management

Hello everyone!
I’m working professionally on a narrative project with a duration of about 3 hours, and the interaction between audio and video is one of its main features. I’m using numerous audio channels, around 40, and I’m encountering some difficulties in managing audio throughout the entire project.

I would like to be able to declare the audio channels used, similar to how variables are managed, to keep track of which and how many audio channels are in the game. Currently, audio channels are identified only by numerical values, and it would be very useful to assign alphanumeric names to the channels for more intuitive management.

Declaring audio channels would make audio management much more dynamic, similar to how variables work. My game is quite long, making it difficult to keep track of sound emissions over time. For example, it’s challenging to compare sound events in the main menu with those that occur 30 minutes later. A real-time measurement function of the amount of sound generated would be very helpful to monitor changes during gameplay. An audio meter with left and right channels would be ideal to have a better awareness of what’s happening in the audio.

Additionally, it would be fantastic to have an audio meter for each channel, perhaps with volume automation functions.
Have you ever faced similar challenges in managing multiple audio channels simultaneously? What do you think of these ideas?

Audio meter

1 Like

I’m not aware of any engines using audio meters for displaying sound channel amnagement, sadly.

And the channel numbering is a requirement of the audio engine used (howlerjs), rather than GDevelop, so I don’t know that the devs can remove/modify that.

However, if you aren’t tracking your IDs internally (or have too many), you could always create a global structure variable, with children that are the names of the channels, and their values being the actual ID. That way you can review it from any scene.

Basically, you’d have a global structure set up:
channels
bgm = 0
open = 1
close = 2
Etc

Then you can just do globalvariable(channels.bgm) in your play sound on a channel action (or just channels.bgm with the new variable syntax)

Hopefully that helps.

1 Like

Hi and thank you for this!
I need to try it!