基础|浅谈语音测试方案(一)

2017 年 10 月 2 日 全球人工智能

“全球人工智能”拥有十多万AI产业用户,10000多名AI技术专家。主要来自:北大,清华,中科院,麻省理工,卡内基梅隆,斯坦福,哈佛,牛津,剑桥...以及谷歌,腾讯,百度,脸谱,微软,阿里,海康威视,英伟达......等全球名校和名企。


——免费加入AI高管投资者群>>

——免费加入AI技术专家社群>>

作者:萧萧木鱼

摘要: 现状 人与之间通过声音来直接沟通交流,人与机器之间的交流也渐渐脱离了传统的沟通模式,进入了语音交流时代。语音交流更是拉近了人和机器之间情感,现在的语音技术就是为了使机器更好的识别人声、并合成接近人类的声音以达到更好的交流。


1、现状

人与之间通过声音来直接沟通交流,人与机器之间的交流也渐渐脱离了传统的沟通模式,进入了语音交流时代。语音交流更是拉近了人和机器之间情感,现在的语音技术就是为了使机器更好的识别人声、并合成接近人类的声音以达到更好的交流。

目前国内研究语音相关的团队主要包括科研院所、语音技术公司以及互联网公司三部分:

  • 科研院所主要包括高校和科学院,比如科学院里有声学所、自动化所,高校里面研究比较多的清华、北大、西工大、科大、上海交大等,这些都是在语音圈里占有较高位置的老牌队伍。

  • 语音技术公司包括我们比较熟悉的科大讯飞、云知声、思必驰、极限元等。

  • 互联网公司包括BAT、搜狗等拥有强大的语音技术团队来支撑着其本身的很多业务。


2、测试方案

接触语音识别、语音合成项目的测试将近一年,认识还非常浅薄,大家有更好的想法或者技术方案可以多多沟通交流。下面分别从语音识别、语音合成谈谈一些我在项目中用的测试方案。


3、语音识别

语音识别的整体流程如上,站在测试角度思考,测试最简单的切入点就是最终生成文本内容的校验上。

目前的测试方案是事先标注一批语音的文本内容,与识别出的文本内容做对比,获取识别的准确率。但是这种准确率统计脱离了实际使用场景,比如车载模式下的噪音、与麦克风的距离都会影响识别准确率。

另外,从上图流程可以看出,识别准确率还会受声学模型、解码器的影响。语音信号经过特征提取得到声学特征,再通过声学特征训练得到声学模型,声学模型结合语言模型以及发音辞典构建声码器以后进行解码来输出文本,所以声学模型的训练结果一定是正确的吗?这也是测试的一个切入点。


4、语音合成

测试考虑从以下两方面入手:

  • 服务端的文本分析

  • 合成效果的评测


5、文本分析

语音合成的测试前期工作主要放在前端文本分析上,用python中的Snownlp及pypinyin将文本进行分分词及注音后输出注音及音调,服务端的前端模块输出注音及音调,将脚本输出的结果和服务端输出的结果做对比。这种方式可以对比出音调、多音字的差异。

from pypinyin import pinyin        #pinyin将汉字转为拼音。可以用于汉字注音、排序、检索from snownlp import normal      #snownlp 转换成拼音,繁体转简体,提取文本关键词from snownlp import seg#分词text_normal = normal.zh2hans(text_path)
sent_normal = normal.get_sentences(text_normal)words = seg.seg(sent_normal.decode('utf-8'))#匹配多音字word = SnowNLP(words_list)word =  word.sim(sim_word.decode('utf-8'))  #注音txt_zhuyin = pinyin(word, style=pypinyin.TONE3)


6、合成效果评测

成功效果评测的方式也有两种:一种方式众包评测,这种方式是靠人的主管感受去评测合成的语音是否流畅、自然、发音正确等,这种方式的结果更有说服力,但是人力成本较大。

另一种方式是对比语音的波形图,python中的wave模块支持将语音转为波形图,python中还有其他模块如eyeD3,PyAudio,Audacity等等可以处理语音暂且不介绍这些模块。先介绍wave中的一些方法:

  • getparams()
    获取wav文件的参数(以tuple形式输出),依次为(声道数,采样精度,采样率,帧数等)

  • readframes()
    得到每一帧的声音数据,返回的值是二进制数据,在python中用字符串表示二进制数据。

步骤如下:

  • 通过wav库获得night.wav的头文件中的信息,如采样率/声道数等等.

  • 提取出DATA区域的信息,用numpy将string格式数据转化为数组

  • 通过判定声道数将DATA区域数据进行处理(对数组矩阵进行转换)

  • 得到每个绘制点的时间(x坐标)

  • 用matplotlib库提供的方法绘制出波形图

对波形的信息进行对比分析,可以从中得到很多有效信息,但是这些信息是否能有效过滤掉不同的口音、情绪、呼吸等的差异,去提取自己想要的信息如音调差异、错别字的差异还在探索中。

进入全球人工智能学院

热门文章推荐

厉害|黄仁勋狂怼CPU:摩尔定律已死 未来属于GPU!

干货|7步让你从零开始掌握Python机器学习!

华裔女科学家钱璐璐,发明仅20纳米的DNA机器人!

Geoffrey Hinton提出capsule 概念,推翻反向传播!

2017年7大最受欢迎的AI编程语言:Python第一!

重磅|中国首家人工智能技术学院在京揭牌开学!

厉害 | 南京大学周志华教授当选欧洲科学院外籍院士!

5个月市值涨了1200亿,首次突破3100亿市值!

华为扔下这枚“AI芯弹”,全世界的智能手机都卡(慢)死了!

用57行代码搞定花8000万美元采购车牌识别项目

登录查看更多
0

相关内容

语音技术包含了很广泛的内涵,涉及语音合成、语音识别、说话人识别、语音增强、语音翻译等等。
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
129+阅读 · 2020年5月22日
“马踏飞”AI机器人实现方案介绍
PaperWeekly
5+阅读 · 2019年8月31日
搜狗推出唇语识别技术 提升远场语音交互
智东西
3+阅读 · 2017年12月14日
语音识别现状与工程师必备技能
人工智能头条
5+阅读 · 2017年11月21日
一文读懂语音识别史
机械鸡
9+阅读 · 2017年10月16日
Arxiv
13+阅读 · 2019年4月9日
Arxiv
6+阅读 · 2019年4月4日
Arxiv
4+阅读 · 2018年12月20日
Arxiv
4+阅读 · 2018年6月14日
Arxiv
6+阅读 · 2018年1月14日
Arxiv
3+阅读 · 2017年11月21日
VIP会员
相关VIP内容
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
129+阅读 · 2020年5月22日
相关资讯
相关论文
Arxiv
13+阅读 · 2019年4月9日
Arxiv
6+阅读 · 2019年4月4日
Arxiv
4+阅读 · 2018年12月20日
Arxiv
4+阅读 · 2018年6月14日
Arxiv
6+阅读 · 2018年1月14日
Arxiv
3+阅读 · 2017年11月21日
Top
微信扫码咨询专知VIP会员