Provides fractional delay
This subsystem implements a delay module providing a fractional number of samples of delay. A delay of the form N.x may be specified where N is an integer number of samples and x is a float between 0.0 and 1.0. The N.x delay is achieved by cascading a sample delay module and a FIR filter. The FIR filter is designed to provide the fractional portion of the delay between 0.0 to 1.0. The delay of N.x samples can be set in real time with an inspector. Each time N.x is changed a new set of filter coefficients is computed, and the internal sample delay module is set to N. NOTE: The FIR filter itself has a delay of 20 samples. Thus this module has a minimum delay of 20 samples. This is shown on the inspector. Input and output data for this module are floating point.
typedef struct _ModuleFractionalDelayV2
ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure
INT32 maxDelay; // Maximum delay, in samples. The size of the delay buffer is maxDelay*numChannels.
FLOAT32 floatCurrentDelay; // total delay
awe_modDelayInstance *ConstantDelay; // Time delay in which the delay is specified in samples
awe_modFIRInstance *FIRmodule; // FIR filter
Description: Audio Input
Data type: float
Channel range: Unrestricted
Block size range: Unrestricted
Sample rate range: Unrestricted
Complex support: Real
Description: Audio output
Data type: float
Channel count: 1
Block size: 32
Sample rate: 48000
File Name: fractional_delay_v2_module.m
Create a subsystem that implements fractional delay module
NAME - name of the module.
MAXDELAY - maximum delay provided by the module.