我一直在尝试生成类似Audacity的波形。我使用了java sound api,并且得到了一个代表实际mp3到波形的合适点。您是否考虑过我可以应用于要绘制的数据集的任何数学函数,以使其看起来更加密集和平滑?
谢谢!
编辑1:
移动平均线的建议(我使用指数)效果很好,但我所做的限制(单线程)表现得非常重。除此之外,产量非常好!
我最终成了我自己的一个小实现。我取一个值区域的局部最大值,并用直线连接到下一个区域的局部最大值。它速度快,输出效果很好。
编辑2: 关联code/solution 来自@Nicholas DiPiazza
答案 0 :(得分:1)
如果我理解正确,你已经找到了如何获得PCM数据点,但现在想要为它们拟合曲线。是
线性插值是最简单的方法。如果它不够平滑,我会感到惊讶。你的采样率是多少?
我知道有更高阶的曲线也可用于拟合数据点,这将使图形表示更平滑。我不确定什么是最好的代表音频波。我似乎回忆起用于音频的术语“立方插值”。虽然不能肯定,但数学有点粗糙。