将.m4a音频文件转.wav格式,话不多说,直接上代码!!!
from pydub import AudioSegment import wave import pylab as pl import numpy as np #加载语音文件 song = AudioSegment.from_file('F:\\python\\wstdata\\wait\\20220331_192944.m4a')#路径可以使用绝对路径也可以使用相对路径 song.export('changed.wav','wav')#**代表转换后的wave文件名 data = wave.open("changed.wav") print(data.getparams()) # 打开WAV文档 f = wave.open(r"changed.wav", "rb") # 读取格式信息 # (nchannels, sampwidth, framerate, nframes, comptype, compname) params = f.getparams() nchannels, sampwidth, framerate, nframes = params[:4] # 读取波形数据 str_data = f.readframes(nframes) f.close() #将波形数据转换为数组 wave_data = np.frombuffer(str_data, dtype='int16') wave_data.shape = -1, 2#得到两个声道的数据数组 wave_data = wave_data.T #获取时间 time = np.arange(0, nframes) * (1.0 / framerate) # 绘制波形 #中文显示需要 pl.rcParams['font.sans-serif'] = ['SimHei'] pl.rcParams['axes.unicode_minus'] = False pl.plot(time, wave_data[0],'r') pl.plot(time, wave_data[1],'g') pl.xlabel("time (seconds)") pl.title('changed.wav') #加图例 pl.legend(['声道1','声道2']) pl.show()