处理来自.wav的信号并将其转换为二进制数据

时间:2010-07-06 04:25:37

标签: signal-processing fft signals

我将一个无线电信号记录到.wav中,我可以用大胆打开它,看看是否有使用某种算法编码的二进制数据。有没有人知道处理.wav中包含的信号的方法?这样我就可以从中提取二进制数据了吗?

我知道我需要知道编码算法才能正常工作,任何人都知道任何类似的程序吗?

由于

2 个答案:

答案 0 :(得分:1)

sox会将大多数音频格式转换为大多数其他音频格式 - 包括原始二进制格式。

答案 1 :(得分:1)

.wav格式通常非常简单,wav文件通常没有压缩数据。自己解析它是非常可行的,但更容易使用已经制作的东西。所以简短的回答是找到能用你选择的语言读取wav文件的东西。

这是Python中的一个示例,使用wave模块:

import wave

w = wave.open("myfile.wav", "rb")
binary_data = w.readframes(w.getnframes())
w.close()

现在去哪里取决于你想做什么。 binary_data现在是原始字节的python字符串。如果你只是想砍掉它并重新包装它,那么将它留在这种形式中可能是最容易的。如果你想操纵数据,比如缩放,插值,过滤等,你可能想把它转换成一个数字序列,为此,在Python中你需要将它转换为{{ 3}}数组。您可以使用numpy模块自行完成此操作,该模块用于将字符串解释为压缩二进制数据,或者您可以使用struct模块读取数据,并为您执行此操作。正如您所看到的,大多数情况都会很快变得非常依赖语言。