视频理解中audio信息的使用
读取音频&可视化波形图
1 2 3 4 5 6 7 8 9 10 11 12 13
| import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt import soundfile as sf import librosa.display
wav_data, sr = sf.read(wav_file, dtype='int16') samples = wav_data / 32768.0
plt.figure() plt.title('Waveform') librosa.display.waveplot(samples, sr=sr) plt.savefig("wav.png")
|
声音波形图只是把一维的时域信号直观的显示出来,并没有什么有用的信息。
声谱图(spectrogram)
声谱图,简单来说就是将声音信号通过短时傅里叶变换,获得一张包含3个维度数据的热力图。
1 2 3 4 5 6 7 8 9 10 11
| import librosa.display import matplotlib matplotlib.use('agg') import matplotlib.pyplot as plt import numpy as np
librosa.display.specshow(spectrogram.T, sr=audio_sample_rate, x_axis='time', y_axis='linear') plt.colorbar(format='%+2.0f dB') plt.title('spectrogram') plt.savefig('spec.png')
|