---
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:

[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).