Skip to content

WetDry

Overview

2-input x 1-output smoothly varying mixer

Discussion

This module implements a 2-input x 1-output mixer with a single mix level. The first input is Dry signal and second input is Wet signal to be mixed with Dry signal. The parameter mix determine how much input1 is to be added to first input. If mix = 0.0 then only the first input is routed to output and if mix = 1.0 then second input is routed to output. The module has second argument to select mixing type. If the MIXTYPE = 0 then output = (1 - mix) * input1 + (mix) * input2. If MIXTYPE = 1 then output = (1 - mix)2 * input1 + (mix)2 * input2.

The module supports mulichannel input and the mixing is performed on per channel of input pins. When the module is bypassed, the first input will be copied to output

Module Pack

Standard

ClassID

classID = 95

Type Definition

typedef struct _ModuleWetDry
{
ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
FLOAT32 mix;                                  // Linear mixing level.
INT32 mixType;                                // Selects the type of mixing that is implemented by the module: ConstantAmplitude=0, ConstantEnergy=1
FLOAT32 smoothingTime;                        // Time constant of the smoothing process, in msec.
FLOAT32 currentGain1;                         // Instanteous gain being applied to input pin1.  This is an internal variable used in the smoothing process
FLOAT32 currentGain2;                         // Instanteous gain being applied to input pin2.  This is an internal variable used in the smoothing process
FLOAT32 smoothingCoeff;                       // Smoothing coefficient.
} ModuleWetDryClass;

Variables

Properties

Name Type Usage isHidden Default Value Range Units
mix float parameter 0 0 0:1 linear
mixType int parameter 0 0 0:1
smoothingTime float parameter 0 10 0:1000 msec
currentGain1 float state 0 1 0:1 linear
currentGain2 float state 0 0 0:1 linear
smoothingCoeff float derived 1 0.002081 Unrestricted

Pins

Input Pins

Name dry
Description audio input
Data type float
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real
Name wet
Description audio input
Data type float
Channel range Unrestricted
Block size range Unrestricted
Sample rate range Unrestricted
Complex support Real

Output Pins

Name out
Description audio output
Data Type float

Matlab Usage

File Name: wet_dry_module.m 
 M=wet_dry_module(NAME, MIXTYPE) 
 Creates a smoothly varying multichannel WetDry module for use in  
 the Audio Weaver environment. The WetDry has two inputs and  
 one output pin. Each of the pins can contain multiple interleaved  
 channels. The number of input channels is determined by the upstream 
 audio module. User can select between constant energy or constant  
 amplitude mixing.   

 Arguments: 
   NAME - name of the module. 
   MIXTYPE - Type of mixing, constant energy or constant amplitude. 
             0 - Constant amplitude mixing 
             1 - Constant energy mixing 

Copyright (c) 2026 DSP Concepts, Inc.