2016-10-09 6 views
1

У меня есть программа, которая петли над циклом 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 много данных, поступающих в эти файлы, поэтому я предполагаю, что это займет больше времени, чтобы произвести некоторые заметки и сохранить его перед сохранением предыдущих образцов. Выходная частота для каждого образца правильная, но они звучат.

Есть ли способ убедиться, что код записывает и сохраняет каждый файл перед тем, как перейти к следующему? Я попытался изменить порядок для цикла, чтобы перейти от положительного к отрицательному, но затем образцы на отрицательной итерации были испорчены.

ответ

0

Недостаточно кода для репликации. Однако здесь приведен пример использования перечисления, в котором будут упорядочены последующие элементы xrange. Возможно, это поможет сохранить ваши волновые файлы в последовательности.

for i, x in enumerate(xrange(-43, 47, 1)):  
    file_name = "file{0}-{1}.wav".format(i, x) 
    print file_name 

Выход:

Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32 
Type "copyright", "credits" or "license()" for more information. 
>>> ================================ RESTART ================================ 
>>> 
file0--43.wav 
file1--42.wav 
file2--41.wav 
file3--40.wav 
| 
| 
file86-43.wav 
file87-44.wav 
file88-45.wav 
file89-46.wav 
+0

я понял, что мой файл игрок не играл нужные файлы, и порядок был прекрасен! –

 Смежные вопросы

  • Нет связанных вопросов^_^