Maybe if you running a shared app sound device control (eg
pulseaudio), just add the command to background before the espeak
line;
dwespeak.sh for use with Linux:
#!/bin/bash
chan=$1
msg=$2
sleep 1
ffplay -hide_banner -nodisp -autoexit -f lavfi -i 'sine=f=100'
&
espeak -v en-sc "$msg"
killall -TERM ffplay
(There are better ways to kill the process!)
Or use a playing pgm that allows a time in seconds to not exceed
the longest message.
Espeak can also output to a wav file, that can be used as a mix
in source later in the script etc. Also look at the amix filter
for ffmpeg and possibly use stdout from espeak instead of a wav.
Lots of options.
Cheers Bob VK2YQA
On 8/9/24 00:52, KC5L via groups.io
wrote:
toggle quoted message
Show quoted text
The idea behind Voice Alert is to only transmit PL when
transmitting voice. No PL when transmitting data. Transmitting
PL all the time (by using PL on the radio) would defeat the
point of Voice Alert and annoy listeners using Voice Alert to
filter out the data transmissions.
?
The following command will synthesize a 100Hz tone:
?
ffplay
-hide_banner -nodisp -autoexit -f lavfi -i 'sine=f=100'
There is likely a way to use ffmpeg/ffplay to mix this
synthesized tone with the output of espeak but I haven't been
able to figure it out.
?