我正在尝试使用pygame制作音频可视化程序,但我感到很困惑。我有以下困惑:
分析音频数据的正确方法是什么?
在我目前的方法中,我已执行以下操作:
如果要基于数据创建各种矩形块,如何发送数据?
在方法1中,由于我已经整理了数据,因此实际上并没有给我必要的可视化效果。如果要绘制60个矩形(例如),应切列表的哪一部分?
我当前的代码:
def analyze(a,b):
rate,audData = scipy.io.wavfile.read("songs/wav/second.wav")
channel = audData[:,0] #left channel
CHUNK = 1024
a += CHUNK
b += CHUNK
print(len(channel))
fft_data = np.fft.fft(channel[a:b])
freq = np.absolute(fft_data)
freq = freq[freq <= 25000]
sorted_freq = np.sort(freq)
#print(sorted_freq)
#sorted_freq = sorted_freq
#print(sorted_freq)
r1 = int(( sorted_freq[0] / 22000 ) * 100)
r2 = int(( sorted_freq[int(len(sorted_freq)/2)+50] / 22000 ) * 100)
r3 = int(( sorted_freq.max()/ 22000) * 100)
return r1,r2,r3
这真的是我第一次处理音频数据,如果您还可以对音频可视化整体进行概述,我将不胜感激。我经历了不少文章了,但无法把握的概念。