# Arp and chord with 4 notes (C E G C) and not (C E G B)

Hi, I’ve got this problem with the title, but here is more precision :

How can I have this :

``````> live_loop :what_I_would_like_to_do_with_the_chord_degree_command do
>   play 60
>   sleep 0.25
>   play 64
>   sleep 0.25
>   play 67
>   sleep 0.25
>   play 72
>   sleep 0.25
> end
``````
``````Like this :
live_loop :test do
play (chord_degree :ii, :C, :major, 3).tick
#There is only 3 notes here, with a 4 I've got C7, It's nice C7 but it's not what I need XD
sleep 0.25
end
``````

If there is no way it’s not a big deal, I just need to know if it is possible or not

Here’s one solution

``````define :chord4 do |base,type| #defines 4 note chord adding in octave
(chord(base,type).to_a + [note(base)+12]) #convert original chord to a list and add octave note
end

live_loop :test do
play chord4(:c,:major).tick
sleep 0.25
end
``````

EDIT had a further play, looking at differnet chrod types. I added a sort so that the octave note is added in sequence if you have say 9th or 11th notes there.
eg

``````use_debug false
n= chord_names
define :chord4 do |base,type| #defines 4 note chord
(chord(base,type).to_a + [note(base)+12]).sort
end

live_loop :test do
type = n.choose
tick_reset
puts "chord type is #{type} (plus octave note)"
chord4(:c,type).length.times do
play chord4(:c,type).tick
sleep 0.25
end
sleep 0.25
end
``````

might be better to rename it chordPlusOctave in this case as some chrods more than four notes

2 Likes

Thanks a lot I have not a lot of experience in code but I test it and it works great /o/ Hope one day I’ll understand it /o/