时频掩蔽技术。

掩蔽效应

声掩蔽(auditory masking)是指一个声音的听阈因另一个声音的存在而上升的现象。纯音被白噪声所掩蔽时,纯音听阈上升的分贝数,主要决定于以纯音频率为中心一个窄带噪声的功率。

声掩蔽主要决定于以纯音频率为中心一个窄带噪声的功率。这个窄带的频率宽度是随着纯音频率的不同而变化的,称为临界频带。在听觉频率尺度上,一个临界频带的宽度等于1巴克。临界频带的概念是美国科学家H.富来车在20世纪40年代提出来的。这些频带与听觉滤波器有关。在频率上一个强的低频纯音可掩蔽高频纯音。在时间上除了即时掩蔽外,还存在一个声音可对它后面的声音产生掩蔽,称为前向掩蔽;一个声音也可对它前面的声音产生掩蔽,称为后向掩蔽。复合纯音的掩蔽比较复杂,与它的频率组合与相位关系有关,有时产生“时间窗”效应,即在某一时段内产生的掩蔽很小。如果一侧耳输入信号,另一侧耳输入噪声,则可在中枢产生掩蔽。

声音信号大多数时候时非稳态的瞬时信号,声压级随着时间变化很快,即强音后面跟着弱音,弱音后面又可能跟着强音。比较强的声音往往会掩蔽随后到来的较弱音。

【应用】掩蔽效应看来是噪声对信号的一种干扰,但也可在语音通信中加以利用。如数字语音压缩通信中,可借助掩蔽效应使嵌入的加密密码听不出来,即不因密码而降低通话质量。

【应用】根据掩蔽效应的原理,才衍生出电声技术指标中的SNR(信号噪声比),以及THD(谐波失真)等。当噪声或者失真保持在一定范围内的时候,对听觉效果没有影响。

一个较弱的声音(被掩蔽音)的听觉感受被另一个较强的声音(掩蔽音)影响的现象称为人耳的“掩蔽效应。被掩蔽音单独存在时的听阈分贝值,或者说在安静环境中能被人耳听到的纯音的最小值称为绝对闻阈。

实验表明,3kHz—5kHz绝对闻阈值最小,即人耳对它的微弱声音最敏感;而在低频和高频区绝对闻阈值要大得多。在800Hz--1500Hz范围内闻阈随频率变化最不显著,即在这个范围内语言可储度最高。在掩蔽情况下,提高被掩蔽弱音的强度,使人耳能够听见时的闻阈称为掩蔽闻阈(或称掩蔽门限),被掩蔽弱音必须提高的分贝值称为掩蔽量。

BSS中的时频掩蔽

新近的研宄将语音分离看作一个有监督学习问题新近的研宄将语音分离看作一个有监督学习问题。

早期工作受到了计算听觉场景分析中时频掩蔽技术的启发。在计算听觉场景分析中的一个重要的目标是理想二值掩蔽(IBM)。

理想二值掩蔽在带噪语音的时频表示上标注出特定时频单元是否被目标语音主导,即目标语音的能量是否高于噪声的能量。根据人类听觉系统的掩蔽效应,时间、频率相近的(在同一个时频单元内的)两个声音信号中,能量低的那个信号会被能量高的那个掩蔽,听觉系统无法感知到被掩蔽掉的信号。利用理想二值掩蔽去除噪声主导的部分,人们就无法感知到噪声的存在了。

当把理想二值掩蔽作为计算目标时,语音分离就变成了一个二元分类问题。在训练的时候,把理想二值掩蔽作为训练目标,测试时再用训练好的模型来预测理想二值掩蔽。理想二值掩蔽是有监督的语音分离研究中使用的第一个训练目标。

汪德亮等人系统分析了以上的特征,使用拉索(Lasso)方式选择出了对语音分离最有效的特征组合为:梅尔倒谱系数、相对谱变换感知线性预测系数、振幅调制谱和语音基音特征。

目前,在有监督的语音分离中,最常使用的输入特征是语音短时傅里叶变换的振幅谱。

输出信号:目标语音或各种时域掩蔽。

【理想二值掩蔽】:理想二值掩蔽是最早使用的训练目标,在一个时频单元里,如果局部信噪比超过一个阈值,理想二值掩蔽在这个单元是1,否则是0。理想二值掩蔽里面的非零值标注出了目标语音主导的时频单元。

【理想浮值掩蔽】:

【整体模型】:

参考

https://blog.csdn.net/hi_zhengjian/article/details/78959194

https://blog.csdn.net/dream_bin123/article/details/80031447?utm_source=blogxgwz4

Time Frequency (T-F) Masking Technique的更多相关文章

  1. [Mathematics][MIT 18.03] Detailed Explanation of the Frequency Problems in Second-Order Differential Equation of Oscillation System

    Well, to begin with, I'd like to say thank you to MIT open courses twice. It's their generosity that ...

  2. Libfilth(一个滤波器C库)使用

    Libfilth使用说明 winshton 2009年2月 (*本文大部分翻译自libfilth,还有一部分是个人使用实践 *时间水平均有限,翻译的不完整,尤其第二章可以忽略) 版本历史修改记录 版本 ...

  3. ffmpeg full help

    Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile ...

  4. C++高精度计算代码运行时间(转载)

    转载:http://blog.csdn.net/rrrfff/article/details/6583410 //在定时前应该先调用QueryPerformanceFrequency()函数获得机器内 ...

  5. Cisco IOS IP Service Level Agreementv (IP SLA)

    Responder and Control Protocol 1.Responder内嵌在思科目标路由器中的一个组件,用来对IP SLA请求包做应答,通过对应达包添加时间戳属性,以提高测量计算的准确性 ...

  6. openstack中运行定时任务的两种方法及源代码分析

    启动一个进程,如要想要这个进程的某个方法定时得进行执行的话,在openstack有两种方式: 一种是通过继承 periodic_task.PeriodicTasks,另一种是使用loopingcall ...

  7. 一个matlab数字图像处理程序的解释

    clc; %clc是清除command window里的内容 clear all; %clear是清除workspace里的变量 close all; %close all来关闭所有已经打开的图像窗口 ...

  8. LoRa术语

    ADR      Adaptive Data Rate          自适应数据率 AES      Advanced Encryption Standard        高级加密标准 AFA  ...

  9. 10个重要的算法C语言实现源代码

    包括拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 .都是经典的数学算法,希望能开托您的思路.转自kunli.info 1.拉格朗日插值多项式 ,用于离散数 ...

随机推荐

  1. RWMutex:共享/专有的递归互斥锁

    具有共享/独占访问权限,且具有升级/降级功能的互斥锁 介绍 我的目标是创建可以充当读/写锁定机制的对象.任何线程都可以锁定它以进行读取,但是只有一个线程可以锁定它以进行写入.在写入线程释放它之前,所有 ...

  2. Python列表添加元素

    Python列表添加元素 1.appent() 在列表尾部添加一个元素 >>>my_list.append("append方法") >>>my_ ...

  3. go标准库I/O模型:epoll+多协程

    本文为linux环境下的总结,其他操作系统本质差别不大.本地文件I/O和网络I/O逻辑类似. epoll+多线程的模型 epoll+多线程模型和epoll 单进程区别.优点     对比于redis这 ...

  4. uwsgi重启shell脚本

    一.概述 工作中使用uwsgi时,每次需要进入到工作目录,去执行uwsgi相关命令,比较繁琐.这里整理了一个uwsgi重启脚本! 根据参考链接,修改了部分内容(定义了变量,修复了一些bug,增加了颜色 ...

  5. appium 方法整理

    1.contexts contexts(self):     Returns the contexts within the current session.     返回当前会话中的上下文,使用后可 ...

  6. pytest_pytest-html生成html报告

    前言 pytest-HTML是一个插件,pytest用于生成测试结果的HTML报告.兼容Python 2.7,3.6 pytest-html 1.github上源码地址[https://github. ...

  7. 华为云·寻找黑马程序员#【代码重构之路】如何“消除”if/else【华为云技术分享】

    1. 背景 if/else是高级编程语言中最基础的功能,虽然 if/else 是必须的,但滥用 if/else,特别是各种大量的if/else嵌套,会对代码的可读性.可维护性造成很大伤害,对于阅读代码 ...

  8. Spring mvc请求处理流程详解(一)之视图解析

      本文链接:https://blog.csdn.net/lchpersonal521/article/details/53112728 前言 Spring mvc框架相信很多人都很熟悉了,关于这方面 ...

  9. JavaScript之鼠标事件

    事件三要素: 事件源.事件类型(点击onclick)=function(){ 事件触发后执行的代码 } 案例: function abb(a){ return document.getElementB ...

  10. webpack练手项目之easySlide(三):commonChunks

    Hello,大家好. 在之前两篇文章中: webpack练手项目之easySlide(一):初探webpack webpack练手项目之easySlide(二):代码分割 与大家分享了webpack的 ...