I really think the tagging system needs work. Effects are pretty pointless the way they're currently implimented, unless I'm missing something.
Lets say you have "player_footstep" tag and every time the event is triggered you assign pitch variation to the tag. Now if you wanted to do this for more sounds like "player_jump" and "player_shoot" - you all of a sudden have a bunch of tags.
If you wanted to apply a reverb to all the player sounds in this instance you couldn't because you assign reverbs to tags, you can't write: apply reverb to: "player_footsteps" & "player_shoot" & "player_roll"
For example in my game Brute, I've got a layered multi-tag system for the player ship engine noise, I've 3 layers that pitch up and down at different rates based on the objects speed. I can't assign any effects to the whole engine without creating multiple reverbs which is costly.
A solution for this example could be to have more detail on the sound playback event such as, play sound at object and at X pitch with the tag "player_sounds" - but perhaps a more comprehensive solution could be to have groups and subgroups.
Then could we maybe get rid of tags and instead look up the event name to apply changes to the audio event?
On Audio Event Name: "Player_footsteps" - Set playback volume to: random(x,x)