![](/img/trans.png)
[英]how to concatenate all the audio (.wav )files in a folder using python?
[英]Concatenate wav files using wave in python
我正在尝试将WAV文件列表串联到单个连续的WAV文件中。 我使用了以下代码段,但输出不正确,听起来几乎就像文件在彼此之上。 audio_files
是具有按预期播放的.wav文件名的列表。
这是我当前的代码:
outfile = "sounds.wav"
data= []
for wav_file in audio_files:
w = wave.open(wav_file, 'rb')
data.append( [w.getparams(), w.readframes(w.getnframes())] )
w.close()
output = wave.open(outfile, 'wb')
output.setparams(data[0][0])
output.writeframes(data[0][1])
output.writeframes(data[1][1])
output.close()
我假设您正在使用此问题作为参考。 但是,您所采用的代码仅考虑了2个wav文件,因为这是原始问题所要求的。
尽管我不能通过这种方法解决声音相互叠加的问题,但是您应该遍历data
列表中的每个项目。
output = wave.open(outfile, 'wb')
output.setparams(data[0][0])
for params,frames in data:
output.writeframes(frames)
output.close()
以确保您放入每个文件的框架。
要记住的一件事是,新的wav文件的参数可能特定于每个文件,并且您可能要检查getparams()
是否为每个文件返回相似的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.