首页 > 解决方案 > 将wav文件导入笔记本

问题描述

我在将波形文件导入 Jupyter Notebook 时遇到问题。我想从我的桌面上获取音频文件并对其执行 fft。有谁知道如何做到这一点?

标签: pythonaudio

解决方案


您可以按照http://people.csail.mit.edu/hubert/pyaudio/docs/上的示例进行操作。

我还想对 WAV 文件进行 FFT 分析并使用这种方法(仅显示基本位): 注意:这是一个 16 位立体声 WAV 文件,“解包”不适用于 24 位

import pyaudio
import wave
import numpy as np
import struct
wf = wave.open(sound_file_name, 'r')
n_frames = wf.getnframes()
all_frames = wf.readframes(n_frames)
wf.close()
value_list = []
for x in range(0, len(all_frames), 2):
    value_list += struct.unpack('<h', all_frames[x:x+2])
two_channel_values = np.transpose(np.reshape(np.asanyarray(value_list),  (int(len(value_list)/2), 2)))

现在你有一个由两个向量组成的数组,每个向量包含一个立体声通道的幅度值。


推荐阅读