forked from rayyankhan16-code/BashENDEC
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrelay.sh
80 lines (73 loc) · 2.27 KB
/
relay.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
cat ipaws.xml | grep -oP '(?<=<info>).*?(?=</info>)' > relay.xml
if [ -s relay.xml ]
then
echo "Alert Is Valid"
else
echo "Invalid Alert"
exit 1
fi
echo -n "ZCZC-" > same.txt
cat relay.xml | grep -oP '(?<=<valueName>EAS-ORG</valueName><value>).*?(?=</value>)' | head -n 1 | xargs echo -n >> same.txt
echo -n "-" >> same.txt
cat relay.xml | grep -oP '(?<=<eventCode><valueName>SAME</valueName><value>).*?(?=</value>)' | head -n 1 | xargs echo -n >> same.txt
echo -n "-" >> same.txt
cat relay.xml | grep -oP '(?<=<geocode><valueName>SAME</valueName><value>).*?(?=</value>)' | xargs echo -n >> same.txt
echo -n "+" >> same.txt
echo -n "0015" >> same.txt
echo -n "-" >> same.txt
date +%j | xargs echo -n >> same.txt
cat relay.xml | grep -oP '(?<=<effective>).*?(?=</effective>)' | grep -oP '(?<=T).*?(?=-)' | grep -Po '.*(?=...$)' | xargs echo -n >> same.txt
echo -n "-" >> same.txt
echo -n "KALT/WXR" >> same.txt # Station Callsign
echo -n "-" >> same.txt
sed --in-place 's/://g' same.txt
sed --in-place 's/ /-/g' same.txt
cat same.txt
echo "Generating Header"
cat same.txt | minimodem --tx same -f same.wav
echo "Generating Footer"
echo NNNN | minimodem --tx same -f eom.wav
echo "Generating ATTN Tone"
ffmpeg -f lavfi -i "sine=frequency=1050:duration=7" attn.wav -y
echo "Requesting external audio"
cat relay.xml | grep -oP '(?<=<resource>).*?(?=</resource>)' | grep -oP '(?<=<uri>).*?(?=</uri>)' > audio.txt
if [ -s audio.txt ]
then
echo "Successful, using external audio."
cat audio.txt | xargs wget -O ipaws.mp3
ffmpeg -i ipaws.mp3 -acodec pcm_u8 -ar 22050 ipaws.wav -y
else
echo "Unsuccessful, using internal audio."
echo "Generating WAVE"
cat relay.txt | grep -oP '(?<=<description>).*?(?=</description>)' | flite -voice kal16 --ssml -f - -o ipaws.wav
fi
echo "Outputting In:"
echo "3"
sleep 1
echo "2"
sleep 1
echo "1"
sleep 1
echo "TX Enabled"
screen -X -S "INSERT YOUR STATION AUTOMATION SCRIPT HERE" quit
echo "Passthrough Enabled"
aplay "same.wav"
sleep 1
aplay "same.wav"
sleep 1
aplay "same.wav"
sleep 3
aplay "attn.wav"
sleep 3
aplay "ipaws.wav"
sleep 3
aplay "eom.wav"
sleep 1
aplay "eom.wav"
sleep 1
aplay "eom.wav"
echo "Alert Relayed."
echo "Standby..."
screen -dmS "INSERT YOUR STATION AUTOMATION SCRIPT HERE" watch -n 1 sh "INSERT YOUR STATION AUTOMATION SCRIPT HERE"
exit 0