signalk-notification-player
v1.7.0
Published
Customizable audio player and text to speech for active notifications
Downloads
87
Maintainers
Readme
Signal K plugin for audio notifications
This plugin plays user configurable sounds and/or text to speech when a Signal K notification enters emergency/alarm/warn/notice state.
The playback options for each state (emergency/alarm/warn/notice/nominal) can be configure independently with the option to create custom playback rules for a specific path & state. Custom commands can be initiated before and after a notification plays (eg. pause music, change volume, flash lights).
A state's notification playback can be configured to repeat continuously (eg. emergency) or output a one time notification sound + speech (eg. notice). Continuous playback stops when a notification's state returns to 'normal' or 'sound' is removed from its method (muted/silenced). All notifications are queued in order and play the sound first followed by a message/speech if available, repeating as configured.
Example usage: a zone for a elevated coolant or alternator temperature could trigger a single play/speech event while an overheat zone would send a continuous output/alarm. A similar setup could be used for depth or battery SOC. An anchor alarm would be customized to play continously, perhaps with a unique attention grabbing sound alternating with 'Anchor Alarm - Emergency' text to speech.
Background
A Signal K path can have one or more zones associated with it. Zones are specified in a path's meta data which can be defined/edited using SK Data Browser /w Meta Data enabled, or generated by plugins like signalk-anchoralarm-plugin.
When a Signal K path's value (eg. environment.depth.belowSurface = 3) enters the range specified in a zone, the state of its associated notification is updated. This state update could trigger this plugin to play an audio notification/text to speech.
Webapps like KIP can be used to silence or resolve active notifications.
(note: zones defined by the older @signalk/zones plugin has issues with KIP if entries are 'Active'. To migrate zone configuration from @signalk/zones plugin to use SK server directly, click edit and then save for each path with a zone shown under SK Data Browser. Then disable then @signalk/zones plugin.)
Dependencies
- Working speaker connected to your computer running Signal K
- Sound player:
afplay (mac), omxplayer, mpg321 & mpg123
(linux & win) - Linux specific speech synthesis dependencies:
festival festvox-kallpc16k
Supplied Sounds
- builtin_alarm.mp3
- builtin_notice.mp3
- builtin_sonar.mp3
- builtin_tritone.mp3
Release Notes
- version 1.7:
Option to limit notification rate when bouncing in/out of a zone (eg. tank or depth zone) - version 1.5.x:
Added custom features for each path, new mellow tritone sound, allow active notification to update if message changes