一 概念:

在声学领域中,DRC(Dynamic range compression) 一般用来动态调整音频输出幅值,在音量大时压制音量在某一范围内,在音量小时适当提升音量。通常用于控制音频输出功率,使扬声器不破音,当处于低音量播放时也能清晰听到。

DRC通常用于声音的记录和再现,广播,现场声音增强和某些乐器放大器中。

二 原理特性:

Threshold:

如果压缩器的振幅超过某个阈值,则压缩器会降低其电平。阈值(threshold)通常是以分贝为单位。通常低阈值(e.g. -60)意味着大部分的信号会被衰减。当信号低于阈值时,对输入的信号不做任何处理,这就意味着,-5db的衰减结果就是压缩少,处理的少。

实际中,这个取值范围一般在(-100到0之间)。

Ratio:

ratio是总的增益衰减。一个4:1的ratio增益系数,意味着输入信号高于阈值4db的话,输出信号把这个信号衰减为高于阈值1db,输出的增益这就会被衰减了3db。如下图所示:

实际场景中,这个取值范围一般在:1到20之间。

Attack and release

 
  DRC需要提供一个系数来表述它的相应速度。attack 就是DRC增益小数开始生效到稳定的周期系数,release就是DRC增益系数释放的时候从开始释放到稳定的周期系数。
 

The attack and release phases in a compressor

Soft and hard knees:

 
knee的含义是在低于阈值和高于阈值之间的弯曲是突然的(硬的)还是逐渐的(软的)

Hard Knee and Soft Knee compression

 

三 仿真结果:

说道仿真结果,这里不得不吐槽一下,商业是和学术完全两个概念,以前做学术,只需要matlab仿真结果给出就行了,可是,在商业的社会中,一定要拿出客户可以用的产品即可,为了这个小小的东西,花了不少时间吧,matlab仿真,c仿真,代码移植,平台验证,

无论怎么说,算是把东西完成商用话了。下面是在平台的实验图.

wav源文件地址:链接: https://pan.baidu.com/s/1jZvwpMwBa6Y7Dm9II1rw8A  密码: 1qs4

四 应用场景:

DRC在音频领域应用还是十分广泛的,最近做了一个项目,为了解决一个问题用到这个东西之后,果真见奇效啊。

DRC音频处理算法原理解析及仿真结果的更多相关文章

  1. 2. Attention Is All You Need(Transformer)算法原理解析

    1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...

  2. 3. ELMo算法原理解析

    1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...

  3. 4. OpenAI GPT算法原理解析

    1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...

  4. 5. BERT算法原理解析

    1. 语言模型 2. Attention Is All You Need(Transformer)算法原理解析 3. ELMo算法原理解析 4. OpenAI GPT算法原理解析 5. BERT算法原 ...

  5. Quine-McCluskey两级逻辑化简算法原理解析

    转载请务必注明出处:https://www.cnblogs.com/the-wind/p/15764283.html 目录 1 背景介绍:两级逻辑 2 Quine-McCluskey两级逻辑化简 2. ...

  6. PhotoShop算法原理解析系列 - 像素化---》碎片。

    接着上一篇文章的热度,继续讲讲一些稍微简单的算法吧. 本文来讲讲碎片算法,先贴几个效果图吧:             这是个破坏性的滤镜,拿美女来说事是因为搞图像的人90%是男人,色色的男人. 关于碎 ...

  7. PhotoShop算法原理解析系列 - 风格化---》查找边缘。

    之所以不写系列文章一.系列文章二这样的标题,是因为我不知道我能坚持多久.我知道我对事情的表达能力和语言的丰富性方面的天赋不高.而一段代码需要我去用心的把他从基本原理-->初步实现-->优化 ...

  8. FastText算法原理解析

    1. 前言 自然语言处理(NLP)是机器学习,人工智能中的一个重要领域.文本表达是 NLP中的基础技术,文本分类则是 NLP 的重要应用.fasttext是facebook开源的一个词向量与文本分类工 ...

  9. LRU算法原理解析

    LRU是Least Recently Used的缩写,即最近最少使用,常用于页面置换算法,是为虚拟页式存储管理服务的. 现代操作系统提供了一种对主存的抽象概念虚拟内存,来对主存进行更好地管理.他将主存 ...

  10. 最全排序算法原理解析、java代码实现以及总结归纳

    算法分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序. 线性时间非比较类排序:不通过 ...

随机推荐

  1. ntp.conf详解

    linux系统的ntp.conf文件默认保存在/etc/ntp.conf 版本: [root@dsview ntpstats]# cat /etc/redhat-release CentOS rele ...

  2. 予力八六三软件应用现代化,提升DevSecOps效能,探索交付之路

    本文分享自华为云社区<予力八六三软件应用现代化,提升DevSecOps效能,探索全球交付之路>,作者: HuaweiCloudDeveloper. 来源:<华为云DTSE>期刊 ...

  3. 2、Web前端学习规划:HTML - 学习规划系列文章

    今天先写Web前端最基本的语言:HTML.目前已经到了HTML5版本,作为Web基本语言,笔者认为这个是最先需要学习的语言. 1.  简介: HTML(HyperText Markup Languag ...

  4. 零基础入门学习Java课堂笔记 ——day01

    Java语法 1.注释.标识符.关键字 注释 不会被程序执行的代码或者块 //双斜杠表示单行注释 /*表示多行注释*/ 标识符.关键字 关键词系统事先定义好的,我们能直接拿来用的,不能作为变量名使用 ...

  5. 《ASP.NET Core 微服务实战》-- 读书笔记(第6章)

    第 6 章 事件溯源与 CQRS 在本章,我们来了解一下随着云平台一同出现的设计模式 我们先探讨事件溯源和命令查询职责分离(CQRS)背后的动机与哲学 事件溯源简介 事实由事件溯源而来 我们大脑就是一 ...

  6. [JVM]GC日志解读解析

    GC日志解读解析 示例代码 package jvm.test1; import java.util.Random; import java.util.concurrent.TimeUnit; impo ...

  7. NC15445 wyh的吃鸡

    题目链接 题目 题目描述 最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全区内,否则就会中毒持续消耗血量,我们这个问题简化如下 假设地图为n*n的一个图, ...

  8. ARM指针寄存器——堆栈指针寄存器SP、程序计数器PC、连接寄存器LR详解

    堆栈的实现方法    在随机存储器区划出一块区域作为堆栈区,数据可以一个个顺序地存入(压入)到这个区域之中,这个过程称为'压栈'(push ).通常用一个指针(堆栈指针 SP-StackPointer ...

  9. NAND Flash 寿命算法——Wear leveling

    由于闪存的可擦写次数是有限的,当某些数据被频繁修改时容易导致对应的块很快被耗尽使用寿命,从而导致整块盘无法使用,所以需要有一种技术来将这些块的擦写均摊一下,延长使用寿命. 首先看几个相关的基本概念: ...

  10. 基于keras的时域卷积网络(TCN)

    1 前言 时域卷积网络(Temporal Convolutional Network,TCN)属于卷积神经网络(CNN)家族,于2017年被提出,目前已在多项时间序列数据任务中击败循环神经网络(RNN ...