日本語

Block dictionary

When do you use this block? How do you use it? Find out here.

Home Tutorial Block dictionary Rhythm book New project

This dictionary shows how to use each block, from the top of the palette down. Build the blocks as in the pictures and try them. "Open all the examples" opens a project with all the examples of the dictionary.

The names of the blocks and ▼ menus are the names of the functions and sounds of Strudel. Open "Name and history" to see where each name comes from.

The blocks in "play on track [ ]", from top to bottom, become the steps such as .fast(4) of Strudel.

Where do Strudel's names come from?

Strudel is based on TidalCycles, a programming language for music. Alex McLean from the UK made it around 2009 in a language called Haskell. People all over the world use it for "live coding": playing music by changing the code while it runs.

In 2022, Felix Roos and Alex McLean moved the ideas of TidalCycles into JavaScript, so it can play music right in your web browser. That is Strudel. So many names, like fast rev every jux, come from TidalCycles. Counting time in "cycles" also comes from the name TidalCycles.

Sound names (like bd lpf sawtooth) are even older. They come from the history of drum machines and synthesizers.

Getting started

show blocks for [ ] Beginner

show blocks for [ ]

What does it do?

Chooses which blocks are in the palette by level. Beginner shows a few, Normal adds mini-notation and effects, and Master shows all the blocks.

Try it

Click the green flag, and the Normal blocks appear in the palette.

When to use it

  • Put it at the start of a project so that the blocks it needs are in the palette

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

Strudel does not have it: it is a block of this extension, so that you can add blocks little by little and not get lost.

Tracks and tempo

play on track [ ] Strudel: $: Beginner

play on track [ ]

What does it do?

Makes a pattern from the blocks in it and keeps playing it on a named track. Play the same name again, and it changes at the next cycle. Use another name, and the tracks play together.

Try it

The kick keeps playing: boom boom boom boom.

When to use it

  • Put drums, bass and melody on separate tracks, to stop or change them one by one
  • Play the same track with another pattern when a key is pressed, to switch the music

In Strudel

s("bd").fast(4)
Name and history

The blocks in it are read from the top, and each becomes one step of Strudel, such as .fast(4). One track is one $: line of Strudel.

stop track [ ] Strudel: hush Beginner

stop track [ ]

What does it do?

Stops the named track. The other tracks keep playing.

Try it

Press space, and only the track "drums" stops.

When to use it

In Strudel

$: s("bd*4").hush()
Name and history

In Strudel, delete the line, or add .hush() (be quiet) at its end.

stop all tracks Strudel: hush Beginner

stop all tracks

What does it do?

Stops and forgets all the tracks. The red stop button only stops the sound and keeps the tracks (they stay in "Strudel code of all tracks"); this block forgets them too.

Try it

Press 0, and all the sound stops.

When to use it

  • Use it at the end of a song, or to start again

In Strudel

hush()
Name and history

Hush means "shh, be quiet". In strudel.cc, Ctrl + . stops the sound too.

set tempo to [ ] BPM Strudel: setcpm Beginner

set tempo to [ ] BPM

What does it do?

Sets the tempo (beats in a minute). Usually about 120: hip hop is about 90, drum and bass about 170.

Try it

Click the green flag, and the tempo becomes 90: slower.

When to use it

  • Choose a tempo for the genre (the rhythm book has the BPM of each genre)

In Strudel

setcpm(90/4)
Name and history

BPM = beats per minute. Strudel counts cycles, so with 4 beats in a cycle it writes setcpm(90/4) (22.5 cycles a minute).

set beats in a cycle to [ ] Strudel: setcpm Normal

set beats in a cycle to [ ]

What does it do?

Sets how many beats a cycle has. Usually 4. Set 3 for three beats, like a waltz.

Try it

It plays in three: boom chick chick.

When to use it

  • Make a waltz or a song in 6/8
  • Change how often "when a beat comes" runs

In Strudel

setcpm(120/3)
$: s("bd sd sd")
Name and history

The tempo (BPM) stays, and the length of a cycle changes. "When a beat comes" and "beat" follow this number.

Choosing sounds

s [ ] Strudel: s Beginner

s [ ]

What does it do?

Chooses the kind of sound. In Beginner you choose it with ▼; from Normal you can write mini-notation. At the top of a track it sets the sound; below, it changes the sound (.s()).

Try it

It plays boom tick clap tick.

When to use it

  • Write a drum rhythm (rhythm book)
  • Put it below note to play the notes with a piano or a synth

In Strudel

s("bd hh sd hh")

Names you can use

NameWhat does it do?
bd sd hh oh cp rim lt mt ht crNames of drum sounds. bd = bass drum, sd = snare, hh = hi-hat, oh = open hi-hat, cp = clap (hand clap), rim = rim, lt / mt / ht = low / middle / high tom, cr = crash cymbal.
s("bd hh sd hh")
sbdA kick made by a synthesizer (synth bass drum). It is not a recorded sound. It is made by calculation.
s("sbd!4")
sine square sawtooth triangleThe basic wave shapes of a synthesizer. sine = soft, square = beepy, sawtooth = jagged and bright, triangle = clean.
note("c4").s("sawtooth")
supersawA thick, sparkly sound made by stacking many sawtooth waves, each a little out of tune.
note("[a3,c4,e4]").s("supersaw")
whiteA "shhh" noise. Used for a riser, a sound that gets louder and louder in a build-up.
s("white*16")
Name and history

Short for sound. The name comes straight from SuperDirt, the sound engine of TidalCycles.

bd sd hh oh cp rim lt mt ht cr: These short names come from the labels on drum machine knobs. They became popular as sound folder names in TidalCycles. bd = bass drum, sd = snare drum, hh = hi-hat.

sbd: The "boom" kick that slides down in pitch works the same way as the TR-808 kick: the pitch drops very quickly.

sine square sawtooth triangle: They are all names of wave shapes. sine is the sine wave from math, square is a square, sawtooth is "the teeth of a saw", and triangle is a triangle. They have been used since the analog synths of the 1960s.

supersaw: The name of a feature on the Roland JP-8000 synth, which came out around 1997. Its sound of 7 stacked sawtooth waves became a typical sound of a kind of music called trance.

white: White noise. White light has all colors mixed in. In the same way, this noise has all pitches mixed in at about the same amount, so it is called "white".

note [ ] Strudel: note Beginner

note [ ]

What does it do?

Writes the pitch with a note name (c4) or a number (60 = c4). Put s below it to play it with that sound.

Try it

The piano plays C, E, G.

When to use it

  • Write a melody or a bass line
  • Write [c4,e4,g4] with commas to play a chord

In Strudel

note("c4 e4 g4").s("piano")
Name and history

"Note" means a musical note. The numbers are MIDI numbers (MIDI is a shared set of rules for electronic instruments, made in 1983). 60 is middle C.

n [ ] Strudel: n Normal

n [ ]

What does it do?

Writes which note of a scale to play, by number. Put scale below it to turn the numbers into notes of that scale. 0 is the first. With numbers you never play a wrong note.

Try it

It plays C, E, G and the high C.

When to use it

  • Write a melody which stays in the scale
  • Change only the scale to make the same melody bright or dark

In Strudel

n("0 2 4 7").scale("C4:major").s("piano")
Name and history

n means number.

seq [ ] [ ] [ ] [ ] Strudel: seq Beginner

seq [ ] [ ] [ ] [ ]

What does it do?

Puts sounds in order inside one cycle. With 4 sounds, each one plays for 1/4 of a cycle.

Try it

It plays boom tick clap tick.

When to use it

  • Build a rhythm in Beginner. Choose ~ (rest) in ▼ for a step with no sound

In Strudel

seq(s("bd"), s("hh"), s("sd"), s("hh"))
Name and history

Short for sequence (a line of things in order). It is the same word as "sequencer", a machine that plays sounds in order. In mini-notation, put them in a row with spaces ("bd hh sd hh").

stack [ ] [ ] Strudel: stack Beginner

stack [ ] [ ]

What does it do?

Plays sounds at the same time, stacked up.

Try it

The kick and the hi-hat play together, 4 times.

When to use it

  • Play two sounds together in Beginner. To stack more, use the C block stack or separate tracks

In Strudel

stack(s("bd"), s("hh")).fast(4)
Name and history

It means "to pile up" in English. In mini-notation, a , (comma) does the same thing ("bd, hh").

stack (C block) Strudel: stackBranch Normal

stack (C block)

What does it do?

Plays the blocks in it as another chain, at the same time as the sound above. Blocks in it change only the sound in it; blocks below it change all the sounds.

Try it

The kick and the snare play together, with the sounds of the TR-909.

When to use it

  • Write each drum in its own short input, easy to read (rhythm book)

In Strudel

stack(s("bd*4"), s("[~ sd]*2")).bank("RolandTR909")
Name and history

One of these blocks is one part between the commas of stack( , ) in Strudel. Separate tracks can be stopped one by one; stacked sounds stop together.

cat [ ] [ ] Strudel: cat Beginner

cat [ ] [ ]

What does it do?

Plays them by turns, one per cycle. First c4, then g4, then c4 again...

Try it

It plays C, G, C, G by turns.

When to use it

  • Change the bass note every cycle

In Strudel

cat(note("c4"), note("g4")).fast(4)
Name and history

Short for concatenate (to join together). In programming, this name is often used for joining text. It is the same as < > in mini-notation.

sprite sound [ ] Normal

sprite sound [ ]

What does it do?

Plays a sound in the Sounds tab of the sprite (such as your recorded voice), like a drum.

Try it

The cat says meow twice.

When to use it

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

Strudel loads sound files with samples(). strudel.cc cannot read the sounds of a sprite, so they do not play in the exported code.

chord [ ] [ ] Master

chord [ ] [ ]

What does it do?

Plays a chord from a root and a kind. major is bright, minor is dark, 7 and maj7 sound jazzy.

Try it

C, E, G and B play together.

When to use it

  • Put arp below it to play the notes one by one
  • Chop the chord with struct

In Strudel

note("[c4,e4,g4,b4]").s("piano")
Name and history

"Chord" comes from the same word as accord (agreement, harmony).

Changing the sound

The blocks from here go below a sound block in a track. They work from the top down.

fast [ ] Strudel: fast Beginner

fast [ ]

What does it do?

Makes the pattern N times faster. A single sound plays N times in one cycle.

Try it

The hi-hat ticks 8 times in a cycle.

When to use it

  • Make the hi-hat tick (8 for eighth notes, 16 for sixteenth notes)
  • Play a melody twice as fast

In Strudel

s("hh").fast(8)
Name and history

A basic name from TidalCycles. It is the same as * in mini-notation ("hh*8").

slow [ ] Strudel: slow Normal

slow [ ]

What does it do?

Makes the pattern N times slower, stretching it over N cycles.

Try it

The four notes play slowly, over two cycles.

When to use it

  • Change long pads and chords slowly

In Strudel

note("c4 e4 g4 b4").slow(2).s("piano")
Name and history

The opposite of fast. It is the same as / in mini-notation ("c4/2").

scale [ ] [ ] Strudel: scale Normal

scale [ ] [ ]

What does it do?

Turns the numbers of n into notes of the chosen scale. Choose the root (such as C4) and the kind of scale.

Try it

It goes up C, D, E♭, F, G: a dark sound.

When to use it

  • Keep the numbers and change the scale to change the mood

In Strudel

n("0 1 2 3 4").scale("C4:minor").s("piano")

Names you can use

NameWhat does it do?
major minormajor is a bright scale (major key), minor is a dark scale (minor key).
n("0 2 4").scale("C4:minor")
major:pentatonic minor:pentatonicA scale with only 5 notes. It sounds nice in any order.
n("0 1 2 3 4").scale("C4:major:pentatonic")
blues dorian chromaticblues is the scale of blues music, dorian is a scale loved in jazz and Celtic music, and chromatic is a scale with every half step.
n("0 1 2 3").scale("C4:dorian")
Name and history

It comes from the Latin word scala, which means "ladder", because the notes line up like the steps of a ladder.

major minor: In English, major = "bigger", minor = "smaller". They are named by whether the gap between C and E (a third) is big or small.

major:pentatonic minor:pentatonic: From the Greek penta (5) + tonic (tone). The Japanese "yonanuki" scale, which leaves out the 4th and 7th notes, is in the same family.

blues dorian chromatic: dorian is a scale named after the Dorians of ancient Greece. It came down to us through the church music of the Middle Ages. chromatic comes from the Greek chroma (color).

struct [ ] Strudel: struct Normal

struct [ ]

What does it do?

Chops the sound into the rhythm you write with x (play) and ~ (rest).

Try it

The chord plays on the rhythm: hit, rest, hit, hit.

When to use it

  • Put a chord on a rhythm, like a piano or guitar part

In Strudel

note("[c3,e3,g3]").struct("x ~ x x").s("piano")
Name and history

Short for structure (the frame or skeleton). It means you borrow just the "skeleton" of a rhythm.

beat [ ] [ ] Strudel: beat Normal

beat [ ] [ ]

What does it do?

Cuts a cycle into N steps and plays on the numbered steps. 0 is the first step. List the numbers with ,, and add ? like 7? to drop that step sometimes.

Try it

The kick plays off the beats and bounces.

When to use it

  • Write kicks and snares which play here and there (rhythm book)

In Strudel

s("bd").beat("0,7,10", 16)
Name and history

English for the pulse of music. Putting sounds on 16 steps is how drum machines such as the TR-808 build rhythms with their 16 step buttons.

bank [ ] Strudel: bank Normal

bank [ ]

What does it do?

Changes the drums to the sounds of the chosen drum machine.

Try it

The kick becomes the hard sound of the TR-909.

When to use it

  • Use the TR-909 for house and techno, the TR-808 for hip hop and trap

In Strudel

s("bd*4").bank("RolandTR909")
Name and history

From sample bank (a storehouse of samples). The TR-808 (1980) and TR-909 (1983) are Roland drum machines. These famous machines made the sound of hip-hop, house and techno.

effect [ ▼] [ ] Normal

effect [ ▼] [ ]

What does it do?

Adds the effect chosen in ▼. The number can also be a mini-notation pattern or a wave. Each effect keeps its number in a range: a bigger number becomes the biggest of the range. See the table below for the ranges and good values.

Try it

The high part of the jagged bass is cut, and it becomes a muffled, fat sound.

When to use it

  • Muffle a bass, add room to the drums, make the hi-hat softer
  • Stack many effects on a sound (they work from the top)

In Strudel

note("c2*4").s("sawtooth").lpf(600)

Names you can use

NameWhat does it do?Range and good values
lpf hpflpf cuts the high sounds and makes it muffled. hpf cuts the low sounds and makes it thin and tinny. The number is where the cutting starts (Hz).
s("sawtooth").lpf(600)
lpf 20〜20000
hpf 20〜20000
200 is muffled, 1000 a little muffled, 5000 or more almost unchanged. With hpf, bigger numbers take away more of the low sound
lpqBoosts the edge of the filter for a "wowww" sound with a strong character (resonance).
s("sawtooth").lpf(400).lpq(12)
lpq 0〜30
0 has no character; 10-20 goes "wowww"
lpenv lpd lpsOpens and closes the filter each time a sound plays. lpd is the time until it closes, lps is how much stays open. The "bwow" of acid music is this.
note("a1*8").s("sawtooth").lpf(200).lpenv(4)
lpenv -16〜16
lpd 0〜2
lps 0〜1
0 does not move; 4-8 moves a lot. lpd and lps are about 0-1
attack decay sustain releaseThe shape of the volume. attack = how slowly it starts, decay = time to go down, sustain = how loud it stays, release = how it fades out at the end.
note("c4").s("sine").attack(.5).release(2)
attack 0〜4
decay 0〜4
sustain 0〜1
release 0〜8
In seconds. attack 0 starts at once, release 1-2 fades out long. sustain is 0-1
roomEchoing space (reverb). It sounds like playing in a big room.
s("sd").room(.5)
room 0〜10
0 is none, 0.3 a little, 1 a big room
delay delaytime delayfeedbackAn echo. The same sound repeats a little later. delaytime is the gap, delayfeedback is how many times it repeats.
note("c4 e4").delay(.4).delaytime(.25)
delay 0〜1
delaytime 0〜2
delayfeedback 0〜0.95
delay is the amount, 0-1. delaytime is in seconds (0.25 is a quarter second). delayfeedback 0.5 repeats a few times
gainHow loud the sound is. 1 is normal.
s("hh*8").gain(.6)
gain 0〜4
1 is normal, 0.5 about half, 0 silent
panLeft-right position. 0 is left, 0.5 is the middle, 1 is right.
s("hh*8").pan(sine.range(0, 1))
pan 0〜1
0 is left, 0.5 the middle, 1 right
crushMakes the sound crunchy (a bitcrusher). The smaller the number, the rougher it gets.
s("bd sd").crush(4)
crush 1〜16
16 is almost clean, 4 very crunchy
distortDistortion. Bends the sound to make it fat and rough.
note("a1").s("sawtooth").distort(2)
distort 0〜10
0 is none, 1-3 distorts
speedThe playback speed of a recorded sound. 2 is twice as fast and higher. -1 plays it backwards.
s("bd").speed(2)
speed -4〜4
1 is normal, 2 twice as fast and high, -1 backwards
clipThe length of a sound. 1 lasts until the next sound, 0.3 cuts it short.
note("c4 e4").s("square").clip(.3)
clip 0〜4
1 lasts until the next sound, 0.3 is short
vowelMakes the sound like a voice saying vowels such as "a, e, i, o, u".
s("sawtooth").vowel("<a e i o>")
Letters, not numbers: a e i o u
unison detune spreadHow thick a supersaw is. unison is the number of stacked waves, detune is how far apart the pitches are, spread is how wide it is left to right.
note("a3").s("supersaw").unison(7).detune(.4).spread(.8)
unison 1〜8
detune 0〜2
spread 0〜1
unison is the number of waves (1-8). detune 0.3-0.5 is nicely thick. spread is 0-1
fmMakes the sound metallic, like a bell or an electric piano (FM synthesis).
note("c4").s("sine").fm(2)
fm 0〜8
0 is none, 1-4 metallic
orbitChooses the path (1-8) the sound goes through. Reverb, echo and duck work separately for each path.
note("a1*8").s("sawtooth").orbit(2)
orbit 1〜8
A whole number 1-8. Usually 1
duck duckattack duckdepthEach time the kick plays, the sounds on other paths (orbits) shrink. The sound "pumps" as if it is breathing.
s("bd*4").duck("2:3").duckattack(.2).duckdepth(.8)
duckattack 0.002〜2
duckdepth 0〜1
Not a number: the orbits to push down (2, 2:3). duckattack is the seconds to come back (0.1-0.3), duckdepth how deep (0-1)
Name and history

Each name in ▼ is a Strudel function. Look them up in the list below.

lpf hpf: Low-pass filter (a filter that lets low sounds pass) and high-pass filter. The filters in the synths that Robert Moog made in the 1960s are famous.

lpq: q is an electronics word: the "Q value" (how sharp the cut is).

lpenv lpd lps: env = envelope (how the shape of a sound changes). d = decay, s = sustain (see ADSR below).

attack decay sustain release: The 4 first letters make "ADSR". It is said that Vladimir Ussachevsky, an electronic music researcher, came up with it in the 1960s. Almost every synth today has it.

room: "Room" in English. The sound echoes differently depending on the size of the room.

delay delaytime delayfeedback: It means "being late" in English. Long ago, people made echoes by looping recording tape (like the Roland Space Echo, 1974).

gain: In English it means "to increase" or "profit". It is a word for how many times bigger an electric signal is made.

pan: From panorama (a wide view). It means where in the left-right view you put the sound.

crush: It "crushes" the detail of the sound (the number of bits), so it is called crush. It sounds close to the 8-bit sounds of old game consoles.

distort: The same as the distortion of an electric guitar. In the 1950s-60s, amps turned up too loud broke the sound, and people liked it as a cool sound.

speed: It works the same way as spinning a record or tape faster to make the sound higher.

clip: It means "to cut off" in English.

vowel: "Vowel" in English. It is a filter that copies the sounds (formants) that make the vowels of a human voice.

unison detune spread: Unison means "one sound" in Latin. It is when many people sing the same note. Detune means "to put out of tune".

fm: Frequency modulation (the same words as in FM radio). John Chowning at Stanford University discovered it in 1967, and the Yamaha DX7 of 1983 spread it around the world.

orbit: "Orbit" in English. It is the name of the system in SuperDirt, the sound engine of TidalCycles, that keeps each track's effects apart so they do not mix.

duck duckattack duckdepth: "Duck" means "to quickly lower your head". It comes from "ducking", a trick of turning the music down while someone talks on the radio. In club music it is also called "sidechain" or "pumping", and it was popular in 2000s French house and EDM.

add [ ] Strudel: add Normal

add [ ]

What does it do?

Adds a number to the pitch (number). You can add a pattern too, like <0 2 4>.

Try it

The same melody goes 2 steps up the scale in the next cycle, 4 steps up in the one after, and then back.

When to use it

  • Repeat a phrase at different heights

In Strudel

n("0 2 4").add(n("<0 2 4>")).scale("C4:major").s("piano")
Name and history

It means "to add" in English.

rev Strudel: rev Normal

rev

What does it do?

Plays the pattern backwards, from the end.

Try it

It plays G, E, D, C: from the end.

When to use it

  • Use it with every to play backwards now and then

In Strudel

note("c4 d4 e4 g4").rev().s("piano")
Name and history

Short for reverse.

ply [ ] Strudel: ply Normal

ply [ ]

What does it do?

Repeats each sound in the pattern N times.

Try it

Each sound plays twice: boom boom, clap clap.

When to use it

  • Make hi-hat rolls (trap) and fills

In Strudel

s("bd sd").ply(2)
Name and history

"Ply" means a layer or a twist of thread. Think of making one thread into many layers. The name comes from TidalCycles.

every [ ] [ ] Strudel: every Normal

every [ ] [ ]

What does it do?

Changes the pattern in the ▼ way once every N cycles. ▼ has rev, fast 2, slow 2, ply 2, transpose 12 and transpose 7.

Try it

Once in four cycles, the melody plays backwards.

When to use it

  • Add a change now and then, so that the loop does not stay the same (fills)

In Strudel

note("c4 e4 g4").every(4, x => x.rev()).s("piano")
Name and history

It means "every" in English. One of the most famous functions, there since the early days of TidalCycles.

degradeBy [ ] % Strudel: degradeBy Master

degradeBy [ ] %

What does it do?

Leaves out sounds by chance. With 30, 30% of the sounds do not play.

Try it

Some hi-hats drop out, and it sounds like a person playing.

When to use it

  • Make fast hi-hats sparse to make a loop feel alive

In Strudel

s("hh*16").degradeBy(0.3)
Name and history

Degrade means "to make worse" or "to break down". It is the same as ? in mini-notation ("hh*16?").

sometimes [ ] Strudel: sometimes Master

sometimes [ ]

What does it do?

Changes the pattern in the ▼ way sometimes (on about half of the sounds).

Try it

Now and then a C plays an octave higher.

When to use it

  • Give a repeated note a different change each time

In Strudel

note("c4*8").sometimes(x => x.transpose(12)).s("piano")
Name and history

It means "sometimes" in English. Its friends are often and rarely.

euclid [ ] [ ] Strudel: euclid Master

euclid [ ] [ ]

What does it do?

Spreads N sounds over M steps as evenly as possible. (3, 8) is a rhythm you can hear in music all over the world.

Try it

It plays in 3, 3, 2: tock, tock, tock.

When to use it

  • Stack it on four on the floor for a catchy offset (rhythm book)

In Strudel

s("rim").euclid(3, 8)
Name and history

Godfried Toussaint, a computational geometry researcher, showed in papers around 2004-2005 that traditional rhythms from Cuba and Africa can be made with the same steps as the "Euclidean algorithm". That is ancient Greek math from about 2300 years ago, for finding the greatest common divisor of two numbers. The original steps were used by Bjorklund, a physicist, to set the timing of a particle accelerator.

jux [ ] Strudel: jux Master

jux [ ]

What does it do?

Splits the sound into left and right, and changes only the right in the ▼ way. Left and right play different sounds, so it sounds wide.

Try it

The left plays as usual and the right plays backwards (use headphones).

When to use it

  • Make the sound wide

In Strudel

s("bd hh sd hh").jux(x => x.rev())
Name and history

Short for juxtapose (to put side by side). A name born in TidalCycles.

off [ ] [ ] Strudel: off Master

off [ ] [ ]

What does it do?

Takes the pattern, delays it a little, changes it in the ▼ way, and stacks it on top.

Try it

G plays just after C, and B just after E.

When to use it

  • Add a shifted harmony, like an echo

In Strudel

note("c4 e4").off(0.125, x => x.transpose(7)).s("piano")
Name and history

It means "shifted" or "away" in English. The name comes from TidalCycles.

superimpose [ ] Strudel: superimpose Master

superimpose [ ]

What does it do?

Stacks a copy changed in the ▼ way on top of the original pattern.

Try it

C plays with the C an octave higher.

When to use it

  • Make a lead thicker

In Strudel

note("c4 e4").superimpose(x => x.transpose(12)).s("piano")
Name and history

It means "to lay one thing over another". It is the same word as the photo trick of showing two pictures at once (superimposing).

chop [ ] Strudel: chop Master

chop [ ]

What does it do?

Cuts one sound into N pieces and plays them in small bits.

Try it

The kick is cut into 4 pieces which play one after another.

When to use it

In Strudel

s("bd").chop(4)
Name and history

It means "to cut" or "to chop" in English. Cutting recorded sounds into small pieces and rearranging them is a hip-hop trick that spread with the samplers of the 1980s.

transpose [ ] Strudel: transpose Master

transpose [ ]

What does it do?

Moves the notes up by N half steps (down if N is negative). 12 is one octave.

Try it

C, E, G play an octave lower.

When to use it

  • Move a melody down to bass height

In Strudel

note("c4 e4 g4").transpose(-12).s("piano")
Name and history

A music word. It means moving a whole song higher or lower, for example to make it easier to sing.

arp [ ] Strudel: arp Master

arp [ ]

What does it do?

Plays the notes of a chord one at a time, in the order of the numbers (an arpeggio). 0 is the lowest note.

Try it

The chord plays one note at a time: C, E, G, E.

When to use it

  • Sparkly trance plucks, or a piano accompaniment

In Strudel

note("[c4,e4,g4]").arp("0 1 2 1").s("piano")
Name and history

Short for arpeggio. It comes from arpa, the Italian word for harp. It means playing the notes of a chord one by one, like on a harp.

acidenv [ ] Master

acidenv [ ]

What does it do?

Puts a sawtooth wave and a filter together for the "bwow-bwow" sound of acid music. The bigger the number, the more it moves.

Try it

The bass plays sixteenth notes: bwow bwow.

When to use it

In Strudel

note("a1*16").s("sawtooth").lpf(100).lpenv(5.4).lps(0.2).lpd(0.12).lpq(2)
Name and history

The Roland TB-303 from 1981 was made to replace a bass player, but it did not sell. Then in 1987, Phuture in Chicago made "Acid Tracks" by turning its knobs round and round, and "acid house" was born. The name comes from the function acidenv in Switch Angel's strudel-scripts. It is exported as s, lpf, lpenv, lps, lpd and lpq.

trancegate [ ] [ ] [ ] Master

trancegate [ ] [ ] [ ]

What does it do?

Chops a long chord into small pieces for the "ta-ta-ta-ta" sound of trance. The first number is how many steps play, the second is the seed of the rhythm (change it for another rhythm).

Try it

The thick chord is chopped: ta-ta, ta-ta-ta.

When to use it

In Strudel

note("[a3,c4,e4]").s("supersaw").struct(rand.mul(1.2).round().seg(16).rib(12, 1)).fillGaps().clip(0.7)
Name and history

A "gate" trick (a gate that opens and closes the sound), used a lot in trance music since the late 1990s. The name comes from the function trancegate in Switch Angel's strudel-scripts. It is exported as struct, fillGaps and clip.

Value blocks

Round blocks go into the inputs of other blocks.

items of list [ ] [ ] Normal

items of list [ ] [ ]

What does it do?

Turns the items of a Scratch list into mini-notation. Choose how in ▼: "one in each cycle" plays a line a bar, "in order in a cycle" plays all of them in a cycle, "all together" stacks them.

Try it

The list "melody" has four lines: c4 e4, g4 e4, a4 g4 and e4 d4. Each line plays for a bar, in order.

When to use it

  • Write a long melody or chord progression a bar at a time in a list (tutorial step 9)
  • Write a line for each drum and stack them with "all together"

In Strudel

note("<[c4 e4] [g4 e4] [a4 g4] [e4 d4]>").s("piano")
Name and history

Strudel has no lists, so they are exported as mini-notation: < > (one in each cycle), [ ] (in order) and , (together).

[ ] range [ ] [ ] slow [ ] Strudel: range Master

[ ] range [ ] [ ] slow [ ]

What does it do?

A value which moves over time. Choose the shape of the wave, from what to what, and how many cycles it takes. Put it into an effect instead of a number, and the sound slowly changes.

Try it

Over four cycles the bass goes muffled and bright and back.

When to use it

  • Open the filter slowly to build up (rhythm book)
  • Put it in gain to get louder little by little

In Strudel

note("c2*8").s("sawtooth").lpf(sine.range(200, 2000).slow(4))
Name and history

It works like an "LFO" (a slowly moving wave) on a synthesizer. perlin is a "smooth random number" made by Ken Perlin in 1983. It was made to make movie CG look natural, and it won an Academy Award (for science and technology) in 1997.

irand [ ] .. [ ] seg [ ] rib [ ] [ ] Strudel: irand Master

irand [ ] .. [ ] seg [ ] rib [ ] [ ]

What does it do?

Makes numbers with random numbers: from what to what, how many in a cycle, and which seed to repeat for how many cycles. The same seed always gives the same phrase.

Try it

Eight random notes of the scale play, and the same phrase repeats every cycle.

When to use it

  • Change the seed to find a melody you like

In Strudel

n(irand(8).add(0).seg(8).rib(3, 1)).scale("C4:minor:pentatonic").s("piano")
Name and history

irand = random integer (whole number). seg = short for segment (to split up), rib = short for ribbon.

Moving with the music

when a beat comes Beginner

when a beat comes

What does it do?

Runs the blocks below on every beat: 4 times a cycle when a cycle has 4 beats.

Try it

The cat changes its costume on every beat, as if it walks.

When to use it

  • Make sprites dance to the music

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

Strudel does not have it: it is a block for Scratch. It runs at the time the sound plays, so the picture and the sound stay together.

when [ ] sounds Beginner

when [ ] sounds

What does it do?

Runs the blocks below each time the chosen sound plays.

Try it

The cat gets a little bigger each time the kick plays.

When to use it

  • Jump on the kick, change color on the snare: a different move for each drum

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

Strudel does not have it: it is a block for Scratch.

beat Beginner

beat

What does it do?

Which beat of the cycle it is now (1, 2, 3, 4). 0 when nothing is playing.

Try it

The cat counts the beats: 1, 2, 3, 4.

When to use it

  • Use "if beat = 1" to move differently at the start of each bar

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

Strudel does not have it: it is a block for Scratch.

cycle Beginner

cycle

What does it do?

Which cycle it is now (counting from 0).

Try it

The cat says the number of the cycle.

When to use it

  • Change the backdrop every 8 cycles: follow the song with the picture

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

The cycle is the unit of time of Strudel (TidalCycles). In this extension a cycle is usually 4 beats, a bar (what is a cycle?).

Strudel code

Strudel code of all tracks Normal

Strudel code of all tracks

What does it do?

The text of the Strudel code of all the tracks which are playing.

Try it

Press C, and the cat says the code.

When to use it

  • See what code your blocks make

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

It starts with the tempo setcpm(…), then a $: line for each track.

open all tracks in strudel.cc Normal

open all tracks in strudel.cc

What does it do?

Opens all the tracks which are playing in strudel.cc (the site where you write Strudel in the browser).

Try it

Press O, and strudel.cc opens in a new tab with the code of the same song.

When to use it

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

strudel.cc is the site of the makers of Strudel. The code travels after the # of the address.

Seeing the sound

show [ ] Beginner

show [ ]

What does it do?

Shows a picture of the sound on the stage. Choose the kind of picture in ▼.

Try it

A piano roll appears on the stage, and the notes flow by as bars.

When to use it

  • See melodies on the piano roll, drums on the punch card, sounds on the scope or spectrum

In Strudel

note("c4 e4 g4")._pianoroll()

Names you can use

NameWhat does it do?
scopeShows the shape of the sound wave as a line.
s("sawtooth")._scope()
pianorollShows the pitch and length of notes as bars that flow sideways.
note("c4 e4 g4")._pianoroll()
spectrumShows how much of each sound is playing, from low to high.
s("bd hh")._spectrum()
punchcardShows the piano roll like a card with holes in it.
note("c4 e4 g4")._punchcard()
Name and history

In Strudel, add ._pianoroll() or another one after the pattern.

scope: Short for oscilloscope, a tool for looking at electric waves.

pianoroll: Around 1900, player pianos played songs from paper rolls with holes in them. The name comes from how those looked.

spectrum: "Spectrum" in English. Light going through a prism splits into rainbow colors. In the same way, this splits sound by pitch so you can see it.

punchcard: A punch card is a card that stores information by where its holes are. In the early 1800s, the Jacquard loom used them to control the patterns of cloth. Later they were used in computers too.

hide the picture of sound Beginner

hide the picture of sound

What does it do?

Hides the picture of the sound on the stage.

Try it

Press H, and the picture goes away.

When to use it

  • Go back to the game screen

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

In Strudel, remove ._pianoroll() and the like.

put the picture of sound [ ] the sprites Normal

put the picture of sound [ ] the sprites

What does it do?

Puts the picture of the sound in front of or behind the sprites.

Try it

The picture comes in front of the cat.

When to use it

  • Put it behind to use the picture as a backdrop

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

Strudel does not have it: it is a block for Scratch.

Drum sounds

(experimental) set drums to [ ] Normal

(experimental) set drums to [ ]

What does it do?

Chooses whether the drums are the recorded sounds of strudel.cc (uzu-drumkit) or synthesized sounds (which play without the network). Usually synthesized. It is still an experiment.

Try it

The drums sound the same as in strudel.cc.

When to use it

  • Make a song with the same sounds as in strudel.cc

In Strudel

Strudel does not have it: it is a block of this extension.

Name and history

uzu-drumkit is the usual drum kit of strudel.cc. With a drum machine (bank), the drums use its sounds.

Tutorial ・ Rhythm book ・ Strudel for Xcratch