Transpose ring down an octave

Hey all. Is there any easy way to transpose all notes in a ring down an octave? I know there’s .scale which is great for transposing up but, because it’s based on multiplication, you can’t use it to go down.

You can use pitch: -12 after the ring and that should do it.

live_loop :r do
  play (ring, 72, 74, 75, 77, 79).tick, pitch: -12
  sleep 0.5

Or perhaps with_transpose / use_transpose…
(Note there is a difference between the two).

Mmm… see also, use_octave.

All documented in Lang, bottom left of SP screen.


live_loop :r do
  with_transpose -12 do
  play (ring, 72, 74, 75, 77, 79).tick
  sleep 0.5

Oh wow. So many commands to learn! Is there an online version of lang? Would be handy to be able to do a text search across it when looking for certain features

Not yet, but the tutorial is available at

You can add a transpose value directly:

transpose = -12
play (ring 60,67,72).tick + transpose, amp: 0.8

Depending on where your Sonic Pi installation is you can call the lang reference (fx, sample, synth) in your browser. For me it looks like this:


Another couple of options for dropping an octave:

  • (ring :e1, :a3, :fs2, :e2) - 12
  • use_octave -1


So many responses. What a great community :slight_smile:

1 Like