【发布时间】:2010-09-07 15:47:47
【问题描述】:
我即将开始一个将录制和编辑音频文件的项目,并且我正在寻找一个好的库(最好是 Ruby,但会考虑除 Java 或 .NET 之外的任何东西)用于动态可视化波形。
有人知道我应该从哪里开始搜索吗?
【问题讨论】:
标签: ruby audio mp3 visualization waveform
我即将开始一个将录制和编辑音频文件的项目,并且我正在寻找一个好的库(最好是 Ruby,但会考虑除 Java 或 .NET 之外的任何东西)用于动态可视化波形。
有人知道我应该从哪里开始搜索吗?
【问题讨论】:
标签: ruby audio mp3 visualization waveform
有大量数据要流式传输到浏览器中。 Flash 或 Flex 图表可能是唯一能节省内存的解决方案。对于大型数据集,Javascript 图表往往会崩溃。
【讨论】:
在显示音频波形时,您需要对原始数据进行某种数据缩减,因为音频文件中的可用数据通常比屏幕上的像素多。大多数音频编辑器会构建一个单独的文件(称为峰值文件或概览文件),其中存储音频数据的子集(通常是波形的峰值和谷值)以用于不同的缩放级别。然后,当您放大某个点时,您开始引用原始音频数据本身。
这里有一些很好的文章:
Build an Audio Waveform Display
就源代码而言,我建议您查看Audacity 源代码。 Audacity 的波形显示非常好,并且在渲染波形时很可能会进行类似的数据缩减。
【讨论】:
另一个选项是使用 GD 或 RMagick 在服务器端生成波形。但祝 RubyGD 编译好运。
【讨论】:
Processing 常用于可视化,它有一个 Ruby 端口:
【讨论】: