Jump to content

JulioHerrlein

Members
  • Posts

    806
  • Joined

  • Last visited

Posts posted by JulioHerrlein

  1. Dear All, 

     

    One interesting conversion would be the one for transforming the get-time-signature result to

    length-span time signature format. This would be useful to rephrase rhythmically one rhythm with another´s rhythm time-signature structure.

    For example:

     

    ; Take this rhythm


    (setf ritmos (gen-repeat 4 (gen-length '((1 2 1 2 1 1) (1 1 1 1 1 2 1) (1 -3 1 -3 2 -2 4) (-3 1 -1 1 1 1)) '(16))))

     

    Here is the bar structure for this

     

    (get-time-signature ritmos)

     

    This is the output

     

    ((2 4 2) (4 4 1) (2 4 3) (4 4 1) (2 4 3) (4 4 1) (2 4 3) (4 4 1) (2 4 1))

     

    If I want to use this result as a time signature template in the length-span I have to convert it to

     

    (2/4 2/4 1 2/4 2/4 2/4 1 2/4 2/4 2/4 1 2/4 2/4 2/4 1 2/4)

     

    in order to use the time-signature order it in the length-span function

     

    Is there some function that performs this ?

     

    Best !

     

    Julio 

    I did this extravagant coding , but I need it with the slashes ( " / " ) and the repetitions, like converting (2 4 3) into (2/4 2/4 2/4)...

     

    (setf timesig-to-length-span 
    (flatten
    (matrix-transpose 
    (list 
    (lake-everyother 
    (get-count (get-count (get-time-signature ritmos))) ; how many
    0 3  (flatten (get-time-signature ritmos)))
    (lake-everyother 
    (get-count (get-count (get-time-signature ritmos))) ; how many
    1 3  (flatten (get-time-signature ritmos)))
    )
    ))
    )

     

    ;;(2 4 4 4 2 4)

    I love lake-everyother

  2. Dear Ottorino,

     

    In OSX, all the midi inputs configured in MIDI Studio setup (of the OSX system itself) will be available.

    Maybe this behaviour of the notes appearing and then disappearing can be due to doubling the midi information at some point.

    Maybe the other software, like midipipe are doing some duplication or filtering off the notes.

  3. 5 hours ago, Stephane Boussuge said:

    Lilypond works also very well with Opmo.

     

     

    Nice, but do you know an easy way how to import MusicXML to Lily ? Not having to use command line...

    Or directly from Opmo ?

    Best !

  4. Dear All, 

     

    I want to create pedal marks in a material.

     

    (setf mat '((e. d4e4fs4 pp s cs4e4fs4 d4e4fs4 e. cs4e4fs4 s d4e4fs4 cs4e4fs4 e d4e4fs4 tie) (e. f3g3a3 pp s e3g3a3 f3g3a3 e. e3g3a3 s f3g3a3 e3g3a3 e f3g3a3 tie) (e. fs3gs3bb3 pp s f3gs3bb3 fs3gs3bb3 e. f3gs3bb3 s fs3gs3bb3 f3gs3bb3 e fs3gs3bb3 tie) (e. fs3gs3bb3 pp s f3gs3bb3 fs3gs3bb3 e. f3gs3bb3 s fs3gs3bb3 f3gs3bb3 e fs3gs3bb3 tie) (e. gs4bb4c5 pp s g4bb4c5 gs4bb4c5 e. g4bb4c5 s gs4bb4c5 g4bb4c5 e gs4bb4c5 tie) (e. bb3c4d4 pp s a3c4d4 bb3c4d4 e. a3c4d4 s bb3c4d4 a3c4d4 e bb3c4d4 tie) (e. e4fs4gs4 pp s eb4fs4gs4 e4fs4gs4 e. eb4fs4gs4 s e4fs4gs4 eb4fs4gs4 e e4fs4gs4 tie) (e. e4fs4gs4 pp s eb4fs4gs4 e4fs4gs4 e. eb4fs4gs4 s e4fs4gs4 eb4fs4gs4 e e4fs4gs4 tie)))
    
    
    (dictum '(:do ped :bar (1 2 3 4)) mat)
    (dictum '(:do ped :bar (1 3 5 6)) mat)

     

    But I can´t create one Pedal on and of for each bar. 

    This expression

    (dictum '(:do ped :bar (1 2 3 4)) mat)

    creates one long pedal over the bars 1 2 3 4, but the harmony changes every bar, and I need a pedal release at the end of each measure.

     

    This expression

    (dictum '(:do ped :bar (1 3 5 6)) mat)

    Creates a pedal mark on every other bar, but it invades some of the bars, going beyond the bar region.

     

    Is there some suggestion ?

     

    Thanks !

    Julio

     

     

  5. Dear All, 

     

    I really enjoyed the way Dictum works now. In my opinion, it´s also a way of implementing variations over the material.

    I just have one suggestion:

    Maybe it could have a length keyword to make the gen-pause (or any operation) in the first positive length event, or only in positive values (not over the rests), so you don´t need to count the events to apply the operation. For the bars that start with rests (an have many rests) this could be useful.

     

    Something like this:

     

    (setf omn2b '((-5q 5q fs4 p bb3 f3 e4 -3q g4 c5 s eb5 mf a5 cs6 gs6)
    (5q gs6 f cs6 a5 eb5 - -s c5 g4 e4)))
    
    ;;; length keyword to make the gen-pause (or any operation) in the first length event, or only in positive values (not over the rests) so you don´t need to count the events to apply.
    
    (dictum '((:if 5q :do tasto :bar 1)
    (:first ord :bar 2)
    (:do (gen-pause x) :bar 1 :event 1 :length t)
    (:if e :do tasto :bar 2)) omn2b)
    
    ; RESULT
    ((-5q - bb3 p tasto f3 tasto e4 tasto -3q g4 c5 s eb5 mf a5 cs6 gs6) (5q gs6 f ord cs6 a5 eb5 - -s c5 g4 e4))

     

    All the best !

    Julio

  6. I can get the live code compiled, but in windows seems like I can´t go back to a previously compiled live coding instruments. It just shows the last compiled one.

    So, I don´t know what you mean by "scenes"...

    Can Opusmodus receive a midi command to start 2 live coding instruments at the same time ? For example, midi note (c4) starts live coding instrument 1, midi note cs4 starts live coding 2, etc ?

    Thanks !

    Can Opusmodus receive a midi command to start 2 live coding instruments at the same time ? For example, midi note (c4) starts live coding instrument 1, midi note cs4 starts live coding 2, etc ?

    Thanks

    One more thing: In MAC, when 

    evaluate this

    (live-coding-midi (compile-score 'drums1))

    the live code already starts playing after evaluated.

     

    In windows behaviour, you evaluate and have to play start to hear.

     

  7. Thanks for the information !

    I was trying Opusmodus with some samplers, mixing audio and midi.

    The timing of Opusmodus is excellent. Everything in sync.

    Thank you.

    Best !

    Julio

    Maybe a good idea would be having multiple instances of live coding in the same workspace, with detachable moving windows for the live code instruments.

    6 hours ago, Stephane Boussuge said:

    Hi Julio,

     

    did you try with different workspaces ?

     

    Stephane

    I was trying in the same workspace... Thank you !

  8. Dear Friends,

    How to have multiple instances of Live Coding in Windows Machines ?

    I´m trying to make this happen even from different files, but the ps expression always open the live coding in the main navigator window.

    Thanks ! Happy 2024 !

     

    (ps 'gm
    :afromenu1 (list (make-omn 
    :pitch (gen-loop 120 (rnd-pick (integer-to-pitch (gen-integer -29 43))):seed 269615)
    :length (gen-repeat 120 '(s s))))
    :tempo 80
    :output :live-coding
    )

     

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy