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"
etc
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.
Event: "Player_footsteps"
Group: "SFX"
Sub-group: "PLAYER"
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)