Skip to content

Class daisysp::ModalVoice

ClassList > daisysp > ModalVoice

Simple modal synthesis voice with a mallet exciter: click -> LPF -> resonator. More...

  • #include <modalvoice.h>

Public Functions

Type Name
float GetAux ()
void Init (float sample_rate)
ModalVoice ()
float Process (bool trigger=false)
void SetAccent (float accent)
void SetBrightness (float brightness)
void SetDamping (float damping)
void SetFreq (float freq)
void SetStructure (float structure)
void SetSustain (bool sustain)
void Trig ()
~ModalVoice ()

Detailed Description

Author:

Ben Sergentanis

Date:

Jan 2021 The click can be replaced by continuous white noise.

Ported from pichenettes/eurorack/plaits/dsp/physical_modelling/modal_voice.h and pichenettes/eurorack/plaits/dsp/physical_modelling/modal_voice.cc to an independent module. Original code written by Emilie Gillet in 2016.

Public Functions Documentation

function GetAux

float daisysp::ModalVoice::GetAux () 

Get the raw excitation signal. Must call Process() first.


function Init

void daisysp::ModalVoice::Init (
    float sample_rate
) 

Initialize the module

Parameters:

  • sample_rate Audio engine sample rate

function ModalVoice

inline daisysp::ModalVoice::ModalVoice () 

function Process

float daisysp::ModalVoice::Process (
    bool trigger=false
) 

Get the next sample

Parameters:

  • trigger Strike the resonator. Defaults to false.

function SetAccent

void daisysp::ModalVoice::SetAccent (
    float accent
) 

Hit the resonator a bit harder.

Parameters:

  • accent Works 0-1.

function SetBrightness

void daisysp::ModalVoice::SetBrightness (
    float brightness
) 

Set the brighness of the resonator, and the noise density.

Parameters:

  • brightness Works best 0-1

function SetDamping

void daisysp::ModalVoice::SetDamping (
    float damping
) 

How long the resonant body takes to decay.

Parameters:

  • damping Works best 0-1

function SetFreq

void daisysp::ModalVoice::SetFreq (
    float freq
) 

Set the resonator root frequency.

Parameters:

  • freq Frequency in Hz.

function SetStructure

void daisysp::ModalVoice::SetStructure (
    float structure
) 

Changes the general charater of the resonator (stiffness, brightness)

Parameters:

  • structure Works best from 0-1

function SetSustain

void daisysp::ModalVoice::SetSustain (
    bool sustain
) 

Continually excite the resonator with noise.

Parameters:

  • sustain True turns on the noise.

function Trig

void daisysp::ModalVoice::Trig () 

Strike the resonator.


function ~ModalVoice

inline daisysp::ModalVoice::~ModalVoice () 


The documentation for this class was generated from the following file external-docs/DaisySP/Source/PhysicalModeling/modalvoice.h