20200814:汉字转语音(语音合成)(一):技术调研和准备

一、参考资料

1、https://zhuanlan.zhihu.com/p/26726297

参考语录:汉字转语音实现就分为两步,第一步将汉字转为拼音,第二步通过拼音调用相匹配的音频文件。

 

2、汉字转拼音

参考:https://blog.csdn.net/mydistance/article/details/85009791

涉及的第三方库:xpinyin和pypinyin

 

from xpinyin import Pinyin 
# 实例拼音转换对象 
p = Pinyin() 
# 进行拼音转换
ret = p.get_pinyin(u"汉语拼音转换", tone_marks='marks') 
ret1 = p.get_pinyin(u"汉语拼音转换", tone_marks='numbers') 
print(ret+'\n'+ret1) 
# 得到转化后的结果 
# hàn-yǔ-pīn-yīn-zhuǎn-huàn 
# han4-yu3-pin1-yin1-zhuan3-huan4
import pypinyin

# 不带声调的(style=pypinyin.NORMAL)
def pinyin(word):
    s = ''
    for i in pypinyin.pinyin(word, style=pypinyin.NORMAL):
        s += ''.join(i)
    return s

# 带声调的(默认)
def yinjie(word):
    s = ''
    # heteronym=True开启多音字
    for i in pypinyin.pinyin(word, heteronym=True):
        s = s + ''.join(i) + " "
    return s

if __name__ == "__main__":
    print(pinyin("忠厚传家久"))
    print(yinjie("诗书继世长"))

 

3、Tacotron中文语音合成

 

二、模型算法

1、开源

  • Wavenet

  • Deepvoice

  • Tacotron(端到端)

  • Tacotron2(端到端)

2、优缺点

  • Wavenet的缺陷是需要进行自回归,即把这一次的输出附加到下一次运算的输入中,使得运算无法并行进行,速度较慢,并且它并不是端到端,它需要对TTS前端语言的特征进行调节。

  • Tacotron则使用了RNN模型,具有短期记忆、梯度消失严重等问题,导致信号合成效果并不是很好,不如Wavenet。

  • Tacotron2则将Wavenet和Tacotron相结合,吸取了两者的优势并解决了两者的问题。

三、Tacotron2 实践

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值