Skip to content

Commit

Permalink
drywet parameter for most of the fx and updates in docs
Browse files Browse the repository at this point in the history
  • Loading branch information
tmhglnd committed Oct 2, 2023
1 parent 4716030 commit fcdabf4
Show file tree
Hide file tree
Showing 14 changed files with 2,733 additions and 1,698 deletions.
5 changes: 3 additions & 2 deletions docs/02-instrument.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,9 @@ Alias: `length() | duration() | envelope() | env() | e()`
Set the volume for the instrument in floating-point amplitude. Where `1` is the normalized amplitude, `0.5` is the half softer (-6 dBFS) and `2` is twice as loud (+ 6dBFS). An optional second argument sets the sliding time to go to the next gain value in milliseconds.

**arguments**
- {Float+} -> the volume of the instrument (default=1)
- {Number+} -> the sliding time in ms (optional, default=0)
- {Float+} -> the (start) volume of the instrument (default=1)
- {Number+} -> the sliding time in division or ms (optional, default=0)
<!-- - {Float+} -> the end volume of the instrument to generate a ramp (optional, default=previous-gain-value) -->

```java
new sample snare_909 name(sn)
Expand Down
44 changes: 27 additions & 17 deletions docs/04-fx.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ panning
||
double / chorus
||
|| >>============= vv
|| +
|| hall (stereo reverb)
++ <<============= <<
|| >>====== vv
|| +
|| hall (stereo reverb)
++ <<====== <<
||
lfo (low frequency oscillator)
||
Expand All @@ -58,13 +58,16 @@ Add a reverberation effect to the sound, making it sound like it's in a room or
**arguments**
- {Float+} -> amplitude of reverb (default=0.5)
- {Number+} -> size of reverb 0-18 (default=10)
- {Number+} -> slide time in ms when size is changed (default=10)
- {Float+} -> drywet 0-1 (optional, 1=100% wet, default=0.5)

Alias: `fx(hall)`

```
fx(reverb)
fx(reverb <size>)
fx(reverb <amount> <size>)
fx(reverb <amount> <size> <slide> <dry-wet>)
```

```java
Expand Down Expand Up @@ -134,13 +137,13 @@ new synth saw note(0 0) fx(filter low 1/4 100 3500 0.55 0 4)

## double / chorus

Add an Automated-Double-Tracking (ADT) or Chorus effect to the sound. When only typing double it will sound like two versions of the sound are left and right. When typing chorus the original sound is added and the delaytimes are longer. Arguments are the modulation speed in division, the modulation depth in milliseconds, the modulation wave `sine` or `random`, the wet-dry ratio between `0` and `1` and a detune factor between left and right modulation wave in floating.
Add an Automated-Double-Tracking (ADT) or Chorus effect to the sound. When only typing double it will sound like two versions of the sound are created, one left and one right. When typing chorus the original sound is added and the delaytimes are longer. Arguments are the modulation speed in division, the modulation depth in milliseconds, the modulation wave `sine` or `random`, the dry-wet ratio between `0` and `1` and a detune factor between left and right modulation wave in floating.

**arguments**
- {Division} -> modulation rate (default=4/1)
- {Number+} -> modulation depth in ms (default=8 for double, default=45 for chorus)
- {Name} -> modulation wave, sine or random (default=random)
- {Float+} -> wet-dry (default=1 for double, default=0 for chorus)
- {Float+} -> dry-wet (default=1 for double, default=0.5 for chorus)
- {Float+} -> modulation rate detune (default=0.94562)

```
Expand Down Expand Up @@ -179,8 +182,7 @@ Make a time-domain pitchshifting effect to change the pitch of the sound. The fi

**arguments**
- {Number} -> shifting factor (positive/negative) in semitones (optional, default=-12)
- {Float} -> wet-dry mix between 0-1 (optional, default=1)
<!-- - {Name} -> shifting settings `basic`, `rhythmic`, `percussive`, `melodic`, `vocal`, `noisy` (default=basic) -->
- {Float} -> dry-wet mix between 0-1 (optional, default=1)
- {Name} -> shifting settings `basic`, `good`, `better`, `best` (optional, default=basic)

```java
Expand All @@ -205,6 +207,7 @@ A simple compression/distortion algorithm based on a design by Peter McCulloch.

**arguments**
- {Number+} -> input gain amount, greater than 1 (optional, default=4)
- {Float+} -> dry-wet factor 0-1 (optional, default=1)
- {Float} -> compression factor greater than 0 (optional, default=0.28)

```java
Expand All @@ -217,6 +220,7 @@ A kink distortion algorithm. Creates a bend or "kink" in the audio signal.

**arguments**
- {Number+} -> distortion amount, greater then 0 (optional, default=5)
- {Float+} -> dry-wet factor 0-1 (optional, default=1)

```java
new sample violin_c time(1) fx(kink 15)
Expand All @@ -225,10 +229,11 @@ new sample violin_c time(1) fx(kink 15)

A distortion/overdrive/soft-clipping effect. Uses the `tanh()` algorithm.

Alias: `fx(drive)`

**arguments**
- {Number+} -> distortion amount, greater then 0 (optional, default=2)

Alias: `fx(drive)`
- {Float+} -> dry-wet factor 0-1 (optional, default=1)

```java
new sample kick_909 fx(drive 15)
Expand All @@ -238,22 +243,24 @@ new sample kick_909 fx(drive 15)

A downsampling/8bit/chiptune effect. The signal is downsample by a factor, where 0 means no downsampling (original samplerate) and 0.5 is half the samplerate etc (e.g. 44100 * 0.5 = 22050).

Alias: `fx(chip)`

**arguments**
- {Float+} -> downsampling amount between 0-1
- {Float+} -> dry-wet factor 0-1 (optional, default=1)

```java
new synth saw fx(degrade 0.75)
```

Alias: `fx(chip)`

## comb

A combfilter effect. This combines a small delayed version of the sound with the original sound resulting in a combfilter, giving a metallica quality to the sound. The first argument is the frequency of the filter is tuned at, the second optional argument is a feedback amount.
A combfilter effect. This combines a small delayed version of the sound with the original sound resulting in a combfilter, giving a metallic quality to the sound. The first argument is the semitone the filter is tuned at (synced to the scale and allowing for detuning with floating points), the second optional argument is a feedback amount.

**arguments**
- {Number+} -> filter frequency in Hz (default=75)
- {Float+} -> filter feedback between 0 and 0.99 (default=0.2)
- {Number+} -> filter frequency as note semiton (default=0)
- {Float+} -> filter feedback between 0 and 0.99 (default=0.8)
- {Float+} -> dry-wet factor 0-1 (optional, default=0.5)

```java
new synth saw fx(comb 82 0.4)
Expand All @@ -263,11 +270,14 @@ new synth saw fx(comb 82 0.4)

Add a Low Frequency Oscillator effect to the sound. This results in a rapidly fading in/out sounding effect (helicopter sound). Various arguments allow to shape the speed and type of wave for modulation. The first argument is the rate in division. The second argument is the shape type `square`, `up`, `down` or `sine`. With the third argument you can change the lowest amplitude of the modulation and with the optional fourth argument you can change the width (only works with the square)

Alias: `fx(tremolo)`

**arguments**
- {Division} -> speed of the LFO (default=1/16)
- {Name} -> type of the wave, square, up, down or sine (default=square)
- {Float+} -> lowest amplitude of the wave between 0-1 (default=0)
- {Float+} -> width of the square wave between 0-1 (default=0.5)
- {Float+} -> dry-wet factor 0-1 (optional, default=1)
- {Float+} -> width of the square wave between 0-1 (optional, default=0.5)
- {Float+} -> offset of the waveform 0-1 (optional, default=0)

```
fx(lfo)
Expand Down
Loading

0 comments on commit fcdabf4

Please sign in to comment.