From 105193a45223555d39fa69ae069ba679304d9587 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Wed, 7 Jun 2023 21:22:01 +0200 Subject: [PATCH] replace tutorial with workshop + move parts of tutorial to more + move more before Pattern Functions --- website/public/icons/strudel_icon.png | Bin 0 -> 23070 bytes website/src/config.ts | 27 ++- .../src/pages/de/workshop/first-sounds.mdx | 2 +- website/src/pages/de/workshop/langebank.mdx | 154 ------------------ website/src/pages/learn/code.mdx | 30 ++-- website/src/pages/learn/factories.mdx | 4 +- website/src/pages/learn/mini-notation.mdx | 14 +- website/src/pages/workshop/first-sounds.mdx | 2 + .../{intro.mdx => getting-started.mdx} | 13 +- website/src/pages/workshop/langebank.mdx | 36 ++++ 10 files changed, 87 insertions(+), 195 deletions(-) create mode 100644 website/public/icons/strudel_icon.png delete mode 100644 website/src/pages/de/workshop/langebank.mdx rename website/src/pages/workshop/{intro.mdx => getting-started.mdx} (85%) diff --git a/website/public/icons/strudel_icon.png b/website/public/icons/strudel_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9ad8e172ae44243f66ecfb081c46ba4eb293ee GIT binary patch literal 23070 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 - -1. press play button to start -2. change `house` to `casio` -3. press refresh button to update -4. press stop button to stop - - - -**Change tempo** - - - -adding your own samples - - - -").slow(3)`} - punchcard -/> - -n(run(8)).sound("east") - -Shorter variant: - - - -polyrythms & polymeters - --- This can make for flexible time signatures: - -d1 $ sound "[bd bd sn:5] [bd sn:3]" - --- You can put subsequences inside subsequences: -d1 $ sound "[[bd bd] bd sn:5] [bd sn:3]" - --- Keep going.. -d1 $ sound "[[bd [bd bd bd bd]] bd sn:5] [bd sn:3]" - --- \* Polymetric / polyrhythmic sequences - --- Play two subsequences at once by separating with a comma: - -d1 $ sound "[voodoo voodoo:3, arpy arpy:4 arpy:2]" - --- compare how [,] and {,} work: - -d1 $ sound "[voodoo voodoo:3, arpy arpy:4 arpy:2]" - -d1 $ sound "{voodoo voodoo:3, arpy arpy:4 arpy:2}" - -d1 $ sound "[drum bd hh bd, can can:2 can:3 can:4 can:2]" - -d1 $ sound "{drum bd hh bd, can can:2 can:3 can:4 can:2}" - -d1 $ sound "[bd sn, can:2 can:3 can:1, arpy arpy:1 arpy:2 arpy:3 arpy:5]" - -d1 $ sound "{bd sn, can:2 can:3 can:1, arpy arpy:1 arpy:2 arpy:3 arpy:5}" - -**Play X per cycle with \{ \}** - - - - - -Try different numbers after `%` - -`{ ... }%1` is the same as `< ... >` - - - -## Bracket Recap - -- `[]` squeezes contents to 1 cycle -- `<>` plays one item per cycle -- `{}%x` plays x items per cycle - -/2")) -.sound("gm_synth_bass_1")`} -/> - -vertical - - -< 4 4 4 3> -<[2,7] [2,6] [1,6] [1,6]> -< 4 4 4 3> ->*2\`) -.scale("/4") -.sound("piano")`} -/> - -horizontal - -*2\`) -.scale("/4") -.sound("piano")`} -/> diff --git a/website/src/pages/learn/code.mdx b/website/src/pages/learn/code.mdx index 678d4ccc..6ac1d389 100644 --- a/website/src/pages/learn/code.mdx +++ b/website/src/pages/learn/code.mdx @@ -6,31 +6,31 @@ layout: ../../layouts/MainLayout.astro import { MiniRepl } from '../../docs/MiniRepl'; import { JsDoc } from '../../docs/JsDoc'; -# Strudel Code +# Coding Syntax -Now that we have played some notes using different sounds, let's take a step back and look how we actually achieved this using _code_. +Let's take a step back and understand how the syntax in Strudel works. -Let's look at this simple example again. What do we notice? +Take a look at this simple example: - + -- We have a word `freq` which is followed by some brackets `()` with some words/letters/numbers inside, surrounded by quotes `"220 275 330 440"` (corresponding to the pitches a3, c#4, e4, a4). -- Then we have a dot `.` followed by another similar piece of code `s("sine")`. -- We can also see these texts are _highlighted_ using colours: word `freq` is purple, the brackets `()` are grey, and the content inside the `""` are green. +- We have a word `note` which is followed by some brackets `()` with some words/letters/numbers inside, surrounded by quotes `"c a f e"` +- Then we have a dot `.` followed by another similar piece of code `s("piano")`. +- We can also see these texts are _highlighted_ using colours: word `note` is purple, the brackets `()` are grey, and the content inside the `""` are green. (The colors could be different if you've changed the default theme) What happens if we try to 'break' this pattern in different ways? - + - + - + Ok, none of these seem to work... - + -This one does work, but now we can't hear the four different events and frequencies anymore. +This one does work, but now we only hear the first note... So what is going on here? @@ -69,14 +69,12 @@ You can also use the keyboard shortcut `cmd-/` to toggle comments on and off. # Strings -Ok, so what about the content inside the quotes (e.g. `"a3 c#4 e4 a4"`)? +Ok, so what about the content inside the quotes (e.g. `"c a f e"`)? In JavaScript, as in most programming languages, this content is referred to as being a [_string_](). A string is simply a sequence of individual characters. In TidalCycles, double quoted strings are used to write _patterns_ using the mini-notation, and you may hear the phrase _pattern string_ from time to time. If you want to create a regular string and not a pattern, you can use single quotes, e.g. `'C minor'` will not be parsed as Mini Notation. -The good news is, that this covers 99% of the JavaScript syntax needed for Strudel! - -Let's now look at the way we can express [Rhythms](/learn/mini-notation)... +The good news is, that this covers most of the JavaScript syntax needed for Strudel!
diff --git a/website/src/pages/learn/factories.mdx b/website/src/pages/learn/factories.mdx index 46567e34..0d93fb21 100644 --- a/website/src/pages/learn/factories.mdx +++ b/website/src/pages/learn/factories.mdx @@ -1,12 +1,12 @@ --- -title: Pattern Constructors +title: Creating Patterns layout: ../../layouts/MainLayout.astro --- import { MiniRepl } from '../../docs/MiniRepl'; import { JsDoc } from '../../docs/JsDoc'; -# Pattern Constructors +# Creating Patterns The following functions will return a pattern. These are the equivalents used by the Mini Notation: diff --git a/website/src/pages/learn/mini-notation.mdx b/website/src/pages/learn/mini-notation.mdx index 79e81fc4..d0844f45 100644 --- a/website/src/pages/learn/mini-notation.mdx +++ b/website/src/pages/learn/mini-notation.mdx @@ -8,11 +8,17 @@ import { JsDoc } from '../../docs/JsDoc'; # Mini-notation -Similar to [Haskell Tidal Cycles](https://tidalcycles.org/docs/), Strudel has an "embedded mini-notation" (also called a [domain-specific language, or DSL](https://en.wikipedia.org/wiki/Domain-specific_language)) that is designed for writing rhythmic patterns using little amounts of text. -If you've seen any Tidal code before, you may have noticed the mini-notation and wondered what it's all about. -It's one of the main features of Tidal, and although it might look like a strange way to notate music and other patterns, you will soon see how powerful it can be. +Just like [Tidal Cycles](https://tidalcycles.org/), Strudel uses a so called "Mini-Notation", which is a custom language that is designed for writing rhythmic patterns using little amounts of text. -Before diving deeper into the details, here is a flavour of how the mini-notation looks like: +## Note + +This page just explains the entirety of the Mini-Notation syntax. +If you are just getting started with Strudel, you can learn the basics of the Mini-Notation in a more practical manner in the [workshop](http://localhost:3000/workshop/first-sounds). +After that, you can come back here if you want to understand every little detail. + +## Example + +Before diving deeper into the details, here is a flavour of how the Mini-Notation looks like: + 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. +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 @@ -59,3 +63,8 @@ Here is an example of how strudel can sound: /> To hear more, go to the [Strudel REPL](https://strudel.tidalcycles.org/) and press shuffle to hear a random example pattern. + +## Getting Started + +The best way to start learning Strudel is the workshop. +If you're ready to dive in, let's start with your [first sounds](/workshop/first-sounds) diff --git a/website/src/pages/workshop/langebank.mdx b/website/src/pages/workshop/langebank.mdx index 7a1ca697..c38888aa 100644 --- a/website/src/pages/workshop/langebank.mdx +++ b/website/src/pages/workshop/langebank.mdx @@ -152,3 +152,39 @@ n(\`< .scale("/4") .sound("piano")`} /> + +# dinge die es im alten tutorial gab, die jetzt noch nicht im workshop sind + +## `freq` + +To get maximum freedom, you can also use `freq` to directly control the frequency: + + + +## Hearing and frequency + +In the above example, we play A3 (220Hz), C#4 natural (275Hz), E4 (330Hz) and A4 (440Hz), mirroring our previous examples. + +But can you hear the difference between these individual frequencies? + + + +How about these? + + + +The higher we go up... + + + +The less distance we can hear between the frequencies! + + + +Why is this? [Human hearing operates logarithmically](https://www.audiocheck.net/soundtests_nonlinear.php). + +## coding syntax + +## getting-started + +## sounds \ No newline at end of file