def init_audio(self, wav=None, path=None, show_pic=False):
"""
??????
:param wav: ????????wave??
:param path: ??????
:param show_pic: ?????
:return: None
"""
if wav is None:
if path is None:
print('Error: ?????????')
self.__wav = wave.open(path, 'rb')
else:
self.__wav = wav
nframes = self.__wav.getnframes()
'''byte??????????'''
str_data = self.__wav.readframes(nframes)
'''????????'''
self.__wdata = np.fromstring(str_data, dtype=np.short)
'''???????'''
if self.__wav.getnchannels() == 2:
'''??????2????????'''
self.__wdata.shape = -1, 2
self.__wdata = self.__wdata.T
'''???????????????wdata[0]?'''
for _ in range(len(self.__wdata[0])):
if self.__wdata[0][_] < self.__wdata[1][_]:
self.__wdata[0][_] = self.__wdata[1][_]
self.__wdata = self.__wdata[0]
self.__wdata = np.delete(self.__wdata, np.where(self.__wdata == 0))
if show_pic:
x = [_ for _ in range(len(self.__wdata))]
pylab.plot(x, self.__wdata, 'b')
pylab.show()
评论列表
文章目录