我目前有一个列表,以元组的形式包含多个音频文件的数据和采样率,如下所示:
list = [(numpy array audio1, sample rate audio1), (numpy array audio2, sample rate audio2) ... etc.]
我现在尝试使用该数据通过以下代码为每个元组保存一个wave文件:
for i in list:
counter = 1
scipy.io.wavfile.write(filename = "file"+str(counter), rate= i[1], data=i[0])
counter +=1
但是事实证明,只有第一个文件被保存:file1,然后什么也没有发生。如果您知道问题出在哪里,将不胜感激
最佳答案
您需要将循环的每个步骤中的counter
重置为1。您需要在循环之前移动语句counter=1
。或者考虑使用enumerate
:
for counter, i in enumerate(mylist, 1):
scipy.io.wavfile.write(filename = "file"+str(counter), rate= i[1], data=i[0])
关于python - 用scipy编写多个WAV文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62427903/