Waveform Visualization in Ruby我将要开始一个项目,该项目将记录和编辑音频文件,并且我正在寻找一个很好的库(最好是Ruby,但会考虑使用Java或.NET之外的其他任何东西)来实时显示波形。 有人知道我应该从哪里开始搜索吗? 要流入浏览器的数据很多。 Flash或Flex图表可能是唯一具有内存效率的解决方案。 Javascript图表倾向于分解大数据集。 我写了一个: http://github.com/pangdudu/rude/tree/master/lib/waveform_narray_testing.rb ,缺口 在显示音频波形时,您将需要对原始数据进行某种形式的数据缩减,因为音频文件中可用的数据通常比屏幕上的像素多。大多数音频编辑器会构建一个单独的文件(称为峰文件或概述文件),该文件存储音频数据的子集(通常是波形的峰和谷),以用于不同的缩放级别。然后,当您放大到特定点时,您便开始引用原始音频数据本身。 这里有一些很好的文章: 波形显示 建立音频波形显示 就源代码而言,我建议您浏览Audacity源代码。 Audacity的波形显示效果非常好,并且在渲染波形时很可能会进行类似的数据缩减。 处理通常用于可视化,它具有Ruby端口: https://github.com/jashkenas/ruby-processing/wiki 另一个选择是使用GD或RMagick在服务器端生成波形。但是祝您能够编译RubyGD好运。 |