mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-22 11:08:35 +00:00
optimize sounds chapter after teach test
This commit is contained in:
parent
3ccbd35fad
commit
c287ff554c
@ -278,7 +278,7 @@ Was passiert wenn du den Wert automatisierst? z.b. `.fast("<1 [2 4]>")` ?
|
|||||||
|
|
||||||
Anstatt Werte schrittweise zu automatisieren können wir auch sogenannte Signale benutzen:
|
Anstatt Werte schrittweise zu automatisieren können wir auch sogenannte Signale benutzen:
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("hh*16").gain(sine)`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("hh*16").gain(sine)`} punchcard punchcardLabels={false} />
|
||||||
|
|
||||||
<Box>
|
<Box>
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,9 @@ import QA from '@components/QA';
|
|||||||
|
|
||||||
Dies ist das erste Kapitel im Strudel Workshop, schön dich an Bord zu haben!
|
Dies ist das erste Kapitel im Strudel Workshop, schön dich an Bord zu haben!
|
||||||
|
|
||||||
Los geht's mit ein paar Sounds:
|
## Textfelder
|
||||||
|
|
||||||
|
Der Workshop ist voller interaktiver Textfelder. Lass uns lernen wie sie funktionieren. Hier ist eins:
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("casio")`} />
|
<MiniRepl hideHeader client:visible tune={`sound("casio")`} />
|
||||||
|
|
||||||
@ -21,37 +23,51 @@ Los geht's mit ein paar Sounds:
|
|||||||
2. Drücke `Strg`+`Enter` zum Abspielen
|
2. Drücke `Strg`+`Enter` zum Abspielen
|
||||||
3. Ändere `casio` in `metal`
|
3. Ändere `casio` in `metal`
|
||||||
4. Drücke `Strg`+`Enter` zum Aktualisieren
|
4. Drücke `Strg`+`Enter` zum Aktualisieren
|
||||||
5. Drücke `Strg`+`.` zum Stoppen
|
5. Drücke `Strg`+`Punkt` zum Stoppen
|
||||||
|
|
||||||
|
Mac: `Strg` = `control` oder auch `option`
|
||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
Glückwunsch, du kannst nun live coden!
|
Glückwunsch, du kannst nun live coden!
|
||||||
|
|
||||||
Die ganze Seite ist voller interaktiver Textfelder.
|
## Sounds
|
||||||
In jedes kannst du hineinklicken und mit `Strg`+`Enter` starten / aktualisieren und mit `Strg+.` stoppen.
|
|
||||||
|
|
||||||
**Probiere mehr Sounds aus**
|
Gerade haben wir schon den ersten sound mit `sound` abgespielt:
|
||||||
|
|
||||||
Mit `:` gefolgt von einer Zahl kannst du einen anderen Sound aus dem Set wählen:
|
<MiniRepl hideHeader client:visible tune={`sound("casio")`} />
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("casio:0")`} hideHeader />
|
|
||||||
|
|
||||||
<Box>
|
<Box>
|
||||||
|
|
||||||
Ändere `casio:0` in `casio:1` um einen anderen Sound aus dem Set `casio` zu hören.
|
`casio` ist einer von vielen Stanard Sounds.
|
||||||
Ohne Zahl ist gleichbedeutend mit `:0`
|
|
||||||
|
|
||||||
Hier sind ein paar mehr Sounds zum ausprobieren:
|
Probier ein paar andere Sounds aus:
|
||||||
|
|
||||||
```
|
```
|
||||||
insect wind jazz metal east crow casio space numbers
|
insect wind jazz metal east crow casio space numbers
|
||||||
```
|
```
|
||||||
|
|
||||||
Probier verschiedene Kombinationen von Sounds und Nummern! Es kann sein dass du kurz nichts hörst während ein neuer Sound lädt.
|
Es kann sein, dass du kurz nichts hörst während ein neuer Sound lädt.
|
||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
Jetzt weißt du wie man verschiedene Sounds benutzt.
|
**Sample Nummer ändern mit :**
|
||||||
|
|
||||||
|
Ein Sound kann mehrere Samples (Audio Dateien) enthalten.
|
||||||
|
|
||||||
|
Du kannst ein anderes Sample wählen, indem du `:` und eine Zahl an den Sound-Namen anhängst:
|
||||||
|
|
||||||
|
<MiniRepl hideHeader client:visible tune={`sound("casio:1")`} hideHeader />
|
||||||
|
|
||||||
|
<Box>
|
||||||
|
|
||||||
|
Probiere verschiedene Sound / Zahlen Kombinationen.
|
||||||
|
|
||||||
|
Ohne Zahl ist gleichbedeutend mit `:0`
|
||||||
|
|
||||||
|
</Box>
|
||||||
|
|
||||||
|
Jetzt weißt du wie man Sounds abspielt und ihre Sample Nummer einstellt.
|
||||||
Vorerst bleiben wir bei den voreingestellten Sounds, später erfahren wir noch wie man eigene benutzt.
|
Vorerst bleiben wir bei den voreingestellten Sounds, später erfahren wir noch wie man eigene benutzt.
|
||||||
|
|
||||||
## Drum Sounds
|
## Drum Sounds
|
||||||
@ -60,21 +76,25 @@ Strudel kommt von Haus aus mit einer breiten Auswahl an Drum Sounds:
|
|||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd hh sd oh")`} hideHeader />
|
<MiniRepl hideHeader client:visible tune={`sound("bd hh sd oh")`} hideHeader />
|
||||||
|
|
||||||
Diese 2-Buchstaben Kombinationen stehen für verschiedene Teile eines Drumsets:
|
<Box>
|
||||||
|
|
||||||
|
Diese 2-Buchstaben Kombinationen stehen für verschiedene Teile eines Schlagzeugs:
|
||||||
|
|
||||||
- `bd` = **b**ass **d**rum - Basstrommel
|
- `bd` = **b**ass **d**rum - Basstrommel
|
||||||
- `sd` = **s**nare **d**rum - Schnarrtrommel
|
- `sd` = **s**nare **d**rum - Schnarrtrommel
|
||||||
- `rim` = **rim**shot - Rahmenschlag
|
- `rim` = **rim**shot - Rahmenschlag
|
||||||
- `hh` = **h**i**h**at
|
- `hh` = **h**i**h**at - Hallo Hut
|
||||||
- `oh` = **o**pen **h**ihat - Offenes Hi-Hat
|
- `oh` = **o**pen **h**ihat - Offener Hallo Hut
|
||||||
|
|
||||||
|
Probier verschiedene Sounds aus!
|
||||||
|
|
||||||
|
</Box>
|
||||||
|
|
||||||
Wir können den Charakter des Drum Sounds verändern, indem wir mit `bank` die Drum Machine auswählen:
|
Wir können den Charakter des Drum Sounds verändern, indem wir mit `bank` die Drum Machine auswählen:
|
||||||
|
|
||||||
{/* To change the sound character of our drums, we can use `bank` to change the drum machine: */}
|
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd hh sd oh").bank("RolandTR909")`} hideHeader />
|
<MiniRepl hideHeader client:visible tune={`sound("bd hh sd oh").bank("RolandTR909")`} hideHeader />
|
||||||
|
|
||||||
In diesem Beispiel ist `RolandTR909` der Name der Drum Machine, welche eine prägende Rolle für House und Techno Musik spielte.
|
In diesem Beispiel ist `RolandTR909` der Name der Drum Machine, die eine prägende Rolle für House und Techno Musik spielte.
|
||||||
|
|
||||||
<Box>
|
<Box>
|
||||||
|
|
||||||
@ -88,6 +108,9 @@ In diesem Beispiel ist `RolandTR909` der Name der Drum Machine, welche eine prä
|
|||||||
|
|
||||||
Es gibt noch viel mehr, aber das sollte fürs Erste reichen..
|
Es gibt noch viel mehr, aber das sollte fürs Erste reichen..
|
||||||
|
|
||||||
|
🦥 Tipp für faule: Mach Doppel-Klick auf einen Namen um ihn zu markieren.
|
||||||
|
Dann kannst du ihn mit `Strg`+`C` kopieren und mit `Strg`+`V` einfügen.
|
||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
## Sequenzen / Sequences
|
## Sequenzen / Sequences
|
||||||
@ -120,34 +143,43 @@ cpm = **c**ycles per **m**inute = Cycles pro Minute
|
|||||||
|
|
||||||
Das Tempo ist standardmäßig auf 60cpm eingestellt, also 1 Cycle pro Sekunde.
|
Das Tempo ist standardmäßig auf 60cpm eingestellt, also 1 Cycle pro Sekunde.
|
||||||
|
|
||||||
|
`cpm` ist angelehnt an `bpm` (=beats per minute).
|
||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
Wir werden später noch mehr Möglichkeiten kennen lernen wie man das Tempo verändert.
|
Wir werden später noch mehr Möglichkeiten kennen lernen das Tempo zu verändern.
|
||||||
|
|
||||||
**Pausen mit '~'**
|
**Pausen mit '~'**
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd hh ~ rim")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("bd hh ~ rim")`} punchcard />
|
||||||
|
|
||||||
|
<Box>
|
||||||
|
|
||||||
|
Tilde tippen:
|
||||||
|
|
||||||
|
- Windows / Linux: `Alt Gr` + `~`
|
||||||
|
- Mac: `option` + `N`
|
||||||
|
|
||||||
|
</Box>
|
||||||
|
|
||||||
**Unter-Sequenzen mit [Klammern]**
|
**Unter-Sequenzen mit [Klammern]**
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd [hh hh] rim [hh bd]")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("bd [hh hh] rim [hh hh]")`} punchcard />
|
||||||
|
|
||||||
<Box>
|
<Box>
|
||||||
|
|
||||||
|
Der Inhalt der Klammer wird ebenfalls zusammengequetscht!
|
||||||
|
|
||||||
Füge noch mehr Sounds in die Klammern ein!
|
Füge noch mehr Sounds in die Klammern ein!
|
||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
Genau wie bei der ganzen Sequence wird der eine Unter-Sequence schneller je mehr drin ist.
|
Genau wie bei der ganzen Sequence wird eine Unter-Sequence schneller je mehr drin ist.
|
||||||
|
|
||||||
**Multiplikation: Dinge schneller machen**
|
**Multiplikation: Dinge schneller machen**
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd hh*2 sd hh*3")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("bd hh*2 sd hh*3")`} punchcard />
|
||||||
|
|
||||||
**Multiplikation: Unter-Sequences schneller machen**
|
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd [hh sd]*2")`} punchcard />
|
|
||||||
|
|
||||||
**Multiplikation: Vieeeeeeel schneller**
|
**Multiplikation: Vieeeeeeel schneller**
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd hh*16 sd hh*8")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("bd hh*16 sd hh*8")`} punchcard />
|
||||||
@ -158,6 +190,20 @@ Tonhöhe = sehr schneller Rhythmus
|
|||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
|
**Multiplikation: Ganze Unter-Sequences schneller machen**
|
||||||
|
|
||||||
|
<MiniRepl hideHeader client:visible tune={`sound("bd [sd hh]*2")`} punchcard />
|
||||||
|
|
||||||
|
Bolero:
|
||||||
|
|
||||||
|
<MiniRepl
|
||||||
|
hideHeader
|
||||||
|
client:visible
|
||||||
|
tune={`sound("sd sd*3 sd sd*3 sd sd sd sd*3 sd sd*3 sd*3 sd*3")
|
||||||
|
.cpm(10)`}
|
||||||
|
punchcard
|
||||||
|
/>
|
||||||
|
|
||||||
**Unter-Unter-Sequenzen mit [[Klammern]]**
|
**Unter-Unter-Sequenzen mit [[Klammern]]**
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("bd [[rim rim] hh]")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("bd [[rim rim] hh]")`} punchcard />
|
||||||
@ -172,7 +218,7 @@ Du kannst so tief verschachteln wie du willst!
|
|||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("hh hh hh, bd casio")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("hh hh hh, bd casio")`} punchcard />
|
||||||
|
|
||||||
Du kannst soviele Kommas benutzen wie du magst:
|
Du kannst so viele Kommas benutzen wie du möchtest:
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("hh hh hh, bd bd, ~ casio")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("hh hh hh, bd bd, ~ casio")`} punchcard />
|
||||||
|
|
||||||
@ -184,31 +230,37 @@ Kommas können auch in Unter-Sequenzen verwendet werden:
|
|||||||
|
|
||||||
Ist dir aufgefallen dass sich die letzten beiden Beispiele gleich anhören?
|
Ist dir aufgefallen dass sich die letzten beiden Beispiele gleich anhören?
|
||||||
|
|
||||||
Es kommt öfter vor dass man die gleiche Idee auf verschiedene Arten ausdrücken kann.
|
Es kommt öfter vor, dass man die gleiche Idee auf verschiedene Arten ausdrücken kann.
|
||||||
|
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
**Mehrere Zeilen mit \`**
|
**Mehrere Zeilen schreiben mit \` (backtick)**
|
||||||
|
|
||||||
<MiniRepl
|
<MiniRepl
|
||||||
hideHeader
|
hideHeader
|
||||||
client:visible
|
client:visible
|
||||||
tune={`sound(\`bd*2, ~ cp,
|
tune={`sound(\`bd*2, ~ cp,
|
||||||
~ ~ ~ oh, hh*4,
|
~ ~ ~ oh, hh*4,
|
||||||
[~ sawtooth]*2\`)`}
|
[~ casio]*2\`)`}
|
||||||
punchcard
|
punchcard
|
||||||
/>
|
/>
|
||||||
|
|
||||||
**Sound Nummer separat auswählen**
|
<Box>
|
||||||
|
|
||||||
Anstatt mit ":" kann man die Sound Nummer auch separat mir der `n` Funktion steuern:
|
Ob man " oder \` benutzt ist nur eine Frage der Übersichtlichkeit.
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`n("0 1 [4 2] 3*2").sound("jazz")`} punchcard />
|
</Box>
|
||||||
|
|
||||||
Das ist kürzer und lesbarer als:
|
**Sample Nummer separat auswählen**
|
||||||
|
|
||||||
|
Benutzt man nur einen Sound mit unterschiedlichen Sample Nummer sieht das so aus:
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("jazz:0 jazz:1 [jazz:4 jazz:2] jazz:3*2")`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("jazz:0 jazz:1 [jazz:4 jazz:2] jazz:3*2")`} punchcard />
|
||||||
|
|
||||||
|
Das gleiche kann man auch so schreiben:
|
||||||
|
|
||||||
|
<MiniRepl hideHeader client:visible tune={`n("0 1 [4 2] 3*2").sound("jazz")`} punchcard />
|
||||||
|
|
||||||
## Rückblick
|
## Rückblick
|
||||||
|
|
||||||
Wir haben jetzt die Grundlagen der sogenannten Mini-Notation gelernt, der Rhythmus-Sprache von Tidal.
|
Wir haben jetzt die Grundlagen der sogenannten Mini-Notation gelernt, der Rhythmus-Sprache von Tidal.
|
||||||
@ -309,3 +361,11 @@ insect [crow metal] ~ ~,
|
|||||||
|
|
||||||
Jetzt haben wir eine grundlegende Ahnung davon wie man mit Strudel Beats baut!
|
Jetzt haben wir eine grundlegende Ahnung davon wie man mit Strudel Beats baut!
|
||||||
Im nächsten Kapitel werden wir ein paar [Töne spielen](/de/workshop/first-notes).
|
Im nächsten Kapitel werden wir ein paar [Töne spielen](/de/workshop/first-notes).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
- vllt mal das wörtchen `sound` behandeln
|
||||||
|
- was ist überhaupt casio??
|
||||||
|
- Strg = ctrl on mac "+" ist verwirrend
|
||||||
|
- cursor ist sehr undeutlich wenn nicht in emacs mode
|
||||||
|
- wieviele zahlen gibt es
|
||||||
|
|||||||
@ -279,7 +279,7 @@ By the way, inside Mini-Notation, `fast` is `*` and `slow` is `/`.
|
|||||||
|
|
||||||
Instead of changing values stepwise, we can also control them with signals:
|
Instead of changing values stepwise, we can also control them with signals:
|
||||||
|
|
||||||
<MiniRepl hideHeader client:visible tune={`sound("hh*16").gain(sine)`} punchcard />
|
<MiniRepl hideHeader client:visible tune={`sound("hh*16").gain(sine)`} punchcard punchcardLabels={false} />
|
||||||
|
|
||||||
<Box>
|
<Box>
|
||||||
|
|
||||||
|
|||||||
@ -195,7 +195,7 @@ It is quite common that there are many ways to express the same idea.
|
|||||||
client:visible
|
client:visible
|
||||||
tune={`sound(\`bd*2, ~ cp,
|
tune={`sound(\`bd*2, ~ cp,
|
||||||
~ ~ ~ oh, hh*4,
|
~ ~ ~ oh, hh*4,
|
||||||
[~ sawtooth]*2\`)`}
|
[~ casio]*2\`)`}
|
||||||
punchcard
|
punchcard
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user