Python之读取和绘制音频数据

2025-10-10 21:11:07

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')

     可选用别的音频文件,亦可使用下图网盘中提供的文件。

Python之读取和绘制音频数据

3、打印信号的相关参数:

     # 语音通常以44100Hz的频率进行采样

     print('\nShape:', audio.shape)

     print('Datatype:', audio.dtype)

     print('Duration:', round(audio.shape[0] / float(sampling_freq), 3), 

                                           'seconds')

Python之读取和绘制音频数据

4、将该音频信号存储在一个16位有符号整型数据:

     # 标准化数值

     audio = audio / (2. ** 15)

     # 提取前30个值

     audio = audio[:30]

Python之读取和绘制音频数据

5、X轴为时间轴,并且X轴应该按照采样频率因子进行缩放:

     x_values = np.arange(0, len(audio), 1) / float(sampling_freq)

     # 将单位转换成秒

Python之读取和绘制音频数据

6、画出声音信号图形

     plt.plot(x_values, audio, color='black')

     plt.xlabel('Time (ms)')

     plt.ylabel('Amplitude')

     plt.title('Audio signal')

     plt.show()

Python之读取和绘制音频数据

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢