今天是
新闻资讯
你的位置:首页 > 新闻资讯 > 行业新闻

解析人工智能电视远场语音设计

2018-11-8 11:22:24      点击:

基础功能硬件实现架构如图1,采用4麦克风条形线性阵列,模拟麦克风经ADC传输音频信号给MCU处理。MCU采用ST的STM32F401CDU6作为主控方案,STM32F401CDU6是一颗32位 ARM核芯片,内置512 KB Flash/96 KB RAM,低延迟,工作频率高达84 MHz,支持宽电压1.7 V~3.6 V。模块方案通过ADC将A-MIC模拟信号转成I2S传输给MCU,MCU通过USB2.0和TV SOC传输音频数据。通过麦克风阵列模块搭配算法有效实现声源定位、波束成形、去混响、降噪、增益调节、回声消除等功能。




1麦克风选料


麦克风选用灵敏度-25 dB,信噪比74 dB的A-MIC,同时采用接线外拉的形式,有效避免生产过程中因高温焊接导致的麦克风灵敏度下降或损坏等问题,保证阵列麦克风灵敏度的一致性,对整体算法的精确度有比较好的控制和要求。不过相应的会对整机生产装配造成难度以及增加人工成本,设计之初需要做好防呆设计,提高安装可靠性和效率。


2供电设计


模块采用独立的供电,电视待机时,可支持通过模块待机唤醒操作。模块需要区分电视待机和开机状态,开机状态下,唤醒词拉起语音应用。待机状态下,唤醒词本地处理通过I/O口发起开机信号。因此待机时,供电关闭500ms后重启,模块重新读取USB数据信号是否为空,以此来判断主机状态。


3参考信号设计


参考信号指的是主机端提供给模块的音频参考,作为回声消除算法的依据。参考音频由功放输出信号,经过分压、滤波后传输给模块。根据芯片取值范围要求,确保输入到模块的参考信号幅值≤1 Vrms,即图2中从AMP+/-经分压后到SPK+/-的信号≤1 Vrms。


解析人工智能电视远场语音设计


这里提到另外一种分压方式,如图3,由于R36、R38阻值存在误差以及喇叭的寄生电容等影响,改变了差分信号走线的阻抗,使得其对于共模干扰抑制能力减弱,且容易在参考信号中引入杂音、破音。实际测试对比两者播放1kHz测试音频时,该分压方式产生明显的失真,如图4对比。


解析人工智能电视远场语音设计


软件设计


软件分本地处理和云端处理两部分。如图6,浅灰色部分为本地处理,深灰色部分为云端处理。本地算法包括回声消除AEC、声源定位DOA、波束形成BF、去混响DER、降噪NS、自动增益调节AGC、频域均衡EQ,最终编码传输。云端主要负责对接收到的音频进行文本识别、自然语言处理NLP、最终经过业务逻辑和技能处理,将结果经TTS服务器反馈给用户。其中,在识别处理的同时,音频信号经VPR服务器进行读取,对音频分析特征值,也就是声纹识别。声纹识别的结果也提供给业务单元处理。




1

回声消除


自适应回声抵消的基本思想是估计回声路径的特征参数,产生一个模拟的回音路径,得出模拟回声信号,从接收信号中减去该信号,实现回声抵消。图5给出了单向传输的声学消回声器AEC的原理图。图5中,x(n)代表麦克风拾音的信号,包含了本地声音和目标人声;y(n)是经过回声通道而产生的不期望的回声;r(n)是经算法抵消后的目标人声;A口的信号x(n)叠加有不期望的回声。




2

声源定位及波束形成


麦克风拾音在实际应用环境中不仅仅有直接到达的目标语音,还有目标语音经过墙面反射、衍射等其他路径到达的部分及混响,以及环境噪音及本地噪音的干扰。声源定位即依靠分布式麦克风阵列,对接收到的信号进行函数运算,根据计算的信号时延差获取目标音源的角度方向。波束形成的原理利用麦克风阵列的特性,将噪声进行抑制或进行非常大的衰减以提高接受目标信号的质量。


3

语音识别


语音识别的过程主要由远场或近场方式进行拾音,由语音识别服务器(ASR)和语义理解服务器(NLP)完成录音文件识别和结果转换。识别结果经语音合成服务器(TTS)合成人声将结果反馈给用户。




语音识别服务器(ASR)主要将电视端录入的音频文件进行识别,将识别结果的文本直接发送给语义理解服务器进行解析,可以分为远场/近场以及不同方言进行处理。


语义理解服务器(NLP),目前使用主服务器加辅助服务器的模式进行语义理解处理,在语音识别服务将文字传给语义理解服务器后,使用第三方提供的主服务器进行优先解析,识别结果进行权重值计算,权重值高的识别结果直接返回客户端进行处理;权重值低的识别结果返回给康佳语义理解服务器,由康佳语义理解服务器进行二次处理和转发,如果主服务器不能识别的语句则由康佳语义理解服务器进行识别,然后根据识别结果的领域分发给其他对应在该领域处理比较好的其它服务器进行语义理解处理,识别之后返回康佳服务器再统一返回客户端进行处理。




语音合成服务器,主要将识别结果和理解处理结果的文本进行语音合成和人声播报,可以定义不同的人声播报达到不同的效果,处理结果为生成一个音频文件返回给客户端。