Python之读取和绘制音频数据
1、创建一个Python文件,并导入库文件:
import numpy as np
from scipy.io import wavfile
import matplotlib.pylab as plt
2、使用wavefile包读取音频文件
sampling_freq,audio =wavefile.read('input_read.wav')
可选用别的音频文件,亦可使用下图网盘中提供的文件。
3、打印信号的相关参数:
# 语音通常以44100Hz的频率进行采样
print('\nShape:', audio.shape)
print('Datatype:', audio.dtype)
print('Duration:', round(audio.shape[0] / float(sampling_freq), 3),
'seconds')
4、将该音频信号存储在一个16位有符号整型数据:
# 标准化数值
audio = audio / (2. ** 15)
# 提取前30个值
audio = audio[:30]
5、X轴为时间轴,并且X轴应该按照采样频率因子进行缩放:
x_values = np.arange(0, len(audio), 1) / float(sampling_freq)
# 将单位转换成秒
6、画出声音信号图形
plt.plot(x_values, audio, color='black')
plt.xlabel('Time (ms)')
plt.ylabel('Amplitude')
plt.title('Audio signal')
plt.show()