Convolve

Convolve(input, table, size, mul=1, add=0)

Implements filtering using circular convolution.

Parent class : PyoObject

Parameters:

    input : PyoObject
        Input signal to filter.
    table : PyoTableObject
        Table containning the impulse response.
    size : int
        Length, in samples, of the convolution. Available at initialization 
        time only. If the table changes during the performance, its size
        must egal or greater than this value. If greater only the first
        `size` samples will be used.

Methods:

    setInput(x, fadetime) : Replace the `input` attribute.
    setTable(x) : Replace the `table` attribute.

Attributes:

    input : PyoObject. Input signal to filter.
    table : PyoTableObject. Table containning the impulse response.

Notes :

    Convolution is very expensive to compute, so the impulse response must
    be kept very short to run in real time.
    
    Usually convolution generates a high amplitude level, take care of the
    `mul` parameter!

Examples:

    >>> s = Server().boot()
    >>> s.start()
    >>> snd = SNDS_PATH + '/transparent.aif'
    >>> sf = SfPlayer(snd, loop=True, mul=.5).out()
    >>> a = Convolve(sf, SndTable(SNDS_PATH+'/accord.aif'), size=512, mul=.3).out()

Methods details:

    Convolve.setInput(x, fadetime=0.05):

        Replace the `input` attribute.
        
        Parameters:

        x : PyoObject
            New signal to process.
        fadetime : float, optional
            Crossfade time between old and new input. Default to 0.05.

    Convolve.setTable(x):

        Replace the `table` attribute.
        
        Parameters:

        x : PyoTableObject
            new `table` attribute.