def parse_audio(self):
limit = None
# limit = 10
songname, extension = os.path.splitext(os.path.basename(self.filename))
try:
audiofile = AudioSegment.from_file(self.filename)
if limit:
audiofile = audiofile[:limit * 1000]
data = np.fromstring(audiofile._data, np.int16)
channels = []
for chn in xrange(audiofile.channels):
channels.append(data[chn::audiofile.channels])
fs = audiofile.frame_rate
except audioop.error:
print('audioop.error')
pass
# fs, _, audiofile = wavio.readwav(filename)
# if limit:
# audiofile = audiofile[:limit * 1000]
# audiofile = audiofile.T
# audiofile = audiofile.astype(np.int16)
# channels = []
# for chn in audiofile:
# channels.append(chn)
return {
"songname": songname,
"extension": extension,
"channels": channels,
"Fs": audiofile.frame_rate,
"file_hash": self.parse_file_hash()
}
reader_file.py 文件源码
python
阅读 20
收藏 0
点赞 0
评论 0
评论列表
文章目录