【问题标题】:How to decode WAV/RIFF audio data?如何解码 WAV/RIFF 音频数据?
【发布时间】:2013-12-31 15:10:14
【问题描述】:

我正在尝试创建一个程序来生成可以写入 WAV/RIFF 文件的随机音频。感谢this,我能够轻松理解标题,并且我找到了如何将字节数据写入WAV/RIFF文件here,但我找不到任何指定WAV/RIFF音频的内容数据以这些字节编码。

所以我要做的是分析数据(而不是试图把它交给我;))以了解字节中发生了什么,从而使我能够正确编写我的程序。那么有没有什么可以解释如何解码 WAV/RIFF 文件的音频块以了解每个字节中发生的情况(幅度、频率等)?我知道我可能在这里遗漏了一些东西,也许每个字节都不是我应该寻找的,但我似乎只能找到关于该主题的稀疏数据。

目前将为此使用 Java,因此如果有任何特定于实现的选项,请告诉我。

注意

我还找到了thisthis,它们似乎在我正在寻找的一般区域中,但它们仍然没有到达那里。所以我正在寻找的是一个规范或示例,它将向我展示如何分析各个字节以了解发生了什么,以便我可以学习如何编写它们。

编辑

一位朋友建议我可能想多了,并且可能有一个 Java 库可以使在 Java 中分析原始音频数据比按字节分析更容易。如果是这样,对此有什么建议或在哪里看?

【问题讨论】:

    标签: java audio wav data-analysis riff


    【解决方案1】:

    Each sample in a WAV file -- each 16-bit pair of bytes after the header -- represents an amplitude。如果您想发现原始音频信号中存在的频率,您可能需要对信号运行FFT

    不久前,我在 Java 中做了一个项目,涉及读取 WAV 文件并提取频率(使用名为 JTransforms 的 FFT 库)。随意学习/使用the code

    Minim 是一个用于执行此类操作的库,其中还包括 sound generation features

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 2014-08-07
      • 2013-05-05
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多