问题标签 [decibel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1623 浏览

android - 计算分贝值

我使用公式计算分贝double dB = 20 * Math.log10(p/p0);

但是这个类所做的是表示声音幅度在 40 到 70 之间的范围内,它很容易达到 70(最大值),只需在设备上敲击我的手指。

0 投票
0 回答
307 浏览

volume - QMediaPlayer 和分贝音量控制

我正在将我的音乐播放器从 Qt4 重写为 Qt5。我从 Phonon 切换到 QtMultimedia。我现在有一个严重的音量控制问题。为了支持 ReplayGain,我从媒体文件中读取标签,然后更改每个音轨的音量以保持相等。

在声子中,我使用 setVolumeDecibel,因为存储在标签中的音量差异以 dB 为单位。但是在 QtMultiMedia 中我不能使用它。QMediaPlayer 类只有一个 setVolume 函数。还有其他可能如何控制以 dB 为单位的音量吗?内部 setVolume 的计算是什么?也许我可以反转它以设置以 dB 为单位的音量。

或者你有什么其他建议我应该怎么做?

0 投票
0 回答
4499 浏览

python - 从 WAV 文件中捕获 dB 电平

linux2 Linux Mint 14 上的 Python 2.7.3(默认,2013 年 9 月 26 日,16:35:25)[GCC 4.7.2]

使用 Python,我正在读取一个 wav 并将数据放入一个文本文件。整个脚本如下。这是我的第一个 Python 脚本。

micsec 的值可以是从 000000 到 999999 之间的任何值。我经常使用前导零lstrip('0')

如果值为 000000,我最终得到 null。我正在使用一个额外的步骤将 null 更改为 0。

一步完成此操作的最佳方法是什么?

感谢您的任何意见。

0 投票
1 回答
612 浏览

ios - 在 iOS 上使用 AVAudioRecorder 测量 dB 限制为 96dB

我正在尝试构建 dB 测量以解锁应用程序中的功能。一旦用户达到 100dB,该功能应该可用。我目前的实现只能测量到 96dB。据我了解,问题与比特率记录有某种关系:16 位只能达到 96 分贝,24 位应该能达到 144 分贝(http://www.head-fi.org/t/415361/24bit-vs-16bit-神话爆炸)。

dB 测量和计算工作正常,我唯一的问题是我不能测量超过 96dB。我正在努力设置以实现更高的比特率,我想我在这里做错了。

我当前对记录器的初始化如下所示:

先感谢您。

0 投票
1 回答
541 浏览

mean - 是直接采用以分贝 (dB) 为单位的一组值的中值还是平均值,还是需要转换为线性

我需要在 MatLab 中取一组路径损耗 (dB) 值的中值。有谁知道在通过公式计算它们的中位数之前,它们应该转换为像瓦特这样的线性单位。两种情况下的结果都不同,但我不知道哪一种是正确的。

0 投票
1 回答
1835 浏览

android - 录音类:计算噪音水平

我正在尝试使用音频记录类而不是 getMaxAmplitude() 函数开发一个 android 应用程序(声音计)。

我按照此链接进行操作:

android中有没有声音过滤库

我对这段代码有几个问题:

  1. calculatePowerDb() 函数中的功率是如何计算的?为什么我们做样本的平方和?换句话说,这个等式“power = (sqsum - sum * sum / samples) / samples”代表什么?
  2. 是输出值“return Math.log10(power) * 10f + FUDGE;” 两个功率(功率电平/参考功率)之间的区别是什么?

其实这个函数我看不懂:

此代码返回负值(希望声功率)并在对设备进行一些校准后正常工作(添加/提取比率)

现在,我想了解这段代码的某些部分(上面有评论)。

感谢您的回复和所有可以完成的细节!

0 投票
1 回答
4441 浏览

iphone - 如何在 iPhone 中使用 AVAudioRecorder 计算 1/3 倍频程的 dB(A) 值

我使用了 AVAudioRecorder 和 AVAudioSession,它们以分贝为单位提供了 0(非常响亮)到 -160(接近静音)范围内的值。在应用程序中,我必须为从 iPhone 麦克风接收的实时音频测量绘制 A 级 iedB(A) 曲线。

我正在执行以下程序 -

  1. 从 AVAudioRecorder 获取 dB 值

    /li>
  2. 获得一个正的dB值,float posdBValue = dbValue+160; 例如,如果 dbValue=-100,则 posdBValue = -110+160 = 50dB

  3. 通过为不同的 1/3 倍频程频带添加 A 加权来计算 dB(A) 值 A 加权值参考 - http://personal.cityu.edu.hk/~bsapplec/single.htm

    • 31.5Hz 时的 dB(A) = 50 -39.4 = 10.6;
    • 40 Hz 时的 dB(A) = 50 -34.6 = 15.4
    • 50 Hz 时的 dB(A) = 50 -30.2 = 19.8
  4. 在图表上绘制 dB(A) 值与频率带的关系

问题 1. 这是从分贝中找出 dB(A) 值的正确方法吗?2. 应该使用 FFT 吗?如果是,FFT 在哪里以及如何适合计算?3. 基于从averagePowerForChannel方法返回的单个 dB 值,我是否必须为 24 个倍频程频带中的所有中心频率计算不同的 dB 值?如果是,如何?4. 任何人都可以提出解决方案、开源库、iPhone 代码参考吗?

我完全不知所措。我觉得我错过了一些东西。请帮忙!我现在只需要弄清楚计算和逻辑。谢谢你。

0 投票
1 回答
803 浏览

android - 如何在 SPL Meter 中实现时间加权?

我想开发一个 android 应用程序来测量声压级,但我不确定如何实现时间加权。目前我的算法工作如下:

  1. 录制 20 毫秒的音频(160 个样本 @ 8000Hz)
  2. 计算 RMS
  3. 计算 SPL
  4. 更新显示值并重新开始

在这里你可以看到算法的主要部分:

我知道声级计的等级可以是快速、慢速或脉冲时间加权。但我不确定在我的算法中如何以及在何处实现这个时间加权。

问:时间加权是否意味着在什么时间之后我会更新测量的 dB 值?

问:我应该简单地将更新间隔更改为 125 毫秒以获得快速加权结果还是我完全错了?

谢谢你的支持

0 投票
1 回答
7491 浏览

javascript - 你如何在Javascript中获得音频的分贝级别

我目前正在使用 JavaScript、HTML 和 CSS 制作分贝计可视化工具。

我已经阅读了几个 Web Audio API 教程,但没有任何内容能具体到我想要做的事情。

这是我到目前为止所拥有的:

有人可以解释我需要做什么,或者指出我正确的方向,因为这似乎不起作用?

0 投票
1 回答
728 浏览

java - 在程序内用 Java 更改程序的输出音频电平

我正在尝试更改程序的输出音频级别,最好以分贝为单位。我需要改变整个节目的音频电平并记录电平的变化。语言是Java。有什么简单的方法可以做到这一点?我用来播放声音的声音如下: