问题标签 [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 回答
92 浏览

python - Python 在没有 PyDub 的情况下从 MP3 和 FLAC 读取相对 dB

我需要从 MP3 或 FLAC 中读取相对于自身的平均 dB。我不能使用 PyDub,因为它依赖于我无法安装的 FFMPEG/AVCONV。一种变通的解决方案是可以接受的,例如:在处理之前将 MP3/FLAC 转换为 wav。

0 投票
0 回答
507 浏览

python - FFT 的最佳方法 - 最大。值 FFT - Python

我正在尝试用 Python 编写的树莓派构建一个 SPL 测量设备。我录制了一个声音,然后我做了 FFT,但我没有正确的对数值。

上面你可以看到我正在使用的 FFT 代码。我有两个问题:

  1. FFT_side 是一个 float64 值,最大范围是多少?

我的处理器是 armv7l 32 位。我在互联网上发现这是最大范围 1.7976931348623157e+308,对吗?

  1. 如何在不知道麦克风两端电压的情况下获得 dB 图?我想做 value_read/max_float64 但这根本不起作用。
0 投票
2 回答
46 浏览

webforms - 如何在 Decibel Insight 中实施表单分析跟踪?

我希望在热图和浏览器回放工具 Decibel Insight 中实现表单分析。

0 投票
0 回答
548 浏览

audio - 如何将音频信号从 PCM 值缩放到 dB SPL 值?

我有一套 MEMS 麦克风,可以测量特定频率的音频信号。MEMS 麦克风有一个 PDM 输出,然后将其转换为 PCM(这是允许微控制器对采样的音频数据进行某些处理所必需的)。

我正在尝试提出一种将 PCM 样本转换为 dB SPL 的方法,我在此找到的最佳资源是此链接:https ://curiouser.cheshireeng.com/2015/01/16/pdm-在-a-tiny-cpu/中。我了解他们如何从 977 个 PCM 样本中计算 RMS 值(这在文章中称为内部对数单位的 SPL 值)。他们通过使用麦克风数据表将此 RMS 值与 dB FS 值相关联(其中方波的最大可能 PCM 值/RMS 值将等效于 +3 dB FS 的 dB FS 的已知最大值)。我不明白作者如何在 dB FS 和 dB SPL 之间创建线性关系(类似于经典的 y=mx+b)。下面列出了讨论此问题的文章中的特定段落:

要将内部对数单位的最终 SPL 值与 dB SPL 相关联,我们必须注意,麦克风数据表声称 94 dB SPL 的 1 kHz 音调通常会记录为 -26 dB FS,其中 0 dB FS 是最大幅度正弦可以在没有削波的 PCM 样本中表示的波。满量程方波则为 +3 dB FS,其测量值为 8 * log2(8192) 或 104,可通过乘以 20 * log10(2) / 8 或约 0.75 重新调整为 dB,得到 78。减去正弦波的 3 dB,我们发现偏移量约为 -75 dB 至 dB FS,或 +19 至 dB SPL。

综上所述,如果我们想输出真实的 db SPL,我们需要根据计算变量 spl 的以下表达式:dB SPL = (3 * spl / 4) + 19

我不明白 0.75 的系数或 +19 的​​截距是如何合理的。有没有人有任何想法或一些额外的资源我可以咨询?

0 投票
0 回答
98 浏览

c - 计算rssi值平均值的程序

所以这里有一个小代码,我需要计算一些 rssi 值的平均值:

所以我知道要获得分贝值的精确平均值,您必须先将它们线性化,然后再获得平均值。我只是不确定我的代码是否完美地表达了这一点。这更像是一个逻辑问题而不是代码问题,但也许你可以向我介绍一个执行此操作的函数,或者验证我的逻辑确实让我得到了平均值。

0 投票
0 回答
930 浏览

flutter - Flutter 播放声音并记录噪音水平

任何人都可以帮助PLZ!

我已经遇到这个问题一段时间了。该应用程序在 ios 模拟器和 android 设备上运行良好,但不能在 ios 设备上运行。一般的想法是我想要播放音调,一旦开始播放音调,我需要记录设备拾取的分贝水平。据我了解,ios设备一次只允许使用一个通道,无论是输入还是输出。我正在使用 audioplayers 和 noise_meter 插件。已授予所有权限,如果我单独运行一种方法,它可以工作,反之亦然,但是当同时运行这两种方法时,它会引发此错误。

https://pub.dev/packages/noise_meter

https://pub.dev/packages/audioplayers

我收到的错误如下:

我把一个简单的应用程序放在一起只是为了演示我的问题:

任何帮助都感激不尽。

0 投票
0 回答
83 浏览

python - 如何在 python 中找到我的计算机音频的分贝级别?

我想知道是否可以帮助我弄清楚如何检查计算机音频的分贝水平。我想制作一个程序来找到我的音量所需的分贝水平,如果我的音量高于该音量,则将其降低。我已经包含了一些代码,这些代码概述了我想要的内容:

0 投票
0 回答
50 浏览

watchkit - 在哪里可以找到有关使用 Apple Watch 和 watchOS 读取分贝级别的文档?

我一直在尝试查找有关如何使用 Apple Watch 获得分贝水平的文档。我的意思是我想编写一个应用程序,它将拾取高于某个阈值的分贝水平。我遇到的问题是我似乎找不到有关如何执行此操作的文档。我不确定我是否应该使用 AV 套件、音频套件或某些可以通过 Apple Watch 麦克风拾取音频的传感器套件。我正在尝试构建的内容类似于 Apple 为 Apple Watch 提供的音频级别应用程序,但我想像我之前所说的那样记录超过某个阈值的声音。

有谁知道我在哪里可以找到有关如何实现这一目标的文档?或者只是指出我应该去的方向?

0 投票
1 回答
214 浏览

python - 如何从 FFT 结果计算 dBm?

我计算了一个 4Hz 的正弦波,应用 FFT 并计算了幅度,幅度是一个长度为 500 的数组,我想将该数组中的每个元素转换为 dBm 形式,并绘制一个频谱图。但是我似乎无法正确计算。

我看到了那个通用公式:

valueDBFS = 20 np.log10(abs(value))

所以我尝试使用它,但我只得到负面结果..

这是我的完整代码(已编辑):

0 投票
1 回答
112 浏览

unity3d - 为什么音量从 -80db 变为 0 - 甚至不是从 0 开始?

我对声音很陌生。我一生中从未探索过这个领域。

我认为分贝是从 0 开始的度量。但在 Unity 中,它从 and 开始,-80db并且“ 0db”似乎是“100%”级别的音量。

Unity AudioMixer 组

此外,当我将声音更改为它不是介于and-40db之间的“中途”时,它似乎更接近. 因此,当它“中途”时,用户什么也听不到: -80db0-80db中途声音选择

我在任何地方都找不到如何正确设置声音,以及如何让用户“正确”选择声音(=良好的音阶)。

对此有任何想法/ Unity 有价值的样本吗?