续上文: 自制TTS引擎第0.01步-Python实现拼接单字wav文件

首先, 利用第三方库获取中文字符对应拼音:

from xpinyin import Pinyin
...for 单字 in 文字:# TODO: 多系统/拼音 = 拼音库.get_pinyin(单字, tone_marks='numbers')格式信息 = 从wav文件读取信息("单字/" + 拼音 + ".wav")

然后将wav文件改为拼音命名, 比如"中.wav"改为"zhong1.wav", 顺手将单字("我是中国人"五个字)的wav文件裁剪为0.35秒左右, 减少了前后空白, 拼接起来效果听起来好一些.

下面需要整理一份拼音全表. 用了网上下载的一个xls表, 格式如下:

输出所有存在的拼音, 比如a, 包括入声和四声都有, 则输出 a0, a1, a2, a3, a4; 如bu, 则输出bu1, bu3, bu4

同样用Python处理xlsx表格, 之前好像没有贴过类似代码. 节选如下(完整代码在此):

from openpyxl import load_workbook开始行 = 3
结束行 = 205所有拼音 = []def 遍历表格(文件名):工作簿 = load_workbook(文件名)表单 = 工作簿.activefor 行 in range(开始行, 结束行):for 拼音序号 in range(0, 2):拼音所在列 = 拼音序号 * 6 + 1拼音 = 表单.cell(row = 行, column = 拼音所在列).value.lower()for 列 in range(拼音所在列 + 1, 拼音所在列 + 6):对应字 = 表单.cell(row = 行, column = 列).valueif 对应字 != None:所有拼音.append(拼音 + str(列 - 拼音所在列 - 1))

输出1238个, 如下:

a0
a1
a2
a3
a4
ai1
ai2
ai3
ai4
an1
an3
an4
ang1
ang2
ang4
...

全表见此: 所有拼音

接下去就是体力活, 录音. 打算用一段稍长的文字作演示.

自制TTS引擎第0.02步-单字拼音化, 从Excel表格用Python提取拼音表相关推荐

  1. excel随机抽取_Python自制班级点名器让Excel表格用起来

    Welcome to 巧乐希 Join us!学习Python! 小溪流 终将汇成大海 作者:小溪流(爱好科技教育的工程师.) 像孩子一样学习Python. 上课啦,点名回答问题 同时记录下每个学生的 ...

  2. android系统tts TextToSpeech源码原理解析及定制tts引擎

    TextToSpeech 即文字转语音服务,是Android系统提供的原生接口服务,原生的tts引擎应用通过检测系统语言,用户可以下载对应语言的资源文件,达到播报指定语音的文字的能力.但是一切都是在g ...

  3. Python pyglet 自制3D引擎入门(二) -- 绘制立体心形,动画和相机控制

    Python作为目前较广泛的编程语言, 用于制作3D游戏可谓得心应手.本文讲解使用Python pyglet库自制简易3D引擎的方法技巧. 上篇:Python pyglet 自制3D引擎入门(一) – ...

  4. java tts引擎_Android TTS系列二——如何开发一款系统级tts引擎?

    上篇文章Android TTS系列一--如何让app具备tts能力分享了如何通过第三方tts sdk和Android speech包下的接口来拥有tts能力,这次分享下如何开发一款系统级tts引擎.代 ...

  5. Python pyglet 自制3D引擎入门(一) -- 绘制几何体、创建3D场景

    Python作为目前较广泛的编程语言, 用于制作3D游戏可谓得心应手.本文讲解应用Python pyglet库绘制3D场景的入门知识. 下篇:Python pyglet 自制3D引擎入门(二) – 绘 ...

  6. WebAssembly 在白鹭引擎5.0中的实践

    作为一种可移植.体积小.加载快且兼容web的全新格式,WebAssembly受到诸多关注,并迎来企业的探索实践.白鹭引擎利用WebAssembly重新实现了一个新的渲染内核并作为一个可选项提供给开发者 ...

  7. android的发音功能实现,为Android TTS引擎指定发音的最佳做法?

    一般来说,我对Android的默认文字引擎(即com.svox.pico)印象深刻.正如预期的那样,它误导了一些话(像我一样),因此偶尔需要一些发音指导.所以我想知道最好的做法,用于语音拼写出微软TT ...

  8. OpenGL自制游戏引擎-GreateWindow

    自制游戏引擎,学习OpenGL相关知识并进行实践,学习引擎底层知识,提高对游戏引擎的认识. 基于GLFW.GLEW的环境配置 这次我们使用下面的方式构建OpenGL环境 1.下载GLFW https: ...

  9. 成功解决lightgbm.basic.LightGBMError: Parameter max_depth should be of type int, got “0.02“

    成功解决lightgbm.basic.LightGBMError: Parameter max_depth should be of type int, got "0.02" 目录 ...

最新文章

  1. Linux C编程--进程介绍6--进程的各种标识
  2. 零基础学python爬虫-零基础如何学爬虫技术?一篇带你入门!(理论+实操+荐书)...
  3. 【实验报告】四恶意代码实验
  4. “优秀IT工程师”是什么样的?
  5. 跨编程语言平台的通信
  6. 从阿里巴巴icon引入图标到微信小程序(可以改变大小,颜色)
  7. html5弹性盒做成骰子,弹性盒制作骰子
  8. android应用apn.xml,android之APN
  9. arc64,x86等架构linux,windows系统openjdk下载
  10. begin to drop messages due to rate-limiting
  11. 生存分析绘图——Kaplan-Meier生存曲线
  12. 亚马逊被人差评了怎么办?
  13. Spring+SpringMvc+Hibernate(SSH)+bootstrap/Jsp整合
  14. 越南造车IPO估值3800亿
  15. 达梦数据交换平台软件DMETL部署
  16. 微信小程序案例:获取微信访问用户的openid
  17. linux ubuntu软件中心,Ubuntu软件中心
  18. matlab与测绘数据处理,利用MATLAB进行测绘数据处理和分析
  19. 《仙剑奇侠传3》流程攻略3
  20. 半年抖音涨粉2000万,一禅小和尚到底凭什么?!

热门文章

  1. python Cookbook 学习笔记(一)
  2. WinNTSetup v3.8.7 正式版绿色增强版
  3. 《Linux进程概念,进程创建退出等待替换,环境变量等基础操作 ---总结》
  4. 如何查看windows系统是否为正版?
  5. 用卷积对心音进行分类的总结1
  6. 1、Profibus协议包含那三个子集?分别针对哪种应用?4、在 PROFIBUS 网络中,一类主站和二类主站的功能有何不同?主站和主站之间、主站和 从站之间是怎样进行数据交换的?
  7. 阅读_分享成为高效程序员的7个重要习惯
  8. C4D R19怎么设置为中文
  9. 快速简单对接【手机三要素实名认证】API接口
  10. 拐过“三道弯”,看长沙如何打造“机器人湘军”