Jump to content
Sign in to follow this  
PatrickMimran

How may i retrieve modes from libraries

Recommended Posts

With Plist

(library 'metrons-middle-eastern '8-metrons 'Ghuriyaneh)

 

With in OMN (no quotes) list.
(library metrons-middle-eastern 8-metrons Ghuriyaneh)

 

 
Expand library
(expand-libraries '(library metrons-middle-eastern 8-metrons Ghuriyaneh))

 

Generate lengths
(gen-length (library 'metrons-middle-eastern '8-metrons nil :random 10) '(s))
(gen-length (library 'metrons-lib '24-metrons nil :random 10) '(s))

 

Share this post


Link to post
Share on other sites

Hi,

(library 'modes 'major 'major)
=> major

(expand-libraries '(library modes major major))
=> major
 
I stumbled over the same problem: How can I retrieve the mode pitches from a library?
When I evaluate the given examples they return only the name of the mode but I want e.g. (c4 d4 e4 f4 g4 a4 b4). 
I assume I have to enter a starting pitch and make a call :pitch, but how 
exactly does it work ? 
 
thanks 
 
ole

Share this post


Link to post
Share on other sites

Thanks Stéphane,

 

but the major scale was just an example, what I want to know is how can I use the modes library..

Share this post


Link to post
Share on other sites

In Opusmodus Scores examples folder, you have a score named: Using Modes Library.

 

i provide it here for quicker reference:

;;;---------------------------------------------------------
;;; MODES LIBRARY
;;; Using modes library example
;;;---------------------------------------------------------

;; Vector generation
(setf vector (vector-smooth 0.31 (gen-white-noise 128)))

;; Transform vector values in pitches
(setf pch1 (vector-to-pitch '(c4 e5) vector))
(setf pch2 (gen-rotate 6 pch1)) 
(setf pch3 (gen-rotate 12 pch1))
(setf pch4 (gen-rotate 18 pch1))

;; Number of bars
(setf size 24)

;; Pick some random modes in modes library
;; based on mode-struct list.
(setf mod-struct-list
      (vector-to-list
       (gen-trim size (vector-round 1 4 vector))))

(setf modes-list
      (library 'modes 'messiaen nil
               :collect mod-struct-list))

;; Choice of fundamentals for modal path from vector
(setf fund (vector-map '(d4 e4 f4 g4 a4) vector))

;; Modal path
(setf path (tonality-series modes-list :root fund))

;; Rythmic structures generation
(setf number-of-rythmic-motives 3)

(setf rylist (binary-length-map 
              (gen-binary-euclidean
               number-of-rythmic-motives 12 2 12) 'e))

;; Rhythmic rotation and add rest
(setf r1 (length-rest-weight '(3 1) (rnd-sample size rylist)))
(setf r2 (gen-rotate -1 r1))
(setf r3 (gen-rotate -2 r1))
(setf r4 (gen-rotate -3 r1))

;; Velocity from vector
(setf master-vel (mclist (vector-to-velocity 'p 'f vector)))

;; Articulation from vector with rotation on each voices
(setf artbase (vector-map 
               '((leg) (stacc) (marc) (ten))
               (gen-trim size vector)))

(setf art1 artbase)
(setf art2 (gen-rotate -1 artbase))
(setf art3 (gen-rotate -2 artbase))
(setf art4 (gen-rotate -3 artbase))

;; OMN assembly
(setf omn1 (make-omn 
            :pitch pch1
            :length r1
            :velocity master-vel
            :articulation art1))

(setf omn2 (make-omn 
            :pitch pch2
            :length r2
            :velocity master-vel
            :articulation art2))

(setf omn3 (make-omn 
            :pitch pch3
            :length r3
            :velocity master-vel
            :articulation art3))

(setf omn4 (make-omn 
            :pitch pch4
            :length r4
            :velocity master-vel
            :articulation art4))

;; Apply harmonic path
(setf oh1 (tonality-map path omn1)) 
(setf oh2 (tonality-map path omn2))
(setf oh3 (tonality-map path omn3))
(setf oh4 (tonality-map path omn4))

;; Ambitus control
(setf p1 (ambitus '(g4 c6) oh1))
(setf p2 (ambitus '(c4 c5) oh2))
(setf p3 (ambitus '(c3 a4) oh3))
(setf p4 (ambitus '(c2 c3) oh4))

;;; -------------------- SCORE
(def-score modes-lib
           (
            :key-signature '(c maj)
            :time-signature '(12 8)
            :title "Modes-lib-example"
            :composer "S.Boussuge"
            :copyright "Copyright © 2014 S.Boussuge"
            :tempo '(q. 92)
            :layout (bracket-group
                     (flute-layout 'flute)
                     (oboe-layout 'oboe)
                     (clarinet-layout 'clarinet)
                     (bassoon-layout 'bassoon))
            )

(flute
 :omn p1
 :channel 1
 :sound 'gm
 :program 'flute)

(oboe
 :omn p2
 :channel 2
 :program 'oboe)

(clarinet
 :omn p3
 :channel 3
 :program 'clarinet)

(bassoon
 :omn p4
 :channel 4
 :program 'bassoon)
)

SB.

Share this post


Link to post
Share on other sites

Thanks for the example.

What I'am looking for ist how to transform the content of  (:section messiaen messiaen-mode1 'messiaen-mode1) into something like 

(c4 d4 e4 fs4 gs4 bb4) to see if this is meant by 'messian-mode1, I know by chance what messiaen mode1 presumably is but I'am lost about  (:section peruvian peruvian-pentatonic1 'peruvian-pentatonic1) for example..

 

ole

Share this post


Link to post
Share on other sites

Which document I should read?

I read already modes.opmo and library.opmo and Using Modes Library.opmo (with Stephane pasted me in the forum)..

none of these files answer my simple question:

When I evaluate

(library 'slonimsky 'tritone 's10d)
=> (c5 b4 gs4 fs4 f4 d4)

but

(library 'modes 'pentatonic 'pentatonic)
=> pentatonic
..instead of pitches. Can someone please give a simple example how one can get pitches from the modes library- than I probably can explore it further myself
 
thanks!
 
ole

Share this post


Link to post
Share on other sites

The output you get is correct.

s1u = '(c4 cs4 fs4 g4)

(def-library slonimsky
   (:section tritone
              s1u '(c4 cs4 fs4 g4)
              s1d '(c5 g4 fs4 cs4)
              s2u '(c4 d4 fs4 gs4)
              s2d '(c5 gs4 fs4 d4)
              s3u '(c4 e4 fs4 as4)
              s3d '(c5 as4 fs4 e4) 
              ...

In modes library acoustic-scale = acoustic-scale.

Modes library is made for TONALITY-MAP or TONALIT-SERIES functions.

(def-library modes
  (:section acoustic
            acoustic-scale 'acoustic-scale
            anhemitonic-hexatonic 'anhemitonic-hexatonic
            heptonia-seconda 'heptonia-seconda
            modus-conjunctus 'modus-conjunctus
            protus-authentus 'protus-authentus
            pelog 'pelog
            pyramid-hexatonic 'pyramid-hexatonic
            symmetrical-decatonic 'symmetrical-decatonic
            synthetic-mixture-s5 'synthetic-mixture-s5)
            ...

Opusmodus version 1.0.15710 allows you to do what you are looking for:

(expand-chord-name (library 'modes 'pentatonic 'pentatonic) :type :pitch)
=> (c4 d4 f4 g4 a4)

(expand-chord-name (library 'modes 'messiaen 'messiaen-mode1) :type :pitch)
=> (c4 d4 e4 fs4 gs4 bb4)

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×