И что делать с аудио эффектом в Python.Например, простейшая формула эффекта эха:
y[n] = x[n] + k*y[n-1000]
Это БИХ-фильтр, который можно рассчитать с помощью lfilter () в scipy.signal:
import numpy as np
import time
import scipy.signal as signal
pulse = np.zeros(10000)
pulse[0] = 1.0
a = np.zeros(1000)
a[[0,999]] = 1, -0.7
start = time.clock()
out = signal.lfilter([1], a, pulse)
print time.clock() - start
import pylab as pl
pl.plot(out)
pl.show()
Проблема заключается в следующем:большинство коэффициентов a равны нулю, и фильтр может быть вычислен очень быстро, но lfilter () не может этого реализовать и использует все нулевые коэффициенты.
Я знаю, что могу кодировать некоторые конкретные вычисления дляэто самый простой пример, но я ищу общее решение.