树莓派智能语音助手之TTS - pyttsx3 + espeak

要让树莓派“开口说话”,就需要文字转语音的功能。起初选用Coqui-TTS,需要安装torch2.1(因为TTS需要torch>=2.1.0),结果没有找到现成的whl文件(目前找到的torch可用版本是1.8),只能放弃。然后就选择了pyttsx3+espeak方案来实现语音合成。

pyttsx3的安装直接输入 pip install pyttsx3 就ok了。

在终端输入 touch test.py ,然后用 sudo nano test.py编辑:

import pyttsx3

def text_to_speech(text):

    engine = pyttsx3.init()

    engine.setProperty('volume', 1) 

    engine.say(text)

    engine.runAndWait()

    engine.stop()

text_to_speech('hello')

保存好test.py,在终端输入python3 test.py,怎么没有声音?

查了查,有说Linux上要装espeak。二话不说,继续开干: sudo apt install espeak

然后再用python3 test.py,终于听到略显僵硬的男声“hello”了。

要想听中文怎么设置?很简单,首先在pyttsx3.init()的括号里加入’espeak’,然后在engine.say()前新增一行engine.setProperty(‘voice’,’zh’)。这时候text变成中文,程序执行的时候就是中文了。如果要听女声,新增的这句就改成engine.setProperty(‘voice’,’zh+f3’)。

执行中文发音的时候会得到一个“Full dictionary is not installed for ‘zh’”的报错,解决方案如下:

1、重新下载语音包

git clone https://github.com/caixxiong/espeak-data/

cd espeak-data/

unzip espeak-data.zip

cd espeak-data/

2、拷贝解压文件到原安装包对应目录

 sudo cp -r * /usr/lib/arm-linux-gnueabihf/espeak-data/

3、编译中文包

sudo espeak --compile=zh

4、编译成功后需要把原来wget下载的espeak-data目录全部整体删除,

sudo rm -rf espeak-data

不然可能会报错:

树莓派可以读中文啦!!不过要吐槽下,这个合成的声音真的很机械,不好听。

有什么办法让声音变得更柔和些吗?

参考文章:

linux espeak语音tts;pyttsx3 ubuntu使用

Python第三方库推荐:pyttsx3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天飓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值