问题标签 [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 投票
2 回答
2140 浏览

iphone - 与 AVAudioRecorder 中的仪表混淆

简而言之,我试图根据从 iPhone 的麦克风输入流中读取的分贝来对某些东西进行口型同步,而我得到的值并不是我想要的。我正在使用 AVAudioRecorder 的 peakPowerForChannel 和 averagePowerForChannel。(我知道这是一种相当简单的口型同步技术,但质量不是主要问题)。

当分贝数增加时,仪表会按照我的意愿做出反应(声音越大时值越高,所以我可以将其映射到嘴巴的张开度)但是当声音快速停止时,值会缓慢下降,因为尽管声音逐渐减弱(即在一两秒钟内逐渐消失)——这不是我想要的。

有没有办法配置 AVAudioRecorder 使其不具有这种“淡入淡出”效果,或者我可以用它给我的值做一些事情以获得所需的输出?或者,我可以使用其他工具吗?

谢谢!

0 投票
2 回答
11004 浏览

c# - C#如何获取具有时间跨度的音频分贝值

如何获得每 1 秒拥有的 wav/mp3 文件的分贝值?使用任何适用于 C# 的音频库..

就像是:

我真的很感谢你的帮助:)

问候,

0 投票
2 回答
24663 浏览

android - 从振幅计算分贝 - Android 媒体记录器

如何从 maxAmplitude 计算分贝,我编写了一个 android 应用程序以定期获取 maxAmplitude,我需要以分贝为单位向用户显示 o/p。

0 投票
2 回答
3401 浏览

iphone - 如何检测 iPhone 上的环境声级?

我需要创建一个音频响度(分贝)检测器。澄清一下,我不是想找到 iPhone 播放的音量,而是它周围的音量(以分贝为单位)。我怎样才能做到这一点?

0 投票
2 回答
522 浏览

core-audio - 如何快速循环播放音频块并在 Core Audio 中确定它们的样本值(幅度/功率电平/等)?

我想要完成的基本上如下:

  1. 打开一个文件,根据它的持续时间确定我需要多少“样本”
  2. 将文件分成 x 个样本;确定每个样本的(平均)功率电平/幅度。
  3. 使用这些样本值,继续绘制代表音频的波形(也许遵循这些指南

我花了大约三天时间,仔细搜索在线论坛、书籍和 API,但无济于事。我被困在最关键的一步 -> 确定音频块(缓冲区)的功率水平。

在阅读了大部分即将出版的Core Audio 书籍之后,我已经对 AudioQueues、Audio Units 以及在某种程度上 - OpenAL 的低级环境感到满意。但是,我看到的所有示例和解释(在本书和网络上的其他地方)都涉及在播放或录制音频文件时(即实时)确定功率电平值。

然而,我的目的是快速有效地确定磁盘上给定文件的这些值,而无需实时回放。任何关于我需要查看哪些库、功能的指导将不胜感激。

谢谢。

0 投票
1 回答
3739 浏览

android - Android:振幅值到分贝值?

我正在尝试从 Android 手机上的麦克风记录噪音的分贝。我可以获得幅度值并寻找将其转换为分贝的公式。

我使用 MediaRecorder 的以下功能来获取幅度。

mediaRecorder.getMaxAmplitude() ;

另一个问题中,我找到了以下公式。

power_db = 20 * log10(amp / amp_ref);

amp是幅度,但不确定是什么amp_ref

有谁知道正确的公式吗?

0 投票
2 回答
971 浏览

audio - fft 数据的分贝结果错误

如果我记得分贝范围是位深度* 6。

我播放他的位深度 = 16(使用 NAudio lib)的 wav 文件,我得到 fft 结果,然后我计算每个 fft 结果的分贝。20 * Math.log10(fftData[i]) 我得到了奇怪的结果(-109 ...)它怎么可能超过-96(对于16位)?

(我使用.net 4)

谢谢!

0 投票
2 回答
502 浏览

winapi - 0db 声级的默认值作为绝对浮点值

我目前正在用 c++ 在 Window 7 上构建类似小型软件音频合成器的东西。核心引擎正在运行,在接收到 MIDI 事件后,它会播放音符、更改节目等。目前让我感到困惑的是,将输出通道的 0 db 参考声压级放在哪里。

假设合成器产生一个 440 Hz 的正弦波,幅度为 |0.5f|。. 为了计算 db 中的声级,我需要设置参考电平(0 db)。有谁知道这样的默认值?

0 投票
1 回答
754 浏览

flash - Actionscript 3.0 麦克风分贝

嗨,

如何从麦克风类 im Actionscript 3.0 中获取分贝值。

提前致谢!

0 投票
1 回答
2724 浏览

matlab - MATLAB:调整对数值图的动态范围

我一直无法通过谷歌找到任何与此相关的东西,所以我担心我的问题本身可能有缺陷......不过,这里是:

我希望在各种固定动态范围内显示值 (Z) 矩阵。在这种情况下,固定为 0dB、10dB、...、40dB。

我目前的方法是找到 Zmag = abs(Z).^2, Zn = normalized(Zmag), Zdb = 10*log10(1+Zn)

为了查看不同的动态范围(例如 10dB),我会在找到 Zdb 之前包含“Zn(Zn<0.1)=0.1”。对于 20dB,我做同样的事情,只是感兴趣的值变为 0.01。

然后我做了一个 Zn 的彩色网格图并查看 XY(顶部,从 3D 透视图)图,以查看类似于 imagesc(Zn) 给出的结果。目的是当我增加动态范围时,我应该看到更详细的图(在这种情况下,最大值和最小值之间有更多颜色)。

我当前的方法是(我认为)它应该为 10dB:10dB 动态范围网格 与 40dB 相比:40dB 动态范围网格图

但是,我看不出我的 0、20、30 和 40dB 图之间有什么区别。我希望值会从 0dB 逐渐增加到 40dB。

-迪伦

编辑:这是一些示例代码。它是真实代码的片段,但仍应运行: