diff --git a/index.html b/index.html index c9a1423..77a2dd4 100644 --- a/index.html +++ b/index.html @@ -163,11 +163,11 @@
Audio Engine
-

Basics

+

Playing a sound

Amplitude

Sampler

-

Reverb & Delay

-

Distortion

+

Synths

+

Effects

@@ -175,14 +175,12 @@
Samples
-

Samples List

+

List of samples

Loading Samples

Patterns

-

Samples

-

Synths

MIDI

diff --git a/src/Documentation.ts b/src/Documentation.ts index 2745c13..2cc30f0 100644 --- a/src/Documentation.ts +++ b/src/Documentation.ts @@ -3,7 +3,6 @@ import { type Editor } from "./main"; import { introduction } from "./documentation/basics/welcome"; import { loading_samples } from "./documentation/samples/loading_samples"; import { amplitude } from "./documentation/audio_engine/amplitude"; -import { distortion } from "./documentation/audio_engine/distortion"; import { reverb } from "./documentation/audio_engine/reverb_delay"; import { sampler } from "./documentation/audio_engine/sampler"; import { sample_banks } from "./documentation/samples/sample_banks"; @@ -99,7 +98,6 @@ export const documentation_factory = (application: Editor) => { reference: reference(), shortcuts: shortcuts(application), amplitude: amplitude(application), - distortion: distortion(application), reverb_delay: reverb(application), sampler: sampler(application), mouse: mouse(application), diff --git a/src/InterfaceLogic.ts b/src/InterfaceLogic.ts index 3b22a2b..d89ce1a 100644 --- a/src/InterfaceLogic.ts +++ b/src/InterfaceLogic.ts @@ -485,7 +485,6 @@ export const installInterfaceLogic = (app: Editor) => { "amplitude", "audio_basics", "reverb_delay", - "distortion", "interface", "interaction", "code", diff --git a/src/documentation/audio_engine/audio_basics.ts b/src/documentation/audio_engine/audio_basics.ts index 81f577e..108110f 100644 --- a/src/documentation/audio_engine/audio_basics.ts +++ b/src/documentation/audio_engine/audio_basics.ts @@ -67,7 +67,7 @@ Try to remove .out. You will see that no sound is playing at all! - Sounds are **composed** by adding qualifiers/parameters that modify the sound or synthesizer you have picked (_e.g_ sound('...').blabla(...)..something(...).out(). Think of it as _audio chains_. ${makeExample( - '"Composing" a complex sonic object by making a sound chain', + 'Complex sonic object', ` beat(1) :: sound('pad').n(1) .begin(rand(0, 0.4)) diff --git a/src/documentation/audio_engine/reverb_delay.ts b/src/documentation/audio_engine/reverb_delay.ts index 8d01cf4..e52869c 100644 --- a/src/documentation/audio_engine/reverb_delay.ts +++ b/src/documentation/audio_engine/reverb_delay.ts @@ -4,7 +4,11 @@ import { makeExampleFactory } from "../../Documentation"; export const reverb = (application: Editor): string => { // @ts-ignore const makeExample = makeExampleFactory(application); - return `# Reverberation and delay + return ` + +# Audio effects + +There is a growing collection of audio effects you can use directly baked in the engine. You can create a wide variety of sonic effects by being creative with the parameters they offer. ## Reverb @@ -26,7 +30,6 @@ beat(2)::snd('cp').room(0.5).size(4).out() `, true )}; - ## Delay @@ -39,14 +42,45 @@ A good sounding delay unit that can go into feedback territory. Use it without m | delayfeedback | delayfb | Delay feedback (between 0 and 1) | ${makeExample( - "Who doesn't like delay?", - ` + "Who doesn't like delay?", ` beat(2)::snd('cp').delay(0.5).delaytime(0.75).delayfb(0.8).out() beat(4)::snd('snare').out() -beat(1)::snd('kick').out() - `, - true - )}; - +beat(1)::snd('kick').out()`, true)} +## Phaser + +| Method | Alias | Description | +|------------|-----------|---------------------------------| +| phaser | phas | Phaser speed, between 1 and n | +| phaserDepth | phasdepth | How much of the signal goes through phaser (0 to 1) | +| phaserSweep | phassweep | Phaser frequency sweep (in hertz) | +| phaserCenter | phascenter | Phaser center frequency (default to 1000) | + +${makeExample("Super cool phaser lick", ` +rhythm(.5, 7, 8)::sound('wt_stereo') + .phaser(0.75).phaserSweep(3000) + .phaserCenter(1500).phaserDepth(1) + .note([0, 1, 2, 3, 4, 5, 6].scale('pentatonic', 50).beat(0.25)) + .room(0.5).size(4).out() +`, true)} + +## Distorsion, saturation, destruction + +Three additional effects that are easy enough to understand. These effects are deteriorating the signal, making it easy to get digital or gritty audio sample playback or synthesizers destroyed beyond recognition. Be careful with your signal level! + +| Method | Alias | Description | +|------------|-----------|---------------------------------| +| coarse | | Artificial sample-rate lowering | +| crush | | bitcrushing. 1 is extreme, the more you go up, the less it takes effect. | +| shape | | Waveshaping distortion (between 0 and 1) | + + +${makeExample( + "Crunch... crunch... crunch!", + ` +beat(.5)::snd('pad').coarse($(1) % 16).clip(.5).out(); // Comment me +beat(.5)::snd('pad').crush([16, 8, 4].beat(2)).clip(.5).out() + `, + true + )}; `}