I spent two weeks attempting to write a working theory of digital music as it were, but it was a distraction from what sounded good, so I scrapped it and the “music” that resulted. I left that wrong turn with some new ideas however!
This complete rewrite:
organises everything into files
simplifies and detangles lots of spaghetti code, removing 1000 lines I didn’t need
keeps and builds upon what worked of the sections from v0.2.0
makes all rhythms calculative, with ideas I got from an interesting discussion about rhythm I shared earlier this month
frees modulations of key to go anywhere within the major/minor/locrian modality
begins to use version control and to document (I don’t know if an API is worth the effort), setting up a wiki, quick start readme, and contributors, &c.
&c.
Here’s a glimpse of what this program can do right now:
Congratulations! I think the splitting up into modules has greately improved the overal concept. It’s much clearer now and can be used more efficiently. Good luck with your album!
Thank you! Yes, in the earlier stages of prototyping I just kept adding and adding as I experimented, but now things are finally settling and resolving. Thanks again for your help; there are three weights in the settings, and the general-purpose functions will find application elsewhere.
The music has changed so much in the months since my initial concept for the album that I think I’ll need something new. From “begin anywhere” to… “novum organum”? (Just learned that’s already a book by Francis Bacon, darn.)
I noticed that you restrict the harmonic structure to major/minor/locrian. Did you think about extending it? I have a background in Jazz music and we would rarely stick to such basic scales …
Maybe you had a look at the 12-bar blues I posted elsewhere (Topic: how to create a bass line?). I am spending quite some time in finding nice scale-hamony associations, especially for modulation of keys. This is what makes music so inherently interesting to listen. You can lead the audience to expect a certain change in harmony and then you break that expectation you just created - surprise! And then you can build up the tensions, such as one voice following a well known pattern, but the other voice starts to disent and deviate more and more with the pattern, the tension increases until a clever resolution is performed finally. That’s what I love to hear and do in music.
I actually briefly ventured into exploring the other heptatonic scales after seeing one of your posts a couple weeks ago, and your reply just now made me suddenly realise how I could still do that! (I could code my modulation function to choose between Ionian/Lydian/Mixolydian and Dorian/Phrygian/Aeolian/harmonic minor/melodic minor.) (I love the Lydian mode.) Oh my gosh, that expands the palette manyfold!
Alright, I just implemented it, and I like what I’m hearing already. (Getting Steve Reich vibes.) Do I have options for augmented heptatonic scales? (It has to be heptatonic because of the way I calculate chords at the moment… but things could be different!) I’ll do some research.
Hmm… I’m going to give more thought to and learn more about voice relationship dynamics.
I especially like Baroque, Bebop, Minimalism, Trance. Speed, manifoldness, intensity.
I haven’t listened to much Copland. I’ll add some tracks to my queue!
On the seventh movement of Appalachian Spring with Leonard Bernstein conducting! Getting Stravinsky and Holst vibes. We performed this tune in band class!
I think you would create such a scale on your own: use the augmented scale and then remove the ‘uninteresting’ notes to get it in heptatonic form (i.r., remove 2nd, 4th, and keep 1, 3, 5, 6, 7)
EDIT: or try 1, 2, 3, 6, 7
I think people listening cannot but hear the functional movements they are used to. Either you play with those perceptions, break those, develop those or ignore those. But at the end, you will have a judgement on what ‘sounds good’ (see your post above), and there are reasons why you think something sounds good or not. And these reasons can be expressed through purposeful composition (my believe …)
Yep, I too believe that good music can be rationalised to some degree, otherwise I wouldn’t have been able to program this algorithm () I’ve been composing for about a decade, and my rules are part theory and part experience. There are many rules I’ve been able to specify, but others like which chord to progress to I leave to chance, because I’ve found that under certain conditions, basically every chord progression can sound good.
That said, I didn’t use harmonic and melodic minor scales before this, and I think I’m going to need special rules for them.
The interesting questions seems to be, what ‘rules’ you are using to develop the algorithms and what ‘freedom’ they have got to choose randomly. The chance that purely random generated notes ‘sound good’ is quite small. On the other hand, using randomness you can create new things that are lying aside the known paths …
I found it very inspiring to listen to the results of my programmed improvisations, because some of the sequences I would not have invented myself. Really interesting stuff to play with.