--- title: First Sounds layout: ../../layouts/MainLayout.astro --- import { MiniRepl } from '@src/docs/MiniRepl'; import Box from '@components/Box.astro'; import QA from '@components/QA'; # First Sounds This is the first chapter of the Strudel Workshop, nice to have you on board! Let's start by making some noise: 1. ⬆️ click into the text field above ⬆️ 2. press `ctrl`+`enter` to play 3. change `casio` to `metal` 4. press `ctrl`+`enter` to update 5. press `ctrl`+`.` to stop Congratulations, you are now live coding! The whole page is filled with these text fields to interact with. You can always click inside and hit `ctrl`+`enter` to start / update and `ctrl+.` to stop. **Try more Sounds** You can pick a different sample from the same set, with `:`, followed by a number: Try changing `casio:0` to `casio:1` to hear a different sound in the `casio` set. Not using a number is like doing `:0` Here are some more sound sets to try: ``` insect wind jazz metal east crow casio space numbers ``` Try out different Combinations of sounds and numbers! You might hear a little pause while the sound is loading Now you know how to use different sounds. For now we'll stick to this little selection of sounds, but we'll find out how to load your own sounds later. ## Drum Sounds By default, Strudel comes with a wide selection of drum sounds: These letter combinations stand for different parts of a drum set: - `bd` = **b**ass **d**rum - `sd` = **s**nare **d**rum - `sd` = **sd**are - `rim` = **rim**shot - `hh` = **h**i**h**at - `oh` = **o**pen **h**ihat To change the sound character of our drums, we can use `bank` to change the drum machine: In this example `RolandTR909` is the name of the drum machine that we're using. It is a famous drum machine for house and techno beats. Try changing `RolandTR909` to one of - `AkaiLinn` - `RhythmAce` - `RolandTR808` - `RolandTR707` - `ViscoSpaceDrum` There are a lot more, but let's keep it simple for now ## Sequences In the last example, we already saw that you can play multiple sounds in a sequence by separating them with a space: Notice how the currently playing sound is highlighted in the code and also visualized below. Try adding more sounds to the sequence! **The longer the sequence, the faster it runs** The content of a sequence will be squished into what's called a cycle. **One way to change the tempo is using `cpm`** cpm = cycles per minute By default, the tempo is 60 cycles per minute = 1 cycle per second. We will look at other ways to change the tempo later! **Add a rests in a sequence with '~'** **Sub-Sequences with [brackets]** Try adding more sounds inside a bracket! Similar to the whole sequence, the content of a sub-sequence will be squished to the its own length. **Multiplication: Speed things up** **Multiplication: Speed up sequences** **Multiplication: Speeeeeeeeed things up** Pitch = really fast rhythm **Sub-Sub-Sequences with [[brackets]]** You can go as deep as you want! **Play sequences in parallel with comma** You can use as many commas as you want: Commas can also be used inside sub-sequences: Notice how the 2 above are the same? It is quite common that there are many ways to express the same idea. **Multiple Lines with backticks** **selecting sample numbers separately** Instead of using ":", we can also use the `n` function to select sample numbers: This is shorter and more readable than: ## Recap Now we've learned the basics of the so called Mini-Notation, the rhythm language of Tidal. This is what we've leared so far: | Concept | Syntax | Example | | ----------------- | -------- | -------------------------------------------------------------------------------- | | Sequence | space | | | Sample Number | :x | | | Rests | ~ | | | Sub-Sequences | \[\] | | | Sub-Sub-Sequences | \[\[\]\] | | | Speed up | \* | | | Parallel | , | | The Mini-Notation is usually used inside some function. These are the functions we've seen so far: | Name | Description | Example | | ----- | ----------------------------------- | ---------------------------------------------------------------------------------- | | 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 **Basic rock beat** **Classic house** Notice that the two patterns are extremely similar. Certain drum patterns are reused across genres. We Will Rock you **Yellow Magic Orchestra - Firecracker** **Imitation of a 16 step sequencer** **Another one** **Not your average drums** Now that we know the basics of how to make beats, let's look at how we can play [notes](/workshop/first-notes)