Jump to content

New diatonic chord progression function


Recommended Posts

Hi
I've been trying to get this new function to work, based on the example given ... but cannot.
What have I missed here?
 

(setf intro '(:c I vi IV V))
(setf verse '(:c I V vi IV ii))
(setf chorus '(:am i iv VI III iv i V7))
(setf bridge '(:eb IV V7/V V7 I vi ii V7 I))
(setf outro '(:c vi IV I ii V7 I IV I))

(setf song-progression
      (append intro verse chorus bridge outro))

(setf attr (make-diatonic-chord-attribute song-progression))

(setf song-chords
      (diatonic-chord
       song-progression
       :inv '(0 -1 0 -1   ; Introduction inversions
              -2 0 -1 0 -1 0 -1 0 -1 -2   ; Verse inversions
              0 -1 -2 0 -1 -2 0   ; Chorus inversions
              0 0 -1 0 -1 -2 0 -1  ; Bridge inversions
              0 -1 -2 0 -1 -2 0  ; Outro inversions
              0 0 0 -1 0 -1 -1 -2)  ; Outro inversions
       :sort t
       :drop 1))

(setf omn-data
  (omn
    :pitch song-chords
    :length '(q q h q
              q h q q q q q q h q
              q q q q q q h
              q h q q q q h q q h
              q q q q q q q h
              h h h q q h h w)
    :articulation attr))

(def-score my-song
  (:key-signature 'chromatic
   :time-signature '(4 4)
   :tempo 120
   :layout (grand-layout 'piano))
 
  (piano
   :omn omn-data
   :channel 1
   :sound 'gm
   :program 'acoustic-grand-piano))

Link to comment
Share on other sites

make-omn

 

(setf omn-data
  (make-omn
    :pitch song-chords
    :length '(q q h q
              q h q q q q q q h q
              q q q q q q h
              q h q q q q h q q h
              q q q q q q q h
              h h h q q h h w)
    :articulation attr))

 

and (grand-layout 'piano) is not correct it needs two voices. Change to one voice instrument.

Link to comment
Share on other sites

All together:
 

(setf intro '(:c I vi IV V))
(setf verse '(:c I V vi IV ii))
(setf chorus '(:am i iv VI III iv i V7))
(setf bridge '(:eb IV V7/V V7 I vi ii V7 I))
(setf outro '(:c vi IV I ii V7 I IV I))
(setf song-progression (append intro verse chorus bridge outro))
(setf attr (make-diatonic-chord-attribute song-progression))

(setf song-chords
      (diatonic-chord
       song-progression
       :inv '(0 -1 0 -1   ; Introduction inversions
              -2 0 -1 0 -1 0 -1 0 -1 -2   ; Verse inversions
              0 -1 -2 0 -1 -2 0   ; Chorus inversions
              0 0 -1 0 -1 -2 0 -1  ; Bridge inversions
              0 -1 -2 0 -1 -2 0  ; Outro inversions
              0 0 0 -1 0 -1 -1 -2)  ; Outro inversions
       :sort t
       :drop 1))

(setf omn-data
      (make-omn
       :pitch song-chords
       :length '(q q h q
                 q h q q q q q q h q
                 q q q q q q h
                 q h q q q q h q q h
                 q q q q q q q h
                 h h h q q h h w)
       :articulation attr
       ))

(def-score my-song
    (:key-signature 'chromatic
     :time-signature '(4 4)
     :tempo 120
     :layout (treble-layout 'chords))
 
  (chords
   :omn omn-data
   :channel 1
   :sound 'gm
   :program 0))

 

Link to comment
Share on other sites

  • opmo changed the title to New diatonic chord progression function

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy