Dylan-Riley / CounterpointGenerator

Given a set of rules and a user melody input generate a melodic counterpoint
2 stars 1 forks source link

Implement new rules #32

Closed Dylan-Riley closed 3 years ago

Dylan-Riley commented 3 years ago

Read the second species of counterpoint, take notes, compare with Haoran's: chap2_rulesDraft.pdf

I need to know for myself just how much the old rules continue to track. Only really StartEndPerfect and maybe Battuta make sense in the new format, but battuta also seems to have been modified going over Haoran's notes.

Dylan-Riley commented 3 years ago

Other updates to add based on today meeting: Add the thing to the new recursive call to keep track of the counterpoint solution thus far.

Dylan-Riley commented 3 years ago

The Second Species of Counterpoint:

* A downbeat can include what is actually a downbeat, or the middle note of three same lengths. Fux uses this to mean halfs in second species, and then quarters in the third species


Some of these involve dissonance. That might require a little change to the note cloud generation if we want to worry about that right now. Say to use rules to force consonance or dissonance in certain patterns, which -- now that I type that out -- that specifically sounds really complicated.

I've also skimmed third species a little and some of what it covers would be useful. Grab some of that tomorrow.

Dylan-Riley commented 3 years ago

Did a bit more research on the Mi against Fa bit and tritones, apparently this is a pretty old way of thinking even for Fux. It is mostly for the B natural over F tritone since both those notes appear in the hexachords, but because the tritone sounds spooky dissonant it was deemed the devil's interval and banned.

To comply with this either just remove the six semitones option from generation or write a rule specifically to disallow tritones from the hexachords.