这是一篇简单的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实现文字转语音功能相关推荐

  1. python语音合成并播放_使用Python实现文字转语音并生成wav文件的例子

    目前手边的一些工作,需要实现声音播放功能,而且仅支持wav声音格式. 现在,一些网站上支持文字转语音功能,但是生成的都是MP3文件,这样还需要额外的软件来转成wav文件,十分麻烦. 后来,研究Pyth ...

  2. python实现文字转语音_Python 文字转语音

    利用Python将文字转为语音播放 挺简单的代码,几分钟就可以做好,下面介绍一下 首先,安装pyttsx3依赖包,很简单 win+R 打开运行,输入 cmd 回车,进入控制台,键入以下代码: pip ...

  3. 真人语音朗读软件_才知道,手机还自带文字转语音功能,一键按下便可实现,网友:赞...

    下面我们来说说关于手机,电脑上的文字转语音方法,如果你也感兴趣的,那就一起来看看吧! 一.手机自带 1.华为手机 其实华为手机就自带了文字转语音功能,只要将手机打开之后,点击[设置]-[智能辅助]-[ ...

  4. TTS Service Extended (进程:com.google.tts)意外停止 恢复被阉割的TTS文字转语音功能

    TTS Service Extended (进程:com.google.tts)意外停止 恢复被阉割的TTS文字转语音功能 TTS Service Extended (进程:com.google.tt ...

  5. html5d调用百度语音,易语言调用百度语音平台实现文字转换语音功能的代码

    调用百度语音平台实现文字转换语音功能 此功能需要加载精易模块5.6 .版本 2 .支持库 wmp9 .程序集 窗口程序集1 .子程序 _试听按钮_被单击 播放器1.地址 = "http:// ...

  6. java 实现文字转语音功能并同时生成语音文件 demo

    文字转语音功能并同时生成语音文件 这个demo实现的是 你传输一个字符串对象 程序把你传输的对象里的字符串 转成一个可读的语音文件 并且会在你本机读出来 !!!如果没有读出来请首先检查你电脑的声音是否 ...

  7. 基于SAPI(微软的语音API)的文字转语音功能

    一.环境配置 1.下载Microsoft Speech SDK 5.1,下载地址为:http://www.microsoft.com/download/en/details.aspx?id=10121 ...

  8. Python通过文字生成语音,随机获取视频或图片素材生成伪原创的短视频

    前段时间写了一篇<抖音自动引流脚本源码>主要通过语录系统自动生成语句或随机评论,适用于自动评论引流脚本. 今天脑洞大开,想用Python通过文字生成语音,随机获取视频或图片素材生成伪原创的 ...

  9. python中文字符串转语音_Python实现文字转语音功能

    知乎第一篇文章,本来想写一篇简单的单进程单线程爬虫教程的,可是知乎上这样的文章已经有很多了,而且写的好的挺多,我就不添堵了.下次有空的话写一篇多线程请求的爬虫教程. 这是一篇简单的Python文字(汉 ...

最新文章

  1. 数据驱动:新药物发现知识图
  2. CentOS7系统启动、排错、修复、破解root口令
  3. ionic 支持float吗_机器人协会 | 一起拼机器人吗?
  4. python无条件跳转_python按按钮实现界面跳转_python实现界面跳转 - CSDN
  5. 仿复制粘贴功能,长按弹出tips的实现
  6. android+4.3+usb存储模式,点点点:点出来安卓4.3的USB调试
  7. uva 10474 - Where is the Marble?
  8. go语言 liteIDE 错误: 进程无法启动.
  9. P2P软件UFX被指藏后门搜客户信息 融都科技否认
  10. InstallShield2015创建安装包
  11. 程序猿12个人艰不拆的真相
  12. android icon换不掉图标文件夹,看烦了 Windows 原生文件夹图标?收下这套最全的更换图标教程...
  13. ubuntu清空回收站命令
  14. LIN自动雨刮:雨量传感器原理与安装
  15. curl命令详解 (curl -I)
  16. Linux 0.11-重新设置idt和gdt-08
  17. SpringBoot+vue邮箱登录(附带多种效验)
  18. 计算机电源功率计算器,装机不用愁 航嘉功率计算器教你选电源
  19. 第 04 课 用户管理
  20. App Store Connect显示app已经上架(可供销售),但在App Store中没有实时更新

热门文章

  1. 23种设计模式分析(4):结构型模式
  2. “扫地机器人双子星”正在坠落之科沃斯
  3. 【游戏建模全流程】Maya风格化模型制作教程
  4. [软件项目管理] BCWS、BCWP、ACWP的理解
  5. 多张照片怎么添加时间水印
  6. DeepLabv3:《Rethinking Atrous Convolution for Semantic Image Segmentataion》
  7. 路由器wifi热点丢包率高_使用笔记本电脑和虚拟路由器创建自己的Wifi热点
  8. C 统计数字和大写字母和小写字母的个数
  9. lodash (cdn、npm引入)
  10. 蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构