与音乐分开的频率

时间:2015-06-09 09:53:12

标签: python numpy raspberry-pi pyaudio

我想在音乐文件中打印单独的频率。如果是频率放大器 比门槛更重要。然后就会亮了。

import pyaudio
import wave
import numpy as np

chunk = 2048
wf = wave.open('/home/pi/music.wav', 'rb')
swidth = wf.getsampwidth()
RATE = wf.getframerate()
window = np.blackman(chunk)
p = pyaudio.PyAudio()
stream = p.open(format =
        p.get_format_from_width(wf.getsampwidth()),
        channels = wf.getnchannels(),
        rate = RATE,
        output = True)
data = wf.readframes(chunk)
while len(data) != '':
   stream.write(data)
   indata = np.array(wave.struct.unpack("%dh"%(len(data)/swidth),\
                                 data))
   fftdata=abs(np.fft.rfft(indata))**2
   freq1=np.fft.fftfreq(len(indata))
   for i in range(len(freq1)):
       freq = freq1[i]
       print freq
  data = wf.readframes(chunk)

打印频率为0.something。没有得到实际的经常性

1 个答案:

答案 0 :(得分:1)

您对freq1的循环错误。要使用i作为freq1的索引,请尝试以下操作:

for i in range(len(freq1):
    freq = freq1[i]
    print freq

或者,

for i in freq1:
    print i
相关问题