前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >语音识别基础学习与录音笔实时转写测试

语音识别基础学习与录音笔实时转写测试

作者头像
用户5521279
发布2020-11-02 10:24:39
2.7K0
发布2020-11-02 10:24:39
举报
文章被收录于专栏:搜狗测试

一、引言

小编所在项目中,C1、C1Pro、C1Max录音笔,通过BLE和APP连接,音频文件实时传输到录音助手App端,具备实时录音转写的功能。工欲善其事必先利其器,小编补习了语音识别相关基础知识,对所测试应用的实时转写业务逻辑有了更深的认识。希望对语音测试的小伙伴们也有所帮助~~(●—●)

二、语音识别基础概念

1、语音识别(Automatic Speech Recognition,ASR)

语音识别,也被称自动语音识别,所要解决的问题是让机器能够“听懂”人类的语音,将语音中包含的文字信息“提取”出来,相当于给机器安装上“耳朵”,使其具备“能听”的功能。

语音识别是一门涉及面很广的交叉学科,它与声学、语音学、语言学、信息理论、模式识别理论以及神经生物学等学科都有非常密切的关系。语音识别的目标是将人类的语音内容转换为相应的文字。

2、语音激活检测(voice active detection,VAD)

VAD也称为speech activity detection or speech detection, 是一项用于语音处理的技术,目的是检测语音信号是否存在。 VAD技术主要用于语音编码和语音识别。

通俗来讲,就是判断什么时候有语音什么时候没有语音(静音)。语音信号处理或是语音识别都是在VAD截取出来的有效语音片段上进行的。

3、语音唤醒(keyword spotting,简称 KWS ;或voice trigger,VT)

VT判断是唤醒(激活)词,那后续的语音就应该进行识别了;否则,不进行识别。语音唤醒的目的就是将设备从休眠状态激活至运行状态,所以唤醒词说出之后,能立刻被检测出来。

4、麦克风阵列(Microphone Array)

由一定数目的声学传感器(一般是麦克风)组成,用来对声场的空间特性进行采样并处理的系统。

能够解决的问题:噪声抑制、回声抑制、去混响、单或多声源定位、声源数目估计、源分离、鸡尾酒会效应。按麦克风个数分:单麦、双麦、多麦。

三、语音识别基本原理与识别流程

1、声波

声音实际上是一种波。常见的mp3等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如Windows PCM文件,也就是俗称的wav文件。wav文件里存储的除了一个文件头以外,就是声音波形的一个个点了。下图是一个波形的示例。

声音信号采集和播放经常使用的三个参数为采样频率(SampleRate)、采样位数(SampleSize)、声道数(ChannelCount)。

采样的数据速率就是指每秒所有声道采样数据的总量,计算公式为:

采样频率 * 采样位数 * 声道数 = 采样数据速率

2、语音识别基本流程

语音识别原理的4个基本流程:“输入——编码——解码——输出”

3、语音识别系统结构

语音识别系统本质上是一种模式识别系统,主要包括信号处理和特征提取、声学模型(AM)、语言模型(LM)和解码搜索四部分。

声学前端预处理

是指在特征提取之前,先对原始语音进行处理,部分消除噪声和不同说话人带来的影响,使处理后的信号更能反映语音的本质特征。最常用的前端处理有端点检测和语音增强。端点检测是指在语音信号中将语音和非语音信号时段区分开来,准确地确定出语音信号的起始点。经过端点检测后,后续处理就可以只对语音信号进行,这对提高模型的精确度和识别正确率有重要作用。语音增强的主要任务就是消除环境噪声对语音的影响。目前通用的方法是采用维纳滤波,该方法在噪声较大的情况下效果好于其它滤波器。

a)信号处理和特征提取:

以音频信号为输入,通过消除噪声和信道失真对语音进行增强,将信号从时域转化到频域,并为后面的声学模型提取合适的有代表性的特征向量。

b)声学模型:

将声学和发音学的知识进行整合,以特征提取部分生成的特征为输入,并为可变长特征序列生成声学模型分数。对应于语音到音节概率分布的计算。

语音识别,可分为“传统”识别方式与“端到端”识别方式,其主要差异就体现在声学模型上。“传统”方式的声学模型一般采用隐马尔可夫模型(HMM),而“端到端”方式一般采用深度神经网络(DNN)。

c)语言模型:

语言模型估计通过训练语料学习词与词之间的相互关系,来估计假设词序列的可能性,又叫语言模型分数。如果了解领域或相关的先验知识,语言模型的分数通常可以估计的更准确。对应于音节到字概率分布的计算。

d)解码搜索:

综合声学模型分数与语言模型分数的结果,将总体输出分数最高的词序列当做识别结果。

4、语音识别系统构建过程

1)训练:训练通常是离线完成的,对预先收集好的海量语音、语言数据库进行信号处理和知识挖掘,获取语音识别系统所需要的“声学模型”和“语言模型”

2)识别:识别过程通常是在线完成的,对用户实时的语音进行自动识别,识别过程通常又可以分为“前端”和“后端”两大模块。

A.前端:前端模块主要的作用是进行端点检测(去除多余的静音和非说话声)、降噪、特征提取等;

B.后端:后端模块的作用是利用训练好的“声学模型”和“语言模型”对用户说话的特征向量进行统计模式识别(又称“解码”),得到其包含的文字信息,此外,后端模块还存在一个“自适应”的反馈模块,可以对用户的语音进行自学习,从而对“声学模型”和“语音模型”进行必要的“校正”,进一步提高识别的准确率。

四、搜狗录音助手—连接硬件的实时语音识别

1、音频编码和解码

音频编码的目标就是尽可能压缩原始采样数据,节省带宽,方便文件存储和网络传输。音频编码大致可以分为两类:无损编码和有损编码。

第一类是无损编码,比如FLAC是一种对原始 PCM 进行无损压缩的编码库。无损编码的特点是信息解码后不会有任何的丢失,解码后每一比特都和原始采样数据一致。无损编码最大的特点是大,占用空间或带宽很多。

实际中使用最多的都是有损编码,一般是使用离散余弦变换等数学方法将信号从时域转换到频域,将人耳不敏感的频域部分信息过滤掉,然后进行编码。有损音频编码常见的有:MP3、WMA、AAC、Speex、Opus等。有损编码也都有相应的解码器,解码器就是将压缩后的数据在一定程度上还原为 PCM 数据,解码得到的 PCM 数据与原始采样数据是有差异的,这也是称之为有损编码的原因。

2、录音笔实时录音转写

(1). 录音笔多麦克风阵列收音(C1 Max为例),存储2种格式的音频文件:opus格式(用于传输,压缩格式,便于传输)、wav格式(用于听感);

(2). opus格式的音频文件,通过BLE协议,传输到App端;

(3). APP端的解码库对传输的opus音频文件进行无损解码,生成标准的PCM流;

(4). 语音SDK(前端库)将多声道的PCM流进行合并,合成为一声道的PCM;(多声道的pcm流过搜狗语音的阵列生成两路pcm,一路用于听感、一路用于识别,然后输出mp3)

(5). 语音识别SDK和知音平台服务端建立gPRC连接,获取PCM流文件的文字识别结果;

(6). 语音识别SDK通过回调,返回给native识别结果,native进行展示。


注:参考文章

https://zh.wikipedia.org/wiki/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB

https://zhuanlan.zhihu.com/p/22512377

https://zhuanlan.zhihu.com/p/105454729

http://blog.itpub.net/29829936/viewspace-2652896/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 搜狗测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档