Jump to content

JulioHerrlein

Members
  • Posts

    809
  • Joined

  • Last visited

Reputation Activity

  1. Like
    JulioHerrlein reacted to opmo in Lenght-Map Question   
    Don't use tie in lengths only:
    (setf rv1 '(w s s s s_q -q s s s s -q -q -q -q q -q -q h -q h. -e. s s s s s s e s -s e._q -q))  
  2. Thanks
    JulioHerrlein reacted to opmo in Lenght-Map Question   
    I would use OMN-DICTUM instead of LENGTH-MAP.
  3. Thanks
    JulioHerrlein got a reaction from opmo in Score audition and notation   
    When I installed the latest version, I had to clean the cache to have it working properly. Best !
  4. Thanks
    JulioHerrlein reacted to Deb76 in Jean Barraqué - "séries proliférantes"   
    Thanks Julio. I made other graphs, Pitchs and intervals series with in particular the results of René. I'll post them tomorrow.
     
    Bravo René.  It's excellent. I have some questions about your script for you. Greetings. Didier
     
  5. Thanks
    JulioHerrlein reacted to Stephane Boussuge in Does Opusmodus come with sample library?   
    I've made a soundest for BBC Symphonic Orchestra Core version but it probably works as well with this one.
     
    You will find it attached to this post.
     
    best
     
    SB.
     
    BBCSO.lisp
  6. Thanks
    JulioHerrlein got a reaction from opmo in Does Opusmodus come with sample library?   
    Interesting Free VST Orchestral Plugin from BBC.
    Nice for pedagogical purpose (it´s free for students)
    Best,
    Julio
     
     
  7. Like
    JulioHerrlein reacted to Deb76 in Jean Barraqué - "séries proliférantes"   
    May be ? The circular permutation for 3e, 9e, 10e et 11e notes ? J'explique plus tard. J'ai un Rdv...
    JeanBarraqueSerProlif.pdf
  8. Thanks
    JulioHerrlein reacted to AM in row-permutation   
    row-permutation (with rule) for n-generations
     
    (defun row-permutation (n row rules &key (one-based nil)) (let ((rules (if (equal one-based t) (mapcar '1- rules) rules))) (loop repeat n collect (setf row (position-filter rules row))))) (row-permutation 5 '(a4 c5 cs5 g4 eb5 gs4 e5 d5 f4 b4 bb4 fs4) '(0 1 6 5 2 3 7 8 11 9 4 10)) => ((a4 gs4 eb5 c5 cs5 e5 d5 bb4 f4 g4 b4) (a4 e5 cs5 gs4 eb5 d5 bb4 b4 f4 c5 g4) (a4 d5 eb5 e5 cs5 bb4 b4 g4 f4 gs4 c5) (a4 bb4 cs5 d5 eb5 b4 g4 c5 f4 e5 gs4) (a4 b4 eb5 bb4 cs5 g4 c5 gs4 f4 d5 e5)) (row-permutation 5 '(a4 c5 cs5 g4 eb5 gs4 e5 d5 f4 b4 bb4 fs4) '(1 4 6 5 2 3 7 8 11 9 10 12) :one-based t) => ((a4 g4 gs4 eb5 c5 cs5 e5 d5 bb4 f4 b4 fs4) (a4 eb5 cs5 c5 g4 gs4 e5 d5 b4 bb4 f4 fs4) (a4 c5 gs4 g4 eb5 cs5 e5 d5 f4 b4 bb4 fs4) (a4 g4 cs5 eb5 c5 gs4 e5 d5 bb4 f4 b4 fs4) (a4 eb5 gs4 c5 g4 cs5 e5 d5 b4 bb4 f4 fs4))  
  9. Thanks
    JulioHerrlein reacted to AM in Jean Barraqué - "séries proliférantes"   
    violà... now it works fine 🙂  - OPMO could integrate it....  
     
    it's easier than i thought: a single index-series is read from the r-i and only this one is used! similar to LACHEMANN, only he determines this index-series himself (for that i coded this simple row-permutation-function)...
     
    greetings
    a.
     
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; SUB (defun row-permutation (n row rules &key (one-based nil)) (let* ((rules (if (equal one-based t) (mapcar '1- rules) rules))) (loop repeat n collect (setf row (position-filter rules row))))) ;;; MAIN (defun serie-proliferantes (n row) (let ((index-no (loop for x in (pitch-to-midi (pitch-invert (gen-retrograde row))) collect (or (position x (pitch-to-midi row)) (position (- x 12) (pitch-to-midi row)) (position (+ x 12) (pitch-to-midi row)))))) (list row (pitch-invert (gen-retrograde row)) (row-permutation n (pitch-invert (gen-retrograde row)) index-no)))) (serie-proliferantes 6 '(c5 ab4 g4 db5 e4 d4 bb4 eb4 b4 f4 fs4 a4)) => ((c5 ab4 g4 db5 e4 d4 bb4 eb4 b4 f4 fs4 a4) (a4 c5 cs5 g4 eb5 gs4 e5 d5 f4 b4 bb4 fs4) ((fs4 a4 g4 cs5 d5 c5 eb5 gs4 b4 f4 e5 bb4) (bb4 fs4 cs5 g4 gs4 a4 d5 c5 f4 b4 eb5 e5) (e5 bb4 g4 cs5 c5 fs4 gs4 a4 b4 f4 d5 eb5) (eb5 e5 cs5 g4 a4 bb4 c5 fs4 f4 b4 gs4 d5) (d5 eb5 g4 cs5 fs4 e5 a4 bb4 b4 f4 c5 gs4) (gs4 d5 cs5 g4 bb4 eb5 fs4 e5 f4 b4 a4 c5)))  
  10. Like
    JulioHerrlein got a reaction from opmo in Jean Barraqué - "séries proliférantes"   
    Thanks, André !
     
    It´s interesting to note that it relates to the idea of what is considered among the forms of the any 12 tone row.
    The question is if the proliferant series resultant are some kind of transposition, inversion, rotation, retrogradation or multiplication of the original tone row.
     
    In the studies about the enumeration of tone rows this is a decisive point. What is considered to be related or derived of a first tone row ?
    I´m not absolutely sure about it, but I´m using this as a reflection...
    So, maybe we can consider the following as byproducts of a given 12 tone aggregate, in original (O) form:
     
    1) There wil be 12 transpositions of  (O)
    2) the Inverted Form ( I ) and 12 transpositions of it;
    3) the Retrograde Form ( R ) and 12 transpositions of it;
    4) the Retrograde Inversion Form ( RI ) and 12 transpositions of it;
     
    This (O, R, RI and I) sums 48 derived rows of one 12-tone aggregate and this is the basic matrix.
     
    This is the trivial 12-tone theory, but beyond that, what can we consider as being derived from the same ordered set ?
    It´s not difficult to accept that all rotations of a 12-tone ordered set are derived from it. Take for example this Opus 25 tone row from "Arnie":
     
    E–F–G–D♭–G♭–E♭–A♭–D–B–C–A–B♭  (O, rot 0)
        F–G–D♭–G♭–E♭–A♭–D–B–C–A–B♭-E (O, rot 1)
            G–D♭–G♭–E♭–A♭–D–B–C–A–B♭-E-F (O, Rot 2)
                D♭–G♭–E♭–A♭–D–B–C–A–B♭-E-F-G  (etc)
                      G♭–E♭–A♭–D–B–C–A–B♭-E-F-G-Db
                            E♭–A♭–D–B–C–A–B♭-E-F-G-Db-Gb
                                 A♭–D–B–C–A–B♭-E-F-G-Db-Gb-Eb
                                       D–B–C–A–B♭-E-F-G-Db-Gb-Eb-Ab
                                           B–C–A–B♭-E-F-G-Db-Gb-Eb-Ab-D
                                               C–A–B♭-E-F-G-Db-Gb-Eb-Ab-D-B
                                                   A–B♭-E-F-G-Db-Gb-Eb-Ab-D-B-C
                                                       B♭-E-F-G-Db-Gb-Eb-Ab-D-B-C-A
                                                            E-F-G-Db-Gb-Eb-Ab-D-B-C-Bb
     
    1) The 12 rotations of ( O ) and all this transpositions (144)
    1) The 12 rotations of ( I ) and all this transpositions (144)
    1) The 12 rotations of ( R ) and all this transpositions (144)
    1) The 12 rotations of ( RI ) and all this transpositions (144)
     
    So, thinking this way, there are actually 576 derived forms of one each 12-tone row.
    In some special cases, the ( I ) can be the same of some retrograde or transposing form, in the case of invariance. 
    The same goes for some types of hexachordal combinatoriality. 
     
    And there are the multiplication series...
     
    Just some food for thoughts
     
    All the best !
     
    Julio
  11. Thanks
    JulioHerrlein reacted to opmo in position-insert   
    This is how it works, but I will extend the length to cover all possible positions.
     
    (setf test '(c4 d4 e4 fs5 e4)) (position-insert '(1 3 5 7 9) 'b3 test) => (c4 b3 d4 b3 e4 b3 fs5 b3 e4 b3)  
     
  12. Thanks
    JulioHerrlein reacted to o_e in position-insert   
    Hi,
     
    How does position-insert work?
    (setf test '(c4 d4 e4 fs5 e4)) (setf test2 (position-insert '(1 3 5 7) 'b3 test)) =>(c4 b3 d4 b3 e4 b3 fs5 e4) ; 1 3 5 ? what am I missing?
  13. Like
    JulioHerrlein got a reaction from AM in Jean Barraqué - "séries proliférantes"   
    Thank you, for the information !!
    André, could you do a brief explanation of the function, please ?
    I´m interested in ways of construction 12 tone sequences, aka rows...
    Unfortunately, I can´t read german despite my german surname...
    All the best !!
     
    Here is some recent review articles about AIR series, by Marco Nardelli
     
    https://www.researchgate.net/publication/342093979_The_Hitchhiker's_Guide_to_the_All-Interval_12-Tone_Rows
     
  14. Thanks
    JulioHerrlein reacted to AM in Jean Barraqué - "séries proliférantes"   
    thank you for the LINKS, i will read the papers!
    greetings
    andré
  15. Thanks
    JulioHerrlein reacted to Deb76 in Jean Barraqué - "séries proliférantes"   
    Thank you for this function / script regarding "les séries proliférantes". By carrying out a research on the book "Jean Barraqué, Ecrits" and published by the "publications of the Sorbonne" I discovered this site around Jean Barraqué and in particular examples of the scores and the booklets of "Séquence (1950-55) , "Le temps restitué (1959)", "... au delà du hasard (1959)", "Chant après chant (1966)" and "Concerto (1968)". I tell myself that under the documentation that might be of interest to members :
     
    Bärenreiter Verlag - Download
    WWW.BAERENREITER.COM Concerning "Ecrits Jean Barraqué, réunis, présentées et annotées par Laurent Feneyrou", for those who read French, I found a communication and an article published on the site "Entretemps". The communication to "Samedi d'Entretemps of October 26, 2002," Jean Barraqué: de l'écrit, le devenir" by Franck C. Yeznikan, evokes in particular the analyzes published in the book on Beethoven, Debussy, Webern, Messiaen:
     
    Jean Barraqué : de l'écrit, le devenir
    WWW.ENTRETEMPS.ASSO.FR  
    "Le Souci du Développement chez Barraqué" by François Nicolas, published in Entretemps n ° 5 in 1987, evokes the two main references of Barraqué according to the author, "Beethoven and Debussy ", his admiration of Webern and Schubert. Without forgetting the interest and taste of Barraqué concerning musical analysis.

    And to stay on topic on "les séries proliférantes", a theoretical explanation on this technique developed by Barraqué to escape the immutable intervallic structures of series  : 
     
    Le souci du développement chez Barraqué
    WWW.ENTRETEMPS.ASSO.FR  

  16. Like
    JulioHerrlein reacted to AM in Jean Barraqué - "séries proliférantes"   
    thanx, dear julio. 
     
    the "serialists" often have suitable concepts for formalization 😄
     
    greetings
    andré
  17. Like
    JulioHerrlein reacted to MikeMossey in Does Opusmodus come with sample library?   
    I've been watching some of the demonstration videos where the composer "orchestrates" the sounds for instruments like strings and gets immediate feedback on how it sounds. Is this using a sampler that is built into Opusmodus or something else? If something else, how can I get that?
  18. Like
    JulioHerrlein reacted to opmo in Opusmodus 2.1.26209   
    2.1.26209

    – New Functions:
    CHORD-DERIVE - Chord rotation method developed by Pierre Boulez. RHYTHMIC-LEVEL - Returns a list of rhythmic levels derived from a span and its division, according to given proportions. RP - This function result derives from a pair-list and returns a number of repeats on a given item.  
    – Additions:
    PITCH-VARIANT - additional variant symbol 'a (random order).
      Downloads
  19. Like
    JulioHerrlein reacted to opmo in How to create (permanently) a library   
    you could do:
    (create-library 'test 'testing 'bla                 '((a b c) (e f g))                 :file "test1"                  )  
    which will create a file 'test1.opmo' in the ~/Opusmodus/Def-Libraries/Def-Library:
    (in-package :Opusmodus) ;; Library | Opusmodus Version 2.1.26194M | 2021-01-25 10:30:52 (def-library test (:section testing bla0 '(a b c) bla1 '(e f g))) #| Examples: (library 'test 'testing 'bla0) (library 'test 'testing nil :random 5) (library 'test 'testing nil :collect '(0 3 5)) |#  
    🙂
     
     
  20. Like
    JulioHerrlein reacted to o_e in How to create (permanently) a library   
    Ok, now I've got it, thanks a lot!
  21. Like
    JulioHerrlein reacted to o_e in How to create (permanently) a library   
    Hi,
    Please have merci with me, but I'am not able to build a library (permanent).
    I've tried to follow the docs, so I first use def-library:
    (def-library test (:section testing bla1 '(a b c) bla2 '(e f g) )) This seems to work, testing with:
    (library 'test 'testing 'bla2) ==>(e f g) Next step in my understanding would be:
    (create-library 'test 'testing 'bla :file "test" ) that gives an error:
    ==>Error: Incorrect keyword arguments in ("test") What am I missing,  surely something very silly that I overlooked, greatful for some help..
    Thanks!
     
    ole
  22. Like
    JulioHerrlein reacted to torstenanders in Opusmodus convention: documentation of the libraries I presented   
    After our recent Opusmodus Convention I have been asked whether there would be any Opusmodus tutorials for the libraries I shared. 
    While there is no bespoke Opusmodus tutorial for any of them (you might consider my presentation at he Opusmodus convention as that tutorial, and additionally there are some nods to Opusmodus in the docs here and there), these libraries are all documented. For all libraries I write I tend to create detailed reference documentation for my own good 🙂  Much of the documentation is simply at the Common Lisp level, but that means in Opusmodus it would be largely used the same way. 

     
    Fenv (Function Envelopes)
     
    There is some short intro doc at the github project page of this library at https://github.com/tanders/fenv for plain Common Lisp but with a few Opusmodus-specific notes. In the fenv library, pretty much every definition has a very short docstring (e.g., see https://github.com/tanders/fenv/blob/master/sources/fenv.lisp ). These docstrings were also used for creating some HTML documentation. Check out the doc directory in this library. Further, there is a test file, which can also be considered a file with a bunch of examples, though without further documentation (see https://github.com/tanders/fenv/blob/master/tests/test-fenv.lisp ).
     
     
     
    Cluster Engine and Cluster Rules
     
    Concerning the constraint libraries, the situation is a bit more complex. The Github landing page of Cluster Engine (https://github.com/tanders/cluster-engine ) also starts with something like a mini tutorial and some very brief consideration of Opusmodus, like the fenv library. Nevertheless, these libraries where originally written for PWGL and they are still best documented when used from within PWGL.
     
    You might want start looking into these libraries by watching some video tutorial I did for my students (as part of a collection/playlist of videos on PWGL) where I am showing them how to get started with these libraries in PWGL at
     
    Both libraries feature some PWGL tutorial that consists of a number of PWGL patches accessible from the PWGL docs menu after installing and loading them.  These PWGL tutorials go much further than I do in the above-mentioned video.
     
    Beyond these PWGL tutorials, there is also some reference doc for the top-level Cluster Engine functions (e.g.,  the rule applicators) and the predefined rules in Cluster Rules, again written as docstrings but also part of HTML docs of these libraries, but these are best understood after you followed the PWGL tutorials.
     
    So, unfortunately I have to encourage you to check these libraries out in PWGL first, that is still more easy. You can then rather easily port your first PWGL Cluster Engine patches to Opusmodus, as the boxes in PWGL and the functions for Opusmodus at called the same, as long as you only used definitions from the Cluster Engine package.
     
    Note that unfortunately, the original PWGL site is meanwhile down (this software is not developed any further), but it seems that some version of the software can still be downloaded at
    fdsdbmascagni
    SITES.GOOGLE.COM  
    Apologies that there are no bespoke Opusmodus tutorials. Janusz already also mentioned some interest in these libraries, so I may give some dedicated talk on those at some later stage (e.g., as part of our next convention). I would likely cover largely what is already covered in the above-mentioned docs, only from within Opusmodus then.
     

    TOT
     
    Again, this library has a github landing page with some initial documentation (https://github.com/tanders/tot ) and some detailed reference documentation in HTML in the doc folder (https://tanders.github.io/tot/ ). This reference documentation features many examples that can be directly executed within Opusmodus. In some earlier version of Opusmodus, the HTML doc files could also be directly opened and the code could be evaluated without copying, but that is currently not possible any more (due to some changes by Apple as I understand, sigh). 

    Note that all of these libraries might have some problems here and there. I try to test all my definitions carefully (for Cluster Engine I even defined a suit of regression tests), but things on which these libraries depends can change (e.g., some updates of Opusmodus break some TOT code every now and then). Anyway, if case you run into problems just get in touch. I have currently rather little time to look into these matters and thus may not be very response, but I will try to help at some stage... 
     
    Best,
    Torsten
     
  23. Like
    JulioHerrlein reacted to o_e in distribute-seq, how does it work?   
    Hi,
    I'am examin the distribute-seq function and don't get the exact logic behind it:
     
    (setf pitch '(c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 as4 b4)) #| 1 2 3 4 5 6 7 8 9 10 11 12 |# (setf l-v1 '(1/8 -1/8 2/8 -1/8 5/8) l-v2 '(1/8 1/8 -1/8 2/8 1/8) l-va '(-2/8 1/8 -5/8 1/8) l-vc '(-1/8 3/8 1/8 1/8) ) (setf align (distribute-seq pitch l-v1 l-v2 l-va l-vc)) ==>((c4 e4 gs4) (cs4 d4 fs4 a4) (f4 b4) (ds4 g4 as4)) ;;;from the docs, what is the rule for the distribution (when the lists are of different size)? ;;;Do the list of pitches (have to) match the list of length values? #| -----------------that's what I would expect:------------------- 1 5 9 l-v1 '(1/8 -1/8 2/8 -1/8 5/8) 2 6 10 12 l-v2 '(1/8 1/8 -1/8 2/8 1/8) 3 7 l-va '(-2/8 1/8 -5/8 1/8) 4 8 11 l-vc '(-1/8 3/8 1/8 1/8) -----------------that's how it works:------------------------ 1 5 9 l-v1 '(1/8 -1/8 2/8 -1/8 5/8) 2 3 7 10 l-v2 '(1/8 1/8 -1/8 2/8 1/8) 6 12 l-va '(-2/8 1/8 -5/8 1/8) 4 8 11 l-vc '(-1/8 3/8 1/8 1/8) ----------------that's what Stéphane would expect (and what would also make sense to me): 1 6 11 l-v1 '(1/8 -1/8 2/8 -1/8 5/8) 2 3 8 12 l-v2 '(1/8 1/8 -1/8 2/8 1/8) 4 9 l-va '(-2/8 1/8 -5/8 1/8) 5 7 10 l-vc '(-1/8 3/8 1/8 1/8) |#  
     
    greatful for some insight, thanks!
     
    ole
  24. Thanks
    JulioHerrlein reacted to o_e in distribute-seq, how does it work?   
    Can you please ellaborate a little, thanks!
     
    ole
  25. Like
    JulioHerrlein reacted to torstenanders in Aschenputtel for Flute Solo   
    I am sharing here the score of some piece I did some time ago with Opusmodus and which I will touch upon in my presentation at the forthcoming Opusmodus convention. 
     
    Unfortunately, I only have a score for this and no recording. 
     
    Torsten
    Torsten Anders - 2017 - Aschenputtel - for Flute Solo.pdf
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy