提取音频文件的二进制表示

时间:2012-03-04 19:38:07

标签: audio binary extract speech

我想从音频文件中提取确切的二进制实现(可能以audacity录制)。我想要提取这些表示来识别语音和声音,即基本的语音识别软件。

音频文件也可能是.mp3或.wav。请帮忙

编辑 - 我想获取音频的波形不是作为图形而是作为二进制表示,以便我可以将语音转换为文本。

1 个答案:

答案 0 :(得分:1)

一个基本的WAV文件包含一个标题(我想的是60字节长)然后是实际的数据。

数据由整数组组成。为每个“样本”产生一组整数,其可以是每秒8000次或每秒44000次或一些其他采样率。

单个整数集(表示单个样本)由每个通道的一个整数组成,理论上可以是任何数字,但通常是1(单声道)或2(立体声)。每个单独的整数可以是1,2,3或4个字节长。

单个整数表示该特定时刻该频道的声级。如果表示的声音是正弦波,则整数的值为V * sin(K * t),其中V为音量,K为常量,t为当前时间。请注意,整数是有符号的,并且“声级”在任何特定时刻都可以是负的或正的(并且通常在大约一半的时间内为负)。 采样率,通道数和单个通道值的大小都在标题中的字段中编码(以及其他几条信息)。

通常,要提取信号的频率,请将Fast Fourier Transform (FFT)应用于二进制声音数据,以便从“时域”转换为“频域”。这通常在约5至50次/秒之间进行,这取决于采样率和其他因素。 (有几种开源FFT库可用。)然而,语音识别也采用了许多其他算法。