Python实现文字转语音功能
这是一篇简单的Python文字(汉字)转语音教程,当然对于其他语言工具在实现的方法上也是一样的 。
在自然语言处理上,文字、音频互转是一个很关键的技术点。对于语音转文字,这个个人实现较为困难,我们可以使用语音转文字的软件或借助各API(如科大讯飞等)进行移植开发。不过文字转语音就相对而言容易实现很多了。
简言之, 汉字转语音实现就分为两步,第一步将汉字转为拼音,第二步通过拼音调用相匹配的音频文件。下面是具体的开发实例教程。
开发环境:Windows
Python版本:3.x
外置模块准备:pygame(可直接在cmd命令行中pip install pygame安装)
汉字转拼音
我使用的是将汉字转为Unicode码,然后通过查询一个匹配文件(我使用的是unicode_py.txt)获取该汉字的拼音,该文件中列有从4E00-9FA5标准汉字的Unicode编码所对应的拼音,外加一个落单的3007编码的“〇”。
文件如下:
文件链接:链接: https://pan.baidu.com/s/1nwhSnDf 密码: 73yk
在大写拼音英文后的1,2,3,4,5分别表示一,二,三,四和轻声(注意到存在有多音字)
我们将其封装成一个函数,参数为一个全是汉字的字符串,返回是一个拼音字符串。(即chinese_to_pinyin("秋水共长天一色") 返回的是"QIU1 SHUI3 GONG4 CHANG2 TIAN1 YI1 SE4 ")
源码如下:
说明:将该文件与"unicode_py.txt"文件放在同一目录下,代码比较简陋,因为主要给大家讲实现教学,所以没有对多音字进行处理(所以默认使用第一个使用频率最高的音)
拼音转语音
这一步也比较简单,我们根据拼音调用相对应的单个音的音频文件即可。单个音的音频文件可以自己录或找人录,渠道有很多哦。注意文件格式,最好是mp3或wav文件。
部分文件展示如下:
我们将其置入一个voice文件夹下。准备工作就做好了。
我们同样将汉字转语音封装成一个make_voice函数,参数为一个汉字字符串,然后调用chinese_to_pinyin函数,返回值不重要,可为空,功能实现是调用音频文件发音。
源码如下:
我们展示一下这个教学版的最后完整的代码图(该文件名为"test.py"):
教程文件的目录结构:
实现原理就是这样,同时也可以视一些具体情况做一些拓展,例如将阿拉伯数字转汉字读法(即1234006.15读作“一百二十三万四千零六点一五”,这个实现不难),还有将多音字问题攻破也是很棒的。
当然只要想法够丰富用pygame的音频功能也能实现很多有趣的功能(如播放器制作或电子音乐简单创作等)。
∞∞∞∞∞
IT派 - {技术青年圈}持续关注互联网、区块链、人工智能领域
公众号回复“Python”,
邀你加入{ IT派Python技术群 }
Python实现文字转语音功能相关推荐
- python语音合成并播放_使用Python实现文字转语音并生成wav文件的例子
目前手边的一些工作,需要实现声音播放功能,而且仅支持wav声音格式. 现在,一些网站上支持文字转语音功能,但是生成的都是MP3文件,这样还需要额外的软件来转成wav文件,十分麻烦. 后来,研究Pyth ...
- python实现文字转语音_Python 文字转语音
利用Python将文字转为语音播放 挺简单的代码,几分钟就可以做好,下面介绍一下 首先,安装pyttsx3依赖包,很简单 win+R 打开运行,输入 cmd 回车,进入控制台,键入以下代码: pip ...
- 真人语音朗读软件_才知道,手机还自带文字转语音功能,一键按下便可实现,网友:赞...
下面我们来说说关于手机,电脑上的文字转语音方法,如果你也感兴趣的,那就一起来看看吧! 一.手机自带 1.华为手机 其实华为手机就自带了文字转语音功能,只要将手机打开之后,点击[设置]-[智能辅助]-[ ...
- TTS Service Extended (进程:com.google.tts)意外停止 恢复被阉割的TTS文字转语音功能
TTS Service Extended (进程:com.google.tts)意外停止 恢复被阉割的TTS文字转语音功能 TTS Service Extended (进程:com.google.tt ...
- html5d调用百度语音,易语言调用百度语音平台实现文字转换语音功能的代码
调用百度语音平台实现文字转换语音功能 此功能需要加载精易模块5.6 .版本 2 .支持库 wmp9 .程序集 窗口程序集1 .子程序 _试听按钮_被单击 播放器1.地址 = "http:// ...
- java 实现文字转语音功能并同时生成语音文件 demo
文字转语音功能并同时生成语音文件 这个demo实现的是 你传输一个字符串对象 程序把你传输的对象里的字符串 转成一个可读的语音文件 并且会在你本机读出来 !!!如果没有读出来请首先检查你电脑的声音是否 ...
- 基于SAPI(微软的语音API)的文字转语音功能
一.环境配置 1.下载Microsoft Speech SDK 5.1,下载地址为:http://www.microsoft.com/download/en/details.aspx?id=10121 ...
- Python通过文字生成语音,随机获取视频或图片素材生成伪原创的短视频
前段时间写了一篇<抖音自动引流脚本源码>主要通过语录系统自动生成语句或随机评论,适用于自动评论引流脚本. 今天脑洞大开,想用Python通过文字生成语音,随机获取视频或图片素材生成伪原创的 ...
- python中文字符串转语音_Python实现文字转语音功能
知乎第一篇文章,本来想写一篇简单的单进程单线程爬虫教程的,可是知乎上这样的文章已经有很多了,而且写的好的挺多,我就不添堵了.下次有空的话写一篇多线程请求的爬虫教程. 这是一篇简单的Python文字(汉 ...
最新文章
- 数据驱动:新药物发现知识图
- CentOS7系统启动、排错、修复、破解root口令
- ionic 支持float吗_机器人协会 | 一起拼机器人吗?
- python无条件跳转_python按按钮实现界面跳转_python实现界面跳转 - CSDN
- 仿复制粘贴功能,长按弹出tips的实现
- android+4.3+usb存储模式,点点点:点出来安卓4.3的USB调试
- uva 10474 - Where is the Marble?
- go语言 liteIDE 错误: 进程无法启动.
- P2P软件UFX被指藏后门搜客户信息 融都科技否认
- InstallShield2015创建安装包
- 程序猿12个人艰不拆的真相
- android icon换不掉图标文件夹,看烦了 Windows 原生文件夹图标?收下这套最全的更换图标教程...
- ubuntu清空回收站命令
- LIN自动雨刮:雨量传感器原理与安装
- curl命令详解 (curl -I)
- Linux 0.11-重新设置idt和gdt-08
- SpringBoot+vue邮箱登录(附带多种效验)
- 计算机电源功率计算器,装机不用愁 航嘉功率计算器教你选电源
- 第 04 课 用户管理
- App Store Connect显示app已经上架(可供销售),但在App Store中没有实时更新
热门文章
- 23种设计模式分析(4):结构型模式
- “扫地机器人双子星”正在坠落之科沃斯
- 【游戏建模全流程】Maya风格化模型制作教程
- [软件项目管理] BCWS、BCWP、ACWP的理解
- 多张照片怎么添加时间水印
- DeepLabv3:《Rethinking Atrous Convolution for Semantic Image Segmentataion》
- 路由器wifi热点丢包率高_使用笔记本电脑和虚拟路由器创建自己的Wifi热点
- C 统计数字和大写字母和小写字母的个数
- lodash (cdn、npm引入)
- 蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构