Document toolboxDocument toolbox

(8.D.2.1) DelayReader

Overview

Reads the data from a delay_state_writer_module with a given delay

Discussion

This module reads the data from a delay_state_writer module. The input is a single channel, single block, integer, which is the output from a delay_state_writer module. The output has the same number of channels, blocksize, and sample rate as the input to the delay_state_writer module. The currentDelay value is how much to delay the samples that are stored in the delay_state_writer module. This can be a non-integer value, in which case interpolation is applied to the samples. 2 types of interpolations are possible - linear or cubic. Limitations of this module is that it has to be on the same hierarchy as the delay state writer module and that it has to be directly connected to the delay_state_writer module with nothing (except markers) in between.

Type Definition

typedef struct _ModuleDelayReader { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 maxDelay; // Max Delay of the writer module (per channel) FLOAT32 currentDelay; // Current delay INT32 interpolationType; // Interpolation type - linear, cubic, etc INT32 dswObjectID; // Object ID of the upstream DelayStateWriter module void * dswObjectPtr; // Points to the upstream DelayStateWriter module } ModuleDelayReaderClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

maxDelay

int

const

0

100

Unrestricted

samples

currentDelay

float

parameter

0

0

0:100

samples

interpolationType

int

parameter

0

0

0:1

 

dswObjectID

int

state

1

-1

Unrestricted

 

dswObjectPtr

void *

state

1

 

Unrestricted

 

Pins

Input Pins

Name: ID

Description: audio input

Data type: int

Channel range: 1

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: audio output

Data type: float

MATLAB Usage

File Name: delay_reader_module.m

M=delay_reader_module(NAME, NUMCHANNELS, BLOCKSIZE, SAMPLERATE, DATATYPE, ISCOMPLEX) Creates a delay reader module. Delay reader module reads the samples stored in a delay_state_writer module that is the input to this module. Supports using linear interpolation or cubic interpolation for non-integer delay. Arguments: NAME - name of the module. Limitations - this module must be connected to a DelayStateWriter module. There cannot be anything except markers between these 2 modules. The modules must be on the same subsystem hierarchy.

Â