jevstrudel.git / website / src / pages / de / workshop / getting-started.mdx
getting-started.mdx74 lines · 2.8 KB · raw
1---
2title: Intro
3layout: ../../../layouts/MainLayout.astro
4---
5
6import { MiniRepl } from '../../../docs/MiniRepl';
7
8# Willkommen
9
10<div className="w-32 animate-pulse md:float-right ml-8">![Strudel Icon](/icons/strudel_icon.png)</div>
11
12Willkommen zum Strudel Workshop!
13Du hast den richtigen Ort gefunden wenn du lernen möchtest wie man mit Code Musik macht.
14
15## Was ist Strudel
16
17Mit Strudel kann man dynamische Musikstücke in Echtzeit schreiben.
18Es ist eine in JavaScript entwickelte Version von [Tidal Cycles](https://tidalcycles.org/) und wurde 2022 von Alex McLean und Felix Roos initiiert.
19Tidal Cycles, auch bekannt unter dem Namen Tidal, ist eine Computersprache für algorithmische Muster.
20Obwohl sie meistens für die Erzeugung von Musik eingesetzt wird, kann sie für jede Art von Tätigkeit eingesetzt werden,
21in der Muster eine Rolle spielen.
22
23Du brauchst keine Erfahrung in JavaScript oder Tidal Cycles um mit Strudel Musik zu machen.
24Dieser interaktive Workshop leitet dich spielerisch durch die Grundlagen von Strudel.
25Der beste Ort um mit Strudel Musik zu machen ist das [Strudel REPL](https://strudel.cc/).
26
27## Was kann man mit Strudel machen?
28
29- Musik Live Coding: In Echtzeit mit Code Musik machen
30- Algorithmische Komposition: Schreibe Musik mithilfe Tidals einzigartiger Sprache für Muster
31- Lehren: Strudel eignet sich gut für Lehrende, da keine Installation nötig ist und die Sprache kein theoretisches Vorwissen erfordert.
32- Mit anderen Musik-Anwendungen kombinieren: Per MIDI oder OSC kann Strudel als flexibler Sequencer mit jedem Setup kombiniert werden
33
34## Beispiel
35
36Hier ist ein Beispiel wie Strudel klingen kann:
37
38<MiniRepl
39  client:idle
40  tune={`stack(
41  // drums
42  s("bd,[~ <sd!3 sd(3,4,2)>],hh*8")
43  .speed(perlin.range(.8,.9)), // random sample speed variation
44  // bassline
45  "<a1 b1\*2 a1(3,8) e2>" 
46  .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps
47  .add(perlin.range(0,.5)) // random pitch variation
48  .superimpose(add(.05)) // add second, slightly detuned voice
49  .note() // wrap in "note"
50  .decay(.15).sustain(0) // make each note of equal length
51  .s('sawtooth') // waveform
52  .gain(.4) // turn down
53  .cutoff(sine.slow(7).range(300,5000)), // automate cutoff
54  // chords
55  "<Am7!3 <Em7 E7b13 Em7 Ebm7b5>>".voicings('lefthand') 
56  .superimpose(x=>x.add(.04)) // add second, slightly detuned voice
57  .add(perlin.range(0,.5)) // random pitch variation
58  .note() // wrap in "note"
59  .s('sawtooth') // waveform
60  .gain(.16) // turn down
61  .cutoff(500) // fixed cutoff
62  .attack(1) // slowly fade in
63)
64.slow(3/2)`}
65/>
66
67Mehr Beispiele gibt es [hier](/examples).
68
69Du kannst auch im [Strudel REPL](https://strudel.cc/) auf `shuffle` klicken um ein zufälliges Beispiel zu hören.
70
71## Workshop
72
73Der beste Weg um Strudel zu lernen ist der nun folgende Workshop.
74Wenn du bereit bist, lass uns loslegen mit deinen [ersten Sounds](/de/workshop/first-sounds).