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