首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PCM样品体积的可视化

PCM样品体积的可视化
EN

Stack Overflow用户
提问于 2010-03-27 06:52:08
回答 2查看 3.4K关注 0票数 1

我的C++应用程序中有几段PCM音频(G.711)。我想要可视化这些块中不同的音量。

我的第一个尝试是计算每个块的样本值的平均值,并将其用作音量指标,但这种方法效果不佳。对于静音的块,我得到的值是0,对于有音频的块,我得到的值是不同的,但这些值只是稍微有些不同,看起来并不像实际的音量。

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-27 06:59:53

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

你会期望大多数样本的平均值大约为零,因为声音波形在零的两边振荡。

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

为了更好地了解人类对体积的感知,您可能需要研究一下Replay Gain中使用的技术。

票数 3
EN

Stack Overflow用户

发布于 2010-03-27 07:01:43

如果你觉得有雄心壮志,你可以从国际电信联盟网站download G.711,并在接下来的几周(或更长时间)实施它。

如果你比这更懒惰(或者更明智),你可以使用download G.191 --它包含了压缩和解压G.711编码数据的源代码。

一旦你解码了它,可视化音量应该会容易得多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2527290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档