cannt connect to db!_分贝db以及在语音的用途
本文主要通过简明扼要的方式介绍db,db关键性质,如何计算,以及信噪比和如何控制信噪比等,本文是学习笔记,有自己的理解和代码,也有参考一些大牛的文章,链接也放在了下方,如有侵权立即删除。推荐阅读什么是分贝dB?,讲的很好。本文介绍过程如下所示。
- 分贝的定义 声压级分贝和数字域分贝
- 分贝的关键性质 -3db
- 分贝的计算
- 信噪比公式和用途
- References
1,分贝的定义
1.1 分贝介绍
db常见于声学场景,常被误认为计量单位。其实,dB只是一个比值,是一个纯计数方法,没有任何单位标注。也可以理解为用来表示强度。在声学、振动、电子学、电信、音频等领域见到它。
分贝(decibel)是量度两个相同单位之数量比例的单位,常用dB表示。“分”(deci-)指十分之一,个位是“贝”或“贝尔”(bel,纪念发明家亚历山大·格拉汉姆·贝尔),但一般只用分贝。
1.2 分贝的定义方式
分贝的定义有两种方式:
下标为0的数值均为幅值和功率的参考值。功率量的例子如:声功率(W),声强(W/m^2),电功率,电强等。幅值量的例子如:声压(Pa),电压(V),加速度(m/s^2),温度等。但有一点要注意对于场量的幅值应该是RMS值,如声压场。
因为分贝值完全依赖于测量值与参考值之比,因此,计算时选择合适的参考值尤为关键。当测量结果相互比较时,这一点非常重要,选择的参考值不同,计算结果肯定不一样。注:没有特殊要求时,参考值通常为1
援引自什么是分贝dB?
1.3 声压级分贝
数字信号处理中,也常会计算db,这个可以理解为数字域db,由于normlization,db常为负值。
而在声学领域,dB经常用作为表征声压级SPL(Sound Pressure Level)的大小。声压的单位是帕斯卡,Pa。具体可参考什么是分贝dB?——声音大小
2,分贝的关键性质
2.1 -3db性质
根据电压幅度计算:
20*log10(0.707)=-3dB
20*log10(1.413)= 3dB
根据功率计算:10*log10(0.5)=-3dB
在这儿主要提-3db性质,因为在设计滤波器,如高通、低通、带通和带阻滤波器的截止频率是-3dB点,即按幅值衰减0.707或者功率衰减一半所对应的频率作为滤波截止频率的。
dB值与线性幅值比的关系如下表所示:
关于这块的原理介绍和更多性质,请参考什么是分贝dB?
3,分贝的计算
在语音领域主要是幅值的方式。
4,信噪比公式和用途
常用信噪比来表示当前环境的嘈杂程度。
其中X为信号幅度(Amplitude of Signal)RMS,N为噪声幅度(Amplitude of Signal)RMS。
关于语音的机器学习中,如降噪/唤醒,常通过控制信噪比的方式来进行数据增强。代码如下:
from pydub import AudioSegmentdef add_noise_snr(c, n, snr, output_noisy_file):''':param c: one clean speeh file:param n: one noise file:param snr: target snr:param output_noisy_file: output file path.:return: none'''c_data, _, c_data_len = read_wav(c)n_data, _, n_data_len = read_wav(n)if n_data_len <= c_data_len:start_pos = np.random.randint(0, c_data_len - n_data_len)# start_sample = np.random.randint(0, c_data_len - n_data_len)# c_data = c_data[start_sample:start_sample + n_data_len]else:start_pos = 0start_sample = np.random.randint(0, n_data_len - c_data_len)n_data = n_data[start_sample:start_sample + c_data_len]# mix audio with target snr.snr = np.power(10, np.true_divide(snr, 20)) # inverse of dB.P_c, P_n = c_data.rms, n_data.rmsalpha = np.true_divide(P_c, np.maximum(np.multiply(P_n, snr), 1e-12)) # scaling factor.alpha_db = 20 * np.log10(alpha)print(alpha, alpha_db)n_data = n_data + alpha_dbnoisy_data = c_data.overlay(n_data, position=start_pos, times=1)noisy_data.export(output_noisy_file, format="wav")
5, References
什么是分贝dB?
baidu-db
wiki-分贝
觉得有帮助,别忘记点赞哦。
cannt connect to db!_分贝db以及在语音的用途相关推荐
- 2db多少功率_小吴给大家讲讲——分贝dB与放大倍数的转换关系
分贝dB与放大倍数的转换关系 增益(dB)简介 1.放大器输出与输入的比值为放大倍数,单位"倍",如10倍放大器,100倍放大器.当改用"分贝"做单位时,放大倍 ...
- 分贝dB与放大倍数的转换关系及对照表
今天遇到了dB的问题,可是我总觉得dB貌似对我的理解产生了障碍,有缘看到了百度文库中的这篇文章,写的很简洁,就不用自己总结了.很感谢,这里转载过来. https://wenku.baidu.com/v ...
- dB(分贝)定义及其应用
目录 1.1 dB的诞生背景 1.2 dB的定义 1.3 dB的应用 1.4 dBA 1.5dB叠加 参考文章: 1.1 dB的诞生背景 dB是英文"decibel"的简写,其中d ...
- 2db多少功率_功率和db换算(功率与db换算表)
dBm是功率的单位,1dbm等于1毫瓦,也就是千分之一瓦. 1. dBm这是我们接触到比较多的一个单位,也是唯一一个用于表示功率绝对值的单位,其计算公式如下:10log. 功率单位 与P(瓦特)换算公 ...
- 增益 Gain 分贝 dB
https://zh.wikipedia.org/wiki/%E5%88%86%E8%B2%9D 分贝(decibel)是量度两个相同单位之数量比例的单位,主要用于度量声音强度,常用dB表示. &qu ...
- 关于分贝dB的理解与电子学的关系
本文禁止转载!!! 首先,在谈分贝dB之前,必须要先谈一下国际当中的进制转换 这个具体的进制转换参考我的另一篇博文: 电子学中国际单位的换算_sgmcy的专栏-CSDN博客 比如以m(米)这个单位做描 ...
- 分贝(db)的概念介绍
一.分贝的基本概念. db是倍数的另一种表示方式. 分贝表示的意义是将一个很大数字表示缩小化.比如10000倍就是40db,方便铭记和计算. 二.运算方式 由此可见对数是求幂运算.分贝是建立在对数基础 ...
- 小吴给大家讲讲——分贝dB与放大倍数的转换关系
分贝dB与放大倍数的转换关系 增益(dB)简介 1.放大器输出与输入的比值为放大倍数,单位"倍",如10倍放大器,100倍放大器.当改用"分贝"做单位时,放大倍 ...
- 分贝dB与倍数的转换关系
分贝dB与倍数的转换关系 dB简介 分贝(dB)就是放大器增益的单位,放大器输出与输入的比值为放大倍数,单位"倍".当改用"分贝"做单位时,放大倍数就称之为增益 ...
最新文章
- jlink api sdk c# 离线数获取 标定
- swift_014(Swift 的控制流)
- python读取excel表格-Python读取Excel单元格的内容
- 《机器学习实战》chapter05 Logistic回归
- 各自然带代表植被_必备知识:植被与地理环境
- 关于 Group 的另一个函数
- chart.js 饼图显示百分比_实战PyQt5: 135-数据可视化之QChart绘制饼图
- Android activity启动模式
- iOS内存管理系列之一:对象所有权与引用计数
- 二分查找的平均查找长度_二分查找(折半查找)代码实现
- 电脑脱机状态怎么解除_win7系统如何解除脱机工作 win7系统解除脱机工作步骤【介绍】...
- 免费获取小红伞互联网安全套装2012-90天的小红伞2012激活码激活密钥小红伞
- 普林斯顿微积分读本小记(未完待续)
- DOSBox下载安装
- android qq消息推送消息,最新版手机QQ怎么发送定时消息
- win10 internet 信息服务器,Win10无internet访问权限怎么解决?Win10无网络解决方法
- Keil MDK 编译器 AC5 和 AC6 优化选项重要内容和区别
- Python 读取文件夹下的Excel文件导入到数据库
- 提取音乐用什么软件哪个好
- 阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星31K+
热门文章
- 电脑系统知识:Windows原版系统与Ghost系统的区别,你知道吗?
- BUG(10) : Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be
- 降低网络运维管理成本技巧分析
- 仿腾讯QQ竖直滑动导航菜单
- 微信/QQ域名防封防拦截360不报毒任意链接跳转源码
- 生鲜配送分拣管理系统哪家比较强?
- 手动标记用例状态_别再用「六个点」当省略号了,这些标点都有更规范的输入方式...
- linux怎么共享存储,什么是ISCSI,及Linux下怎么样通过ISCSI实现共享存储
- Python : 7-6 三天打鱼两天晒网 (15 分)
- UVA 10881 Piotr‘s Ants