Hi everyone
just want to say that there’re some great ideas here. In keeping with some of my other posts, generally late to the party. I sort of wished I’d been there when the first post went up.
@d0lfyn some amazing work there. I’ve had a look at some of the code on github and it’s going to take a while to comprehend how all of the modules link. Out of curiosity, partly because I’ve not downloaded the code yet, is a new piece generated every time or is it a composition expressed in code or…?
@Nechoj thank you for starting this post and your code examples. There’s a lot there and I’d like to offer the following as observation and perhaps assist.
In CPE Bach’s Essay on the True Art of Playing Keyboard Instruments published in 1764, there is small passage where he says that his father (JSB) only used two scales. These were Major and Natural Minor.
In 1700, FE Neidt published volume one of his three volume set, with the third published posthumously. The reason why Niedt is important is because he was taught by JS Bach’s uncle Nicklaus who lived in Jena. The reason why this is significant is because Neidt’s three volume set appears to be a written description, with examples, of the Bach family’s teaching approach. Remember that they all taught each other, none went to study music, composition etc. The significance here is that Neidt also confirms the use of only two scales, Major and Minor.
Most of the time, many believe that the Major/Minor is basically a relative major/minor relationship i.e. C and Am. However the Bach approach was for tonic major and tonic minor, so C and Cm. What is also apparent from Neidt is that both scales are accessed as simultaneous possibilities rather than as exclusive sets. The implication is that Bach may start on C major and progress to F minor, leaving many to ponder how, leading to theories of borrowing etc. Bassline wise it’s still the movement of 1 - 4 (I - iv) but to minor rather than major. So this results in a opening up of possibilities to turn ideas around.
C Dm Em F G Am Bdim C
Cm Ddim Eb Fm Gm Ab Bb Cm
The above then represent these simultaneous possibilities in the universe of C. For each transfer of tonicness, then the model is transposed with the same relationships. Note that the minor scale is neither harmonic nor melodic. And yet by ‘bouncing’ between the various notes you can create both harmonic and melodic minor scales from these two. As a side note the Harmonic minor was not ratified until 1770-ish, which means that it was probably played widely in practice but had not been named yet.
Perhaps for your project you might want to consider the above as a potential avenue for development.
The second observation I have is to point out that chord vii is not really used in the major. it tends to always be used either in the minor or as part of a modulation to either a minor or Major resolution. So a song like Night and Day is a good example of this shift i.e. Dm7b5, G7, Cmaj7. So in this instance Dm7b5 is not chord vii in Eb but chord ii in Cm. So for your code you might consider when a vii is selected to set this within a following sequence of ii V i or I. George Pratt’s book has lots on this.
I’ll make some other recommendations if that’s OK. You might want to look at the practice of Partimento. The composition sketch frameworks that they have might be useful for you shaping the random walks. I find partimento a fascinating improvisation and composition practice. if you do look at these then you will probably encounter the practice, known in English as, the Rule of the Octave. Whilst CPE Bach was adamant that his father did not use the Rule for his compositions, instead preferring a different method i.e. simultaneous tonic major/minor, you will find some correspondences.
Robert Gjerdingen’s book is full of composition schemata, including partimento, that will keep anyone occupied for a long time. It’s a rabbit hole worth going down, and some, not all, forms are still in use to this day. When I hear certain Muse recordings they are in the form of La Folia. Green Day’s Basket Case and Jesse J’s Price Tag are La Romanesca. Or the continuing use of the Lamento which started its life in the 14thC and continues to this day, as a viable song form.
So the last suggestion is species counterpoint. Fux’s Gradus is always a good, light read in comparison to the heavier texts out there. In particular I would direct you to fourth species counterpoint, resulting in the delayed resolution of a voice. You can also consider a type of voice movement described as Oblique motion to reduce block movement.
So, I hope you don’t mind the observations. I recognise how much work it takes to get a working system in place whether as a performer, composer or coder!
Cheers
Hussein