Написание нескольких файлов WAV с помощью scipy - PullRequest
0 голосов
/ 17 июня 2020

В настоящее время у меня есть список, содержащий данные и частоту дискретизации нескольких аудиофайлов в форме кортежа, как показано ниже:

list = [(numpy array audio1, sample rate audio1), (numpy array audio2, sample rate audio2) ... etc.]

Теперь я пытаюсь использовать эти данные для сохранения волнового файла для каждый кортеж со следующим кодом:

for i in list:
    counter = 1
    scipy.io.wavfile.write(filename = "file"+str(counter), rate= i[1], data=i[0])
    counter +=1

Однако оказывается, что сохраняется только первый файл: file1, а затем больше ничего не происходит. Был бы признателен, если бы вы знали, в чем проблема

1 Ответ

0 голосов
/ 17 июня 2020

Вы сбрасываете counter на каждом шаге l oop обратно в 1. Вам нужно переместить оператор counter=1 перед l oop. В качестве альтернативы рассмотрите возможность использования enumerate:

for counter, i in enumerate(mylist, 1):
    scipy.io.wavfile.write(filename = "file"+str(counter), rate= i[1], data=i[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...