У меня есть программа, которая петли над циклом for и сохраняет синусоидальные волны как файлы wav для создания диапазона тонов для клавиатуры. Цикл идет от -int до + int и сохраняет эти файлы WAV на каждой итерации. Единственная проблема заключается в том, что когда он приближается к x = 2, порядок файлов испорчен. Я не знаю, почему это происходит или как это исправить.Файлы WAV сохраняются в неправильном порядке
out_int = 0
for x in xrange(-43, 47, 1):
CFreq = CFreq * 2**(x/12.)
out_int += 1
.
.
.
wavdata = np.zeros(len(data), np.int16)
wavdata[:] = data/max(data) * 2**15
wavfile = wave.open("WavFiles/Modes_%02d_.wav" % (out_int), "wb")
Theres много данных, поступающих в эти файлы, поэтому я предполагаю, что это займет больше времени, чтобы произвести некоторые заметки и сохранить его перед сохранением предыдущих образцов. Выходная частота для каждого образца правильная, но они звучат.
Есть ли способ убедиться, что код записывает и сохраняет каждый файл перед тем, как перейти к следующему? Я попытался изменить порядок для цикла, чтобы перейти от положительного к отрицательному, но затем образцы на отрицательной итерации были испорчены.
я понял, что мой файл игрок не играл нужные файлы, и порядок был прекрасен! –