Jump to content

JulioHerrlein

Members
  • Posts

    819
  • Joined

  • Last visited

Reputation Activity

  1. Thanks
    JulioHerrlein reacted to opmo in Request: make-omn   
    I have some idea how we could do that - possibly next week.
  2. Like
    JulioHerrlein reacted to Deb76 in Request: make-omn   
    Dear Julio
    Thank you for your reply, but that's not what I want. I know the integer-to-pitch function well, I use it in my musical analysis with the tools of the Set Theory. And precisely, at my request, in order to be able to add the notation mod12 on a partition, Janusz created the insertion of integers via num0 ... num11.
    What I want is for make-omn to recognize the num parameter, either directly or by being able to add to :length, :pitch, :articulation, :velocity, the parameter :num or other name.
     
    I made an example from a row extracted from the Library Vienna. By adding in the series the notation in integers with the parameter num one realizes that this notation does not appear in the score from make-omn :
    (setf dur (gen-repeat 12 'q) )
    (setf op29webernLib (expand-libraries '(library vienna webern r19)))
    (setf op29webernNumMO '(ds4 num3 b4 num11 d4 num2 cs4 num1 f4 num5 e4 num4 g4 num7 fs4 num6 as4 num10 a4 num9 c4 num0 gs4 num8))
    (setf webernop29_OMN 
                (make-omn 
                :length  dur 
                :pitch op29webernNumMO
                ))
    Unlike the notation as follows:
    (setf op29webernNum1 '(q ds4 num3 b4 num11 d4 num2 cs4 num1 f4 num5 e4 num4 g4 num7 fs4 num6 as4 num10 a4 num9 c4 num0 gs4 num8))
     
     
    Best.
    Didier
    Stéphane bonsoir, 
    Réponses croisées. Merci. Je n'avais pas pensé à l'intégrer en tant qu'articulation.  Merci donc. Et je viens de vérifier en ajoutant aussi des articulations (num0+marc, num11+stacc...) ça fonctionne. C'est impeccable. 
     
    Cross responses. Thank you. I had not thought of integrating it as an articulation. Thank you so. And I just checked by adding also joints (num0 + marc, num11 + stacc ...) it works. It's impeccable.
     
    Best.
    Didier
  3. Thanks
    JulioHerrlein reacted to torstenanders in Request: make-omn   
    > Sometimes is interesting for hearing snippets with different sounds without having to compile the entire score
     
    My Opmo score data structure already allows for that, though you always have to render snippets with an explicit function call, as we cannot define custom shortcuts so far.
     
    It is part of my tools at https://github.com/tanders/tot. Check out the function preview-score (https://tanders.github.io/tot/sources/score.html#_g232191). Various other functions allow to transform polyphonic score snippets for one or more instruments in various ways. 
     
    Best,
    Torsten
     
  4. Like
    JulioHerrlein reacted to opmo in Variations on Variations (2019)   
    It is a new function which generate a variations of a given score or section. The function has around 20 keywords and is not yet ready for release.
  5. Thanks
    JulioHerrlein reacted to opmo in Variations on Variations (2019)   
    Variations on "Webern Variationen Fuer Klavier Op.27, I" (2019) by JP
     
       
     
     
    Instrument: VSL Steinway D
  6. Like
    JulioHerrlein got a reaction from ydepps in Combinatorial Voice-Leading of Hexachords   
    Dear All,
     
    HAPPY 2018 !!
     
    With the new PCS organization in Opusmodus is possible to implement a concept of my book, called Combinatorial Voiceleading of Hexachords.
    From a Hexachord Set, is possible to find 10 different ways to combine the notes in the for of voice-leading sets. Each hexachord is divided in (3 + 3) way.
     

     
    This expression:
     
    (setf hexavl (mclist (chordize-list (integer-to-pitch (remove-duplicates (sort-asc (gen-divide 3 (flatten (permute (pcs '6-32))))) :test #'equal)))))  
    Will result in this combination of the 6-32 hexachord, similar to the idea in the book.
     

     
    In the book, the material is organized in 70 pages of melodic and harmonic exercises.
     
    Here is a litte sample:
    CH_HERRLEIN.pdf
     
    The entire book:
    https://www.melbay.com/Products/Default.aspx?bookid=30042BCDEB
     
    Best !
    Julio Herrlein
  7. Thanks
    JulioHerrlein reacted to opmo in Opusmodus 1.3 crashing   
    Dear Timothy,
     
    Lets delete some folders and files from the Library folder.
     
    1. Quit app.
    2. Go to Library/Preferences folder and delete the com.opusmodus.Opusmodus.plist file:


     
    3. Go to Library/Caches folder and delete the com.opusmodus.Opusmodus folder:
     

     
    4. Start Opusmodus app
    5. Create a new workspace
     
    Let me know if the app is still crashing.
     
    best,
    Janusz
     
    P.S. To play with the CLM please use the CLM.opmo file which you find in the Library panel '3. HowTo Score/Sound Synthesis' folder:
     

     
    As well the 3 files in '5. Sound Synthesis' folder:
     

     
    The CLM folder should not be used.
    There are some clm instruments which may course crash.
    With the time we will add more clm instruments with OMN form.
     
  8. Thanks
    JulioHerrlein reacted to opmo in Opusmodus 1.3 release   
    Whats new in version 1.3
     
    Compatibility with macOS Mojave
    
macOS 10.14 Dark Mode
    
CLM added

    OSC added
    
MIDI player improvements
     
    New functions:
    binary-to-attribute
    merge-attributes
    circle-pitch-plot

    circle-rhythm-plot
    xy-plot
    pcs-rhythm

    edit-events
    find-max-span
    fit-to-span

    gen-osc-data

    osc-thread
    
stop-osc-threads
     
    Enhancements and fixes:
    quantizer returns now the count of given length-notes
    single-events returns given type
    don't join dissimilar rests
    fixed rest grouping
    fixed tied 8va or 8vb tuplets
      Installation:
    There are some changes to the Opusmodus user system folder.
    Before opening the new application you need to delete the old Opusmodus folder.
    Make sure you save your personal files (scores, docs etc...) before. A good solution is to rename the Opusmodus folder first and then compress it.
    After you have deleted the Opusmodus user folder you can start the new application.
    At the start Opusmodus will ask you for permission to create a new user folder in your home directory, if you don’t see a window for it, it means the old folder is still on your computer. Make sure the new Opusmodus folder is installed in your home directory.
     
    New Opusmodus folder:
     


    Upgrade:
    Opusmodus 1.3 requires a new serial number to run.
    When purchasing upgrade 1.3 the current user will need to provide an Opusmodus 1.2 serial number.
    After the confirmation which takes a few seconds only, you will be redirected to the purchase page.
    Following the purchase a new serial number will be sent to you by email.
     
    Happy New Year 2019
     
    Yours,
    Janusz Podrazik
  9. Like
    JulioHerrlein reacted to Stephane Boussuge in Prelude for Piano 171218   
    Hi Julio
     
    that score use the pcs 7-33 as pitch material.
    It use also a vector mapping on "reservoirs" of motives for the music generation.
    All this was done on the fly on a draft file.
    Once done, i've used pprint for pprint the score on my finale opmo score file and add some few treatment for creating the coda.
     
    Score attached to this post.
     
    All the best
     
    S.
    prelpia171218.opmo
  10. Thanks
    JulioHerrlein reacted to Stephane Boussuge in Prelude for Piano 171218   
    Here's a small Prelude for Piano.
     

     
    SB.
  11. Like
    JulioHerrlein reacted to AM in chord-contraction/expansion   
    you should also share your ideas/thoughts/concepts!!??
  12. Like
    JulioHerrlein reacted to lviklund in chord-contraction/expansion   
    André,
     
    Thank you for the explanation. I agree with JH. Interesting.
     
    /Lasse
  13. Like
    JulioHerrlein reacted to AM in chord-contraction/expansion   
    hi julio
     
    it's too complicated to share the code...the FUNCTION is made for a specific idea of the work (not common), so it's made for MY need...
    here is a short sketch of the work... (part of it)
     
    a) generating a pitch-sequence => by using a 12-tone-seq + its expansion by a sorting-algorithm (with GEN-SORT) => an INTERVAL-order mutates to a SCALE (see the list-plot)
    b) pitches are projected on a sequence of symmetrical expanding/compressing FIELDS (with CHORD-CONTR...) => you see how the pitch-seq is contracted/exapnded in "space"
     
    - result is a kind of interference of this processes => at the end you see (in list-plot) that the interference is going more and more to ONE LEVEL - to a SCALE 
    - so its a kind of inside/out. the inherent structure, the inherent process/order is more and more recognizable during the process (start with compr/exp. 12-tone-row to the simple SCALE)
     
     

     
     
    the project is a bit larger. this sequence (which rhythm is based on a binary-event-filter (data of a jpeg of an artist))  is only the structural background (some ideas developed by LACHENMANN) - on this NET (the score you see) there will be other GESTALTS/MOTIFS etc...
    because my needs are such specific to my and my idea - most of the functions i had to code for myself, or modify/enlarge the OPMO functions, great that this is possible on this platform.
     
    sorry a bit complicated and i can't not describe it properly with a few words 🧐
     
     
     
     
  14. Thanks
    JulioHerrlein reacted to Stephane Boussuge in Harmonic Systems - Harmonizing from top notes (melodies)   
    You can use pitch-class within PATTERN-MAP function:
    (pattern-map   '(((0 1 9 4 2 5) (0 4 2 1 9 5))    ((11 8 10 3 7 6) (10 8 11 3 7 6)))  '((c6 cs4 a4 e3 d6 f4) (b4 gs3 bb4 eb4 g5 fs6))   :pcs t) => ((c6 e4 d4 cs3 a6 f4)     (bb4 gs3 b4 eb4 g5 fs6))  
     
  15. Thanks
    JulioHerrlein reacted to Stephane Boussuge in Help on WILDCARDS ? *   
    You can use pitch-class within pattern-map function:
    (pattern-map   '(((0 1 9 4 2 5) (0 4 2 1 9 5))    ((11 8 10 3 7 6) (10 8 11 3 7 6)))  '((c6 cs4 a4 e3 d6 f4) (b4 gs3 bb4 eb4 g5 fs6))   :pcs t) => ((c6 e4 d4 cs3 a6 f4)     (bb4 gs3 b4 eb4 g5 fs6))  
     
  16. Like
    JulioHerrlein reacted to Stephane Boussuge in On the Functions of death......   
    May be
    Expansion-series functions
    pitch-repeat-transpose (re-incarnation 🙂
    trim with gen-trim
    length-diminution or augmentation
    fragmentation with pitch-fragment
    gen-transition or gen-morph etc..
    use weighted function to add more and more rest in music (length-weight)
    use text-to-pitch functions to create pitch structures based on the Death word or a death poem
    create vectors who go from top to bottom (or reverse) and use them for rhythm, pitch etc... (gen-tendency)
    the possibilities are endless 🙂
     
    SB.
     
     
     
     
     
  17. Thanks
    JulioHerrlein reacted to AM in Help on WILDCARDS ? *   
    often helpful in PATTERN MATCH things... (like in OPMO pattern-match-functions)
     
    here is a short IDEA for an octave-independent PITCH-PATTERN-MATCHP with possible WILDCARD, perhaps could help you...
     
    ;;;-------------------------------------------------------------- ;;; PITCH PATTERN-MATCHP octave-independent ;;;-------------------------------------------------------------- ;;; SUB (defun convert-pitch (pitches) (loop for i in pitches when (pitchp i) collect (compress (butlast (explode i))) else collect i)) ;;; MAIN (defun pitch-pattern-matchp (pitchlist pattern) (let ((pitchlist (convert-pitch pitchlist)) (pattern (convert-pitch pattern))) (pattern-matchp pitchlist pattern))) (pitch-pattern-matchp '(c4 d4 eb4 f4 g4) '(c ? e)) => nil (pitch-pattern-matchp '(c4 d4 eb4 f4 g4) '(c ? eb)) => t  
  18. Like
    JulioHerrlein reacted to Stephane Boussuge in Harmonic Systems - Harmonizing from top notes (melodies)   
    originally, i've made gen-chord3 with JP for using in this top to bottom approach. 
    what  is called root in gen-chord3 parameters was not thinked by me originaly as "root" but more cantus note on with to add other notes (below or not). 
     
    S.
    But naturally, the gen-chord3 function is not conditionnal, so we have to think about something else but i think you can do that with pattern-match function.
     
    S.
    or also with def-case.
     
  19. Like
    JulioHerrlein reacted to opmo in Harmonic Systems - Harmonizing from top notes (melodies)   
    I would need a few examples, input and output to see how could this work in our system.
  20. Like
    JulioHerrlein got a reaction from opmo in Harmonic Systems - Harmonizing from top notes (melodies)   
    This would be great to make fast block harmonizations for arrangements.
  21. Like
    JulioHerrlein got a reaction from Jorgalad in Harmonic Systems - Harmonizing from top notes (melodies)   
    In the jazz world, Barry Harris came up with the idea of harmonizing a bebop scale.
    Combining a C6 (C, E, G, A) and a Bdim7 (B, D, F, Ab) chords, we have this scale:
     

     
    From this stantpoint we can alternate tonic and dominant sounds, like this:
     

     
    Every pair of chords have all the 8-note set.
    The notes C,E, G and A are always harmonized with a C6 chord.
    The notes D, F, Ab and B are always harmonized with a Bdim7 chord.
     
    So, from the point of view of sets, there is no problem.
     
    WHAT IS NEEDED:
     
    I want a way to start FROM the melody, and then make a four part block harmonization with this (or any other) harmonic system
     from the melody as an OMN expression.
     
    So, I need a way to filter the notes to aply the right chord:
     
    FOR EXAMPLE:
     
    For the notes C, E, G and A
    If the note is an C (in any register), I will apply a chord like , I will add the notes A, G and E, below the melody.
    If the note is an  (in any register), I will apply a chord like , I will add the notes G, E and C, below the melody.
    And so on...
    For the notes D, F, Ab and B:
     
    If the note is an B (in any register), I will apply a chord like , I will add the notes Ab, F and D, below the melody.
    And so on:
     
    So, to make any procedure:
     
    I need first find a way to apply a specific procedure only over the notes I want, over all the C notes, all the B notes, etc.
     
    How to filter from an OMN expression ?
     
    All the best !
    Julio
     
     
     
     
  22. Like
    JulioHerrlein got a reaction from opmo in how to keep omn-notation?   
    Quoting André:
     
     
    But, despite this, we always want to have the output as close as possible to the final score.
    Best,
    Julio
  23. Like
    JulioHerrlein reacted to opmo in how to keep omn-notation?   
    (setf sequence '((t s t)                  (3q 3e_s. t)                  (5h 5h 5q_7q 7q 7q 7q 7q 7q 7q_5q 5h 5h)                  (t s._3e 3q))) (gen-retrograde sequence) => ((t s t)     (t s._3e 3q)     (5h 5h 5q_7q 7q 7q 7q 7q 7q 7q_5q 5h 5h)     (3q 3e_s. t))
     
    best, JP
  24. Thanks
    JulioHerrlein reacted to opmo in how to keep omn-notation?   
    Will be fixed in the next update. The problem not the ratios but the tied lengths. What we need to do is to reverse the order of tied lengths:
    5q_7q = 7q_5q
  25. Like
    JulioHerrlein reacted to opmo in transpose-on-event-number   
    With EDIT-EVENT (ver1.3) function you will be able to edit any parameter in any given bar:
    (edit-event '(               (0 0 '(pitch-transpose 12 x) :pitch)               (0 2 '(chord-inversion 2 x) :pitch)               (0 3 '(pitch-variant x :variant 'i) :pitch)               (2 1 '(chord-inversion 1 x) :pitch)               (2 2 '(chord-inversion 1 (pitch-transpose 12 x)) :pitch)               (3 1 '(chord-inversion 1 (pitch-transpose 12 x)) :pitch)               (3 2 '(chord-inversion 2 x) :pitch)               (3 3 '(chord-inversion 2 x) :pitch)               (3 5 '(chord-inversion 4 x) :pitch)               (3 6 'g3e4c5 :pitch)               )             '((e c2 c3e3g3 c3e3g3 c3e3g3) (e f2 c3f3a3 c3f3a3 c3f3a3)               (e e2 e3g3c4 e3g3c4 e3g3c4) (e gs2 e3b3 e3b3 e3b3 g2 d3g3b3 d3g3b3 d3g3b3))) => ((e c3 mf c3e3g3 g3c4e4 c3gs2f2) (e f2 c3f3a3 c3f3a3 c3f3a3) (e e2 mf g3c4e4 g4c5e5 e3g3c4) (e gs2 mf b4e5 e4b4 e4b4 g2 g4b4d5 g3e4c5 d3g3b3))  
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy