Overview
Provides fractional delay
Discussion
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.
Type Definition
Code Block |
---|
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 } ModuleFractionalDelayV2Class; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
maxDelay | int | const | 0 | 300 | Unrestricted | samples |
floatCurrentDelay | float | parameter | 0 | 20 | 20:321 | Samples |
Pins
Input Pins
Name: in
Description: Audio Input
...
Sample rate range: Unrestricted
Complex support: Real
Output Pins
Name: out
Description: Audio output
Data type: float
Scratch Pins
Channel count: 1
Block size: 32
Sample rate: 48000
MATLAB Usage
File Name: fractional_delay_v2_module.m
...