Skip to content

title: daisysp::ModalVoice summary: Simple modal synthesis voice with a mallet exciter: click -> LPF -> resonator.


daisysp::ModalVoice

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

#include <modalvoice.h>

Public Functions

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

Detailed Description

class daisysp::ModalVoice;

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

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 ModalVoice

inline ModalVoice()

function ~ModalVoice

inline ~ModalVoice()

function Init

void Init(
    float sample_rate
)

Parameters:

  • sample_rate Audio engine sample rate

Initialize the module


function Process

float Process(
    bool trigger =false
)

Parameters:

  • trigger Strike the resonator. Defaults to false.

Get the next sample


function SetSustain

void SetSustain(
    bool sustain
)

Parameters:

  • sustain True turns on the noise.

Continually excite the resonator with noise.


function Trig

void Trig()

Strike the resonator.


function SetFreq

void SetFreq(
    float freq
)

Parameters:

  • freq Frequency in Hz.

Set the resonator root frequency.


function SetAccent

void SetAccent(
    float accent
)

Parameters:

  • accent Works 0-1.

Hit the resonator a bit harder.


function SetStructure

void SetStructure(
    float structure
)

Parameters:

  • structure Works best from 0-1

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


function SetBrightness

void SetBrightness(
    float brightness
)

Parameters:

  • brightness Works best 0-1

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


function SetDamping

void SetDamping(
    float damping
)

Parameters:

  • damping Works best 0-1

How long the resonant body takes to decay.


function GetAux

float GetAux()

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

---

Updated on 2024-01-03 at 19:38:46 +0000