From 7bf69a1d2738c783a420b61a547ec33e0ba06641 Mon Sep 17 00:00:00 2001 From: Raphael Forment Date: Wed, 17 Jan 2024 09:34:15 +0100 Subject: [PATCH] Documentation drumMachine --- .../learning/samples/sample_list.ts | 62 +++++++++++++++---- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/src/documentation/learning/samples/sample_list.ts b/src/documentation/learning/samples/sample_list.ts index 8606672..f51820d 100644 --- a/src/documentation/learning/samples/sample_list.ts +++ b/src/documentation/learning/samples/sample_list.ts @@ -65,12 +65,12 @@ On this page, you will find an exhaustive list of all the samples currently load A very large collection of wavetables for wavetable synthesis. This collection has been released by Kristoffer Ekstrand: [AKWF Waveforms](https://www.adventurekid.se/akrt/waveforms/adventure-kid-waveforms/). Every sound sample that starts with wt_ will be looped. Look at this demo: ${makeExample( - "Wavetable synthesis made easy :)", - ` + "Wavetable synthesis made easy :)", + ` beat(0.5)::sound('wt_stereo').n([0, 1].pick()).ad(0, .25).out() `, - true, -)} + true, + )} Pick one folder and spend some time exploring it. There is a lot of different waveforms. @@ -81,15 +81,16 @@ ${samples_to_markdown(application, "Waveforms")} ## Drum machines sample pack -A set of 72 classic drum machines created by **Geikha**: [Geikha Drum Machines](https://github.com/geikha/tidal-drum-machines). To use them efficiently, it is best to use the .bank() parameter like so: +A set of 72 classic drum machines created by **Geikha**: [Geikha Drum Machines](https://github.com/geikha/tidal-drum-machines). To use them efficiently, it is best +to use the .bank() parameter like so: ${makeExample( - "Using a classic drum machine", - ` + "Using a classic drum machine", + ` beat(0.5)::sound(['bd', 'cp'].pick()).bank("AkaiLinn").out() `, - true, -)} + true, + )} Here is the complete list of available machines: @@ -98,6 +99,41 @@ Here is the complete list of available machines: ${samples_to_markdown(application, "Machines")} +In practice, using them will lead you to write short two letters long sample names, each one for a different piece of the kit: + +| Kit Piece | Short name | +|-----------|----------------| +| +| **Bass/kick drum** | bd | +| **Snare drum** | sd | +| **Rimshot** | rim | +| **Clap** | cp | +| **Closed hi-hat** | hh | +| **Open hi-hat** | oh | +| **Crash** | cr | +| **Ride** | rd | +| **Shakers (and maracas, cabasas, etc)** | sh | +| **High tom** | ht | +| **Medium tom** | mt | +| **Low tom** | lt | +| **Cowbell** | cb | +| **Tambourine** | tb | +| **Other percussions** | perc | +| **Miscellaneous samples** | misc | +| **Effects** | fx | + +Note that there is also a drumMachine function that allows you to play a random drum machine without even typing the name. +It takes a single argument, a number, that will pick a machine for you in the list: + +${makeExample( + "Using a classic drum machine", + ` +beat(1/2)::sound(['bd', 'cp'].pick()).drumMachine(1).out() +`, + true, + )} + + ## FoxDot sample pack The default sample pack used by Ryan Kirkbride's [FoxDot](https://github.com/Qirky/FoxDot). It is a nice curated sample pack that covers all the basic sounds you could want. @@ -119,12 +155,12 @@ ${samples_to_markdown(application, "Amiga")} A collection of many different amen breaks. Use .stretch() to play with these: ${makeExample( - "Stretching an amen break", - ` + "Stretching an amen break", + ` beat(4)::sound('amen1').stretch(4).out() `, - true, -)} + true, + )} The stretch should be adapted based on the length of each amen break.