python - 将wav文件导入笔记本
问题描述
我在将波形文件导入 Jupyter Notebook 时遇到问题。我想从我的桌面上获取音频文件并对其执行 fft。有谁知道如何做到这一点?
解决方案
您可以按照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)))
现在你有一个由两个向量组成的数组,每个向量包含一个立体声通道的幅度值。
推荐阅读
- java - 为什么计数器在firebase中只增加到1?
- javascript - JavaScript DOM 表操作
- sql - 在连续两年oracle sql中查找月份之间的差距
- excel - 有没有办法将可点击的超链接添加到 Excel 图表的数据标签?
- r - 将 filter、cross 和 starts_with 组合到 R 中跨列的字符串搜索
- angular - 角度错误 TS2564:属性“用户”没有初始值设定项,并且未在构造函数中明确分配
- google-sheets - Google 工作表:发布一些但不是所有工作表
- jquery - 跨两个手风琴的 Jquery 可排序元素
- javascript - Discord.js message.createdAt 时间和系统时间的区别
- python - 使用 pd.read_excel() 时,有没有办法解决 python 上的 ssl 错误(DH 密钥太小)?