本文整理汇总了Python中pydub.AudioSegment.export方法的典型用法代码示例。如果您正苦于以下问题:Python AudioSegment.export方法的具体用法?Python AudioSegment.export怎么用?Python AudioSegment.export使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pydub.AudioSegment
的用法示例。
在下文中一共展示了AudioSegment.export方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: save_audio_data
# 需要导入模块: from pydub import AudioSegment [as 别名]
# 或者: from pydub.AudioSegment import export [as 别名]
def save_audio_data(data, filename, filetype=None, **kwargs):
lower_fname = filename.lower()
if filetype is not None:
filetype = filetype.lower()
# save raw data
if filetype == "raw" or (filetype is None and lower_fname.endswith(".raw")):
fp = open(filename, "w")
fp.write(data)
fp.close()
return
# save other types of data
# requires all audio parameters
srate = kwargs.pop("sampling_rate", None)
if srate is None:
srate = kwargs.pop("sr", None)
swidth = kwargs.pop("sample_width", None)
if swidth is None:
swidth = kwargs.pop("sw", None)
ch = kwargs.pop("channels", None)
if ch is None:
ch = kwargs.pop("ch", None)
if None in (swidth, srate, ch):
raise Exception("All audio parameters are required to save no raw data")
if filetype in ("wav", "wave") or (filetype is None and lower_fname.endswith(".wav")):
# use standard python's wave module
fp = wave.open(filename, "w")
fp.setnchannels(ch)
fp.setsampwidth(swidth)
fp.setframerate(srate)
fp.writeframes(data)
fp.close()
elif WITH_PYDUB:
asegment = AudioSegment(data, sample_width=swidth, frame_rate=srate, channels=ch)
asegment.export(filename, format=filetype)
else:
raise AudioFileFormatError("cannot write file format {0} (file name: {1})".format(filetype, filename))
示例2: run
# 需要导入模块: from pydub import AudioSegment [as 别名]
# 或者: from pydub.AudioSegment import export [as 别名]
def run(sample_rate, in_file, out_file):
sample_rate = int(sample_rate)
basename = path.splitext(path.basename(in_file))[0]
format = path.splitext(path.basename(out_file))[1][1:]
data = sio.loadmat(in_file)[basename]
if data.dtype == np.dtype('<i2'):
pass
elif data.dtype == np.dtype('>i2'):
data = data.astype(np.dtype('<i2'))
elif data.dtype == np.dtype('float64'):
data = (data*np.iinfo(np.int16).max).astype(np.dtype('<i2'))
else:
print 'unsupported data type'
sys.exit(1)
print(data.flags)
data = data.copy(order='C')
sound = AudioSegment(data, metadata={
'channels': 1,
'sample_width': 2,
'frame_rate': sample_rate,
'frame_width': 2
})
sound.export(out_file, format=format)
return sound, data