Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Overview

Periodic one shot WAV playback with linear interpolation

Type Definition

typedef struct _ModuleWAVInterp16OneShotSourceFract32
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    FLOAT32 smoothingTime;                        // Time constant of the smoothing process
    INT32 circularBufferSize;                     // Size of the upstream circular buffer, in 16-bit words.
    INT32 extensionSize;                          // Size of the extension region of the circular buffer, in 16-bit words
    FLOAT32 currentFRatio;                        // Specifies rate at which audio is read from the input buffer
    FLOAT32 smoothingCoeff;                       // Smoothing coefficient
    INT32 fIndex;                                 // 32-bit fractional state index
    INT32 psObjectID;                             // Object ID of the upstream PeriodicStreaming module
    ModuleInstanceDescriptor ** psObjectPtr;      // Points to the upstream PeriodicStreaming module
} ModuleWAVInterp16OneShotSourceFract32Class;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

smoothingTime

float

parameter

0

10

0:1000

msec

circularBufferSize

int

const

0

0

Unrestricted

extensionSize

int

parameter

0

0

Unrestricted

currentFRatio

float

parameter

1

1

Unrestricted

smoothingCoeff

float

derived

1

0.03278

Unrestricted

fIndex

int

state

1

0

Unrestricted

psObjectID

int

state

1

-1

Unrestricted

psObjectPtr

ModuleInstanceDescriptor **

state

1

Unrestricted

Pins

Input Pins

Name: ptr

Description: Pointer to the streaming transfer object

Data type: int

Channel range: 1

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

Name: trigger

Description: Boolean trigger signal

Data type: int

Channel range: 1

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

Name: fRatio

Description: Specifies sample rate ratio

Data type: float

Channel range: 1

Block size range: 1

Sample rate range: Unrestricted

Complex support: Real

Output Pins

Name: out

Description: output data

Data type: fract32

MATLAB Usage

File Name: wav_interp16_oneshot_source_fract32_module.m

 M=wav_interp16_oneshot_source_fract32_module(NAME, NUMCHANNELS, BLOCKSIZE, SAMPLERATE)
 Creates a source module that connects to a streaming buffer module and outputs blocks
 of data.  The function includes linear interpolation allowing playback to be slowed down and
 speeded up.  This version uses 16-bit WAV data and a 32-bit fIndex register for efficient
 implementation.  This version is a "one shot player" in which the playback is triggered 
 by an input pin and then stops after the WAV data has been played once.  Arguments:
    NAME - name of the module.
    NUMCHANNELS - number of interleaved channels in each output pin.
                  By default, NUMCHANNELS = 1;
    BLOCKSIZE - number of samples per output channel.  By default,
                BLOCKSIZE = 32.
    SAMPLERATE - sample rate of the output signal, in Hz.  By default,
                 SAMPLERATE = 48000.

  • No labels