Festival 的使用方式有幾種:
- 執行 festival client 程式,使用 interactive 模式下指令進行操作
- 使用 festival 提供的 text2wave 工具程式,直接把文字轉換成 wave 格式的語音檔案
- 使用其他語言的 wrapper,例如 perl 的 Festival::Client
以下是幾個我寫的應用實例:
- 語音報時:voice-clock.sh
#!/bin/bash
function usage {
echo -e "Usage:\n\n\t$(basename $0) date|time\n\n";
}
[ "x$1" == "x" ] && {
usage;
exit 1;
}
TEXT2WAVE="text2wave -scale 3.5 - "
TIME="$(LC_ALL=C date '+%l:%M %p')"
DATE="$(LC_ALL=C date '+%A, %B %d, %Y')"
PLAYER="aplay"
case $1 in
[Dd][Aa][Tt][Ee])
echo ${DATE} | ${TEXT2WAVE} | ${PLAYER} 2> /dev/null;
;;
[Tt][Ii][Mm][Ee])
echo ${TIME} | ${TEXT2WAVE} | ${PLAYER} 2> /dev/null;
;;
*)
usage;
exit 1;
;;
esac - 檢查某關站維護的 BBS 是否重新啟動了:check-bbs.sh
#!/bin/bash
while true; do
ping -c 1 bbs.somebbs.org > /dev/null && {
voice-clock time;
for (( i=1; i<=5; i++ )); do
echo "Some BBS is back again" | text2wave -scale 3.5 - | aplay;
sleep 1;
done;
break;
}
sleep 60;
done
其他還有許多可能的應用。目前中文的語音合成程式就我所知,似乎還沒看到有 Free Software 的實作可用。
沒有留言:
張貼留言