这是这个问题的延续here。在录制的声音中识别音符 - 第2部分 - Python
这是我为了用于获取样品的代码:
spf = wave.open(speech,'r')
sound_info = spf.readframes(-1)
sound_info = fromstring(sound_info, 'Int16')
的长度sound_info的是194560,这是4.4倍的44100采样率。声音文件的长度为2.2秒,那么sound_info的长度应该是它的两倍吗?
另外,我只能在上找到足够的信息,为什么使用FFT来生成频谱。
我想分割一个声音并分析一秒钟的多个分数的频谱,而不是整个声音文件。
帮助将非常感激。 :)
这是基本的sound_info图表
plot(sound_info)
这是FFT图表
freq = [abs(x.real) for x in fft(sound_info)]
plot(freq)
'是不是sound_info应该是它的长度的两倍?':stereo? – bobince 2010-09-15 10:54:38
感谢那个bobince,但那我该如何解读sound_info?因为数据是顺序的 – RadiantHex 2010-09-15 11:14:34