--- 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 einzigartig 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.`, ist `x` das Pattern, das wir bearbeiten. `off` ist auch nützlich für Sounds: x.speed(1.5).gain(.25))`} /> | Name | Beschreibung | Beispiel | | ---- | --------------------------------- | ----------------------------------------------------------------------------------- | | rev | rückwärts | | | jux | einen 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))`} /> |