欢迎来到智能语音识别系列的第二篇文章.
上一篇文章的地址在这:智能语音处理+1.1下载需要的库(100%实现)-CSDN博客
想必上一篇的操作(文本转语音)已经成功实现了
接下来,我们要学习用SAPI技术去实现文本转语音
一.简单介绍SAPI技术
SAPI是架构在COM基础上的,微软还提供了 ActiveX控件,所以不仅可用于一般的windows程序,还可以用于网页、VBA甚至EXCEL的图表中。 如果对COM感到陌生,还可以使用微软的 C++ WRAPPERS,它用 C++类 封装了语音SDK COM对象。
win32com
是pywin32
库的一部分,提供了 Python 与 Windows COM 接口交互的功能。
需要先安装pywin32(也是在终端运行,前提是:电脑里只安装了一个Python解释器,以及pycharm使用的解释器是你拥有的唯一一个解释器.)
pip install pywin32
二.Dispatch方法
创建 COM 对象实例:Dispatch
用于动态调用 COM 组件的接口,通过 ProgID(如 Excel.Application
)或 CLSID(唯一标识符)启动对应的应用程序或组件。
个人理解:你可以理解为:dispatch方法会帮你调用文本转语音的组件接口.帮你打工的.
# 从win32com调用Dispatch方法
from win32com.client import Dispatch# 初始化speaker类,此类调用SAPI接口的spVoice方法
speaker = Dispatch('SAPI.SpVoice')
三.完整程序
以下是完整程序,按照往前的步骤做的话,这是可以实现的.
# 从win32com调用Dispatch方法
from win32com.client import Dispatch# 初始化speaker类,此类调用SAPI接口的spVoice方法
speaker = Dispatch('SAPI.SpVoice')# 以speaker类作为媒介,调用speak方法
speaker.speak('大家好,我是nzq,我不想上课,我不同意开学')# 读完后,删除speaker类(无影响,可有可无)
del speaker