--- 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 ## Make a Sound Let's start by making some noise: 1. ⬆️ click into the text field above ⬆️ 2. press `ctrl`+`enter` to play 3. change `house` to `casio` 4. press `ctrl`+`enter` to update 5. press `ctrl`+`.` to stop Congratulations, you are now live coding! **Try more Sounds** You can pick a different sample from the same set, with ':' Try changing `east:1` to `east:2` to hear a different sound in the `east` set. You can try other numbers too! You might hear a little pause while the sound is loading Here are some more sound sets to try: ``` casio control crow techno house jazz metal east jvbass juno insect space wind ``` 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 - `sn` = **sn**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** ## 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 | , | | ## 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)