gpt4 book ai didi

Android PCM 字节

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:54 35 4
gpt4 key购买 nike

我正在使用 AudioRecord 类来分析麦克风中的原始 pcm 字节。

所以这很好用。现在我需要将 pcm 字节转换为分贝。

我有一个公式可以将 Pa 中的声压转换为 db。

db = 20 * log10(Pa/ref Pa)

所以问题是我从 audiorecorder 从缓冲区中获取的字节是什么,它是振幅帕斯卡声压还是什么。

我试图将值放入公式中,但它返回的值非常高,所以我认为它不对

谢谢

最佳答案

免责声明:我对 Android 知之甚少。

您的设备可能以每秒 44,100 个样本(可能更少)的速度录制单声道,每个样本使用两个字节。因此,您的第一步是将原始数据中的字节对组合成双字节整数(我不知道这在 Android 中是如何完成的)。

然后,您可以通过首先获取样本的归一化绝对值并将其传递给 Db 函数来计算每个样本的分贝值(相对于峰值):

float Db = 20 * log10(ABS(sampleVal) / 32768)

接近峰值的值(例如 +32767 或 -32768)将具有接近 0 的 Db 值。3277 (0.1) 的值将具有 -20 的 Db 值; 327 (.01) 的值将具有 -40 等的 Db 值。

关于Android PCM 字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2917762/

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