查看: 2531|回复: 2
收起左侧

[开发相关] 树莓派TTS(文本朗读)脚本

2015-3-13 15:07:13 | 显示全部楼层 |阅读模式
大家好!
偶然发现树莓派上可以装espeak来朗读文本。
于是写了以下脚本。
#! /bin/sh
# ttsshell.sh: TXT TO SPEACH SHELL SCRIPT
# Version: 2015-03-13
#
[ ! -f /usr/bin/espeak ] && sudo apt-get -y install espeak
red="\033[31;40m"
green="\033[32;40m"
yello="\033[33;40m"
end="\033[m"
speaker=m
lang=en
[ $# -eq 1 ] && speaker=$1
[ $# -eq 2 ] && lang=$2 && speaker=$1
[ $speaker = "f" ] || speaker=m
[ $lang = "zh" ] || lang=en
out=0
while [ $out -eq 0 ]; do
printf "${yello}TTSSHELL: ${red}[$lang][$speaker] > $green"
read -r TXT
echo $TXT >> .ttsshell.history
printf "$end"
if [ $(echo $TXT|grep -c "^speaker") -gt 0 -o $(echo $TXT|grep -c "^lang") -gt 0 ]; then
[ $(echo $TXT|grep -c "^speaker") -gt 0 ] && speaker=$(echo $TXT|awk '{print $2}')
[ $(echo $TXT|grep -c "^lang") -gt 0 ] && lang=$(echo $TXT|awk '{print $2}')
else
if [ $(echo $TXT|grep -c "^quit") -gt 0 -o A"$TXT" = "A" ] ; then
out=1
else
#[ $speaker = "M" ] && echo "$TXT"|festival --tts || espeak -vzh+f3 -k5 -s140 "$TXT" 2>/dev/null
espeak -v${lang}+${speaker}3 -k5 -s140 "$TXT" 2>/dev/null
fi
fi
done
可以输入任何中英文文本,让树莓派替你朗读。
TTSSHELL.PNG
回复

使用道具 举报

2015-3-13 17:35:10 | 显示全部楼层
必须赞一个。
回复 支持 反对

使用道具 举报

2015-3-14 00:18:56 | 显示全部楼层
挺有趣的东西
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热点推荐

关注我们,了解更多

官方微信

服务时间:10:00-16:00

13714503811

公司地址:深圳市龙岗区南湾街道东门头路8号

Copyright © 2012-2020 Powered by 树莓派论坛 2019.4  粤ICP备15075382号-1
快速回复 返回列表 返回顶部