Hello,
Context:
Looking to reach out with other composers that explore hamornic aspects (Chords progression).
If you do, please provide your feedback of how you approach the question of harmonic progression and general structure. Thanks.
Problematic.
I was trying to find threads regarding the usage of harmony within the context of a live_loop.
Did not find a lot of post. Maybe I’m not looking the right way. I’m new and don’t normaly use the forum format.
I use roman numbers to analyse music, common usage in the litterature.
In the following code I explore a simple progression in C minor.
As you may see I start with a simple
i-iV-V-i-N-V7-i
I created a specific voicing for each chords. I write the score first and then translate the whole thing in Sonic Pi.
I include this image, a rough version of the music and one of the melodies
Then, I will try a few variations on the chords, but I keep the original structure.
The i can be either a III with a b flat or a VI
For the V7, I try a tritone substitution that gives a nice Db7 before ending with a i
The N is for the Neapolitan 6th that gives a nice suprise.
There is a few options to where I want to go from there and this is why i’m taking the time to write here.
Since i’m trying to create longer forms, I would like to know what are your approaches to work with longer musical phrases. This code is only 4 bars of music and I have a few ideas to how to extend to a longer form.
The problem is how to do that and keeping the aleatory approach. By that, I suggest that Sonic Pi is built in way that gives space to improvisation. It can be sequenctial (A-B-C), but the live_loop opens a new way of working and composing. Similar to a jazz session, we use a lead sheet to have an idea of where we are going. At least in the Bebop repertoire, free jazz is something else
At the moment, I see and hear the works of others and I there is a major focus on rhytm or very short harmonic structures that don’t go beyond 12 bars.
Voilà, thanks for you input. Share the code if it helps.
live_loop :harmonie, sync: :metro do
#stop
# harmonisation de i-iV-V-i-N-V7-i en do mineur
use_synth :piano
x = rand_i(10)
print x
force = 0.45
if x > 3
play [:C2, :Ef3,:C4] ,decay:2 ,hard:force # i
sleep 2
else
play [:Af2, :Ef3, :Af3,:C4] ,decay:2 ,hard:force#VI substitution
sleep 2
end
play [:F2, :F3, :Af3,:C4] ,decay:2 ,hard:force# iv
sleep 2
play [:G2, :D3, :G3,:B3] ,decay:2 ,hard:force# V
sleep 2
if x > 5
play [:C3, :Ef3, :G3,:C4] ,decay:2 ,hard:force # i
sleep 2
else
play [:C3, :Ef3, :Af3,:C4] ,decay:2 ,hard:force # VI substitution
sleep 2
end
play [:F2, :F3, :Af3,:Df4] ,decay:2 # N sixte napolitaine
sleep 2
if x > 4
play [:G2, :F3, :B3,:D4] ,decay:2 # V7
sleep 2
else
play [:Af2, :F3, :B3,:Df4] ,decay:2 # Substitution par Triton Db7
sleep 2
end
play [:C2, :G3,:C4] ,decay:4 # i
sleep 4
end