Jump to content

JulioHerrlein

Members
  • Posts

    809
  • Joined

  • Last visited

Reputation Activity

  1. Like
    JulioHerrlein reacted to AM in midi-entry / data saving   
    thanks, julio!!
  2. Like
    JulioHerrlein got a reaction from AM in midi-entry / data saving   
    Dear André,
     
    Here is a project I did some years ago, with PD and Lilypond. Kind of realtime converter of beats to rhythmic notation.
     
     
  3. Like
    JulioHerrlein reacted to AM in midi-entry / data saving   
    i know, of course, that LISP is not an environment for REALTIME actions (pure data / max would be much more suitable) - so I had to outsmart the system a little to import data (from a modularsynth and other applications) almost "on the fly" to generate a LIVE-SCORE (with the influence of this datas) at the concert/on the stage....
     
    maybe i should learn MAX... for more smart-coded REALTIME things 😄
     
     
  4. Like
    JulioHerrlein got a reaction from AM in midi-entry / data saving   
    It´s also possible (using MAX or Pure Data) to convert audio impulses to length values using a value in milliseconds as reference for beats and then convert the results to OMN syntax.
     
    Nice Solution, Andre !
  5. Like
    JulioHerrlein reacted to opmo in Opusmodus 2.2.26862 Update   
    DROP-VOICING
     
    (setf mat '(b2cs4eb4e4 cs3eb4f4gs4 c3d4e4f4 fs2bb3cs4e4))
     
     
    (drop-voicing mat)
     
    The following example returns all chords of type 1:
    (drop-voicing mat :type '(1))
     
     
    In this example we apply a different type to each chord:
    (drop-voicing mat :type '(0 1 2 3))
     
     
    Here the leading voice is set to 'l (lowest voice):
    (drop-voicing mat :type '(0 1 2 3) :leading 'l)
     
    (setf chords '(w b3c4d4e4g4 p h g3b3c4d4e4 mf c4d4e4g4b4 p -                q d4fs4g4b4 b3d4e4fs4g4 b3c4e4g4a4 mf a3c4d4e4f4 p                c4d4e4f4a4 mp d4e4f4a4c5 w bb3d4f4a4 bb3d4eb4f4g4 p                -q eb4f4g4bb4d5 mf c4d4f4a4bb4 mp e4f4g4a4c5 w c4e4g4b4))
     
     
     (drop-voicing chords :type '(0 1 2 3 4 5 4 3 3 1 2 3 4 5 5))
     
     
    (drop-voicing (omn :pitch (library 'standard 'chords 'Giant-Steps)) :type (rnd-sample 32 '(0 1 2 3 4 5) :seed 753) :leading 'l)
     
     
    (setf harm-prog       '(c3g4c5ds5 c3fs4a4d5 g2g4as4d5 c3ds4as4d5         c3ds4a4c5 a2e4a4cs5 d3f4a4d5 e3e4gs4b4 a2e4a4c5         b2ds4fs4b4 e3e4g4b4 ds3c4fs4fs5 e3b3g4e5 e3as4cs5         as2f4as4d5 d3f4as4f5 ds3g4as4ds5 e3g4as4d5 a2e4a4cs5         d3fs4a4d5 g3g4b4d5 c3g4c5ds5 f3gs4c5d5 f3gs4f5         d3g4b4f5 c3g4c5ds5 gs2gs4c5ds5 gs2f4c5d5 d3fs4a4d5         g2f4b4d5 c3ds4g4c5 c3ds4g4c5))
     
    (drop-voicing harm-prog               :type (rnd-sample 32 '(0 1 2 3) :seed 45))
     
    (drop-voicing harm-prog               :type (rnd-sample 32 '(0 1 2 3) :seed 45)               :leading 'l)
  6. Like
    JulioHerrlein reacted to AM in midi-entry / data saving   
    thanx! but... it's "only a LISP problem"
     
    with LOOP and SLEEP my code should read X (the midi-values) every 2 seconds - (sleep 2). i don't know why "LISP don't safe" variable X inside the loop when i'm doing "midi-entry".... 
  7. Like
    JulioHerrlein reacted to AM in Patrick Mimran. Extension folder , user function question   
    i've made different user folders...
     
    named:
    user editing
    user pattern matching
    ....
     
    ...or you could put all in the same...
     
    (i realized for my work, that most of the time i'm using a "coded function" only for a specific project/work. so i stopped it to put all special functions into my user library. now, i have the functions only in my project workspace...)
  8. Like
    JulioHerrlein reacted to opmo in Opusmodus 2.2.26846 Update   
    2.2.26846
     
    – New Functions:
    PAUSE-SERIES  
    – Fixed:
    VOICE-VARIANT (:rest 's and 'e )  
     
    PAUSE-SERIES
     
    This function removes a series of empty bars when lager then a given number (n).
    (setf omn '((h b5 pp f6) (-w) (-w) (q cs6 p - b5)             (-q. s cs6 mp b5 e gs5 -q.)             (-e b5 mp gs5 b5 -h) (-w) (-w) (q c6 f - cs6)             (-q s e6 ff e g5 s fs6 -q s fs6 b5 e6 g5)             (-w) (-w) (-w)))
     
    (pause-series 1 omn)
     
    (pause-series 0 omn)
     
     
    https://opusmodus.com/forums/downloads/
     
  9. Like
    JulioHerrlein reacted to opmo in Opusmodus 2.2.26839 Update   
    2.2.26839

    – New Functions:
    GET-EVENTS VOICE-VARIANT  
    – Changes and Enhancements:
    ELEMENT-ANALYSIS RECURRING-ANALYSIS VARIANT-ANALYSIS  
    – Fixed:
    LENGTH-DIVIDE  
    – Documentation:
    Edit and corrections.
     
    https://opusmodus.com/forums/downloads/
     
     
    VARIANT-ANALYSIS
     
    (setf GV '(#|1|# (h d4 0.54 a4 0.5)            #|2|# (h f4 0.54 d4 0.5)            #|3|# (h db4 0.54 q d4 0.5 e4)            #|4|# (h f4 0.54 tie e e g4 0.5 f4 e4)            #|5|# (q d4 0.54 e4 0.5 f4 g4)            #|6|# (q a4 0.54 e a3 0.5 b3 c4 a3 q f4 tie)            #|7|# (e f4 b3 0.53 q. e4 0.5 e f4 e4 d4)            #|8|# (q e4 0.54 gb4 0.5 h g4 tie)            #|9|# (e g4 a4 0.53 g4 0.5 f4 h e4)            #|10|# (w d4)))  

     
     
    Pitches:
    (variant-analysis '(d4 e4 f4) GV :name "Analisi re-mi-fa") -------------------------------------------------------------- Score: Analisi re-mi-fa Pitches: (d4 e4 f4) -------------------------------------------------------------- P:   4 ((3.5 (d4 e4 f4)) (5.0 (d4 e4 f4)) (6.25 (a3 b3 c4)) (8.0 (e4 gb4 g4))) R:   3 ((4.75 (f4 e4 d4)) (7.625 (f4 e4 d4)) (9.375 (f4 e4 d4))) I:   2 ((4.625 (g4 f4 e4)) (9.25 (g4 f4 e4))) RI:  4 ((3.0 (db4 d4 e4)) (3.75 (e4 f4 g4)) (5.25 (e4 f4 g4)) (8.25 (gb4 g4 a4))) --------------------------------------------------------------  
    (variant-analysis '(f4 b3) GV :name "Analisi re-si") -------------------------------------------------------------- Score: Analisi re-si Pitches: (f4 b3) -------------------------------------------------------------- P:   1 ((6.75 (f4 b3))) R:   0 I:   0 RI:  1 ((6.75 (f4 b3))) --------------------------------------------------------------  
    Intervals:
    (variant-analysis '(2 1) GV :name "tricordo minore melodico ascendente") -------------------------------------------------------------- Score: tricordo minore melodico ascendente Intervals: (2 1) -------------------------------------------------------------- P:   4 ((3.5 (2 1)) (5.0 (2 1)) (6.25 (2 1)) (8.0 (2 1))) R:   3 ((4.75 (-1 -2)) (7.625 (-1 -2)) (9.375 (-1 -2))) I:   2 ((4.625 (-2 -1)) (9.25 (-2 -1))) RI:  4 ((3.0 (1 2)) (3.75 (1 2)) (5.25 (1 2)) (8.25 (1 2))) --------------------------------------------------------------  
    Lengths:
    (variant-analysis '(q e) GV :name "GV - q e") -------------------------------------------------------------- Score: GV - q e Lengths: (1/4 1/8) -------------------------------------------------------------- P:   1 (1/4 1/8) (6.0) R:   0 I:   0 RI:  2 (1/8 1/4) (4.875 7.875) --------------------------------------------------------------  
     
     
    ELEMENT-ANALYSIS
     
    (setf GV '(#|1|# (h d4 0.54 a4 0.5)            #|2|# (h f4 0.54 d4 0.5)            #|3|# (h db4 0.54 q d4 0.5 e4)            #|4|# (h f4 0.54 tie e e g4 0.5 f4 e4)            #|5|# (q d4 0.54 e4 0.5 f4 g4)            #|6|# (q a4 0.54 e a3 0.5 b3 c4 a3 q f4 tie)            #|7|# (e f4 b3 0.53 q. e4 0.5 e f4 e4 d4)            #|8|# (q e4 0.54 gb4 0.5 h g4 tie)            #|9|# (e g4 a4 0.53 g4 0.5 f4 h e4)            #|10|# (w d4)))  

     
     
    (element-analysis GV :name "Analisi statistica") -------------------------------------------------------------- Score: Analisi statistica Number of bars: 10 Span: 10 -------------------------------------------------------------- Length Values: (1/8 1/4 3/8 1/2 5/8 1) Low: 1/8 High: 1 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------        1/8 |    14 |     41.1765 |     1.75 |         17.5        1/4 |     9 |     26.4706 |     2.25 |         22.5        1/2 |     6 |     17.6471 |      3.0 |         30.0        5/8 |     2 |      5.8824 |     1.25 |         12.5        3/8 |     2 |      5.8824 |     0.75 |          7.5          1 |     1 |      2.9412 |      1.0 |         10.0 --------------------------------------------------------------      Total      34         100.0       10.0          100.0 -------------------------------------------------------------- Length Rest Values: none -------------------------------------------------------------- Pitch Values: (a3 b3 c4 cs4 d4 e4 f4 fs4 g4 a4) Low: a3 High: a4 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------         f4 |     7 |     20.5882 |    2.125 |        21.25         e4 |     7 |     20.5882 |    1.875 |        18.75         d4 |     6 |     17.6471 |    2.625 |        26.25         g4 |     4 |     11.7647 |    1.125 |        11.25         a4 |     3 |      8.8235 |    0.875 |         8.75         b3 |     2 |      5.8824 |     0.25 |          2.5         a3 |     2 |      5.8824 |     0.25 |          2.5        fs4 |     1 |      2.9412 |     0.25 |          2.5        cs4 |     1 |      2.9412 |      0.5 |          5.0         c4 |     1 |      2.9412 |    0.125 |         1.25 --------------------------------------------------------------      Total      34         100.0       10.0          100.0 -------------------------------------------------------------- Interval Values: (0 1 2 3 4 5 6 7 8 12) Low: 0 High: 12 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------          2 |    15 |     44.1176 |    3.625 |        36.25          1 |    10 |     29.4118 |     3.25 |         32.5          3 |     2 |      5.8824 |    0.625 |         6.25         12 |     1 |      2.9412 |    0.125 |         1.25          8 |     1 |      2.9412 |    0.375 |         3.75          7 |     1 |      2.9412 |      0.5 |          5.0          6 |     1 |      2.9412 |    0.125 |         1.25          5 |     1 |      2.9412 |    0.375 |         3.75          4 |     1 |      2.9412 |      0.5 |          5.0          0 |     1 |      2.9412 |      0.5 |          5.0 --------------------------------------------------------------      Total      34         100.0       10.0          100.0 -------------------------------------------------------------- Velocity Values: (0.5 0.53 0.54) Low: 0.5 High: 0.54 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------        0.5 |    25 |     73.5294 |    6.875 |        68.75       0.54 |     7 |     20.5882 |    2.875 |        28.75       0.53 |     2 |      5.8824 |     0.25 |          2.5 --------------------------------------------------------------      Total      34         100.0       10.0          100.0 -------------------------------------------------------------- Articulation Values: none --------------------------------------------------------------  
    Bar analysis:
    (element-analysis GV :name "Analisi statistica 3" :bar 3) -------------------------------------------------------------- Score: Analisi statistica 3 Bar number: 3 Bar span: 1 -------------------------------------------------------------- Length Values: (1/4 1/2) Low: 1/4 High: 1/2 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------        1/4 |     2 |     66.6667 |      0.5 |         50.0        1/2 |     1 |     33.3333 |      0.5 |         50.0 --------------------------------------------------------------      Total       3         100.0        1.0          100.0 -------------------------------------------------------------- Length Rest Values: none -------------------------------------------------------------- Pitch Values: (cs4 d4 e4) Low: cs4 High: e4 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------         e4 |     1 |     33.3333 |     0.25 |         25.0         d4 |     1 |     33.3333 |     0.25 |         25.0        cs4 |     1 |     33.3333 |      0.5 |         50.0 --------------------------------------------------------------      Total       3         100.0        1.0          100.0 -------------------------------------------------------------- Interval Values: (0 1 2) Low: 0 High: 2 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------          2 |     1 |     33.3333 |     0.25 |         25.0          1 |     1 |     33.3333 |     0.25 |         25.0          0 |     1 |     33.3333 |      0.5 |         50.0 --------------------------------------------------------------      Total       3         100.0        1.0          100.0 -------------------------------------------------------------- Velocity Values: (0.5 0.54) Low: 0.5 High: 0.54 --------------------------------------------------------------     Values | Times |     Percent | Duration | Span Percent     -----------|-------|-------------|----------|-----------------        0.5 |     2 |     66.6667 |      0.5 |         50.0       0.54 |     1 |     33.3333 |      0.5 |         50.0 --------------------------------------------------------------      Total       3         100.0        1.0          100.0 -------------------------------------------------------------- Articulation Values: none --------------------------------------------------------------  
     
     
    RECURRING-ANALYSIS
     
    (setf rh '((-s) (e f4e5 pp -s db5)            (-s) (-s eb4 pp c4d5 -)            (-s) (-s c4d5 pp eb4 -)            (-s) (e db5 pp -s f4e5)            (-s) (s gb4f5 p a5 -)            (s d4ab4db5 p bb4 -) (-s a5 p gb4f5)            (-s) (s b5 f gb4g5 -)            (s a3bb4 f ab4 -) (s c4d5 f> eb4 -)            (s db5 f> f4e5 -) (-s)            (s gb4f5 p a5 d4ab4db5 bb4 -) (-s)            (-s a5 pp gb4f5) (-s)            (-t b2 f e3 bb3 - d5 c4eb4) (-s)            (s db3 f - s. g5 -t) (s gb4f5 p)            (-t a3 mp ab3 mf -s. t db5f5 f c4 -) (s e3e4 p)            (-t s. d2 f -s ab5 mf) (-s)            (t gb4a4 p g3 mp - b2 f e3 bb3 e3 a3 eb4 - g5 mf f4ab4 mp) (-s)            (s f2 f - s. c6 -t) (s b2bb3 p)            (-s t db5 mp -s. t gb5bb5 f4 f -) (t a3 f ab2 - ab2 a3)            (-t f4 f gb5bb5 mf) (-t a3 mp d4ab4 c4 p bb5db6 mf)            (-t b2 f3 b2 -) (t bb5db6 c5 f d4ab4 a3 p)            (-s) (t b4eb5 p bb3 -)            (t d4 p db3 - db3 d4) (-t bb3 p b4eb5)            (-s) (-s eb5 p bb3b4 -) (-s)            (e d4db5 p -s c5) (-s)            (e c5 p -s d4db5) (-s)            (-s bb3b4 p eb5 -) (-s)            (-s ab3g4 p e4 mf) (-s c4gb4b4 f5)            (-s db5 mp bb3a4) (-s)            (-s eb4d5 p gb4) (-s e4 p f3g4)            (-s b3 p a2bb3) (-s c5db6 pp ab5)            (-s) (-s e5eb6 p g5 c4f4b4 p> gb4)            (-s) (-e) (e d5ab5db6 pp)))  
    Searching for pitches:
    (recurring-analysis :pitch rh                     :name "Webern, Variationen für Klavier Op.27, I, rh") -------------------------------------------------------------- Score: Webern, Variationen für Klavier Op.27, I, rh -------------------------------------------------------------- Frequently recurring series: Found: 5 (gb4 f5) Longest recurring series: Found: 2 (c4 d5 eb4 db5 f4 e5 gb4 f5 a5 d4 ab4 db5 bb4 a5 gb4 f5) --------------------------------------------------------------  
    Searching for intervals:
    (recurring-analysis :interval rh                     :name "Webern, Variationen für Klavier Op.27, I, rh") -------------------------------------------------------------- Score: Webern, Variationen für Klavier Op.27, I, rh -------------------------------------------------------------- Frequently recurring series: Found: 6 (5 6) Longest recurring series: Found: 2 (14 -11 10 -8 11 -10 11 4 -19 6 5 -3 11 -15 11) --------------------------------------------------------------  
    Searching for lengths:
    (recurring-analysis :length rh                     :name "Webern, Variationen für Klavier Op.27, I, rh") -------------------------------------------------------------- Score: Webern, Variationen für Klavier Op.27, I, rh -------------------------------------------------------------- Frequently recurring series: Found: 29 (s -) Longest recurring series: Found: 2 (s - = = - = = - - = = - = = - = = - = = -) --------------------------------------------------------------  
    Searching for velocities:
    (recurring-analysis :velocity rh                     :name "Webern, Variationen für Klavier Op.27, I, rh") -------------------------------------------------------------- Score: Webern, Variationen für Klavier Op.27, I, rh -------------------------------------------------------------- Frequently recurring series: Found: 18 (p =) Longest recurring series: Found: 2 (mp f = = = = = mf mp) Found: 2 (p = = = = = = = =) --------------------------------------------------------------  
    Searching for values:
    (setf population (gen-population 16 3 7 :seed 453)) (setf pitches (vector-to-pitch '(0 24) population)) (recurring-analysis :values pitches) -------------------------------------------------------------- Frequently recurring series: Found: 5 (c6 c4) Longest recurring series: Found: 2 (gs5 c6) Found: 2 (fs5 c4) Found: 3 (c4 e4) Found: 2 (e4 c6) Found: 2 (c6 gs5) Found: 5 (c6 c4) Found: 2 (cs4 c6) Found: 4 (c4 c6) Found: 2 (c4 cs4) Found: 2 (bb4 c4) Found: 2 (c6 c6) --------------------------------------------------------------  
    (recurring-analysis :values (modus pitches) :name "Modus") -------------------------------------------------------------- Score: Modus -------------------------------------------------------------- Frequently recurring series: Found: 11 (0 0) Longest recurring series: Found: 2 (0 4 0 1) --------------------------------------------------------------  
     
     
    GET-EVENTS
     
    This function allows you to assemble a new sequence from a number of events of a given bar and a given omn sequence.
     
    (setf seq1 '((e c4e4g4 he c5)              (q c4 c4 c4 - - c4)              (q cs4 cs4 - - cs4 cs4)              (e c4 cs4d4eb4 d4 cs4 c4 cs5)              (e c4 e4 g4 he c5)              (q c4 c4 c4 - - c4)              (q cs4cs4 - - cs4 cs4)              (e c4 cs4d6 d4 cs4 c4 cs5))) (setf seq2 '((he. c5) (q cs7) (s a4 q.. e7 qs d6) (h f6)              (-he) (e. gs6) (e bb4) (-hs) (h. g6) (-q.))) (setf seq3       '((h e4f5 p c5a4) (h b3d3 gs4eb2fs3) (h bb2g5cs5 gs4d4eb2)         (w bb2 mp) (h g3f4cs5 p c5) (h fs5a5b3 e4b3) (h bb2)         (w e2eb4) (h c5cs6 a5) (h f4g3 gs4d3) (h fs5 bb2fs5g3)         (h d3e5eb4 gs4) (h a2c6 f2) (h b0 cs6c5) (h gs4d3)))  
    (get-events '((seq1 1)               (seq2 3)               (seq3 5))) => (e c4e4g4 mf he c5 s a4 q.. e7 qs d6 h g3f4cs5 p c5)  
    (get-events '((seq1 1 1..3)               (seq2 3 1)               (seq3 5 1))) => (e c4e4g4 mf he c5 s a4 h g3f4cs5 p)  
     
    (get-events '((seq1 2 1..3)               (seq3 3)               (seq3 1 (1 2)))) => (q c4 mf c4 c4 h bb2g5cs5 p gs4d4eb2 e4f5 c5a4)  
     
     
    VOICE-VARIANT
     
    This generates a new sequence by applying a number of processes and mixing the result with the original material.
     
    Starting material:
    (setf vec (gen-noise 60 :type :gaussian :seed 45)) (setf pitches (filter-repeat 1 (vector-to-pitch '(e4 g5) vec))) (setf omn (make-omn :length '(e) :pitch pitches :span :pitch)) (setf mat (omn-to-time-signature omn '(4 4)))   
     
    I.
    In the first example we use the default division 2 value on each of the given lengths (1/8 equal 1/16 1/16) with interval transposition set to 4, for the entier process. Please note, before applying the function the original material is transposed by one semitone:
    (progn   (setf mat-transp (pitch-transpose 1 mat))   (setf variant (voice-variant mat-transp :interval 4))      (def-score var1              (               :key-signature 'chromatic               :flexible-clef t               :time-signature '(2 4)               :tempo 86               :layout (list                        (treble-layout 'v1 :name "Material" :abbr "M")                        (treble-layout 'v2 :name "Variant" :abbr "V"))               )     (v1 :omn mat         :channel 1         :sound 'gm         :program 1)          (v2 :omn variant         :channel 2))      (audition-musicxml-last-score)   )
     
    II.
    Below the time-signature 4/4 defines the time for each of the two interval values. To the first bar of the original material we applied interval 4, to the second bar we applied interval 13, and so on. Both values are looped to satisfy the original bar count:
    (progn   (setf mat-transp (pitch-transpose 1 mat))   (setf variant (voice-variant mat-transp :interval '((4) (13))))      (def-score var2              (               :key-signature 'chromatic               :flexible-clef t               :time-signature '(2 4)               :tempo 86               :layout (list                        (treble-layout 'v1 :name "Material" :abbr "M")                        (treble-layout 'v2 :name "Variant" :abbr "V"))               )     (v1 :omn mat         :channel 1         :sound 'gm         :program 1)          (v2 :omn variant         :channel 2))      (audition-musicxml-last-score)   )
     
    III.
    In this example the measure value overwrites the original time-signature 4/4 to 1/4 which in effect will shorten the time by 4 for each interval value. The variant 'i (inversion) is applied to a  measure and to the original material before other processes happen:
    (progn   (setf mat-transp (pitch-transpose 1 mat))   (setf variant (voice-variant mat-transp                           :measure 1/4                           :interval '((4) (13))                           :variant 'i))      (def-score var3              (               :key-signature 'chromatic               :flexible-clef t               :time-signature '(2 4)               :tempo 86               :layout (list                        (treble-layout 'v1 :name "Material" :abbr "M")                        (treble-layout 'v2 :name "Variant" :abbr "V"))               )     (v1 :omn mat         :channel 1         :sound 'gm         :program 1)          (v2 :omn variant         :channel 2))      (audition-musicxml-last-score)   )
     
    IV.
    In the following example we generate two sequences using the same material with equal processing values. With the :variant set to '? (random) we potentially get a different result in each of the sequences on every-other measure:
    (progn   (setf vec (gen-noise 30 :type :gaussian :seed 45))   (setf pitches (filter-repeat 1 (vector-to-pitch '(e1 g6) vec)))      (setf omn (make-omn :length '(q q q q)                       :pitch pitches                       :span :pitch))      (setf mat (omn-to-time-signature omn '(4 4)))   (setf mat-transp (pitch-transpose -12 mat))      (setf v1 (voice-variant mat                           :measure 1                           :divide 5                           :interval '((0) (13))                           :variant '(p ?)))      (setf v2 (voice-variant mat-transp                           :measure 1                           :divide 5                           :interval '((0) (13))                           :variant '(p ?)))      (def-score var4              (               :key-signature 'chromatic               :flexible-clef t               :time-signature '(2 4)               :tempo 86               :layout (list                        (treble-layout 'v1 :name "Variant1" :abbr "V1")                        (treble-layout 'v2 :name "Variant2" :abbr "V2"))               )     (v1 :omn v1         :channel 1         :sound 'gm         :program 1)          (v2 :omn v2         :channel 2))      (audition-musicxml-last-score)   )
     
    V.
    To create more interesting rhythms, we can set the multiply value to control how the basic value is divided up. If, for example the length is 1/4 and the divide value is 5, therefore our basic value is 1/20. If the multiply value is 2 (maximum) the basic value 1/20 is to be multiplied by either 1 (giving a 1/20 length) or 2 (giving a 1/10 length). We can therefore create more interesting divisions to a given duration by introducing this form of variation:
    (progn   (setf vec (gen-noise 60 :type :gaussian :seed 9847))   (setf pitches (filter-repeat 1 (vector-to-pitch '(e1 g4) vec)))      (setf omn (make-omn :length '(q q q q h h w e e e e e e e e)                       :pitch pitches                       :span :pitch))      (setf lv (length-weight omn :weight '(6 1)))   (setf mat (omn-to-time-signature lv '(4 4)))   (setf transp (pitch-transpose 12 mat))      (setf variant (voice-variant transp                                :divide '(2 3 2 2 5 5 4 2 2 2 2 2 2 2 2)                                :multiply '(2 1 1 2 2 2 1 2 2 1 2 1 1)                                :rest '?                                :interval '((0 1 2 3) (13) (3 2 1 0) (13))                                :variant '?))      (def-score var5              (               :key-signature 'chromatic               :flexible-clef t               :time-signature '(2 4)               :tempo 86               :layout (list                        (treble-layout 'v1 :name "Material" :abbr "M")                        (treble-layout 'v2 :name "Variant" :abbr "V"))               )     (v1 :omn mat         :channel 1         :sound 'gm         :program 1)          (v2 :omn variant         :channel 2)     )   (audition-musicxml-last-score)   )
     
    VI.
    Source material: Right hand part of the variations op.27 by A. Webern:
    (progn   (setf rh         '((-s) (e f4e5 pp -s db5)           (-s) (-s eb4 pp c4d5 -)           (-s) (-s c4d5 pp eb4 -)           (-s) (e db5 pp -s f4e5)           (-s) (s gb4f5 p a5 -)           (s d4ab4db5 p bb4 -) (-s a5 p gb4f5)           (-s) (s b5 f gb4g5 -)           (s a3bb4 f ab4 -) (s c4d5 f> eb4 -)           (s db5 f> f4e5 -) (-s)           (s gb4f5 p a5 d4ab4db5 bb4 -) (-s)           (-s a5 pp gb4f5) (-s)           (-t b2 f e3 bb3 - d5 c4eb4) (-s)           (s db3 f - s. g5 -t) (s gb4f5 p)           (-t a3 mp ab3 mf -s. t db5f5 f c4 -) (s e3e4 p)           (-t s. d2 f -s ab5 mf) (-s)           (t gb4a4 p g3 mp - b2 f e3 bb3 e3 a3 eb4 - g5 mf f4ab4 mp) (-s)           (s f2 f - s. c6 -t) (s b2bb3 p)           (-s t db5 mp -s. t gb5bb5 f4 f -) (t a3 f ab2 - ab2 a3)           (-t f4 f gb5bb5 mf) (-t a3 mp d4ab4 c4 p bb5db6 mf)           (-t b2 f3 b2 -) (t bb5db6 c5 f d4ab4 a3 p)           (-s) (t b4eb5 p bb3 -)           (t d4 p db3 - db3 d4) (-t bb3 p b4eb5)           (-s) (-s eb5 p bb3b4 -) (-s)           (e d4db5 p -s c5) (-s)           (e c5 p -s d4db5) (-s)           (-s bb3b4 p eb5 -) (-s)           (-s ab3g4 p e4 mf) (-s c4gb4b4 f5)           (-s db5 mp bb3a4) (-s)           (-s eb4d5 p gb4) (-s e4 p f3g4)           (-s b3 p a2bb3) (-s c5db6 pp ab5)           (-s) (-s e5eb6 p g5 c4f4b4 p> gb4)           (-s) (-e) (e d5ab5db6 pp)))      (setf augmentation (length-augmentation 4 rh))   (setf mat (omn-to-time-signature augmentation '(4 4)))   (setf mat1 (pitch-transpose 12 mat))   (setf mat2 (pitch-transpose -12 mat))      (setf p1 (voice-variant mat1                           :measure '(1/2 1 1)                           :divide (rnd-sample 24 '(2 3 5))                           :rest '(? n n n ?)                           :interval (rnd-sample 24 '((0) (6) (13)))                           :variant (rnd-sample 24 '(i r ri))))      (setf p2 (voice-variant mat2                           :measure '(1/2 1 1)                           :divide (rnd-sample 24 '(1 2))                           :rest '(? n n n ?)                           :interval (rnd-sample 24 '((0) (6) (13)))                           :variant (rnd-sample 24 '(i r ri))))      (setf v1 (length-weight p1 :weight '(7 2)))   (setf v2 (length-weight p2 :weight '(7 1)))      (def-score var6              (               :key-signature 'chromatic               :flexible-clef t               :time-signature '(2 4)               :tempo 86               :layout (list                        (treble-layout 'v1 :name "Variant1" :abbr "V1")                        (treble-layout 'v2 :name "Variant2" :abbr "V2"))               )     (v1 :omn v1         :channel 1         :sound 'gm         :program 1)          (v2 :omn v2         :channel 2))      (audition-musicxml-last-score)   )  
     
    Best wishes,
    Janusz
     
     
  10. Like
    JulioHerrlein reacted to o_e in List Segmentation   
    too late 🙂
    (setf pitches '(c4 d4 e4 f4 g4 a4 b4 c5)) (setf seq        (make-omn        :pitch (gen-divide (gen-integer 1 4) pitches)        :length '(1/16)        :velocity '(f)        :articulation '(stacc)        :span :pitch))  
  11. Like
    JulioHerrlein reacted to AM in List Segmentation   
    (gen-divide '(1 2 3 4 5 6) '(1 2 3 4 5 6 7 8 9 10)) => ((1) (2 3) (4 5 6) (7 8 9 10))  
  12. Like
    JulioHerrlein reacted to NagyMusic in List Segmentation   
    The following example randomly segments a list of given pitches into progressively increasing sublist of elements. I can't seem to recall a function one could use instead of rnd-repeat that would do the same but not randomly, preserving the original order or pitches => (c4) (d4 e4) (f4 g4 a4), etc.
     
    Thank you!
     
    (setf pitches '(c4 d4 e4 f4 g4 a4 b4 c5)) (setf seq        (make-omn        :pitch (rnd-repeat (gen-integer 1 4) pitches)        :length '(1/16)        :velocity '(f)        :articulation '(stacc)        :span :pitch))  
  13. Like
    JulioHerrlein reacted to opmo in OMN decoding problem with ties   
    The tie is a special case and is not part of the length.
     
    (setf len (omn-merge-ties '((q c5 b4 q. a4 e g4) (q db4 tie e e c4 bb3 ab4 q f4)))) (omn :length len) => ((1/4 1/4 3/8 1/8) (3/8 1/8 1/8 1/8 1/4))
    Example:
    (disassemble-omn len) => (:length ((1/4 1/4 3/8 1/8) (1/4 1/8 1/8 1/8 1/8 1/4))             :pitch ((c5 b4 a4 g4) (db4 db4 c4 bb3 ab4 f4))             :velocity ((mf mf mf mf) (mf mf mf mf mf mf))             :articulation ((- - - -) (tie - - - - -))) (apply 'make-omn (disassemble-omn len)) => ((q c5 b4 q. a4 e g4) (q db4 tie e e c4 bb3 ab4 q f4))  
  14. Thanks
    JulioHerrlein reacted to opmo in Bug on file icons   
    You have two apps in you computer.
  15. Like
    JulioHerrlein reacted to opmo in Bug on file icons   
    If you open .opmo file in other text editor (like Emacs etc...) then the icon can/will change.
    Open Info with the file and select Open with: Opusmodus.
    This is how macOS works.
  16. Like
    JulioHerrlein got a reaction from Stephane Boussuge in Short study, Melody on texture   
    Nice composition and voice samples of bel canto style
  17. Like
    JulioHerrlein reacted to Stephane Boussuge in Trapped Septuor 413188   
    Hi,
     
    here's one of raw outputs from an Opusmodus score I'm working on actually.
     
    That's a work in progress but will be fully documented later in the future...
     
    Stéphane
     
    TrappedSeptuor413188.mp3
    Trapped-Septuor-413188.pdf
  18. Like
    JulioHerrlein reacted to o_e in Remove Ties?   
    I wrote a function myself, not sure if it is acceptable for Janusz 🙂
    hth
     
    (defun remove-tie (y) "tests if it is a single list or a list of lists,then remove ties" (if (car (mapcar #'listp y)) (loop for x in y for z = (remove 'tie x) for a = (remove 'tie+tie z) collect a) (remove 'tie+tie (remove 'tie y))))  
    Edit: I think this only removes ties between bars as I remember correctly..
  19. Like
    JulioHerrlein reacted to opmo in Opusmodus 2.2.26807 Update   
    2.2.26807 

    – Fixed:
    POLYPHONY OMN-DICTUM
    – Additions:
    MICROPOLYPHONY - length-prob, interval-prob (probability).  POLYPHONY - sustain (overlap).
    – Documentation:
    Edit and changes   
  20. Like
    JulioHerrlein reacted to opmo in Omn-to-time-signature bug ?   
    Not a bug. Snippet is not a score definition. PS and DEF-SCORE is:
     
    (ps 'gm     :fl (list (length-augmentation 2 (pcs-rhythm '7-35 :rotate '(11) :omn t)))     :time-signature '(12 8))  
  21. Like
    JulioHerrlein reacted to AM in Binary to Integer Function   
    (binary-to-length '(1 0 0 0 1 0 0 1 0 1 0 1 1) :value 1) => (4 3 2 2 1 1)  
    greetings
  22. Like
    JulioHerrlein reacted to Stephane Boussuge in pitch-trajectory   
    Hi,
     
    here's a function I've made for my personal usage.
    May be it could be useful for some users...
    Best
     
    Stéphane
     
    ;;;=================================== ;;; PITCH-TRAJECTORY ;;;=================================== ;;; SB 1.11.21 ;;;=================================== (defun pitch-trajectory (nbpitch range tendency &key (variance 0.5) (type :around) (quantize 1/2) (smooth 1) filter-repeat seed ) (setf seed (rnd-seed seed)) (do-verbose ("pitch-trajectory :seed ~s" seed) (let* ((values (gen-tendency nbpitch tendency :variance variance :type type :seed (seed))) (smoothedval (vector-smooth smooth values)) (out (vector-to-pitch range smoothedval :quantize quantize)) ) (if filter-repeat (filter-repeat filter-repeat out) out)))) #| ;;; Tests divers (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234) (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234 :filter-repeat 1) (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234 :filter-repeat 1 :variance 1 ) (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234 :filter-repeat 1 :variance 0.1 ) (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234 :filter-repeat 1 :smooth 0.1 ) (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234 :filter-repeat 1 :quantize 1/4 ) (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234 :filter-repeat 1 :quantize 1/8 ) (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234 :filter-repeat 1 :variance 1 :quantize 1/8 ) (gen-filter-change (pitch-trajectory 32 '(c4 g5) '(0.1 1 0.1) :seed 1234) 's) |#  
  23. Like
    JulioHerrlein got a reaction from SimonSeeberger in [HERRLEIN] Hauer Tropes as Clockface Diagrams: Dialogs among Forte, Carter and Ŝedivý - MUSMAT 2021   
    Hauer Tropes as Clockface Diagrams: Dialogs among Forte, Carter and Ŝedivý - MUSMAT 2021
     
    I just did this presentation now !
    All plots done in Opusmodus !
    Hope you like it !
    Best ! Julio
     
     
    Here is the complete session of the Congress !
     
  24. Thanks
    JulioHerrlein reacted to opmo in String Quartet VEMA (in progress)   
    String Quartet VEMA (work in progress) with micro and spectral strategy.
     
    String Quartet VEMA I.mp3
  25. Like
    JulioHerrlein reacted to opmo in [HERRLEIN] Hauer Tropes as Clockface Diagrams: Dialogs among Forte, Carter and Ŝedivý - MUSMAT 2021   
    Very good use and display (plot) of OM pcs and tropen functions.
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy