Импортирование файла WAV в Блокнот - PullRequest
0 голосов
/ 15 апреля 2019

У меня проблема с импортом волнового файла в блокнот Jupyter.Я хочу взять аудио файл с моего рабочего стола и выполнить FFT на нем.Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 15 апреля 2019

Вы можете следовать примерам в http://people.csail.mit.edu/hubert/pyaudio/docs/.

Я также хочу выполнить FFT-анализ файлов WAV и использовать этот подход (показаны только основные биты): ПРИМЕЧАНИЕ: это 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)))

Теперь у вас есть массив из двух векторов, каждый из которых содержит значения амплитуды одного стереоканала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...