---
title: Pattern Effekte
layout: ../../../layouts/MainLayout.astro
---
import { MiniRepl } from '@src/docs/MiniRepl';
import Box from '@components/Box.astro';
import QA from '@components/QA';
# Pattern Effekte
Bis jetzt sind die meisten Funktionen die wir kennengelernt haben ähnlich wie Funktionen in anderen Musik Programmen: Sequencing von Sounds, Noten und Effekten.
In diesem Kapitel beschäftigen wir uns mit Funktionen die weniger herkömmlich oder auch enzigartig sind.
**rev = rückwärts abspielen**
**jux = einen stereo kanal modifizieren**
So würde man das ohne jux schreiben:
Lass uns visualisieren was hier passiert:
Schreibe `//` vor eine der beiden Zeilen im `stack`!
**mehrere tempos**
Das hat den gleichen Effekt wie:
Schreibe wieder `//` vor eine oder mehrere Zeilen im `stack`.
**add = addieren**
>"))
.color(">").adsr("[.1 0]:.2:[1 0]")
.sound("gm_acoustic_bass").room(.5)`}
punchcard
/>
Addiert man eine Zahl zu einer Note, verhält sich diese wie eine Zahl.
z.B. c4 = 60, also ist c4 + 2 = 62
Man kann auch mehrmals addieren:
>").add("0,7"))
.color(">").adsr("[.1 0]:.2:[1 0]")
.sound("gm_acoustic_bass").room(.5)`}
punchcard
/>
**add + scale**
[~ <4 1>]>*2".add("<0 [0,2,4]>/4"))
.scale("C5:minor").release(.5)
.sound("gm_xylophone").room(.5)`}
punchcard
/>
**Alles zusammen**
[~ <4 1>]>*2".add("<0 [0,2,4]>/4"))
.scale("C5:minor")
.sound("gm_xylophone")
.room(.4).delay(.125),
note("c2 [eb3,g3]".add("<0 <1 -1>>"))
.adsr("[.1 0]:.2:[1 0]")
.sound("gm_acoustic_bass")
.room(.5),
n("0 1 [2 3] 2").sound("jazz").jux(rev).slow(2)
)`}
/>
**ply**
das ist wie:
Probier `ply` mit einem pattern zu automatisieren, z.b. `"<1 2 1 3>"`
**off**
] <2 3> [~ 1]>"
.off(1/8, x=>x.add(4))
//.off(1/4, x=>x.add(7))
).scale("/4")
.s("triangle").room(.5).ds(".1:0").delay(.5)`}
punchcard
/>
In der notation `x=>x.`, das `x` ist das Pattern das wir bearbeiten.
`off` ist auch nützlich für sounds:
x.speed(1.5).gain(.25))`}
/>
| name | description | example |
| ---- | --------------------------------- | ---------------------------------------------------------------------------------------------- |
| rev | rückwärts | |
| jux | ein stereo-kanal modifizieren | |
| add | addiert zahlen oder noten | ")).scale("C:minor")`} /> |
| ply | multipliziert jedes element x mal | ")`} /> |
| off | verzögert eine modifizierte kopie | x.speed(2))`} /> |