Yes and No. I have it working but it is customized pretty heavily to our environment.
I created a share on the Gateway server called AlarmWAV that contains all of the sound files.
Then I have 3 custom properties on each alarm tag you want a voice alarm on.
AlarmGroup
AlarmGroup is what we use to filter our alarms to certain areas of a location.
PlayCount
How many times the Sound file should be played.
AlarmWav
The name of the sound file to send
Then I have a tag in each AlarmGroup area that counts active alarms that have the alarm group and an AlarmWav set in the properties of the alarm.
An SFC monitors that tag for > 0
When the count goes over 0 it then processes the SFC which calls the script to send the sound file to the designated Node which is stored in a memory tag for each AlarmGroup
The SFC will process the sound file to the node X times the AlarmCount setting for the Alarm tag. While writing back to the Alarm Tag incrementing down the PlayCount to 0