Ruby中的波形可视化
问题描述:
我即将开始一个记录和编辑音频文件的项目,我正在寻找一个好的库(最好是Ruby,但会考虑除Java或.NET以外的任何其他应用程序)波形的实时可视化。Ruby中的波形可视化
有人知道我应该从哪里开始搜索吗?
答
这是要流入浏览器的大量数据。 Flash或Flex图表可能是唯一可以提高内存效率的解决方案。对于大型数据集,Javascript图表往往会崩溃。
答
另一种选择是使用GD或RMagick在服务器端生成波形。但是祝你RubyGD编译好。
答
当显示音频波形时,您会希望对原始数据进行某种数据缩减,因为音频文件中的可用数据通常比屏幕上的像素多。大多数音频编辑器都会创建一个单独的文件(称为峰值文件或概览文件),用于存储音频数据的一个子集(通常是波形的峰值和谷值),以用于不同的缩放级别。然后,当您放大某个点时,您开始引用原始音频数据本身。
这里有一些这方面的好文章:
Build an Audio Waveform Display
至于源代码的推移,我会建议翻翻Audacity源代码。 Audacity的波形显示效果非常好,并且在渲染波形时可能会进行类似的数据缩减。