#!/bin/sh -- # QND speak script # 2007/04/30 Azundris init ### what temp-files TMP=/tmp/speak-$$.txt OUT=/tmp/speak-$$.wav ### GET PARAMETERS (from arguments or stdin) TXT="$*" if [ "x$TXT" = "x" ] then read TXT else TXT=`echo "$TXT"|sed -e 's/\\\\//g'` fi TXT=`echo "$TXT"|sed -e 's/--/-/g' -e 's///g'` if [ "x$TXT" = "x" ] then exit fi ### METHOD: FreeTTS # java -jar /usr/share/java/freetts/lib/freetts.jar -voice kevin16 -text "$TX" 2>/dev/null ### METHOD: cepstral swift # if kttsd is running, use that pgrep kttsd > /dev/null if [ $? = 0 ] then dcop kttsd KSpeech sayText "$TXT" "en" > /dev/null else # no kttsd, call binary directly. no queuing! echo "$TXT" > $TMP swift -n Diane -m text -f $TMP -o $OUT aplay -q $OUT fi ### CLEANUP rm $TMP $OUT 2>/dev/null