Python将文字转成语音并读出来的实例详解


Posted in Python onJuly 15, 2019

前言

本篇文章主要介绍,如何利用Python来实现将文字转成语音。将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音、直接调用系统内置的语音引擎实现发音,后一种方法的实现主要利用第三方库。

环境

Python版本:Anaconda 4.4.10

操作系统:win10

注意:在使用第三方库的时候,不同的操作系统和Python版本代码可能有所差别。

调用api

可以调用第三方的语音合成api生成音频文件,然后再播放音频文件即可,这里我使用的是百度语音合成api。

1、注册账号创建应用

在使用之前,需要先注册一个百度账号,然后再创建一个语音合成的api,需要拷贝AppID、API Key、Secret Key后面调用接口的时候需要使用。

Python将文字转成语音并读出来的实例详解

2、调用语音合成接口

python调用百度语音合成api接口详细文档:http://yuyin.baidu.com/docs/tts/196

3、安装百度提供的Python库:

如果已安装pip,执行pip install baidu-aip即可。

如果已安装setuptools,执行python setup.py install即可。

from aip import AipSpeech

""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

result = client.synthesis('你好吗?', 'zh', 1, {
 'vol': 5,
})
# 识别正确返回语音二进制 错误则返回dict 参照下面错误码
if not isinstance(result, dict):
 with open('auido.mp3', 'wb') as f:
  f.write(result)

播放音频文件

安装playsound:pip install playsound

from playsound import playsound

playsound("auido.mp3")

利用系统内置语音引擎实现发音

1. Pyttsx

Pyttsx是一个跨平台将文字转成语音的第三方库,它对操作系统内置的语音引擎实现了包装。

Pyttsx安装

Python2:pip install pyttsx

Python3:pip install pyttsx3

代码

import pyttsx3

engine = pyttsx3.init()
engine.say("Good")
engine.runAndWait()

pyttsx默认使用的是读取英文引擎,如果需要读取中文时需要修改语言设置,不然可能会报错或者无法发音,首先我们需要参考系统支持的语言类型和参数,通过以下代码可以查看

engine = pyttsx3.init()
voices = engine.getProperty("voices")
for item in voices:
 print(item.id,item.languages)

Python将文字转成语音并读出来的实例详解

可以看到ZH-CN的参数,表示的是中文,然后将代码修改成如下即可

engine = pyttsx3.init()
engine.setProperty("voice","HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Sp
 eech\Voices\Tokens\TTS_MS_ZH-CN_HUIHUI_11.0")
engine.say("你好吗?")
engine.runAndWait()

2. gTTS

gTTS可以将文字转成语音进行保存为MP3格式,然后再读取语音实现发音,它是通过调用Google提供的TTS服务来实现将文字转语音的,因为需要调用Google的服务,所以需要翻墙,因为缺少环境所以下面的代码是没有测试过的。调用下面代码的时候,需要设置在代码中设置代码或者全局代理。

from gtts import gTTS
import os

tts = gTTS(text="come on",lang="en")
tts.save("test.mp3")
os.system("mpg321 test.mp3")

如果需要生成wav格式的音频文件,可以利用FFmpeg将MP3的音频文件转成wav格式。

操作系统内置引擎

利用win32com来调用Windows操作系统内置的语音引擎实现文字的发音

以上这篇Python将文字转成语音并读出来的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
《Python之禅》中对于Python编程过程中的一些建议
Apr 03 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
python字符类型的一些方法小结
May 16 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
Aug 05 Python
Python3计算三角形的面积代码
Dec 18 Python
利用Python如何生成便签图片详解
Jul 09 Python
5分钟 Pipenv 上手指南
Dec 20 Python
python使用xlrd模块读取xlsx文件中的ip方法
Jan 11 Python
pytest中文文档之编写断言
Sep 12 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 Python
上手简单,功能强大的Python爬虫框架——feapder
Apr 27 Python
Python连续赋值需要注意的一些问题
Jun 03 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
Jul 15 #Python
Python符号计算之实现函数极限的方法
Jul 15 #Python
在python 中split()使用多符号分割的例子
Jul 15 #Python
Python-Seaborn热图绘制的实现方法
Jul 15 #Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 #Python
python 用所有标点符号分隔句子的示例
Jul 15 #Python
Python3+PyInstall+Sciter解决报错缺少dll、html等文件问题
Jul 15 #Python
You might like
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
jquery右下角弹出提示框示例代码
2013/10/08 Javascript
基于JQuery实现图片上传预览与删除操作
2016/05/24 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
vue-router懒加载速度缓慢问题及解决方法
2018/11/25 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
js实现点击按钮随机生成背景颜色
2020/09/05 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python中的高级数据结构详解
2015/03/27 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
小学教师事迹材料
2014/01/13 职场文书
幼儿园教学管理制度
2014/02/04 职场文书
市场营销求职信范文
2014/02/21 职场文书
煤矿安全承诺书
2014/05/22 职场文书
保护动物的标语
2014/06/11 职场文书
开服装店计划书
2014/08/15 职场文书
六查六看心得体会
2014/10/14 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
村官个人总结范文
2015/03/03 职场文书
内勤岗位职责范本
2015/04/13 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
2016党校学习心得体会
2016/01/07 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript