# Tip : concat two rings

**URL:** <https://in-thread.sonic-pi.net/t/tip-concat-two-rings/4154>\
**Category:** Support, Help & Resources\
**Created:** [July 2, 2020, 12:45pm UTC](https://in-thread.sonic-pi.net/t/tip-concat-two-rings/4154 "2020-07-02T12:45:33Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nlb](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/nlb/32/997_2.png) [@nlb](https://in-thread.sonic-pi.net/u/nlb)\
**Post date:** [July 2, 2020, 12:45pm UTC](https://in-thread.sonic-pi.net/t/tip-concat-two-rings/4154/1 "2020-07-02T12:45:33Z")

</div>

Hi there,

When coding some patterns (pas ternes french joke Philip Katerine [https://www.youtube.com/watch?v=FdkgDZg19jc](https://www.youtube.com/watch?v=FdkgDZg19jc)), you may want to have some differents patterns to build a whole pattern.  
I discover today 🙂 that we can add `rings` so let’s play with that feature.

```ruby

use_bpm 96

bd_pattern_01 = (ring 1,0,0,0, 0,0,1,0, 1,0,1,0, 0,0,0,0)
bd_pattern_02 = (ring 1,1,0,0, 0,0,1,0, 1,0,1,0, 0,0,0,0)
bd_pattern_03 = (ring 1,1,0,0, 0,0,1,0, 1,0,0,0, 0,0,0,0)

bd_pattern = bd_pattern_01 + bd_pattern_02 + bd_pattern_01 + bd_pattern_03

sn_pattern_01 = (ring 0,0,0,0, 1,0,0,0, 0,0,0,0, 1,0,0,0)
sn_pattern_02 = (ring 0,0,0,0, 1,0,0,0, 0,0,0,0, 1,1,0,0)
sn_pattern_break = (ring 0,0,0,0, 1,0,0,0, 0,0,1,1, 0,1,1,0)

sn_pattern = sn_pattern_01 + sn_pattern_02 + sn_pattern_01 + sn_pattern_break

with_fx :level, amp: 0.8 do
  live_loop :loop_bd do
    sample :drum_bass_hard if bd_pattern.tick==1
    sleep 0.25
  end
end
with_fx :reverb, amp: 1.5, mix: 0.5 do
  live_loop :loop_snare do
    sample :loop_amen, onset: 2 if sn_pattern.tick==1
    sleep 0.25
  end
end

live_loop :loop_hh do
  sample :drum_cymbal_closed, amp: [1, 0.15, 0.55, 0.25].tick, release: 0.3, pan: rrand(-0.5,0.5)
  sleep 0.25
end

```
