Switchboard SDK
Loading...
Searching...
No Matches
switchboard::MusicDuckingNode Class Reference

Ducks a stereo music signal based on mono voice signal(s). Music signal has to be connected to the first input bus, ducking voice signals have to be connected to the second, third, ... input buses. Output is the ducked music signal.`. More...

#include <MusicDuckingNode.hpp>

Inheritance diagram for switchboard::MusicDuckingNode:
switchboard::AudioProcessorNode switchboard::AudioNode

Public Member Functions

WASM MusicDuckingNode ()
 MusicDuckingNode constructor.
 
WASM ~MusicDuckingNode ()
 MusicDuckingNode destructor.
 
WASM float getDuckingAmount (const uint duckingSignalIndex) const
 Gets the current ducking amount. Returned value is between 0 and 1.
 
WASM void setDuckingAmount (const float newDuckingAmount, const uint duckingSignalIndex)
 Sets the current ducking amount. The provided value has to be between 0 and 1.
 
WASM float getDuckReleaseAmount () const
 Gets the ducking release amount. When the ducking threshold is not exceeded, the ducking amount value will be increased by this value. Default value: 0.5 dB.
 
WASM void setDuckReleaseAmount (const float newDuckReleaseAmount)
 Sets the ducking release amount. When the ducking threshold is not exceeded, the ducking amount value will be increased by this value. Default value: 0.5 dB.
 
WASM float getNumSecondsToHoldDucking () const
 Gets the number of seconds to hold ducking value. When ducking stops being triggered, ducking will still be held for this many seconds. Default value: 2.0 secs.
 
WASM void setNumSecondsToHoldDucking (const float numSecondsToHoldDucking)
 Sets the number of seconds to hold ducking value.
 
WASM bool getMixDuckingSignal () const
 Tells if the node is in mixDuckingSignal mode. If set to yes, audio trigger input will be mixed to the output.
 
WASM void setMixDuckingSignal (const bool mix)
 Sets the node to mix ducking signal mode..
 
DuckingCompressorgetCompressor () const
 Gets the pointer to the compressor that does the ducking.
 
void setCompressor (DuckingCompressor *compressor)
 Sets the compressor that is used by the ducking node.
 
bool setNumberOfBuses (const uint numberOfInputBuses, const uint numberOfOutputBuses) override
 Sets number of buses.
 
bool setBusFormats (AudioBusFormatList &inputBusFormats, AudioBusFormatList &outputBusFormats) override
 Sets bus formats.
 
bool process (AudioBusList &inBuses, AudioBusList &outBuses) override
 Processes audio data from the given input buses and produces the audio output to the given output buses.
 
- Public Member Functions inherited from switchboard::AudioProcessorNode
virtual ~AudioProcessorNode ()=default
 AudioProcessorNode virtual destructor.
 
- Public Member Functions inherited from switchboard::AudioNode
 AudioNode ()
 AudioNode constructor.
 
virtual ~AudioNode ()=default
 AudioNode virtual destructor.
 
const std::string & getType () const
 Gets the type of the audio node.
 
virtual const std::string getDisplayName () const
 Gets the display name of the audio node.
 
virtual std::vector< std::unique_ptr< Parameter > > & getParameters ()
 Gets the parameters of the audio node.
 
virtual ParametergetParameter (const std::string &id)
 Gets the parameter with the given name.
 

Additional Inherited Members

- Public Attributes inherited from switchboard::AudioNode
std::string name
 The name of the audio node.
 
- Protected Member Functions inherited from switchboard::AudioNode
void initParameters (std::map< std::string, std::any > config)
 Initializes the node parameters from the given configuration values.
 
- Protected Attributes inherited from switchboard::AudioNode
std::string type
 
std::vector< std::unique_ptr< Parameter > > parameters
 

Detailed Description

Ducks a stereo music signal based on mono voice signal(s). Music signal has to be connected to the first input bus, ducking voice signals have to be connected to the second, third, ... input buses. Output is the ducked music signal.`.

MusicDuckingNode class.

Member Function Documentation

◆ getCompressor()

DuckingCompressor * switchboard::MusicDuckingNode::getCompressor ( ) const

Gets the pointer to the compressor that does the ducking.

Returns
A pointer to the compressor instance.

◆ getDuckingAmount()

float switchboard::MusicDuckingNode::getDuckingAmount ( const uint duckingSignalIndex) const

Gets the current ducking amount. Returned value is between 0 and 1.

Parameters
duckingSignalIndexIndex of the ducking signal.
Returns
The current ducking amount.

◆ getDuckReleaseAmount()

float switchboard::MusicDuckingNode::getDuckReleaseAmount ( ) const

Gets the ducking release amount. When the ducking threshold is not exceeded, the ducking amount value will be increased by this value. Default value: 0.5 dB.

Returns
the ducking release amount.

◆ getMixDuckingSignal()

bool switchboard::MusicDuckingNode::getMixDuckingSignal ( ) const

Tells if the node is in mixDuckingSignal mode. If set to yes, audio trigger input will be mixed to the output.

Returns
True if the node is in passthrough mode.

◆ getNumSecondsToHoldDucking()

float switchboard::MusicDuckingNode::getNumSecondsToHoldDucking ( ) const

Gets the number of seconds to hold ducking value. When ducking stops being triggered, ducking will still be held for this many seconds. Default value: 2.0 secs.

Returns
The number of seconds to hold ducking.

◆ process()

bool switchboard::MusicDuckingNode::process ( AudioBusList & inBuses,
AudioBusList & outBuses )
overridevirtual

Processes audio data from the given input buses and produces the audio output to the given output buses.

Should be overridden by subclasses.

Parameters
inBusesThe input buses that contain the audio data.
outBusesThe output buses which should be filled with the processed audio data.
Returns
True if audio was processed successfully, false otherwise.

Implements switchboard::AudioProcessorNode.

◆ setBusFormats()

bool switchboard::MusicDuckingNode::setBusFormats ( AudioBusFormatList & inputBusFormats,
AudioBusFormatList & outputBusFormats )
overridevirtual

Sets bus formats.

Should be overridden by subclasses. Please note that setNumberOfBuses is guaranteed to be called before this method.

Parameters
inputBusFormatsThe input bus formats to set.
outputBusFormatsThe output bus formats to set.
Returns
True if the bus formats were set successfully, false otherwise.

Implements switchboard::AudioProcessorNode.

◆ setCompressor()

void switchboard::MusicDuckingNode::setCompressor ( DuckingCompressor * compressor)

Sets the compressor that is used by the ducking node.

Parameters
compressorPointer to a DuckingCompressor instance.

◆ setDuckingAmount()

void switchboard::MusicDuckingNode::setDuckingAmount ( const float newDuckingAmount,
const uint duckingSignalIndex )

Sets the current ducking amount. The provided value has to be between 0 and 1.

Parameters
newDuckingAmountThe new amount.
duckingSignalIndexIndex of the trigger input.

◆ setDuckReleaseAmount()

void switchboard::MusicDuckingNode::setDuckReleaseAmount ( const float newDuckReleaseAmount)

Sets the ducking release amount. When the ducking threshold is not exceeded, the ducking amount value will be increased by this value. Default value: 0.5 dB.

Parameters
newDuckReleaseAmountThe new value.

◆ setMixDuckingSignal()

void switchboard::MusicDuckingNode::setMixDuckingSignal ( const bool mix)

Sets the node to mix ducking signal mode..

Parameters
mixThe new value.

◆ setNumberOfBuses()

bool switchboard::MusicDuckingNode::setNumberOfBuses ( const uint numberOfInputBuses,
const uint numberOfOutputBuses )
overridevirtual

Sets number of buses.

Should be overridden by subclasses

Parameters
numberOfInputBusesThe number of input buses to set.
numberOfOutputBusesThe number of output buses to set.
Returns
True for valid number of buses, false otherwise.

Implements switchboard::AudioProcessorNode.

◆ setNumSecondsToHoldDucking()

void switchboard::MusicDuckingNode::setNumSecondsToHoldDucking ( const float numSecondsToHoldDucking)

Sets the number of seconds to hold ducking value.

Parameters
numSecondsToHoldDuckingThe new value.