Compact guitar style arpeggios

Hi,

I would like to share with you this compact arpeggio I made:

notes = ring(:c5, :g4, :a4, :f4)
chords_type = ring(:M, :M, :m, :M)

loop do
  my_chord = chord(notes.tick, chords_type.look)
  play my_chord, release: 4
  play_pattern_timed((my_chord+my_chord.map{|n| n+12}).take(4).reflect.butlast.repeat(4),1.0/6)
end

It’s close to a common arpeggio that is played with guitar:
e|--------------------------|
B|-------------X----------|
G|---------X-----X-------| 4 times per chord
D|------X-----------X----|
A|—X--------------------|
E|-------------------------|

Cheers,
Alberto

2 Likes

Hey @Alb85 :slightly_smiling_face:
In case it’s useful and you weren’t already aware, you could use

my_chord = chord(notes.tick, chords_type.look, num_octaves: 2)

to simplify

(my_chord+my_chord.map{|n| n+12})

to

my_chord

:slightly_smiling_face:

(Although looking at the code more carefully, I see you play the chord and then individual notes with some extras! But you get the idea :+1: )

1 Like