资源简介
一个python离线的TTS语音合成,简单实现和使用!首先将文本与语音对照的方法实现了转换,然后再播放对应文字对应的拼音所对应的音频来播放语音 。缺点是没有进行音频合成。
代码片段和文件信息
from os import path
import codecs
import winsound
class Hanzi2Pinyin():
def __init__(self):
self.table = {}
try:
fp = codecs.open(path.join(path.dirname(__file__) ‘pinyin.txt‘) ‘r‘ ‘utf-8‘)
except IOError:
raise Exception(“Can‘t load data from pinyin.txt“)
except UnicodeDecodeError:
raise Exception(“Can‘t decode data from pinyin.txt“)
else:
for l in fp.readlines():
self.table[l[0]] = l[1:-1]
fp.close()
def convert(self value):
pinyin = []
tASCII = ‘‘
# 字符检查
for c in value.lower() + ‘ ‘: # 加个空格多一次循环 修正尾部字符丢失问题
i = ord(c)
if (i >= 48 and i <= 57) or (i >= 97 and i <= 122): # 48-57[0-9] 97-122[a-z]
tASCII += c
continue
tASCII and pinyin.append(tASCII)
tASCII = ‘‘
if c in self.table:
pinyin.append(self.table[c])
return pinyin
# 播放wav
def play(word):
p = Hanzi2Pinyin().convert(str(word))
for name in p:
winsound.PlaySound(path.join(path.dirname(__file__) ‘yyc\\{0}.wav‘.format(name) ) winsound.SND_FILENAME)
def main():
string = input(‘请输入要转换为语音的中文文本:\n‘)
print()
print(‘*‘*12)
print(‘待转换的语音为:‘string)
print(‘*‘*12)
play(string)
if __name__ == ‘__main__‘:
main()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1499 2020-05-08 00:34 TTS\main.py
....... 145633 2019-07-30 12:30 TTS\pinyin.txt
....... 29 2019-07-30 12:30 TTS\yyc\$read
....... 35902 2019-07-30 12:30 TTS\yyc\a.wav
....... 36772 2019-07-30 12:30 TTS\yyc\ai.wav
....... 36772 2019-07-30 12:30 TTS\yyc\ai_.wav
....... 1192 2019-07-30 12:30 TTS\yyc\ai_wav.frq
....... 1192 2019-07-30 12:30 TTS\yyc\ai__wav.frq
....... 44286 2019-07-30 12:30 TTS\yyc\an.wav
....... 42848 2019-07-30 12:30 TTS\yyc\ang.wav
....... 42848 2019-07-30 12:30 TTS\yyc\ang_.wav
....... 1384 2019-07-30 12:30 TTS\yyc\ang_wav.frq
....... 1384 2019-07-30 12:30 TTS\yyc\ang__wav.frq
....... 44286 2019-07-30 12:30 TTS\yyc\an_.wav
....... 1432 2019-07-30 12:30 TTS\yyc\an_wav.frq
....... 1432 2019-07-30 12:30 TTS\yyc\an__wav.frq
....... 45450 2019-07-30 12:30 TTS\yyc\ao.wav
....... 45450 2019-07-30 12:30 TTS\yyc\ao_.wav
....... 1464 2019-07-30 12:30 TTS\yyc\ao_wav.frq
....... 1464 2019-07-30 12:30 TTS\yyc\ao__wav.frq
....... 4233 2019-07-30 12:30 TTS\yyc\avatar.jpg
....... 35902 2019-07-30 12:30 TTS\yyc\a_.wav
....... 1176 2019-07-30 12:30 TTS\yyc\a_wav.frq
....... 1176 2019-07-30 12:30 TTS\yyc\a__wav.frq
....... 37350 2019-07-30 12:30 TTS\yyc\ba.wav
....... 39374 2019-07-30 12:30 TTS\yyc\bai.wav
....... 1272 2019-07-30 12:30 TTS\yyc\bai_wav.frq
....... 48052 2019-07-30 12:30 TTS\yyc\ban.wav
....... 41110 2019-07-30 12:30 TTS\yyc\bang.wav
....... 1336 2019-07-30 12:30 TTS\yyc\bang_wav.frq
............此处省略866个文件信息
相关资源
- 基于Python的离线Google地图操作实现
- selenium3离线安装包whl和setup安装包.z
- python3.7离线帮助文档英文原版
- 最新Python离线帮助文档PDF格式-Python
- docker18.03-离线安装rpm包
- 23款常用Visual StudioCode插件离线安装包
- tensorflow1.12.0及其依赖库离线安装包
- BrettSlatkin-EffectivePython编写高质量Pyt
- python环境离线快速安装带pip
- Tensorflow2.0 CPU Linux下离线安装包(包含
- PyTorch 0.4.0 for Python 3.5 on CUDA 8.0Linux离
- Python 3.7 标准库内置库手册(CHM格式,
- Python3.5函数API离线查询手册html版
- Python实现Can接收发送 DBC分析报文 周立
- Python3.7.5文档中文离线完美版.zip
- python聊天机器人(语音识别、语义处
- Python 3.8.1 的中文文档html离线版本(
- 人脸识别Demo系列免费、带离线——人
- keras_contrib[离线安装].zip
评论
共有 条评论