我试图创建一个程序来生成随机音频,它可以写入WAV/RIFF文件。由于有了这,我能够轻松地理解头文件,我还找到了如何将字节数据写入WAV/RIFF文件这里,但我找不到的是指定WAV/RIFF音频数据是如何在这些字节中编码的。
所以,我要做的是分析数据(而不是试图把这个交给我),以了解字节中发生了什么,从而使我能够正确地编写我的程序。那么,有什么东西可以解释如何解码WAV/RIFF文件中的音频块来理解每个字节(振幅、频率等)中发生的事情呢?我知道我在这里可能遗漏了一些东西,也许每个字节都不是我应该寻找的东西,但似乎仍然只有很少的数据是我能够找到的。
目前正在使用Java,所以如果有任何具体的实现选项,请告诉我。
注意事项
我还发现了这和这,它们似乎处于我所要寻找的总体领域,但它们仍然没有达到目标。所以我要找的是一个规范或例子,它将向我展示如何分析各个字节,看看正在发生什么,这样我就可以学习如何编写它们。
编辑
一位朋友建议我可能考虑过了这一点,并且可能会有一个Java库,它可以使Java中的原始音频数据分析比按字节进行更容易。若有,有何建议可供参考?
发布于 2013-12-13 00:14:16
幅值。如果您想要发现原始音频信号中存在的频率,您可能希望对信号运行一个FFT。
不久前,我在Java中做了一个项目,其中涉及读取WAV文件并提取频率(使用称为JTransforms的FFT库)。可以随意学习/使用代码。
Minim是一个用于做这类事情的库,它还包括声音产生特征。
https://stackoverflow.com/questions/20556511
复制相似问题