--- title: Audio effects layout: ../../layouts/MainLayout.astro --- import { MiniRepl } from '../../docs/MiniRepl'; import { JsDoc } from '../../docs/JsDoc'; # Audio Effects Whether you're using a synth or a sample, you can apply any of the following built-in audio effects. As you might suspect, the effects can be chained together, and they accept a pattern string as their argument. # Filters Filters are an essential building block of [subtractive synthesis](https://en.wikipedia.org/wiki/Subtractive_synthesis). Strudel comes with 3 types of filters: - low-pass filter: low frequencies may _pass_, high frequencies are cut off - high-pass filter: high frequencies may _pass_, low frequencies are cut off - band-pass filters: only a frequency band may _pass_, low and high frequencies around are cut off Each filter has 2 parameters: - cutoff: the frequency at which the filter starts to work. e.g. a low-pass filter with a cutoff of 1000Hz allows frequencies below 1000Hz to pass. - q-value: Controls the resonance of the filter. Higher values sound more aggressive. Also see [Q-Factor](https://en.wikipedia.org/wiki/Q_factor) ## lpf ## lpq ## hpf ## hpq ## bpf ## bpq ## vowel # Amplitude Envelope The amplitude [envelope]() controls the dynamic contour of a sound. Strudel uses ADSR envelopes, which are probably the most common way to describe an envelope: ![ADSR](https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/ADSR_parameter.svg/1920px-ADSR_parameter.svg.png) [image link](https://commons.wikimedia.org/wiki/File:ADSR_parameter.svg) ## attack ## decay ## sustain ## release # Dynamics ## gain ## velocity # Panning ## jux ## juxBy ## pan # Waveshaping ## coarse ## crush ## shape # Global Effects ## Local vs Global Effects While the above listed "local" effects will always create a separate effects chain for each event, global effects use the same chain for all events of the same orbit: ## orbit ## delay ## delaytime ## delayfeedback ## room ## roomsize Next, we'll look at strudel's support for [Csound](/learn/csound).