多语言展示
当前在线:1237今日阅读:84今日分享:32

Python之读取和绘制音频数据

音频文件是实际音频信号的数字化形式。实际的音频信号是复杂的连续波形。为了将其保存成数字化形式,需要对音频信号进行采样并将其转换成数字。本文主要介绍python是如何读取和绘制音频数据。
工具/原料

python 3.6

方法/步骤
1

1、创建一个Python文件,并导入库文件:     import numpy as np     from scipy.io import wavfile     import matplotlib.pylab as plt

2

2、使用wavefile包读取音频文件     sampling_freq,audio =wavefile.read('input_read.wav')     可选用别的音频文件,亦可使用下图网盘中提供的文件。

3

3、打印信号的相关参数:     # 语音通常以44100Hz的频率进行采样     print('\nShape:', audio.shape)     print('Datatype:', audio.dtype)     print('Duration:', round(audio.shape[0] / float(sampling_freq), 3),                                            'seconds')

4

4、将该音频信号存储在一个16位有符号整型数据:     # 标准化数值     audio = audio / (2. ** 15)     # 提取前30个值     audio = audio[:30]

5

5、X轴为时间轴,并且X轴应该按照采样频率因子进行缩放:     x_values = np.arange(0, len(audio), 1) / float(sampling_freq)     # 将单位转换成秒

6

6、画出声音信号图形     plt.plot(x_values, audio, color='black')     plt.xlabel('Time (ms)')     plt.ylabel('Amplitude')     plt.title('Audio signal')     plt.show()

推荐信息