Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我即将开始一个将录制和编辑音频文件的项目,并且我正在寻找一个好的库(最好是 Ruby,但会考虑除 Java 或 .NET 之外的任何东西)用于波形的动态可视化。
有人知道我应该从哪里开始搜索吗?
有很多数据要流入浏览器。Flash 或 Flex 图表可能是唯一能节省内存的解决方案。对于大型数据集,Javascript 图表往往会崩溃。
显示音频波形时,您需要对原始数据进行某种数据缩减,因为音频文件中的可用数据通常比屏幕上的像素多。大多数音频编辑器构建一个单独的文件(称为峰值文件或概览文件),该文件存储音频数据的子集(通常是波形的峰值和谷值)以用于不同的缩放级别。然后,当您放大某个点时,您开始引用原始音频数据本身。
这里有一些关于这方面的好文章:
波形显示
构建音频波形显示
就源代码而言,我建议您查看Audacity源代码。Audacity 的波形显示非常好,并且在渲染波形时很可能会进行类似的数据缩减。
我写了一个:
http://github.com/pangdudu/rude/tree/master/lib/waveform_narray_testing.rb
,缺口
另一种选择是使用 GD 或 RMagick 在服务器端生成波形。但是祝 RubyGD 编译好运。
处理通常用于可视化,它有一个 Ruby 端口:
https://github.com/jashkenas/ruby-processing/wiki