×

如何实现声音隔离?工程师可用哪些技术资料下载

消耗积分:2 | 格式:pdf | 大小:180.55KB | 2021-04-15

分享资料个

在嘈杂的环境中,对于手机、可穿戴设备和其它智能设备来说声音隔离技术能够提升语音增强和识别准确度 声音或语音用户接口在手机、平板电脑、可穿戴设备和其它智能设备上变得越来越普遍和重要,因为这项技术确实让这些设备不需要再设计键盘或者触摸屏。为了能够提供更精确的语音处理过程,系统在设计时必须要保证对语音正确可靠的识别,即使在复杂的噪声环境条件中。 目前已经有数百万人已经依赖自动语音识别技术来将语音转换为文字来编写文档和生成文本。然而自动语音识别的质量主要依赖于一些最优条件,比如假设每个人说话的方式与声音训练数据非常类似,讲话处在安静的环境中避免噪声干扰,即使这样也需要工作人员来修改文字错误、标点以及语法错误,此外还可能存在其他类型的翻译错误。语音技术的持续改进对于提升设备对人类语言的识别准确度非常有必要,在手机、智能设备应用以及诸如汽车这样的噪声环境下语音识别技术的效果对其能否成功至关重要。 图1:噪声环境下声音隔离技术提升设备的语音增强和识别效果(来源:安森美半导体) 语音增强是基于声音隔离和噪声抑制技术,本篇文章主要介绍声音隔离技术,实现噪声剔除和语音增强,因此下面只对噪声抑制做了简要介绍。 噪声抑制技术能够帮助去除不同类型的背景噪声,防止干扰语音识别。噪声的显著特征主要体现在时间域和频域,时间域的噪声包括连续、断续和脉冲型的噪声,频域噪声包括宽频带和窄频带噪声。办公室和交通的声音、操作设备的声音和嘶嘶声是典型的连续型噪声,这类噪声变化非常慢。非连续型噪声是重复的噪声,比如喇叭或者铃铛的声音。脉冲式的噪声通常比较生硬如点击和重击的声音。宽频噪声如嘶嘶声可能有不同的频率,窄频噪声的发生往往在一定的频率范围内,包括正弦波、嗡嗡声和机器噪声。 工程师们已经尝试了各种滤波技术,每种技术会对不同类型的噪声都有一定的积极作用。然而每种噪声的特性会随着时间有些改变,工程师可能也需要采用自适应算法来动态匹配噪声的变化,一些噪声剔除技术的例子包括频率补偿、脉冲过滤、自适应宽频滤波、自适应逆向滤波和立体滤波等。 认识声音隔离技术 声音隔离是提升语音识别度的一种新型方法,传统的方式是屏蔽和过滤不同的噪声,声音隔离技术则侧重于鉴别人语音的某种具体特征来判定和传输有效的语音,从而过滤掉背景噪声。声音隔离技术能够显著提升语音的清晰度和识别度,即使在噪声环境中。为了能够可靠的鉴别人语音的部分,声音隔离系统需要采用声学和语言模型,这里向大家介绍了两种目前嵌入式设计中采用的建模方法。第一种是深度神经网络算法,第二种是耳蜗仿真,即模拟人听力系统从内耳到大脑的行为。 采用深度神经网络的方法需要一个大型数据库,包含数百小时以上的噪声和语音,用于训练算法系统。起初在这个数据库对语音没有概念,通过大量的训练开始学习鉴别人类不同的语音模式,声音隔离的质量包括能够判定不同声音的来源,通过两个或者更多的麦克风来采集音频数据能够提升其效果,这个网络甚至能够训练识别是谁在发声、何时在发声等效果。 数据库包含的信息会被用来创建小型快速算法,然后移植到目标数字信号处理器(DSP)上来执行实现语音的监测和分类。根据数据库中存储的信息开发出来的自适应算法的组合就被称为神经网络。 神经网络算法会将输入的声音进行分解,对不同的声音分段来分析来判定人不同的语音模式,神经网络会分析声音段的不同特征包括频率、谐波、“攻击”和衰减特性,从而从环境声音中区分出语音。神经网络会基于音频采样率来权衡性能,低采样率需要的处理更少当然精确度也会低,越高的采样率越精确,当然计算处理过程也更复杂。 不同的滤波算法用于声波纹识别同时移除不想要的音频部分,多通滤波器的使用会更有效的过滤同时能够恢复任何丢失的音频部分。在后处理阶段通过设置不同的算法参数,声音能够被一定程度的优化适合人的听力系统或者用于语音识别系统,这非常重要因为人类和语音识别系统采用不同的语音解析方式。 耳蜗仿真 这种声音隔离方法采用DSP平台运行计算机听觉场景分析(CASA)算法来模拟人类听觉系统将语音从噪声环境中提取出来。这种方式会对音频信息进行编码从而实现分组和解析。目前有几十种分组依据涉及时间和频率相关,包括音高、空间位置和起始/结束时间。 音高是一个非常重要的分组依据,它根据不同的谐波模式来鉴别某种声音的唯一特征。当采用两个或者多个麦克风时,声音隔离系统可以根据空间位置信息来确定每个麦克风声音的方向和距离。CASA建模方式使得声音隔离系统实现“鸡尾酒会效应”,让系统能够集中于某一声音源,比如某个特定的人,并且屏蔽掉背景声音。起始/停止时间分组指的是某一声音成分开始出现和停止的时刻,这些数据与原始的频率数据合并时就能够判断是否来自同一声音源。 图2:各种声音隔离方法被采用实现所谓的“鸡尾酒会效应”,即屏蔽掉一系列噪声集中识别某一特定的声音源。 具有相似属性的声音会形成同一音频流,同样的,不同的属性的会形成各自的音频流。这个系统就可以采用这些不同的音频流来鉴别持续或者重复的声源。一旦有了足够的声音分组,实际的声音隔离处理就会从已经鉴别过的声源中去匹配,并且响应真正说话者的声音。逆向转换可将数据重新构造为音频流并传输供人来听。 注意事项 声音隔离不仅适合提供高质量的语音——语音识别系统,还有很多其他重要应用。比如在紧急情况下往往是比较嘈杂混乱的环境,这时快速且准确的语音通讯对于生命安全非常关键,通过清晰的语音识别急救人员就能够快速的定位求救人员。相比噪声抑制方法,声音隔离提供了一种更加高效的机制,尽管在不可控的环境条件下也能够提升语音通信识别度。 专用的DSP声音处理器能够带来性能的优化同时保持较低的功耗,尤其对于一直打开的语音应用或者要求用户手动(比如长按按钮)初始化激活语音识别接口非常重要,需要一直打开的语音功能不可避免的要持续造成功耗,因为系统处理器一直保持活动状态。与此相反,为了节省电池能量,需要一直打开的语音应用可以采用专用的语音处理器,这种处理器支持睡眠模式,保留一定的功能,此外还支持低功耗监听模式以及全功能唤醒模式。 语音功能不再仅面向手持设备和智能手机了,可穿戴设备正式得益于用户语音功能才不需要设计键盘或者触摸屏功能了。随着语音功能的成熟,用户与设备之间的距离也会增加。举个例子,现在一些智能电视支持语音命令,这些电视一般会放在客厅,同时需要考虑用户隐私和安全问题,需要重新执行完善的方案,相信用户语音功能会在更多的传统电子产品设备中获得应用。 原文链接: 发布文章均为独家原创文章,转载请注明如出处,对于未经许可的复制和不符合要求的转载我们将保留依法追究法律责任的权利。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'如何实现声音隔离?工程师可用哪些技术资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);