You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
2.6 KiB

#!/bin/bash
#####################################################################
# filename: getWxRpt
#
# description: Uses festival text-to-speech synthesiser to convert
# weather data to audio and save as a ul file.
#
# usage: getWxRpt
#
# history:
# 2004/08/18 kc6hur Original Release
#
# Modified by w0anm
# $Id: getWxRpt 46 2009-04-10 04:27:25Z $
######################################################################
LOGFILE=/tmp/wx1.txt
# Load config file
if [ -f ${CUSTOM}/wx_scripts.conf ] ; then
source ${CUSTOM}/wx_scripts.conf
else
echo "Missing ${CUSTOM}/wx_scripts.conf file, aborting..."
exit 1
fi
# if ICAO_STN not an argument, then use what is defined in configure file.
if [ "$1" = "" ] ; then
ICAO_LIST=$ICAO_STN
else
ICAO_LIST=$1
fi
# WXTXT="$WXDIR/report/$ICAO.txt"
# WXTXT_TMP="/tmp/$ICAO.txt"
# WXAUD="$WXDIR/report/$ICAO.ul"
# WXURL="http://weather.noaa.gov/pub/data/observations/metar/stations/$ICAO.TXT"
if [ ! -d $WXDIR/report ] ; then
mkdir -p $WXDIR/report
fi
#-----------------------------------------------------------------------
# Get the METAR weather string and convert it to a text file.
for ICAO in $ICAO_LIST ; do
log "Get METAR for $ICAO"
WXTXT="$WXDIR/report/$ICAO.txt"
WXTXT_TMP="/tmp/$ICAO.txt"
WXAUD="$WXDIR/report/$ICAO"
WXURL="http://tgftp.nws.noaa.gov/data/observations/metar/stations/$ICAO.TXT"
## rm -f $WXTXT &>/dev/null
/usr/bin/wget -q -O - $WXURL > /tmp/wx_metar
if `/usr/bin/wget -q -O - $WXURL | /metar2text > $WXTXT 2>> $LOGFILE` ; then
log "Error getting METAR for $ICAO"
exit 0
else
log "Got METAR for $ICAO"
fi
# Fix any formating issues:
sed -f /wxtext_conv.sed $WXTXT > $WXTXT_TMP
# echo "end of report. . . " >> $WXTXT_TMP
cp $WXTXT_TMP $WXTXT
# Convert text output into a ul file.
#
if [ -f $WXTXT ] ; then
if [ $TEXT2SPEECH = "festival" ] ; then
#$TEXT2WAVE -F 48000 -otype wav -o $WXAUD1.wav $WXTXT
#ffmpeg -i $WXAUD.wav -y -ar 48000 $WXAUD1.wav
pico2wave -w $WXAUD.wav "$(cat $WXTXT)"
sox --norm -V -v 0.1 $WXAUD.wav -r 48000 $WXAUD1.wav
/usr/local/bin/wav2dvtool $WXAUD1.wav KD8TUZ_REPORT KD8TUZ_B KD8TUZ_G "Hamilton WX Report" $WXAUD.dvtool
# sourced out audio files
#echo "$WXTXT"
#espeak $WXTXT $WXAUD
fi
if [ $TEXT2SPEECH = "cepstral" ] ; then
$TEXT2WAVE -m text -f $WXTXT -p audio/encoding=ulaw,audio/sampling-rate=8000,audio/volume=$SWIFT_VOL -o $WXAUD.new
fi
#mv $WXTXT_TMP $WXTXT
#log "$WXAUD has been saved"
#rm -f $WXTXT &>/dev/null
fi
done
exit 0

Powered by TurnKey Linux.