Real time voice alert.
This tool runs an external script whenever an event has been created or updated. It can also run a script in case an amplitude of a particular type or a preliminary origin (heads-up message) has been sent. The common purpose for this tool is to play a sound or to convert a message to speech using external tools like festival or espeak. There are three possible script calls:
Although this tool was designed to alert the user acoustically it can also be used to send e-mails, sms or to do any other kind of alert. scvoice can only run one script per call type at a time! A template (scalert) has been added to SeisComP3 to be used as source for custom notifications.
The following script is used as event script. It requires festival which should be available in almost any Linux distribution.
Important
When saving the scripts given below do not forget to set the executable bit otherwise scvoice cannot call the scripts. In Linux just run:
chmod +x /path/to/file
#!/bin/sh
if [ "$2" = "1" ]; then
echo " $1" | sed 's/,/, ,/g' | festival --tts;
else
echo "Event updated, $1" | sed 's/,/, ,/g' | festival --tts;
fi
Save this script e.g. under ~/.seiscomp3/event.sh and add it to the configuration file ~/.seiscomp3/scvoice.cfg:
scripts.event = /home/sysop/.seiscomp3/event.sh
Amplitude script:
#!/bin/sh
# Play a wav file with a particular volume
# derived from the amplitude itself.
playwave ~/.seiscomp3/beep.wav -v $3
Save this script e.g. under ~/.seiscomp3/amplitude.sh and add it to the configuration file ~/.seiscomp3/scvoice.cfg.
scripts.amplitude = /home/sysop/.seiscomp3/amplitude.sh
Alert script:
#!/bin/sh
playwave /home/sysop/.seiscomp3/siren.wav
Save this script e.g. under ~/.seiscomp3/alert.sh and add it to the configuration file ~/.seiscomp3/scvoice.cfg.
scripts.alert = /home/sysop/.seiscomp3/alert.sh
scvoice inherits global options.
Type: boolean
Treats an event as new event when it is seen the first time. Default is false.
Type: string
The default message string for the event-script is "earthquake, [HOURS] hours [MINS] minutes ago, [DESC], magnitude [MAG], depth [DEP] kilometers" whereas [DESC] is the string given in the event.description attribute. This string can be overwritten using one of the following options. There are three placeholders that can be used: @region@, @dist@ and @poi@. Example: "@region@, @dist@ kilometers from @poi@ away".
Type: double
When using the nearest point of interest (city) as part of the message string, specify the maximum distance in degrees from the event. Any point of interest farther away will be ignored. Default is 20.
Type: double
Minimum population for a city to become a point of interest. Default is 50000.
Type: string
Specify the script to be called if an amplitude arrives, network-, stationcode and amplitude are passed as parameters $1, $2 and $3.
Type: string
Specify the script to be called if a preliminary origin arrives, latitude and longitude are passed as parameters $1 and $2.
Type: string
Specify the script to be called when an event has been declared; the message string, a flag (1=new event, 0=update event), the EventID, the arrival count and the magnitude (optional when set) are passed as parameter $1, $2, $3, $4 and $5.
show help message.
show version information
Use alternative configuration file. When this option is used the loading of all stages is disabled. Only the given configuration file is parsed and used. To use another name for the configuration create a symbolic link of the application or copy it, eg scautopick -> scautopick2.
Load given plugins.
Run as daemon. This means the application will fork itself and doesn't need to be started with &.
Enable/disable self-shutdown because a master module shutdown. This only works when messaging is enabled and the master module sends a shutdown message (enabled with --start-stop-msg for the master module).
Sets the name of the master-module used for auto-shutdown. This is the application name of the module actually started. If symlinks are used then it is the name of the symlinked application.
Sets the name of the master-username of the messaging used for auto-shutdown. If "shutdown-master-module" is given as well this parameter is ignored.
Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug
Increase verbosity level (may be repeated, eg. -vv)
Quiet mode: no logging output
Limits the logging to a certain component. This option can be given more than once.
Use syslog logging back end. The output usually goes to /var/lib/messages.
Path to lock file.
Send log output to stdout.
Debug mode: --verbosity=4 --console=1
Use alternative log file.
Overrides configuration parameter connection.username.
Overrides configuration parameter connection.server.
Overrides configuration parameter connection.timeout.
Overrides configuration parameter connection.primaryGroup.
A group to subscribe to. This option can be given more than once.
Overrides configuration parameter connection.encoding.
Sets sending of a start- and a stop message.
List all supported database drivers.
The database connection string, format: service://user:pwd@host/database. "service" is the name of the database driver which can be queried with "--db-driver-list".
The configmodule to use.
Load the inventory database from a given XML file.
Do not use the database at all
Specify the amplitude type to listen to.
Overrides configuration parameter scripts.amplitude.
Overrides configuration parameter scripts.alert.
Overrides configuration parameter scripts.event.
Overrides configuration parameter poi.maxDist.
Overrides configuration parameter poi.minPopulation.