We can play sounds with s, in two different ways:

  • s can trigger audio samples, where a sound file is loaded in the background and played back:
    s("bd hh sd hh")
  • s can trigger audio synthesisers, which are synthesised in real-time using code also running in the background:
    s("sawtooth square triangle sine")

You can learn more about both of these approaches in the pages Synths and Samples.

Combining notes and sounds

In both of the above cases, we are no longer directly controlling the note/freq of the sound heard via s, as we were in the Notes page.

So how can we both control the sound and the pitch? We can combine note/freq with s to change the sound of our pitches:

note("a3 c#4 e4 a4").s("sawtooth")
note("57 61 64 69").s("sine")
freq("220 275 330 440").s("triangle")

The last example will actually sound the same with or without s, because triangle is the default value for s.

What about combining different notes with different sounds at the same time?

freq("220 275 330 440 550").s("triangle sawtooth sine")

Hmm, something interesting is going on there, related to there being five notes and three sounds.

Let’s now take a step back and think about the Strudel Code we’ve been hearing so far.