gpt4 book ai didi

c++ - 可视化 PCM 样本的体积

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:27 25 4
gpt4 key购买 nike

我的 C++ 应用程序中有几 block PCM 音频 (G.711)。我想可视化每个 block 中的不同音频音量。

我的第一次尝试是计算每个 block 的样本值的平均值并将其用作数量指标,但这效果不佳。对于有静音的 block ,我确实得到 0,对于有音频的 block ,我得到了不同的值,但这些值只是略有不同,似乎与实际音量不同。

计算体积的更好算法是什么?

我听说 G.711 音频是对数 PCM。我应该如何考虑这一点?

最佳答案

请注意,我自己没有使用过 G.711 PCM 音频,但我假设您在处理值之前执行了从编码振幅到实际振幅的正确转换。

您会期望大多数样本的平均值近似为零,因为声音波形会在零的任一侧振荡。

粗略的体积计算将是 rms(均方根),即取样本平方的滚动平均值并取该平均值的平方根。当有声音时,这会给你一个正量;数量与波形中表示的功率有关。

对于与人类对音量的感知更相关的内容,您可能需要研究 Replay Gain 中使用的技术种类.

关于c++ - 可视化 PCM 样本的体积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2527290/

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