Jump to content

tonality-map changed behavior


Recommended Posts

The tonality-map function isn't working as expected on my Intel MacBook Pro (Monterey 12.6.6) in Opusmodus (v3.0.29006). I have an Opusmodus v2.2.26941M on an Intel iMac (Monterey 12.6.7) that I have tested and it yields something more like I'd expect. Did the default behavior of tonality-map change between versions?  Below, I've included sample code along with the different output from the two different versions.

 

Thanks,

Jon

 

;;; code -- common between versions

(setf progression (harmonic-progression
                   '(1 6 4 2 5 1 2 4 5)
                   '(c4 natural-minor)
                   :size 7
                   :step 1
                   :base 1
                   ))

(setf progression-list (mclist progression))

(setf accomp-shell '((q c3 p g3e4 c4e4 e3c4)))

(setf accomp-phrase (gen-repeat 8 accomp-shell))

(setf accomp-map (tonality-map progression-list accomp-phrase))

;; Opusmodus 3 output
OM 2 > harmonic-progression
(c4d4eb4f4g4gs4bb4 gs4bb4c5d5eb5f5g5 f4g4gs4bb4c5d5eb5 d4eb4f4g4gs4bb4c5 g4gs4bb4c5d5eb5f5 c4d4eb4f4g4gs4bb4 d4eb4f4g4gs4bb4c5 f4g4gs4bb4c5d5eb5 g4gs4bb4c5d5eb5f5)

OM 3 > mclist
((c4d4eb4f4g4gs4bb4) (gs4bb4c5d5eb5f5g5) (f4g4gs4bb4c5d5eb5) (d4eb4f4g4gs4bb4c5) (g4gs4bb4c5d5eb5f5) (c4d4eb4f4g4gs4bb4) (d4eb4f4g4gs4bb4c5) (f4g4gs4bb4c5d5eb5) (g4gs4bb4c5d5eb5f5))

OM 4 > 
((q c3 p g3e4 c4e4 e3c4))

OM 5 > gen-repeat
((q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4))

OM 6 > tonality-map
((q c4 p c4f4 c4f4 c4) (q gs4 p gs4 gs4 gs4) (q f4 p f4 f4 f4) (q d4 p d4f4 d4f4 d4) (q g4 p g4 g4 g4) (q c4 p c4eb4 c4eb4 c4) (q d4 p d4eb4 d4eb4 d4) (q f4 p f4 f4 f4))

;; Opusmodus 2 output
? harmonic-progression
(c4d4eb4f4g4gs4bb4 gs4bb4c5d5eb5f5g5 f4g4gs4bb4c5d5eb5 d4eb4f4g4gs4bb4c5 g4gs4bb4c5d5eb5f5 c4d4eb4f4g4gs4bb4 d4eb4f4g4gs4bb4c5 f4g4gs4bb4c5d5eb5 g4gs4bb4c5d5eb5f5)
? mclist
((c4d4eb4f4g4gs4bb4) (gs4bb4c5d5eb5f5g5) (f4g4gs4bb4c5d5eb5) (d4eb4f4g4gs4bb4c5) (g4gs4bb4c5d5eb5f5) (c4d4eb4f4g4gs4bb4) (d4eb4f4g4gs4bb4c5) (f4g4gs4bb4c5d5eb5) (g4gs4bb4c5d5eb5f5))
? 
((q c3 p g3e4 c4e4 e3c4))
? gen-repeat
((q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4) (q c3 p g3e4 c4e4 e3c4))
? tonality-map
((q c3 p g3f4 c4eb4 f3c4) (q gs3 p eb4c5 gs4c5 c4gs4) (q f3 p c4bb4 f4gs4 gs3f4) (q d3 p bb3f4 d4g4 g3d4) (q g3 p d4c5 g4bb4 bb3g4) (q c3 p g3eb4 c4f4 eb3c4) (q d3 p gs3f4 d4g4 g3d4) (q f3 p c4bb4 f4bb4 bb3f4))
? 

 

Link to comment
Share on other sites

Hi Jon,

 

indeed the tonality-map behaviour is changed recently for very good reasons and now you can do extraordinary things with tonality-map like mapping a full orchestra with a pitch remapping by register according to each playing register for the instruments.

This is the default now for tonality-map (:map nil), it means tonality-map remap always to the closest pitch according to the register, so if you provide some chords, it is necessary to extend the register of this chords before the mapping using the keyword :map '(octave). There is also another possibility: :map '(extend) and :map '(step).

 

To get your intended output, you have to use :map '(octave) like this:

 

(setf progression (harmonic-progression
                   '(1 6 4 2 5 1 2 4 5)
                   '(c4 natural-minor)
                   :size 7
                   :step 1
                   :base 1
                   ))

(setf progression-list (mclist progression))

(setf accomp-shell '((q c3 p g3e4 c4e4 e3c4)))

(setf accomp-phrase (gen-repeat 8 accomp-shell))

;;; Here i'm preparing the harmonic path with the keyword :map '(octave)
(setf path (tonality-series progression-list :map '(octave)))

(setf accomp-map (tonality-map path accomp-phrase))

Best !

 

Stéphane

 

Link to comment
Share on other sites

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