May 9, 201610 yr it is common to represent chord degrees starting from 1, not 0. For instance, a valid chord progression degree sequence is '(1 2 5 6 3 5 6 1). In such cases, in order to get the corresponding chords, the function harmonic-progression is quite useful. However, this function assumes the chord degrees to be zero-based, so we have to write like this: (harmonic-progression (integer-transpose -1 '(1 2 5 6 3 5 6 1)) '(c4 major)) For example, see SB's reply in: I have also been using it like this in some of my code. Nothing wrong with this, but since this is likely to be a frequently occurring pattern, I feel it might be better to include an optional keyword argument to the function to mention the base to use: (harmonic-progression '(1 2 5 6 3 5 6 1) '(c4 major) :base 1) Or, of course, we can change the current behaviour to be 1-based instead of 0-based (if it doesn't affect existing code). Regards, Rangarajan
May 9, 201610 yr Yes, for chords we should use base 1. For intervals (12 tone) we use base-0. I will make the change for this and all chord functions.
November 22, 20169 yr Opusmodus 1.2.21003 (harmonic-progression '(0 3 4 4) '(c major)) => (c4e4g4 f4a4c5 g4b4d5 g4b4d5) (harmonic-progression '(1 4 5 5) '(c major) :base 1) => (c4e4g4 f4a4c5 g4b4d5 g4b4d5)
Create an account or sign in to comment