Difference between revisions of "Demiurge/Standard Blocks"
Line 8: | Line 8: | ||
== ADSR - Attack, Decay, Sustain, Release == | == ADSR - Attack, Decay, Sustain, Release == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/adsr.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/adsr.c Source Code] |
+ | |||
+ | {| | ||
+ | |Orange | ||
+ | |Apple | ||
+ | |- | ||
+ | |Bread | ||
+ | |Pie | ||
+ | |- | ||
+ | |Butter | ||
+ | |Ice cream | ||
+ | |} | ||
− | |||
{| | {| | ||
+ | |+ Inputs | ||
|- !Name !! Description | |- !Name !! Description | ||
|- attack || Sets the attack time of the ADSR function | |- attack || Sets the attack time of the ADSR function | ||
Line 22: | Line 33: | ||
== Audio Inport == | == Audio Inport == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/audio_inport.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/audio_inport.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 30: | Line 41: | ||
== Audio Outport == | == Audio Outport == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/audio_outport.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/audio_outport.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 38: | Line 49: | ||
== Averager == | == Averager == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/averager.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/averager.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 47: | Line 58: | ||
== Calculator == | == Calculator == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/calculator.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/calculator.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 56: | Line 67: | ||
== CFX RBJ Filter == | == CFX RBJ Filter == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/cfxrbjfilter.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/cfxrbjfilter.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 68: | Line 79: | ||
== Control Pair == | == Control Pair == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/control_pair.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/control_pair.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 76: | Line 87: | ||
== CV Inport == | == CV Inport == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/cv_inport.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/cv_inport.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 84: | Line 95: | ||
== CV Outport == | == CV Outport == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/cv_outport.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/cv_outport.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 92: | Line 103: | ||
== Fixed Signal == | == Fixed Signal == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/fixed_signal.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/fixed_signal.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 100: | Line 111: | ||
== Gate Inport == | == Gate Inport == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/gate_inport.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/gate_inport.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 108: | Line 119: | ||
== Gate Outport == | == Gate Outport == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/gate_outport.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/gate_outport.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 116: | Line 127: | ||
== Inverter == | == Inverter == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/inverter.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/inverter.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 126: | Line 137: | ||
== LED == | == LED == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/led.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/led.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 137: | Line 148: | ||
== Lg == | == Lg == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/lg.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/lg.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 145: | Line 156: | ||
== Lg2 == | == Lg2 == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/lg2.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/lg2.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 153: | Line 164: | ||
== Lg10 == | == Lg10 == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/lg10.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/lg10.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 161: | Line 172: | ||
== Mixer == | == Mixer == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/mixer.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/mixer.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 170: | Line 181: | ||
== Offset == | == Offset == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/offset.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/offset.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 184: | Line 195: | ||
introduces spike frequencies. | introduces spike frequencies. | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/oscillator.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/oscillator.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 194: | Line 205: | ||
== Pan == | == Pan == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/pan.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/pan.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 209: | Line 220: | ||
== Passthru == | == Passthru == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/passthru.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/passthru.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 217: | Line 228: | ||
== Potentiometer == | == Potentiometer == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/potentiometer.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/potentiometer.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 225: | Line 236: | ||
== Push Button == | == Push Button == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/pushbutton.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/pushbutton.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 233: | Line 244: | ||
== Scale == | == Scale == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/scale.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/scale.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 242: | Line 253: | ||
== State Variable Filter == | == State Variable Filter == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/svf.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/svf.c Source Code] |
=== Inputs === | === Inputs === | ||
Line 261: | Line 272: | ||
== Volume == | == Volume == | ||
− | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/volume.c] | + | [https://github.com/AwesomeAudioApparatus/demiurge/tree/master/software/components/demiurge/src/volume.c Source Code] |
=== Inputs === | === Inputs === |
Revision as of 09:34, 20 August 2022
All blocks has a single Output signal, to which an Input on
another block can be connected. The rare cases of multiple Output
blocks, such as #Pan, and accomplishes this by having sub-blocks for
each Output that downstream blocks can be connected to.
ADSR - Attack, Decay, Sustain, Release
Orange | Apple |
Bread | Pie |
Butter | Ice cream |
Audio Inport
Inputs
| Name | Description | |------|-------------| | *none* | |
Audio Outport
Inputs
| Name | Description | |------|-------------| | input | The audio signal to be set to the physical output port as an audio signal. |
Averager
Inputs
| Name | Description | |------|-------------| | input | The signal to be averaged. | | averaging_control | The amount of averging to be applied to the signal |
Calculator
Inputs
| Name | Description | |------|-------------| | input | The signal to apply the [***Function***](functions.md) on. |
CFX RBJ Filter
Inputs
| Name | Description | |------|-------------| | input | Signal to be filtered | | frequency | Frequency to be filtered at | | Q | Q factor which sets slope and ringing | | gain | Gain/attenuation in the filter |
| type |
- 0 - low pass
- 1 - high pass
- 2 - bandpass (csg)
- 3 - bandpass (czpg)
- 4 - notch
- 5 - allpass
- 6 - peaking
- 7 - low shelf
- 8 - high shelf
|
Control Pair
Inputs
| Name | Description | |------|-------------| | *none* | |
CV Inport
Inputs
| Name | Description | |------|-------------| | *none* | |
CV Outport
Inputs
| Name | Description | |------|-------------| | input | The signal to be set to the physical output prot as a CV signal |
Fixed Signal
Inputs
| Name | Description | |------|-------------| | *none* | |
Gate Inport
Inputs
| Name | Description | |------|-------------| | *none* | |
Gate Outport
Inputs
| Name | Description | |------|-------------| | input | The signal to be set to the physical output prot as a Gate signal. |
Inverter
Inputs
| Name | Description | |------|-------------| | input | The signal to be inverted. | | scale | Scaling of the signal | | offset | Offset around which the signal should be inverted. |
LED
Inputs
| Name | Description | |------|-------------| | input | The RGB value of the LED to be set. Only used if r, g and b are not configured. | | r | The RED value to be set to the physical LED. | | g | The GREEN value to be set to the physical LED. | | b | The BLUE value to be set to the physical LED. |
Lg
Inputs
| Name | Description | |------|-------------| | input | The signal that wil have *ln* (the natural logarithm) applied to it |
Lg2
Inputs
| Name | Description | |------|-------------| | input | The signal that wil have *log2* applied to it |
Lg10
Inputs
| Name | Description | |------|-------------| | input | The signal that wil have *log10* applied to it |
Mixer
Inputs
| Name | Description | |------|-------------| | inputs[] | An array of signals to be mixed to the ***Output*** | | volumes[] | An array of volume controllers, one for each ***Input*** |
Offset
Inputs
| Name | Description | |------|-------------| | input | The signal to be offsetted | | offset_control | The amount of offset to be applied to the ***Input*** |
Oscillator
The [Oscillator](blocks/oscillator.md) is a block that generates waveforms at a controllable frequency and amplitude. The start of the waveform is also controllable with the *trigger*, but should be used with caution as it introduces spike frequencies.
Inputs
| Name | Description | |------|-------------| | frequency | The frequency to generate. For non-SINE, it is the inverse of the full cycle period | | amplitude | The amplitude of the output signal. | | trigger | Re-trigger the wave generation to time zero. |
Pan
Inputs
| Name | Description | |------|-------------| | input | The signal to be split in a *left* and *right* channel. | | control | The balance between *left* (0V) and *right* (10V) channel |
Sub-blocks
| Name | Description | |------|-------------| | left_channel | | | right_channel | |
Passthru
Inputs
| Name | Description | |------|-------------| | input | The signal to be pass to the output. |
Potentiometer
Inputs
| Name | Description | |------|-------------| | *none* | |
Push Button
Inputs
| Name | Description | |------|-------------| | *none* | |
Scale
Inputs
| Name | Description | |------|-------------| | input | The signal to be scaled. | | control | The amplication/attenuation control. 0V=muted, 10V=~20dB gain
State Variable Filter
Inputs
| Name | Description | |------|-------------| | input | Signal to be filtered | | frequency | Frequency to be filtered at | | Q | Q factor which sets slope and ringing | | gain | Gain/attenuation in the filter |
Sub-blocks
| Name | Description | |------|-------------| | lowpass_out | Low pass filter output signal | | highpass_out | High pass filter output signal | | bandpass_out | Bandpass filter output signal | | notch_out | Notch filter output signal |
Volume
Inputs
| Name | Description | |------|-------------| | input | Signal to be volume controlled. | | control | The amplication/attenuation control. output=input*(0.05 * control + 0.5) |