我即将启动一个记录和编辑音频文件的项目,并且我正在寻找一个好的库(最好是 Ruby,但会考虑 Java 或 .NET 以外的任何库)来实现波形的即时可视化。

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

有帮助吗?

解决方案

有大量数据要流入浏览器。Flash 或 Flex 图表可能是唯一高效内存的解决方案。对于大型数据集,Javascript 图表往往会崩溃。

其他提示

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

这里有一些关于这方面的好文章:

波形显示

构建音频波形显示

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

另一种选择是使用 GD 或 RMagick 在服务器端生成波形。但祝 RubyGD 编译顺利。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top