三段代码带你入门语音合成,闯进TOP5

技术

前言

picture.image

picture.image

决赛在即,各位老铁帮忙投我们一票呀!

团队名称:ECNU小分队

投票链接:https://vip.kongxuan.com/2021/pingancx/index.html

赛题介绍

picture.image

2021年“创青春•交子杯”新网银行金融科技挑战赛,聚焦 AI算法领域,旨在鼓励选手运用前沿的人工智能技术解决金融科技等领域中的实际问题,激发选手创新能力,增强其动手能力。









比赛挑战题目为“文字的声音”,即利用TTS技术将文本通过模型转化为语音。该项技术在金融领域有较多应用,在客服、催收、案调等智能外呼场景中均有使用,高质量的语音具有良好的流畅度、轻重音把握、合理断句等特点。本赛题要求参赛者能训练出自然流畅的高质量文字转换语音的模型,模型需要转换的文字将被限制在一定范围内。

比赛链接:关注“象牙塔金融圈”公众号,点击挑战赛,即可参赛。

评测指标

picture.image

初赛评分:

l 初赛评分包含作品得分和捐步得分,分别占90%和10%。

l 作品得分使用ASR模型在拼音级别计算字错误率(CER),CER将被归一化在0.001~1之间。ASR模型识别提交的音频为带声调的拼音,同时参考文本也转成对应的拼音,在识别拼音字符串和参考拼音串之间计算字符错误率。

l 综合得分为:(1-Normalize(CER))0.9+ step_score0.1

三段代码进TOP5

picture.image

首先导入必要的库,读取测试数据。


              
 1import zhtts  
 2from tqdm import tqdm  
 3import numpy as np  
 4import pandas as pd  
 5import re  
 6  
 7with open("dev.txt",'r',encoding="utf-8") as f:  
 8    txt = []  
 9    for line in f:  
10        txt.append(line.strip())  

          

接着是核心代码,第516号文本中出现一个不知道怎么发音的字,因此需要手动处理,这里不在赘述。


              
 1for j in tqdm(range(len(txt))):  
 2    t = txt[j]  
 3    tts = zhtts.TTS(text2mel_name="TACOTRON")  
 4    t = t.split(' ')  
 5    s = t[-1]  
 6  
 7    ## 处理时间信息  
 8    ss = re.search("\d+:\d+-\d+:\d+", s)  
 9    if ss is not None:  
10        ss = ss.group()  
11        s = s.replace(ss, ss.split(':')[0]+'点至'+ss.split('-')[1].split(':')[0]+'点')  
12  
13    tts.text2wav(s, "./CHLL1/"+t[0]+".wav")  

          

最后保存到CHLL1文件夹下面后,创建CHLL文件夹(记得修改为自己的队伍名称),运行如下py文件,调整音频的格式。


              
 1import os  
 2import sys  
 3import subprocess  
 4from tqdm import tqdm  
 5  
 6path1 = './CHLL1/'  
 7path2 = './CHLL/'  
 8paths = os.listdir(path1)  
 9for i in tqdm(range(len(paths))):  
10    s1 = path1 + paths[i]  
11    s2 = path2 + paths[i]  
12    os.system("sox {} -b 16 -r 16000 {}".format(s1, s2))  

          

压缩为zip格式即可提交,大概需要10min左右,线上成绩为61.640,当然可以通过捐步分就可以前排啦!

总结

picture.image

baseline主要使用了github上开源的框架zhtts, GitHub - Jackiexiao/zhtts: A demo of zh/Chinese Text to Speech system run on CPU in real time. 中文实时语音合成系统Demo ,仔细阅读源码会发现,思路与Great开源基本是一致的,当然里面也会有很多个性化的组件,具体怎么调整就需要不断的尝试。

感谢大家关注ChallengeHub公众号,加入ChallengeHub粉丝群一起学习一起进步。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
vivo 容器化平台架构与核心能力建设实践
为了实现规模化降本提效的目标,vivo 确定了基于云原生理念构建容器化生态的目标。在容器化生态发展过程中,平台架构不断演进,并针对业务的痛点和诉求,持续完善容器化能力矩阵。本次演讲将会介绍 vivo 容器化平台及主要子系统的架构设计,并分享重点建设的容器化核心能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论