mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-22 19:44:21 +01:00
62 lines
1.2 KiB
Text
62 lines
1.2 KiB
Text
|
#!/bin/sh
|
||
|
|
||
|
usage() {
|
||
|
SELF="$( basename $0 )"
|
||
|
INDT="$( echo $SELF | sed 's,., ,g' )"
|
||
|
cat <<EOF
|
||
|
$SELF - wrapper for pico2wave, renders text to speech and
|
||
|
$INDT plays it using the 'play' command.
|
||
|
|
||
|
Written by B. Watson <yalhcru@gmail.com>, for the SlackBuilds.org project.
|
||
|
Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
|
||
|
|
||
|
If a -l <language> option is given, it will be passed to pico2wave.
|
||
|
|
||
|
Exit status of $SELF is that of pico2wave.
|
||
|
|
||
|
Examples:
|
||
|
|
||
|
$SELF 'Hello world.'
|
||
|
Speaks "Hello world" in the default language (en-US)
|
||
|
|
||
|
$SELF -l en-GB 'Hello world.'
|
||
|
As above, in a British accent.
|
||
|
|
||
|
fortune -s | $SELF
|
||
|
Reads from standard input.
|
||
|
|
||
|
$SELF < /etc/motd
|
||
|
Speak a text file. Don't forget the < or it says the filename instead.
|
||
|
EOF
|
||
|
}
|
||
|
|
||
|
# main()
|
||
|
|
||
|
case "$1" in
|
||
|
'-?'|-h|-help|--help)
|
||
|
usage
|
||
|
exit 0
|
||
|
;;
|
||
|
-l) LOPT="$1 $2"
|
||
|
shift
|
||
|
shift
|
||
|
;;
|
||
|
-l?*) LOPT="$1"
|
||
|
shift
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
DIR=$( mktemp -t -d pico2audio.XXXXXX )
|
||
|
if [ ! -d "$DIR" ]; then
|
||
|
exit 1 # mktemp already printed an error message
|
||
|
fi
|
||
|
|
||
|
which pico2wave >/dev/null || exit 1
|
||
|
which play >/dev/null || exit 1
|
||
|
|
||
|
pico2wave $LOPT -w $DIR/tmp.wav "$@"
|
||
|
E="$?"
|
||
|
play -q $DIR/tmp.wav 2>/dev/null
|
||
|
rm -rf $DIR
|
||
|
exit "$E"
|