关于在Mac下的python文字转语音库pyttsx3

最近写python机器学习教程有点累了..就玩一些其他的东西,就包括了这个文字转语音的python3库pyttsx3

其中也遇到了一些问题,在此记录一下。

关于下载运行的问题

在使用命令行pip install pyttsx3下载之后,我在终端写下了如下代码:

1
2
import pyttsx3
engine = pyttsx3.init()

结果出现了No module named 'Foundation'的错误问题。

解决方案

下载模块pyobjc.

1
pip install pyobjc

估计是跟调用系统一些模块有关,毕竟这个库是跟macOS关系还是挺深的…自行了解,没想到这个库可以调用Objective-C的库来进行macOS上的应用程序开发…

以下是WiKi的解释:

PyObjC是Python和Objective-C编程语言之间的双向桥梁,允许程序员使用Python扩展现有的Objective-C库,例如Apple的Cocoa框架。 PyObjC用于在纯Python中开发macOS应用程序。 对GNUstep的支持也很有限,GNUstep是Cocoa的开源,跨平台实现。

下载完成这个库之后,再运行上面的代码就没有出错了。

关于pyttsx3读中文字的问题

这个问题其实是跟系统的语音设置相关的,看下图吧。

我在系统默认的语音类型(在图中两者之间切换):

然后又用代码查看pyttsx3的对应默认声音:

发现了其实pyttsx3的语音是根据本地语音相关的,这又一步说明为何要安装pyobjc这个铺助模块的意义。

在读取英文或中文时,设置一下本地的默认语音即可。

关于pyttsx3的使用

很详细了,值得一看。

---------------本文终---------------

文章作者:刘俊

最后更新:2020年05月28日 - 06:05

许可协议: 转载请保留原文链接及作者。