Documented more stuff

This commit is contained in:
Weird Constructor 2021-08-06 02:02:26 +02:00
parent bb052d0837
commit 7e743eae07
2 changed files with 39 additions and 19 deletions

View file

@ -281,7 +281,19 @@ pub fn note_to_freq(note: f32) -> f32 {
// * DspEffectLibrary.h - library with template-based inline-effects
// * Copyright (c) 2006-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
//
/// Signal distortion
// Original source seems to be musicdsp.org, Author: Bram de Jong
// see also: https://www.musicdsp.org/en/latest/Effects/41-waveshaper.html
// Notes:
// where x (in [-1..1] will be distorted and a is a distortion parameter
// that goes from 1 to infinity. The equation is valid for positive and
// negativ values. If a is 1, it results in a slight distortion and with
// bigger a's the signal get's more funky.
// A good thing about the shaper is that feeding it with bigger-than-one
// values, doesn't create strange fx. The maximum this function will reach
// is 1.2 for a=1.
//
// f(x,a) = x*(abs(x) + a)/(x^2 + (a-1)*abs(x) + 1)
/// Signal distortion by Bram de Jong.
/// ```text
/// gain: 0.1 - 5.0 default = 1.0
/// threshold: 0.0 - 100.0 default = 0.8
@ -1634,9 +1646,9 @@ macro_rules! fa_distort { ($formatter: expr, $v: expr, $denorm_v: expr) => { {
let s =
match ($v.round() as usize) {
0 => "Off",
1 => "tanh",
2 => "?!?",
3 => "fold",
1 => "TanH",
2 => "B.D.Jong",
3 => "Fold",
_ => "?",
};
write!($formatter, "{}", s)

View file

@ -52,36 +52,44 @@ impl VOsc {
Note: The signal input allows detune +-10 octaves.\
\nRange: (Knob -0.2 .. 0.2) / (Signal -1.0 .. 1.0)\n";
pub const d : &'static str =
"VOsc d\n\nRange: (0..1)\n";
"VOsc d\nThis is the horzontal bending point of the waveform. \
It has a similar effect that pulse width settings have on other \
oscillators. Make sure to try modulating this parameter at audio rate!\
\nRange: (0..1)\n";
pub const v : &'static str =
"VOsc v\n\nRange: (0..1)\n";
"VOsc v\nThis is the vertical bending point of the waveform. \
You can adjust the effect that 'd' has on the waveform with this \
parameter. Make sure to try to modulate this parameter at audio rate!\
\nRange: (0..1)\n";
pub const vs : &'static str =
"VOsc vs\nScaling factor for 'v'.\nRange: (0..1)\n";
"VOsc vs\nScaling factor for 'v'. If you increase this beyond 1.0, \
you will hear formant like sounds from the oscillator. Try adjusting \
'd' to move the formants around.\nRange: (0..1)\n";
pub const dist : &'static str =
"VOsc dist\nDistortion.";
"VOsc dist\nA collection of waveshaper/distortions to choose from.";
pub const damt : &'static str =
"VOsc damt\nDistortion amount.";
"VOsc damt\nDistortion amount.\nRange: (0..1)\n";
pub const ovrsmpl : &'static str =
"VOsc ovrsmpl\nEnable/Disable oversampling.";
pub const wtype : &'static str =
"VOsc wtype\nWaveform type\nAvailable waveforms:\n\
Sin - Sine Waveform\n\
Tri - Triangle Waveform\n\
Saw - Sawtooth Waveform\n\
Pulse - Pulse Waveform with configurable pulse width";
pub const sig : &'static str =
"VOsc sig\nOscillator output\nRange: (-1..1)\n";
pub const DESC : &'static str =
r#"V Oscillator
A vector phase shaping oscillator, to create interesting waveforms and
ways to manipulate them.
A vector phase shaping oscillator, to create interesting waveforms and ways to
manipulate them. It has two parameters ('v' and 'd') to shape the phase of the
sinusoid wave, and a third parameter 'vs' to add extra spice.
With distortion you can beef up the oscillator output even more and to
make it more harmonic you can apply oversampling.
"#;
pub const HELP : &'static str =
r#"VOsc - Vector Phase Shaping Oscillator
A vector phase shaping oscillator, to create interesting waveforms and
ways to manipulate them.
A vector phase shaping oscillator, to create interesting waveforms and ways to
manipulate them. It has two parameters ('v' and 'd') to shape the phase of the
sinusoid wave, and a third parameter 'vs' to add extra spice.
With distortion you can beef up the oscillator output even more and to
make it more harmonic you can apply oversampling.
"#;
}