Lesson 23 +30 XP

Project 3: Full Track

Time to combine everything - drums, bass, melody, effects, and automation - into a full track!

The full picture


strudel
setcpm(120/4)
stack(
  // drums
  sound("bd*2, [~ hh]*4, [~ <sd cp>]*2").bank("RolandTR909"),
  // bass
  note("<36 34 41 39>").sound("gm_acoustic_bass").lpf("<400 1200 8000>"),
  // melody
  n("<[0,2,4] 5 [4,2] 1 0>").scale("C:major").sound("gm_electric_guitar_muted").room(0.5),
  // pad
  n("0 2 4").scale("C:major").sound("gm_voice_oohs").slow(4).room(0.8)
)

What's happening here?

  • Drums - 909 kit with kick, hats, snare/claps.
  • Bass - acoustic bass with an automated filter sweep.
  • Melody - in-scale guitar with reverb.
  • Pad - slow "oohs" with lots of reverb for atmosphere.

Step 1 - Play it

Press play, then try changing one thing at a time.

Step 2 - Add a filter sweep with a signal


strudel
setcpm(120/4)
stack(
  sound("bd*2, [~ hh]*4, [~ <sd cp>]*2").bank("RolandTR909"),
  sine().slow(8).range(200, 2000)
    .add(sound("bd*2, [~ hh]*4, [~ <sd cp>]*2").bank("RolandTR909").lpf())
)

Step 3 - Make it build

Swap effects over time using < and >:


strudel
setcpm(120/4)
stack(
  sound("bd*2, [~ hh]*4, [~ <sd cp>]*2").bank("RolandTR909").lpf("<200 2000 8000>"),
  note("<36 34 41 39>").sound("gm_acoustic_bass").room("<0 0.5 0.9>"),
  n("<[0,2,4] 5 [4,2] 1 0>").scale("C:major").sound("gm_electric_guitar_muted")
)

Checklist

  • [ ] Drums with a clear groove.
  • [ ] A bass line that supports the melody.
  • [ ] A melody that uses a scale.
  • [ ] At least one effect (filter, reverb, delay).
  • [ ] Something automated (pattern or signal).
  • [ ] Play it and make it your own!

Share it

When you're happy, save your code and show a friend! The Strudel REPL at [strudel.cc](https://strudel.cc/) lets you share links to your patterns.

TL;DR

  • Combine drums + bass + melody + pad with stack.
  • Use effects and automation to shape the energy.
  • Change one thing at a time and listen.
  • You now know the core of live-coding music with Strudel!