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

javascript - WebAudio API 麦克风分贝阈值/门控(麦克风输入太敏感)

抱歉,我找不到这方面的任何信息。使用 WebAudio API 做个人项目,获取麦克风输入,但灵敏度太高。一位朋友告诉我研究关键字分贝阈值/门控,但我似乎找不到任何相关信息。。有人有任何资源吗?我已经引用了很多开源代码,所以请尽量减少术语,谢谢!

0 投票
1 回答
462 浏览

android - 制作分贝计(第一个 android 应用程序),将振幅转换为分贝时出现问题

作为更大应用程序的一部分,我目前正在研究分贝计,该计采用 10 秒时间跨度的平均声级。

为了实现这一点,我制作了一个 10 000 毫秒的 CountDownTimer,每 100 毫秒滴答一次。

在每个 onTick 事件中,我都会更新显示剩余时间的文本字段,并且还会更新实时分贝值。

然而,我的问题是将最大幅度转换为分贝。我找到了“power_db = 20 * log10(amp / amp_ref);” StackOverflow 上的公式,我理解它是如何工作的,但我似乎总是以负分贝值结束。

我知道这是因为 amp_ref 值错误,但我完全不知道应该使用哪个。我在网上发现了很多不同的价值观,但似乎没有一个能奏效。

有谁知道我应该使用哪个参考幅度来在我的仪表上获得正确的分贝读数?我正在测试的手机是谷歌 Nexus 5。如果有帮助的话,如果它只是这个手机上的一个真正准确的值就足够了。

我在 onTick 事件中的代码如下(我暂时删除了公式,因为无论如何它似乎都是错误的):

如果有人有任何提示或需要更多信息,请告诉我!

提前致谢!:)

0 投票
1 回答
3033 浏览

android - Android 如何找到分贝

我正在尝试从麦克风中获取分贝,并到处寻找如何正确地做到这一点,但它们似乎不起作用。

我得到这样的幅度

}

然后在我的其他活动中,我调用 getAmplitude 方法,它返回幅度。要将其转换为分贝,我使用以下命令:

我已经为 32767 尝试了许多不同的值,但它们似乎都没有给我一个现实的分贝答案。它通常是负数,有时是-无穷大。如果您知道如何以正确的方式找到分贝,请提供帮助。

0 投票
3 回答
3284 浏览

android - getMaxAmplitude() 总是返回 0

我正在尝试Sound Level Pressure表达,decibel但我总是得到0。(的输出TextView-Infinity但因为log(0) = -infinity

中的权限Manifest.xml

请问你能帮帮我吗?

更新

我也试过这个:

但什么都没有,仍然得到-Infinite

            

0 投票
1 回答
2995 浏览

ios - 如何标准化分贝值并使其介于 0 和 1 之间

我试图通过循环音频样本并获得每个通道的平均功率来获得音频的力量。

我想获得一个介于 0 和 1 之间的值,以反映正在播放的音频的强度。现在我得到 dB(分贝值),它是一个从 -160(接近静音)到 0(非常响亮)的浮点值。

这是我用 Swift 编写的代码:

我不确定我得到的 dB 值是否准确或我做错了什么?

现在我使用我找到的一些代码获得了 0-190 之间的值,但这对我来说没有多大意义。

我需要的是标准化我得到的分贝值在 0 - 1 之间

编辑 - 随意在 Obective-C 中编写代码

0 投票
1 回答
268 浏览

android - 从 AndroidRecoreder.MaxAmplitude() 获取更多分贝值范围

好吧,我试图使用 AndroidRecorder 来获取 maxAmplitude() 并将其转换为分贝。

这是我使用的公式 - Double powerDb = 20 * log10((mRecorder.getMaxAmplitude()/2700.0));

但是当我看到我的 powerDB 日志时,我看到的值从负 15 到 21.8(正)不等。

我在不超过 21.8 的麦克风前喊了多少,有时通常会达到 21.8。

如何获得更大的值宽度,以便实际区分低音和高音,我计划根据一些响亮的声音触发我的应用程序。

0 投票
1 回答
805 浏览

audio - gstreamer 从缓冲区读取分贝

我正在尝试获取传入音频样本的 dB 级别。在每个视频帧上,我更新 dB 级别并绘制一个代表 0 - 100% 值的条形(0% 是任意值,例如 -20.0dB,100% 是 0dB。)

这已从标记为答案的代码示例中改编为 C,来自此处。我想知道这个非常简单的方程式中缺少什么。

回答:夹克关于丢失标志的代码是正确的,所以一切最终都是积极的。代码10 * log(rms)也不正确。应该是20 * log(rms)因为我将幅度转换为分贝(作为输出功率的度量)。

0 投票
2 回答
2026 浏览

c# - 如何将 -1.0 和 +1.0 之间的浮点数转换为 dB(A) 声压?

使用

我得到一个浮点数组d。迭代d使用时,foreach (float s in d)我得到-1.0和+1.0之间的浮点数。如何将它们转换为声压的 dB(A)?

编辑:我解决了它使用double db = 20 * Math.Log10(Math.Abs(s));

0 投票
2 回答
1614 浏览

slider - html5 音量滑块转到 200%

我正在寻找一种将音量增加到 100% 以上的方法。我有一些视频,其中 html5 的最大音量为 100% 有点低。有什么可以使最大音量达到 200% 或定义 100% 的分贝水平吗?

0 投票
0 回答
69 浏览

java - 使用 java 从手机或 pc 中采样 db

我很难从计算机或手机的麦克风中采样分贝,我只是想确保我在数学和物理上都正确地做到了这一点。

这是代码:

我的问题是,我似乎得到了一个样本,但我不确定我是否使用了正确的公式来计算这个样本。

希望懂物理、数学和java的人能给出答案。

感谢您的帮助 :)