一、使用AudioSegment
使用 pydub 包中的 AudioSegment
命令:wav_data = AudioSegment.from_wav(wav_fn)
该命令可以获得音频的 pcm 数据,即一个数组,可以通过 wav_seg = wav_data[begin_pt:end_pt]
来获取音频片段。
如果想要将几个音频拼接起来,可以这样:
audio_concat = AudioSegment.empty()
for wav in wavs_list:
audio_concat += wav
最后想要输出音频的话:audio_concat.export(out_path, format='wav')
二、使用librosa和scipy.io中的wavfile
读取:wav = librosa.core.load(wav_path, sr=sample_rate)[0]
,读出来的音频是 -1到1 之间的值,所以在保存的时候需要恢复一下:
wav *= 32767
wavfile.write(out_path, sample_rate, wav.astype(numpy.int16))