0

我一直在尝试生成类似 Audacity 的波形。我使用了 java sound api 并达到了将实际 mp3 表示为波形的一个不错的点。您是否有任何数学函数可以应用于要绘制的数据集,使其看起来更密集和更平滑?

谢谢!

编辑1:

移动平均线的建议(我使用了指数)效果很好,但对我的限制(单线程)执行得非常重。除此之外,输出非常好!

我最终实现了我自己的一个小实现。我取一个值区域的局部最大值,并用一条直线将它连接到下一个区域的局部最大值。它速度快,输出不错。

编辑 2: @Nicholas DiPiazza 的链接代码/解决方案

4

1 回答 1

1

如果我理解正确,您已经知道如何获取 PCM 数据点,但现在想要为它们拟合曲线。是的?

线性插值是最简单的方法。如果它不够光滑,我会感到惊讶。你的采样率是多少?

我知道有一些高阶曲线也可以用来拟合数据点,这会使图形表示更平滑。我不确定什么最适合代表音频波。我似乎想起了与音频一起使用的术语“三次插值”。但不能肯定地说,数学有点粗糙。

于 2012-05-11T08:10:22.587 回答