diff --git a/website/public/img/drumset.png b/website/public/img/drumset.png new file mode 100644 index 00000000..6a222ba1 Binary files /dev/null and b/website/public/img/drumset.png differ diff --git a/website/src/pages/workshop/first-notes.mdx b/website/src/pages/workshop/first-notes.mdx index df3c90a5..fdfc4e58 100644 --- a/website/src/pages/workshop/first-notes.mdx +++ b/website/src/pages/workshop/first-notes.mdx @@ -145,37 +145,23 @@ We will see more ways to combine patterns later.. ## Longer Sequences -**Divide sequences with `/` to slow them down** +**Play one per cycle with `< ... >`** -{/* [c2 bb1 f2 eb2] */} - - - - - -The `/4` plays the sequence in brackets over 4 cycles (=4s). - -So each of the 4 notes is 1s long. - -Try adding more notes inside the brackets and notice how it gets faster. - - - -Because it is so common to just play one thing per cycle, you can.. - -**Play one per cycle with \< \>** +In the last section, we learned that `< ... >` (angle brackets) can be used to play only one thing per cycle, +which is useful for longer melodies too: ").sound("gm_acoustic_bass")`} punchcard /> -Try adding more notes inside the brackets and notice how it does **not** get faster. +Try adding more notes inside the brackets and notice how the tempo stays the same. **Play one sequence per cycle** -{/* <[c2 c3]*4 [bb1 bb2]*4 [f2 f3]*4 [eb2 eb3]*4> */} +We can combine the 2 types of brackets in all sorts of different ways. +Here is an example of a repetitive bassline: | | Alternate | \<\> | ")`} /> | | Elongate | @ | | | Replicate | ! | | diff --git a/website/src/pages/workshop/first-sounds.mdx b/website/src/pages/workshop/first-sounds.mdx index eece6a3f..33f222f0 100644 --- a/website/src/pages/workshop/first-sounds.mdx +++ b/website/src/pages/workshop/first-sounds.mdx @@ -78,11 +78,22 @@ By default, Strudel comes with a wide selection of drum sounds: These letter combinations stand for different parts of a drum set: + + + + original image by Pbroks13 + + - `bd` = **b**ass **d**rum - `sd` = **s**nare **d**rum - `rim` = **rim**shot - `hh` = **h**i**h**at - `oh` = **o**pen **h**ihat +- `lt` = **l**ow tom +- `mt` = **m**iddle tom +- `ht` = **h**igh tom +- `rd` = **r**i**d**e cymbal +- `rd` = **cr**ash cymbal Try out different drum sounds! @@ -129,29 +140,56 @@ Try adding more sounds to the sequence! -The content of a sequence will be squished into what's called a cycle. +The content of a sequence will be squished into what's called a cycle. A cycle is 2s long by default. -**One way to change the tempo is using `cpm`** +**One per cycle with `< .. >`** - +Here is the same sequence, but this time sourrounded with `< .. >` (angle brackets): + +")`} punchcard /> + +This will play only one sound per cycle. With these brackets, the tempo doesn't change when we add or remove elements! + +Because this is now very slow, we can speed it up again like this: + +*8")`} punchcard /> + +Here, the `*8` means we make the whole thing 8 times faster. + + + +Wait a minute, isn't this the same as without `< ... >*8`? Why do we need it then? + +That's true, the real advantage of this notation is that the tempo won't change when you add or remove elements, try it! + +Try also changing the number at the end to change the tempo! + + + +**changing the tempo with cpm** + +You can change the overall tempo with `.cpm(...)`: + +*8").cpm(90/4)`} punchcard /> cpm = cycles per minute -By default, the tempo is 30 cycles per minute = 1 half cycle per second. +By default, the tempo is 30 cycles per minute = 120/4 = 1 cycle every 2 seconds + +In more traditional terms, you could say the above are 8ths notes at 90bpm in 4/4 time. +But don't worry if you don't know these terms, as they are not required to make music with Strudel. -We will look at other ways to change the tempo later! +**Add a rests in a sequence with '-' or '~'** -**Add a rests in a sequence with '~'** - - + **Sub-Sequences with [brackets]** - + @@ -163,7 +201,7 @@ Similar to the whole sequence, the content of a sub-sequence will be squished to **Multiplication: Speed things up** - + **Multiplication: Speed up subsequences** @@ -195,7 +233,7 @@ You can go as deep as you want! You can use as many commas as you want: - + Commas can also be used inside sub-sequences: @@ -213,9 +251,9 @@ It is quite common that there are many ways to express the same idea. @@ -238,7 +276,7 @@ This is what we've leared so far: | ----------------- | -------- | ----------------------------------------------------------------------- | | Sequence | space | | | Sample Number | :x | | -| Rests | ~ | | +| Rests | - or ~ | | | Sub-Sequences | \[\] | | | Sub-Sub-Sequences | \[\[\]\] | | | Speed up | \* | | @@ -248,9 +286,9 @@ The Mini-Notation is usually used inside some function. These are the functions | Name | Description | Example | | ----- | ----------------------------------- | --------------------------------------------------------------------------------- | -| sound | plays the sound of the given name | | -| bank | selects the sound bank | | -| cpm | sets the tempo in cycles per minute | | +| sound | plays the sound of the given name | | +| bank | selects the sound bank | | +| cpm | sets the tempo in cycles per minute | | | n | select sample number | | ## Examples @@ -266,7 +304,7 @@ The Mini-Notation is usually used inside some function. These are the functions **Classic house** - + @@ -283,7 +321,7 @@ We Will Rock you @@ -293,10 +331,10 @@ We Will Rock you @@ -306,10 +344,10 @@ We Will Rock you @@ -319,9 +357,9 @@ We Will Rock you