Ruby中的波形可视化

时间:2020-03-05 18:46:53  来源:igfitidea点击:

我将要开始一个项目,该项目将记录和编辑音频文件,并且我正在寻找一个很好的库(最好是Ruby,但会考虑使用Java或者.NET以外的任何东西)来实时显示波形。

有人知道我应该从哪里开始搜索吗?

解决方案

回答

要流入浏览器的数据很多。 Flash或者Flex图表可能是唯一具有内存效率的解决方案。 Javascript图表倾向于分解大数据集。

回答

另一个选择是使用GD或者RMagick在服务器端生成波形。但是祝愿RubyGD能够编译好运。

回答

在显示音频波形时,我们将需要对原始数据进行某种形式的数据缩减,因为音频文件中可用的数据通常比屏幕上的像素多。大多数音频编辑器会构建一个单独的文件(称为峰文件或者概述文件),该文件存储音频数据的子集(通常是波形的峰和谷),以用于不同的缩放级别。然后,当我们放大到特定点时,我们便开始引用原始音频数据本身。

这里有一些很好的文章:

波形显示

建立音频波形显示

就源代码而言,我建议我们浏览Audacity源代码。 Audacity的波形显示效果非常好,并且在渲染波形时很可能会进行类似的数据缩减。

回答

我写了一个:

http://github.com/pangdudu/rude/tree/master/lib/waveform_narray_testing.rb

,缺口

回答

处理通常用于可视化,它具有一个Ruby端口:

http://wiki.github.com/jashkenas/ruby-processing