У меня есть несколько потоков int16 в строках, и я хочу, чтобы они суммировались вместе (без переполнения) и возвращали его как строку int16.Фон смешивает несколько волновых файлов в один поток.
decodeddata1 = numpy.fromstring(data, numpy.int16)
decodeddata2 = numpy.fromstring(data2, numpy.int16)
newdata = decodeddata1 + decodeddata2
return newdata.tostring()
Есть ли способ сделать это с помощью numpy или есть другая библиотека?
Обработка каждого отдельного значения в python слишком медленная и приводит к результатамв заикании.
Самая важная вещь - это производительность, так как этот код используется в методе обратного вызова, подающем аудио.
@ edit:
test input data:
a = np.int16([20000,20000,-20000,-20000])
b = np.int16([10000,20000,-10000,-20000])
print a + b --> [ 30000 -25536 -30000 25536]
но я хочучтобы сохранить максимальные уровни: [30000 40000 -30000 -40000]