gpt4 book ai didi

iphone - 如何以 dB 为单位测量 iPhone 录音的音量,限制至少为 120dB

转载 作者:太空狗 更新时间:2023-10-30 03:52:23 24 4
gpt4 key购买 nike

我正在尝试为 iPhone 制作一个简单的音量计。我希望以 dB 为单位显示音量。使用 this turorial 时,我只能得到高达 78 dB 的测量值。我读到这是因为 16 位录音的 dBFS 频谱仅为 96 dB。

我尝试在初始化函数中修改这段代码:

dataFormat.mSampleRate = 44100.0f;
dataFormat.mFormatID = kAudioFormatLinearPCM;
dataFormat.mFramesPerPacket = 1;
dataFormat.mChannelsPerFrame = 1;
dataFormat.mBytesPerFrame = 2;
dataFormat.mBytesPerPacket = 2;
dataFormat.mBitsPerChannel = 16;
dataFormat.mReserved = 0;

我改变了mBitsPerChannel的值,希望增加录音的比特值。

dataFormat.mBitsPerChannel = 32;

将该变量设置为 32,“mAveragePower”函数仅返回 0。

那么,我怎样才能测量更多的分贝呢?我的所有代码实际上与我在上面发布的教程中的代码相同。

提前致谢,托马斯

最佳答案

16 位音频只有 96 dB动态范围,但我怀疑您可能对 dB 感到困惑,这是相对 测量和dB SPL,后者是声压级绝对测量。要测量 dB SPL,您需要使用某种引用来校准您的麦克风和音频硬件。一旦您校准了输入,那么您的 96 dB 动态范围很可能会转换为绝对范围,例如 44 dB SPL 到 140 dB SPL.

另请参阅我对之前关于 SO 的类似问题的回答:How can I calculate audio dB level?

注意:dB SPL 的定义是相对于 20 µPa (rms) 的声压级。

关于iphone - 如何以 dB 为单位测量 iPhone 录音的音量,限制至少为 120dB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2548238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com