Ok!
So…
My geeky project continues. (I’m an ethnomusicologist, not a coder. Still, I get enthusiastic about these things. My guess is that Attila might find this at least amusing.)
Using the JSON files from Mike Oliphant, I was able to extract all the chords from each section of about 1.4k Jazz Standards. The Python script I’ve generated (with help from LLaMa and gpt4o) is included. After creating this in Google Colab, I tested using python3 on my Mac. The resulting CSV is attached in the same zip file.
Now… the next step, very important, is to convert all of these chord names (Dm7, Bbmaj7…) to functional chord names (IIImin7, IVmaj7…). While music21’s harmony module is an obvious choice, in Python context, I need to really understand what chord and key notation works in music21. Code generated by LLMs isn’t able to produce that notation. I’m rather hopeful that I’ll find a way.
Once I have that dataset, I’ll try to do the kind of analysis which will generate a list of “transformations” between chords, with weights for the frequency of occurrence in the dataset.
So…
Imaj7->VImin7 1458
IImin7->V7 1327
…
Imaj7->bIII7 336
With that, I’ll manually create Chord rules, with weights, in RapComp.
And play with them until I get the results I want, from fully expected to fully unexpected (and still Jazz-like).
So…
My geeky project continues. (I’m an ethnomusicologist, not a coder. Still, I get enthusiastic about these things. My guess is that Attila might find this at least amusing.)
Using the JSON files from Mike Oliphant, I was able to extract all the chords from each section of about 1.4k Jazz Standards. The Python script I’ve generated (with help from LLaMa and gpt4o) is included. After creating this in Google Colab, I tested using python3 on my Mac. The resulting CSV is attached in the same zip file.
Now… the next step, very important, is to convert all of these chord names (Dm7, Bbmaj7…) to functional chord names (IIImin7, IVmaj7…). While music21’s harmony module is an obvious choice, in Python context, I need to really understand what chord and key notation works in music21. Code generated by LLMs isn’t able to produce that notation. I’m rather hopeful that I’ll find a way.
Once I have that dataset, I’ll try to do the kind of analysis which will generate a list of “transformations” between chords, with weights for the frequency of occurrence in the dataset.
So…
Imaj7->VImin7 1458
IImin7->V7 1327
…
Imaj7->bIII7 336
With that, I’ll manually create Chord rules, with weights, in RapComp.
And play with them until I get the results I want, from fully expected to fully unexpected (and still Jazz-like).
Statistics: Posted by Enkerli — Sat Dec 14, 2024 4:38 pm