时频掩蔽技术。

掩蔽效应

声掩蔽(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. Centos7下RabbitMQ的安装与配置

    具体按照步骤以此为准 第一步:安装最新版的erlang依赖 通过github设置版本号:https://github.com/rabbitmq/erlang-rpm vi /etc/yum.repos ...

  2. Word 去除文字底纹

    有时候从网页复制的文字有底纹,如何清除呢? 未完 ...... 点击访问原文(进入后根据右侧标签,快速定位到本文)

  3. thinkphp 5.0.24 配置多模块注意的细节

    /*index.php 文件  这一段用于生成模块用 build.php 只能生成诸如 admin hotel 开头为小写字母的模块 如果你设定的 大写开头 如 Hotel Admin 系统就会找不到 ...

  4. jQuery格式化显示json数据

    一.概述 JSONView 在gitlab上面,有一个jQuery JSONView插件,地址为:https://github.com/yesmeck/jquery-jsonview demo地址:h ...

  5. Linux 7 重置root密码

    在运维工作中经常会遇到不知道密码,密码遗忘,密码被他人修改过的情况,使用这种方式扫清你一切烦恼! 1.启动Linux系统,在出现引导界面时,按“e”键,进入内核编辑界面:2.找到有“linux16”的 ...

  6. Maven:浅析依赖(dependency)关系中 scope 的含义

    在 Pom4 中,dependency 元素中引入了 scope 元素,这是一个很重要的属性.在Maven 项目中 Jar 包冲突.类型转换异常的很大原因是由于 scope 元素使用不当造成的. sc ...

  7. JS把格林威治时间转换为北京标准时间

    function fermitTime(time){ var now = new Date(time); var year = now.getFullYear(); ; var date= now.g ...

  8. Commander基本使用

    随着NodeJs的不断发展,对于前端来说要做的东西也就更多,Vue脚手架React脚手架等等等一系列的东西都脱颖而出,进入到人们的视野当中,对于这些脚手架工具来讲也只是停留在应用阶段,从来没有想过脚手 ...

  9. centos7 install mysql5.7.27

    1.yum 安装 wget yum install wget 2.下载MySQL 的yum repo wget https://repo.mysql.com//mysql57-community-re ...

  10. Java多线程 常见问题整理

    线程 什么是线程 线程是指程序在执行过程中,能够执行程序代码的一个执行单元. 线程和进程的区别 线程:一段程序执行过程中的一个执行单元,各个线程之间共享程序的内存空间以及一些进程级的资源,各线程拥有自 ...