Harmony usage and chords progression

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
3 Likes

The chord, chord_degree and chord_invert functions can be used to make progressions easier to code.

I wrote code for generating melodies some time ago that could be adapted to harmony:

Thanks for sharing the code, I’ll have a closer look

I saw the chord function, but find difficult to create a specific voice leading, so I stop using it.
I think that what i’m trying to achieve is closer to the work of
https://en.wikipedia.org/wiki/David_Cope

Back in 1987, he was already figure out the notion of ‘style’ as a form of algorithms
The style of a musician, composer, producer of whatever name it is today, are a set of different choices. One that I enjoy a lot is the harmonic one. There’s a form of satisfaction about the experience of listening a music of today that use the same chord progression that is 100 years old or even more. Once we start understanding the grammar it becomes very exciting to try new combination and listen to the result.