Jump to content

PatrickMimran

Members
  • Posts

    90
  • Joined

  • Last visited

Posts posted by PatrickMimran

  1. How could we have access to the chord library  ? I tried (library 'chord-library 'triads 'maj  ) without success 

     

    Triads

    maj m min dim mb5 sus sus4 sus2 aug majs5 + -5

     

    Basic seventh chords

    maj7 m7 min7 7 dom7 dim7 m7b5 min7b5 mmaj7 m/maj7 7sus2

    7sus 7sus4

     

    Added tone chords

    5 6 maj6 m6 min6 6/7 6/9 69 6add9 6/9s11 69s11 6add9s11

    m6/9 m6add9 m69

     

    Extended nondominant seventh chords

    maj7b5 mmaj7a11 m/maj7a11 maj7s11 m/maj7a13 mmaj7a13

    m7sus4 m7s5 m7a11 m7a13 m7b13 m7b6 dim/maj7 dim7/maj7

    m7b9b5 7b9sus4 phrig maj7s5 

  2. Je vais vous envoyer plus tard la copie du score . Mais le problème est que meme lorsque j'évalue mon chord list , les accords "mapées ",me sortent des secondes alors que je m'attends à ce qu'ils donnent  le premier quatrième et cinquième degré de la mineur .

    Je vais essayer votre suggestion et je vous tiens au courant .

     

    Merci pour votre réponse 

     

    Patrick

     

     

  3. I try to map a  tonality on a very simple chord suite  1  4  5   from Major to natural minor in the folowing way 

     

    (Setq chordlist  (tonality-map '(natural-minor :root a4 )  '(c3c4e4g4c5   f3f4a4c5f5  G3G4b4d5g5) ))

     

    But it doesn't seems to work the way i want , i am just looking to transform degree 1 4 5 from c major to  1 4 5  a minor with no success 

     

    there is probably something i am missing or another easiest way 

     

    Thanks

     

    Patrick

     

     

     

     

     

  4. i looked at it and i tried to put it in the function , but without success 

     

    This is what i did 

     

    (defun patkaos (  lambda long &key seed  )

    (rnd-seed seed )
     (let ((res (cons seed nil)) (xn seed))
        (dotimes (n long res) (setf res (cons (setf xn (* lambda xn (- 1 xn))) res)))
        (reverse res)))

     

    when i evaluate this is what i gat 

     

    Error: floating-point-overflow detected
    >        performing * on (-2.5452163E+36 2.5452163E+36)
    > While executing: ccl::*-2, in process Listener-1(7).
    > Type cmd-. to abort, cmd-\ for a list of available restarts.
    > Type :? for other options.

     

     

    Thanks Patrick

  5. This is from Stephane Jeu2 pour piano example , i am looking to add computation on this omn2-1

    i would like it to do as well :

     

    (< (omn-encode (car x)) 1/16)
                                         (chord-interval-add '(-12 5 6 ) x)

     

    Plus  as well 

     

    (= (omn-encode (car x)) 1/16)
                                         (chord-interval-add '(36 ) x)


    for example , but i do not know how to group all operation within the same loop for i or even if it is possible ,

     

     

     

    ;; omn post processing (adding interval if length > 1/16)


    (setf omn2-1 (ambitus
                  '(c2 c5)
                   (loop for i in (single-events omn2)
                     collect (mapcar (lambda(x) 
                                       (if (> (omn-encode (car x)) 1/16)
                                         (chord-interval-add '(-4) x)
                                         x))
                                     i))))

     

    Thank you  for your answer

     

    Patrick 

     

    Jeu2aPourPiano.opmo

  6. Thank you , but it is not exactly what i want i did not express myself well , 

     

    in fact it is the scale  expansion based on The Schillinger System Of Musical Composition , what it does it replacing in a melody each pitch for his next third ,  skipping each time a third then a fourth etc ....

    it goes like that 

     

    expansion one   

    all c for d  all d for e all e for f all  f for g  all g for a all a for b  all b for c  as well as c# for d# etc ...

    expansion one

    all c for e  all d for f all e for g all  f for a  all g for b all a for c  all b for d   as well as c# for f etc ...

    expansion two

    all c for f all d for g all e for a all  f for b  all g for c all a for d  all b for e    as well as c# for f# etc ...

    expansion three 

    all c for g all d for a all e for b all  f for c  all g for d all a for e  all b for f   as well as c# for g# etc ...

    expansion four 

    all c for a  all d for b all e for c all  f for d  all g for e all a for f  all b for g   as well as c# for a# etc ...

    expansion five

    all c for b  all d for c all e for d all  f for e  all g for f all a for g all b for a   as well as c# for c etc ...

     

    Each expansion is used separately and is an option in the function .

    But i realise it is quite a lot of work and i do not want you to loose too much time on that if you are not interested in the idea . In any event 

     

    Thanks for your time

     

     patrick

     

     

     

  7. Hello Torsten

     

    thank you for your help , here are the functions i would like to use , unfortunately they work well with even number of items but not with odds i did not find a way to code that , maybe you have a solution , i am sure there is an easiest way but as my lisp knowledge is poor ... anyway  here they are :

     

    (defun exp1 (lis)
      (let ((newlist nil) (newlist2 nil))
        (loop
          (cond ((equal (cdr lis) nil)
                 (return (append (reverse newlist2) (reverse newlist)))))
          (setq newlist (cons (second lis) newlist))
          (setq newlist2 (cons (car lis) newlist2))
          (setq lis (cdr (cdr lis))))))

    ;(exp1 '( 1 2 3 4 5 6 7 8 9  ))

    (defun exp1do (lis)
      (do ((oldlist lis (cdr (cdr oldlist)))
           (newlist nil (cons (second oldlist) newlist))
           (newlist2 nil (cons (car oldlist) newlist2)))
        ((equal (cdr oldlist) nil) (append (reverse newlist2) (reverse newlist)))))

     

     

    ;(dosecondone '(1 2 3 4 5 ))

     

     

    ;thirdoneorg reorganize by three

    (defun exp2 (lis)
      (let ((newlist nil) (newlist2 nil) (newlist3 nil))
        (loop
         (cond ((equal (cdr lis) nil) 
                (return (remove nil
                                (append (reverse newlist3)
                                (reverse newlist2) 
                                (reverse newlist))))))
         (setq newlist (cons (caddr lis) newlist))
         (setq newlist2 (cons (cadr lis) newlist2))
         (setq newlist3 (cons (car lis) newlist3))
         (setq lis (cdddr lis)))))

     

     

    ;(exp2 '(1 2 3 4 5 ))

    added 11 minutes later

    Hi just another question is there a way in this function to have included all options for omn  , pitches , velocity , articulation 

     

    (defun my-omn (xs &optional (type :length)) 
      (getf (disassemble-omn xs) type))

     

     

    (my-omn '(q c4 e d4 e4 h f4 q g4) :pitches)  


    => (c4 d4 e4 f4 g4 )  etc.. same for velocity and articulation

     

    Thanks

     

    Patrick

  8. I did something which seems easier for me 

     

    (defun my-omn (lis &optional (nbr 0) ) 

    (nth nbr (disassemble-omn lis )))

     

    from there i mapcar any functions   

     

    Ex:  

     

    (setf lenomn (my-omn pianomain  ))   ;pianomain is a omn list or lists 

     

    (setf newlen (mapcar 'anyfunction lenomn ))

     

    then   :   (omn-replace :pitch newlen pianomain )

     

    Now if i would like to embed everything in one function with the options ? ( nbr 0 for length 3 for pitch 5 for velocity and 7 for articulation ) plus the omn options for :pitch :length :velocity and :art     with anyfuntion as an additional  argument

     

     That's what i would like to know how to do , now that i have the useful functions set , then i could concentrate everything in one function 

     

    Thanks For any help   Patrick  

  9. I did something which seems easier for me 

     

    (defun my-omn (lis &optional (nbr 0) ) 

    (nth nbr (disassemble-omn lis )))

     

    from there i mapcar any functions   

     

    Ex:  

     

    (setf lenomn (my-omn pianomain  ))   ;pianomain is a omn list or lists 

     

    (setf newlen (mapcar 'anyfunction lenomn ))

     

    then   :   (omn-replace :pitch newlen pianomain )

     

    Now if i would like to embed everything in one function with the options ? ( nbr 0 for length 3 for pitch 5 for velocity and 7 for articulation ) plus the omn options for :pitch :length :velocity and :art     with anyfuntion as an additional  argument

     

     That's what i would like to know how to do , now that i have the useful functions set , then i could concentrate everything in one function 

     

    Thanks For any help   Patrick  

  10. Hi torsten 

     

    when i evaluate 

     

    (defun edit-omn (type notation fun &key (flat T)))

     

     

    i gat this error message maybe i missed something 

     

    ;Compiler warnings for "/Users/patrickmimran/Opusmodus/AllPat_Comp/Patrick_2/OMN_Translator.opmo" :
    ;   In edit-omn: Unused lexical variable flat
    ;Compiler warnings for "/Users/patrickmimran/Opusmodus/AllPat_Comp/Patrick_2/OMN_Translator.opmo" :
    ;   In edit-omn: Unused lexical variable fun
    ;Compiler warnings for "/Users/patrickmimran/Opusmodus/AllPat_Comp/Patrick_2/OMN_Translator.opmo" :
    ;   In edit-omn: Unused lexical variable notation
    ;Compiler warnings for "/Users/patrickmimran/Opusmodus/AllPat_Comp/Patrick_2/OMN_Translator.opmo" :
    ;   In edit-omn: Unused lexical variable type

     

  11. Thank you Torsten 

     

    that's exactly what i was looking for , as i compose using Opusmodus first to generate several ideas which once in omn form  i like to process again or edit  afterwards with some home made functions and at the end manual edits . I will try it and come back to you if i have some questions .

     

    Patrick

     

     

     

     

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy