Визуализация аудиозаписи
Визуализация аудиозаписи¶
Кроме текстовых и других форматов для данных, существуют форматы файлов, разработанные для других задач. Например, для передачи звука разработано множество форматов. Один из простых форматов звуковых файлов - WAV (от англ. wave - волна).
from scipy.io import wavfile
u='d/eegfilt.wav'
freq,y = wavfile.read(u)
y.shape
(36344,)
Звук открылся в виде длинного массива чисел.
fig, (ax1,ax2) = subplots(2,1, figsize=(10,6), sharex=True)
x = arange(len(y))/freq
ax1.plot(x,y)
ax2.specgram(y,Fs=freq, cmap='jet');
xlabel('Время, с');
Вверху временная развертка сигнала, внизу - спектрограмма на той же временной оси. Чтобы точно выровнять оси для нескольких подрисунков мы использовали параметр sharex=True
в команде subplots()
для формирования сложносоставного рисунка.
На спектрограмме по вертикальной оси показана частота, а цветом - спектральная плотность в данном временном окне и в данном частотном диапазоне.
Кому интересно, можно прослушать эту запись.
from IPython.display import Audio
Audio(u)