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.