diff --git a/website/src/config.ts b/website/src/config.ts index 79463911..28d33c77 100644 --- a/website/src/config.ts +++ b/website/src/config.ts @@ -44,12 +44,13 @@ export type Sidebar = Record<(typeof KNOWN_LANGUAGE_CODES)[number], SidebarLang> export const SIDEBAR: Sidebar = { de: { Workshop: [ - { text: 'Intro', link: 'de/workshop/intro' }, + { text: 'Intro', link: 'de/workshop/getting-started' }, { text: 'Erste Sounds', link: 'de/workshop/first-sounds' }, { text: 'Erste Töne', link: 'de/workshop/first-notes' }, { text: 'Erste Effekte', link: 'de/workshop/first-effects' }, { text: 'Pattern Effekte', link: 'de/workshop/pattern-effects' }, { text: 'Rückblick', link: 'de/workshop/recap' }, + { text: 'More Pages in English', link: 'workshop/getting-started' }, ], }, en: { @@ -60,6 +61,7 @@ export const SIDEBAR: Sidebar = { { text: 'First Effects', link: 'workshop/first-effects' }, { text: 'Pattern Effects', link: 'workshop/pattern-effects' }, { text: 'Recap', link: 'workshop/recap' }, + { text: 'Workshop in German', link: 'de/workshop/getting-started' }, ], 'Making Sound': [ { text: 'Samples', link: 'learn/samples' }, diff --git a/website/src/pages/de/workshop/first-effects.mdx b/website/src/pages/de/workshop/first-effects.mdx index 71b1d393..9d4d22d0 100644 --- a/website/src/pages/de/workshop/first-effects.mdx +++ b/website/src/pages/de/workshop/first-effects.mdx @@ -332,3 +332,5 @@ Die ganze Automation braucht nun 8 cycle bis sie sich wiederholt. | pan | | | speed | ")`} /> | | range | | + +Lass uns nun die für Tidal typischen [Pattern Effekte anschauen](/de/workshop/pattern-effects). diff --git a/website/src/pages/de/workshop/first-notes.mdx b/website/src/pages/de/workshop/first-notes.mdx index 93ba9031..3c50db3c 100644 --- a/website/src/pages/de/workshop/first-notes.mdx +++ b/website/src/pages/de/workshop/first-notes.mdx @@ -387,4 +387,4 @@ Das geht mit `stack` 😙 /> Das hört sich doch langsam nach echter Musik an! -Wir haben Sounds, wir haben Töne.. noch ein Puzzleteil fehlt: [Effekte](/workshop/first-effects) +Wir haben Sounds, wir haben Töne.. noch ein Puzzleteil fehlt: [Effekte](/de/workshop/first-effects) diff --git a/website/src/pages/de/workshop/first-sounds.mdx b/website/src/pages/de/workshop/first-sounds.mdx index 8207765c..d272bb30 100644 --- a/website/src/pages/de/workshop/first-sounds.mdx +++ b/website/src/pages/de/workshop/first-sounds.mdx @@ -7,7 +7,7 @@ import { MiniRepl } from '@src/docs/MiniRepl'; import Box from '@components/Box.astro'; import QA from '@components/QA'; -## Erste Sounds +# Erste Sounds Dies ist das erste Kapitel im Strudel Workshop, schön dich an Bord zu haben! @@ -306,4 +306,4 @@ insect [crow metal] ~ ~, /> Jetzt haben wir eine grundlegende Ahnung davon wie man mit Strudel Beats baut! -Im nächsten Kapitel werden wir ein paar [Töne spielen](/workshop/first-notes). +Im nächsten Kapitel werden wir ein paar [Töne spielen](/de/workshop/first-notes). diff --git a/website/src/pages/de/workshop/getting-started.mdx b/website/src/pages/de/workshop/getting-started.mdx new file mode 100644 index 00000000..c341b73f --- /dev/null +++ b/website/src/pages/de/workshop/getting-started.mdx @@ -0,0 +1,74 @@ +--- +title: Intro +layout: ../../../layouts/MainLayout.astro +--- + +import { MiniRepl } from '../../../docs/MiniRepl'; + +# Willkommen + + + +Willkommen zum Strudel Workshop! +Du hast den richtigen Ort gefunden wenn du lernen möchstest wie man mit Code Musik macht. + +## Was ist Strudel + +Mit Strudel kann man dynamische Musikstücke in Echtzeit schreiben. +Es ist eine in JavaScript entwickelte Version von [Tidal Cycles](https://tidalcycles.org/) und wurde 2022 von Alex McLean und Felix Roos initiiert. +Tidal Cycles, auch bekannt unter dem Namen Tidal, ist eine Computersprache für algorithmische Muster. +Obwohl sie meistens für die Erzeugung von Musik eingesetzt wird, kann sie für jede Art von Tätigkeit eingesetzt werden, +in der Muster eine Rolle spielen. + +Du brauchst keine Erfahrung in JavaScript oder Tidal Cycles um mit Strudel Musik zu machen. +Dieser interaktive Workshop leitet dich spielerisch durch die Grundlagen von Strudel. +Der beste Ort um mit Strudel Musik zu machen ist das [Strudel REPL](https://strudel.tidalcycles.org/). + +## Was kann man mit Strudel machen? + +- Musik Live Coding: In Echtzeit mit Code Musik machen +- Algorithmische Komposition: Schreibe Musik mithilfe Tidals einzigartiger Sprache für Muster +- Lehren: Strudel eignet sich gut für Lehrende, da keine Installation nötig ist und die Sprache kein theoretisches Vorwissen erfordert. +- Mit anderen Musik-Anwendungen kombinieren: Per MIDI oder OSC kann Strudel als flexibler Sequencer mit jedem Setup kombiniert werden + +## Beispiel + +Hier ist ein Beispiel wie Strudel klingen kann: + +],hh*8") + .speed(perlin.range(.8,.9)), // random sample speed variation + // bassline + "" + .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps + .add(perlin.range(0,.5)) // random pitch variation + .superimpose(add(.05)) // add second, slightly detuned voice + .note() // wrap in "note" + .decay(.15).sustain(0) // make each note of equal length + .s('sawtooth') // waveform + .gain(.4) // turn down + .cutoff(sine.slow(7).range(300,5000)), // automate cutoff + // chords + ">".voicings('lefthand') + .superimpose(x=>x.add(.04)) // add second, slightly detuned voice + .add(perlin.range(0,.5)) // random pitch variation + .note() // wrap in "note" + .s('sawtooth') // waveform + .gain(.16) // turn down + .cutoff(500) // fixed cutoff + .attack(1) // slowly fade in +) +.slow(3/2)`} +/> + +Mehr Beispiele gibt es [hier](/examples). + +Du kannst auch im [Strudel REPL](https://strudel.tidalcycles.org/) auf `shuffle` klicken um ein zufälliges Beispiel zu hören. + +## Workshop + +Der beste Weg um Strudel zu lernen ist der nun folgende Workshop. +Wenn du bereit bist, lass uns loslegen mit deinen [ersten Sounds](/de/workshop/first-sounds). diff --git a/website/src/pages/de/workshop/intro.mdx b/website/src/pages/de/workshop/intro.mdx deleted file mode 100644 index 47f90b63..00000000 --- a/website/src/pages/de/workshop/intro.mdx +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Introduction -layout: ../../../layouts/MainLayout.astro ---- - -# Welcome - -Welcome to the Strudel documentation pages! -You've come to the right place if you want to learn how to make music with code. - -## What is Strudel? - -With Strudel, you can expressively write dynamic music pieces. -It is an official port of the [Tidal Cycles](https://tidalcycles.org/) pattern language to JavaScript. -You don't need to know JavaScript or Tidal Cycles to make music with Strudel. -This interactive tutorial will guide you through the basics of Strudel. -The best place to actually make music with Strudel is the [Strudel REPL](https://strudel.tidalcycles.org/) - -## What can you do with Strudel? - -- live code music: make music with code in real time -- algorithmic composition: compose music using tidal's unique approach to pattern manipulation -- teaching: focussing on a low barrier of entry, Strudel is a good fit for teaching music and code at the same time. -- integrate into your existing music setup: either via MIDI or OSC, you can use Strudel as a really flexible sequencer - -## Example - -Here is an example of how strudel can sound: - -],hh*8") - .speed(perlin.range(.8,.9)), // random sample speed variation - // bassline - "" - .off(1/8,x=>x.add(12).degradeBy(.5)) // random octave jumps - .add(perlin.range(0,.5)) // random pitch variation - .superimpose(add(.05)) // add second, slightly detuned voice - .note() // wrap in "note" - .decay(.15).sustain(0) // make each note of equal length - .s('sawtooth') // waveform - .gain(.4) // turn down - .cutoff(sine.slow(7).range(300,5000)), // automate cutoff - // chords - ">".voicings('lefthand') - .superimpose(x=>x.add(.04)) // add second, slightly detuned voice - .add(perlin.range(0,.5)) // random pitch variation - .note() // wrap in "note" - .s('sawtooth') // waveform - .gain(.16) // turn down - .cutoff(500) // fixed cutoff - .attack(1) // slowly fade in -) -.slow(3/2)`} -/> - -To hear more, go to the [Strudel REPL](https://strudel.tidalcycles.org/) and press shuffle to hear a random example pattern. diff --git a/website/src/pages/workshop/first-effects.mdx b/website/src/pages/workshop/first-effects.mdx index ab65ffe3..6ffa2170 100644 --- a/website/src/pages/workshop/first-effects.mdx +++ b/website/src/pages/workshop/first-effects.mdx @@ -331,3 +331,5 @@ The whole automation will now take 8 cycles to repeat. | pan | | | speed | ")`} /> | | range | | + +Let us now take a look at some of Tidal's typical [pattern effects](/de/workshop/pattern-effects).