Python读取语音文件
通过python实现读取语音并绘制语音波形显示。
Python读取音文件
实现代码
#-*- coding: utf-8 -*-
import wave
import numpy as np
import matplotlib.pyplot as plt
def read_wav_data(filename):
wav=wave.open(filename,'rb')
num_frame=wav.getnframes()
num_channel=wav.getnchannels()
framerate=wav.getframerate()
num_samplate_width=wav.getsampwidth()
str_data=wav.readframes(num_frame)
wav.close()#关闭流
wave_data=np.fromstring(str_data,dtype=np.short)
wave_data.shape=-1,num_channel
wave_data=wave_data.T
wave_data=wave_data
print (num_channel)
return wave_data,framerate
def wav_show(wave_data,fs):
time = np.arange(0, len(wave_data)) * (1.0 / fs) # 计算声音的播放时间,单位为秒
plt.plot(time, wave_data)
plt.show()
if(__name__=='__main__'):
wave_data, fs = read_wav_data("1.wav")
print (fs)
wav_show(wave_data[0], fs)
wav_show(wave_data[1], fs)