我想从一个音频文件(可能记录在大胆)提取确切的二进制执行的二进制表示。我希望这能够提取这些表示来识别语音和声音,即基本的语音识别软件。提取音频文件
音频文件也可能是mp3或.wav。请帮忙
EDIT- 我想获取音频的波形不是作为图形,而是作为二进制表示,以便我可以将语音转换为文本。
我想从一个音频文件(可能记录在大胆)提取确切的二进制执行的二进制表示。我希望这能够提取这些表示来识别语音和声音,即基本的语音识别软件。提取音频文件
音频文件也可能是mp3或.wav。请帮忙
EDIT- 我想获取音频的波形不是作为图形,而是作为二进制表示,以便我可以将语音转换为文本。
一个基本的WAV文件由一个头(我想大约60字节长),然后将实际的数据。
的数据由整数集。为每个“样本”生成一组整数,其可以是每秒8000次或每秒44000次或某个其他采样率。
单个整数集(表示单个样品)由一个整数针对每个信道,其可以在理论上是任何数目,但通常是1(单声道)或2(立体声)的。每个单独的整数可以是1个,2个,3个或4个字节长。
各个整数表示该信道的在那个特定时刻的声音电平。如果所表示的声音是正弦波,该整数的值将是V * sin(K * t)
,其中V
是卷,K
是一些恒定的,并且是t
当前时间。请注意,整数是有符号的,并且“声级”在任何特定时刻都可以是负的或正的(一般情况下一般会在一半时间内为负)。 采样率,通道数量和单个通道值的大小都在头部的字段中编码(以及其他几条信息)。
通常,为了提取信号的频率,您应用Fast Fourier Transform (FFT)将二进制声音数据从“时域”转换为“频域”。这通常会在每秒约5至50次之间完成,具体取决于采样率和其他因素。 (有几种可用的开源FFT库。)但是,语音识别也采用了许多其他算法。
你所说的“提取音频文件的准确的二进制执行”呢?如果你的意思是文件格式的细节,你可以看看这个WAV文件:https://ccrma.stanford.edu/courses/422/projects/WaveFormat/ – cyco130 2012-03-04 19:48:43
所有文件默认为二进制文件。如果你的意思是将音频波形作为一个数组(浮点数或二进制字)提取并附带必要的元数据来回放,那么你应该编辑你的答案,如采样率。 – ninjagecko 2012-03-04 19:53:19
阅读WAV文件的格式。 MP3文件比较复杂,你可能不想马上与这些人混淆--WAV文件会让你“咬紧牙关”。 – 2012-03-06 02:34:55