Skip to content

Commit

Permalink
New features (#21)
Browse files Browse the repository at this point in the history
* add new parameters in addsynth

* add new filter types

* add more descriptions to ADDsynth

* update sreenshots

* fix FilterModule

* add moog and comb filter screenshots

* add more details for moog and comb filter

* add signal flow for addsynth voice

* Add some missing text in modulation section and

---------

Co-authored-by: Friedolino <[email protected]>
  • Loading branch information
friedolino78 and Friedolino authored Jan 24, 2024
1 parent 191da3b commit b2c7faa
Show file tree
Hide file tree
Showing 17 changed files with 105 additions and 9 deletions.
69 changes: 60 additions & 9 deletions ADDsynth.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,12 @@ image::imgs/lfo.png[]
- *Start:* LFO Start Phase - If this knob is at the lowest value, the LFO Start Phase will be random.
- *Str.:* LFO Stretch
- *Delay:* LFO Delay
- *LP:* Cutoff frequency of the lowpass filter applied to the lfo output. (i.e. how much the output is smoothed)
- *F.In:* Time it takes to fade in the lfo amplitude up to depth after the delay time
- *F.Out:* Time it takes to fade the amplitude out after key release.
- *A.R.:* LFO Amplitude Randomness
- *F.R.:* LFO Frequency Randomness
- *Sync:* ???
- *Sync:* If this option enabled the LFO oscillates in the same phase for all notes (given the LFO frequency is the same)

==== Filters
Zyn-Fusion offers several different types of filters, which can be used to shape the spectrum of a signal. The primary parameters that affect the characteristics of the filter are the cutoff, resonance, filter stages, and the filter type.
Expand All @@ -49,14 +52,14 @@ Zyn-Fusion offers several different types of filters, which can be used to shape
- *Resonance:* The resonance of a filter determines how much excess energy is present at the cutoff frequency. In Zyn-Fusion, this is represented by the Q-factor, which is defined to be the cutoff frequency divided by the bandwidth. In other words higher Q values result in a much more narrow resonant spike.
- *Stages:* The number of stages in a given filter describes how sharply it is able to make changes in the frequency response.

====== General
===== General
image::imgs/filter-analog.png[]

- *Cutoff:* Cutoff frequency.
- *Q:* Level of resonance for the filter.
- *F.Track:* Frequency tracking amount. When this parameter is positive, higher note frequencies shift the filter’s cutoff frequency higher.
- *Scale:* ???
- *Sense:* Velocity sensing. (100% to the right to disable).
- *Scale:* Velocity sensing amount
- *Sense:* Velocity sensing shape. with higher values the sensivity is shifted towards low velocities
- *Stages:* Filter stages.
- *Class:* Category of synth.
- *Type:* Type of filter to use.
Expand All @@ -75,6 +78,8 @@ The Envelopes share the same basic parameters:
- *Decay:* The volume drops from the maximum value to a level called "Sustain level"
- *Stretch:* How the envelope is stretched according to the note. On the higher notes the envelopes are shorter than lower notes.
- *Forced release:* If this option is turned on the release will go to the final value, even if the sustain stage is not reached.
- *Repeat:* If this option is active the envelope is started again when reaching release


===== Amplitude Envelopes
Amplitude envelopes control the amplitude of the sound.
Expand Down Expand Up @@ -155,6 +160,7 @@ image::imgs/add-synth-voice-amplitude-general.png[]
- *Pan:* Panning. (100% to the left is random).
- *Delay:* delay before the voice starts.
- *Bypass GL Filter:* If the voice signal bypasses the global filter.
- *F. Ctl Bypass:* If the voices filter is not affected by cutoff midi CC
- *RESON:* Enable/Disable the resonance of the voice.

===== Frequency
Expand All @@ -175,17 +181,62 @@ This is your oscillator and modulator-oscillator. Full documentation link:Oscill

==== modulation

===== Amplitude
image::imgs/add-synth-modulation-amplitude.png[]
image::imgs/add-synth-modulation-none.png[]


===== Mix
Mix is actually not a modulation type but something like wave morphing or one dimension of a vector synthesis.
The modulation amount set with the "Vol." knob and the Amp envelope represents the mixing ratio between "modulator" and "carrier" oscillator.


===== Ring
Ring modulation was used in the Roland D50 but also in many classic analog synthesizers for example from Oberheim.
The values of modulator and carrier are simply multiplied.
Used with sine oscillators for both modulator and carrier that adds the sum and the difference of their frequencies to the spectrum.
It can be used to create inharmonics for metallic or bell like sounds.


===== Phase
The value of the modulator is applied as phase offset. That's what Yamaha called FM in the famous DX7.
By modulating the phase angle of the oscillator, phase modulation alters the frequency content of the sound,
allowing for the creation of complex, evolving timbres and textures.



===== FM
The value of the modulator is applied as frequency offset.
[WARNING]
Aliasing
====
Because of the wide applicable range it is nearly impossible to prevent aliasing at high FM amounts.
====


===== PWM
An enhancement of phase modulation with pairs om mirrored modulators

===== Frequency
image::imgs/add-synth-modulation-frequency.png[]

==== voice list
image::imgs/add-synth-voice-list.png[]

The AA button enables the anti aliasing sampling filter. Can be useful when using high range frequency LFOs or FM.

==== resonance
image::imgs/add-synth-resonance.png[]

The resonance is a spectral modification of the oscillator that is applied "offline" while constructing the waveform.

[WARNING]
Resonance in frequency modulated Oscilators
====
When the frequency is modulated the resonance spectrum is shifted, too.
====


In the plot the spectral fingerprint can be drawn by hand or generated by random generators with fine, medium or large granularity.
The curve can also be smoothed. The resulting diagram can be shifted or scaled with respect to the full spectrum.

=== signal routing diagram
image::imgs/flow_add_voice.png[]

* [TODO] signal routing diagram
The diagram shows a simplified signal routing for a single voice.
45 changes: 45 additions & 0 deletions FilterModule.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ State variable filters:: Limited filter types, but good under heavy modulation
Analog filters:: Standard Biquad formulations for a variety of shapes
Formant filters:: Good for modeling speech spectral shapes. Composed by many
sub-filters.
Moog filters:: Good for a warmer feeling - especially with some gain
Comb filters:: Good for string like effects or intense spectral and phase effects

===== Analog Filters

Expand Down Expand Up @@ -44,3 +46,46 @@ harmonic profile of your sounds and make it evolve over time.
More on that later in this chapter.

image::imgs/20180413-144131.png[]

===== Moog Filter

image::imgs/filter-moog.png[]

The Moog filter type is an attempt to emulate the renowned transistor or diode ladder filter found in Moog and other classic analog synthesizers.
It employs the Zero Delay Feedback (ZDF) approach to ensure a level of accuracy in replicating the filter's behavior.

LP:: low pass
HP:: high pass
BP:: Bandpass

===== Comb Filter

image::imgs/filter-comb.png[]

The Comb Filter operates as a tunable delay line, introducing a series of notches and peaks
in the frequency spectrum due to the interaction between the original signal and its delayed version.
The term "comb" aptly depicts the spectral pattern resembling the teeth of a comb,
showcasing the alternating constructive and destructive interference patterns.

This filter is commonly used to simulate various acoustic effects, such as reflections,
chorus-like sounds, or enhancing the perception of spaciousness in audio signals.

BWD:: adds a delayed version of the output signal. the feedback structure leads to heavy resonance
FWD:: adds a delayed version of the input signal. the feed forward structure leads to more subtle phase effects
both:: combination of BWD and FWD. heavy resonances are dominant
BWDN:: subtracts a delayed version of the output signal. similar to BWD. can be used for example to remove even harmonics
FWDN:: Subtracts a delayed input signal, emphasizing frequency cancellation for targeted harmonic removal or notching in the spectrum.
bothN:: Utilizes subtraction from both input and output signals

[NOTE]

Poor Mans Physical Modelling
======
The comb filter can be used as a string like oscillator.
To accomplish that apply it as voice filter to a burst of noise.
But make sure the amplitude envelope doesn't go too fast to zero as that would turn off the voice.
If F.Track is 100% it's frequencies are proportional to the pitch.
To keep in tune you may set Scale to 0 (no velocity impact)
and enable "F. Ctl Bypass" in the voices Amplitude General Settings (no midi cc impact)
======

Binary file added imgs/add-synth-modulation-am.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/add-synth-modulation-fm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/add-synth-modulation-mix.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/add-synth-modulation-none.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/add-synth-modulation-pm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/add-synth-modulation-pwm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/add-synth-modulation-ring.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/filter-comb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/filter-moog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added imgs/flow_add_voice.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/lfo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/part-settings-instrument.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/part-settings-portamento.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/settings-bank-roots.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified imgs/settings-global.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit b2c7faa

Please sign in to comment.