Jump to content

o_e

Members
  • Posts

    273
  • Joined

  • Last visited

Posts posted by o_e

  1. Hi,

     

    Just a minor improvement, the function is now also working with sublists :-)

     

    best ole

     

    
    (defun length-staccato-lists (n alist)
      (let ((newlengths (loop for i in (omn :length (flatten alist))
                          when (> i 0)
                          append (list n (* -1 (abs (- i n))))
                          else collect i)))
        (if (omn-formp alist)
          (omn-to-time-signature
           (make-omn :length newlengths
                    :pitch (omn :pitch alist)
                    :velocity (omn :velocity alist)
                    :articulation (omn :articulation alist))
           (get-time-signature alist))
          newlengths)))
    
    
    (length-staccato-lists 1/16 '((q e4 mp q tasto q -q q q)(q e4 mp q tasto q -q q q)))
    
    -->((s e4 mp -e. s e4 tasto -e. s e4 -e. -q s e4 -e. s e4 -e.) (s e4 -e. s e4 tasto -e. s e4 -e. -q s e4 -e. s e4 -e.))
    
    

  2. 2 hours ago, opmo said:

    In the velocity documents you find all the answers.

     

    Example

    All 127 velocities in float point numbers:

    
    (vector-to-velocity 0.1 1.0 (gen-integer 1 127) :type :float)
    => (0.1 0.11 0.11 0.12 0.13 0.14 0.14 0.15 0.16 0.16 0.17 0.18 0.19
            0.19 0.2 0.21 0.21 0.22 0.23 0.24 0.24 0.25 0.26 0.26 0.27
            0.28 0.29 0.29 0.3 0.31 0.31 0.32 0.33 0.34 0.34 0.35 0.36
            0.36 0.37 0.38 0.39 0.39 0.4 0.41 0.41 0.42 0.43 0.44 0.44
            0.45 0.46 0.46 0.47 0.48 0.49 0.49 0.5 0.51 0.51 0.52 0.53
            0.54 0.54 0.55 0.56 0.56 0.57 0.58 0.59 0.59 0.6 0.61 0.61
            0.62 0.63 0.64 0.64 0.65 0.66 0.66 0.67 0.68 0.69 0.69 0.7
            0.71 0.71 0.72 0.73 0.74 0.74 0.75 0.76 0.76 0.77 0.78 0.79
            0.79 0.8 0.81 0.81 0.82 0.83 0.84 0.84 0.85 0.86 0.86 0.87
            0.88 0.89 0.89 0.9 0.91 0.91 0.92 0.93 0.94 0.94 0.95 0.96
            0.96 0.97 0.98 0.99 0.99 1.0)

    Thanks!

     

  3. On 6/6/2017 at 11:32 AM, opmo said:

    What about floating point numbers velocity 🙂

    
    (make-omn :length '(e = = = = = = =)
              :pitch '(c4 cs5 b3 c4)
              :velocity '(0.1 0.2 0.21 0.32))
    => (e c4 0.1 cs5 0.2 b3 0.21 c4 0.32 0.1 cs5 0.2 b3 0.21 c4 0.32)

     

     

    thanks for the quick answer! So the floating point numbers velocity ranges from 0.1 to 0.99 or how do it relate to the 1-127 midi steps?

    I want to create an as-smooth-as-possible crescendo from the lowest possible value to the highest over x steps..

    Can you point me to some more information about 'floating point numbers velocity'?

  4. Hi,

    I have a list of 30 midi-velocities that I want to map to 30 pitches, how can I do that without converting the velocities into symbols? Is that possible in OM (it is not for human players but for virtual instruments)?

    (setf vel '(1 5 10 14 19 23 27 32 36 41 44 50 53 57 62 66 71 75 79 84 88 93 97 102 105 109 114 118 123 127))

    converted to symbols it looks like:

    (ppppp ppppp pppp pppp pppp ppp ppp pp pp pp p p mp mp mp mf mf f f f ff ff fff fff fff ffff ffff ffff fffff fffff)

    which is not as 'smooth' as I want it..but make-omn seems to handle only velocity-symbol or am I missing something?

     

    thanks for help!

  5. I think I know what the problem was, I can not copy directly from the browser. 'Text Wrangler' shows me lots of otherwise hidden signs that confuses OM and that I have to remove first. Sorry for the noise.

    That was probably the same problem with Yuichis Code..

    edit: Yes ideed!

  6. Dear Torsten,

     

    Thank you very much for your solution. It looks very promising, in a good sense simple.

    Unfortunatly, when I tried to eval your "cut-holes" function it throws an error:

    Error: ((= b 0) (* l -1) l) can't be destructured against the lambda list (ccl::test true &optional false), because it contains 5 elements, and at most 3 are expected.

    and I could not find out whats wrong. What am I missing?

     

    ole

  7. Hi Yuichi,

     

    Thanks for your efforts!

    Unfortunatly the listener gives me a 'no current expression' when I try to evaluate the 'skip-notes' function and I do not find what is wrong at first glance. Maybe you can repost your code using the  '<>' code-brackets in the posting window. Not sure if this helps though.

     

    best

     

    ole

  8. Hi,

     

    I want something rather simple, a sort of sieve, how can I achive that?

     

    Lets say I have a melody like

    (q c4 e d4  e e4  q. f4 e g4 q a4 b4)


    and I want to mute every other note, so the result would be:

    (q c4 -e e4 -q. e g4 -q b4)

    or every third note like:

    (q c4 e d4 -e q. f4 e g4 q a4 -q)

    and it would be great to have an offset..

     

    thanks!

    ole

  9. Thank you for the quick reply!

    My material is this pattern:

    (1/4 -1/4 1/4 -3/8 1/4 -1/4 1/4 -3/8)

    now I want to create  all variations of this pattern ranging from one beat:

    (-1/4 -1/4 -1/4 -3/8 1/4 -1/4 -1/4 -3/8)
          
    (0    0    0    0    1   0    0    0   )

    to four beats (orginal pattern)

     

  10. Hi, I'am looking for a method to pick more and more elements from a list (that are more or less equally distributed):

     

    (1/4 -1/4 1/4 -3/8 1/4 -1/4 1/4 -3/8)
    (1   0    1   0    1   0    1   0   )
    1.pass--> (-1/4 -1/4 -1/4 -3/8 1/4 -1/4 -1/4 -3/8)
          
              (0    0    0    0    1   0    0    0   )
    2.pass--> (-1/4 -1/4 1/4 -3/8 -1/4 -1/4 1/4 -3/8)
           
              (0    0    1   0    0   0     1   0   )
    3.pass--> (1/4 -1/4 -1/4 -3/8 1/4 -1/4 1/4 -3/8)
          
              (1   0    0    0    1   0    1   0   )
    4.--> see orginal list

    thanks for any hints

    best

    ole

  11. I've tried to import Data from Spear following the help-file of import-spectral-spear but did not succede.

    I assume I have to export the textfiles of the partial data and the frames data to the folder ~/Opusmodus/Spectral Data/Data

    and the described import action is related to OM?

     

    When I try (import-spectral-spear :frames "tbn cs3 frames"  "tbn-cs3-frames") than:

    > Error: No such file or directory : #P"om:Spectral Data;Data;tbn cs3 frames.txt.newest"

     

    So it would be really great if you can ellaborate on that spectral stuff..

     

    thanks a lot!

     

    ole

  12. 2 hours ago, AM said:

    thanks for you answer. but it seems that the nancarrow/carter-idea is not possible with opusmodus.... because i would like to programm a SCORE. best way for me would be, if i could combine two or more different (setups/tempi) "def-score"s to a MAIN-score.... 

     

    but anyway, thanks!!!!!!

    andré

     

    If there is a way to program a score with voices  in different tempos, I'am also strongly interested how that could be done.

     

    best

     

    ole

     

     

     

  13. I guess gen-retro does not work with more that one voice.

    And you don't need the quote when calling the variable with gen-retro

    Don't know if it is necessary but I would put a blanc character between the name of the variable and the content

    (gen-retrograde 'music1)
    
    (setf music1 '((q ..

     

    hth

  14. Hi,

    I just wanted to make use of the string quartet score layout and copied the following from layout into my def-score:

    :layout
    	 (string-ensemble-layout
    	  '(violin-1 violin-2) 'viola 'cello ())

     

    that throws the following error:

    Error: Too few arguments in call to #<Compiled-function string-ensemble-layout #x3000014660AF>:
    >        3 arguments provided, at least 4 required. 
    > While executing: string-ensemble-layout, in process Listener-1(8).
    > Type cmd-. to abort, cmd-\ for a list of available restarts.

     

    what am I missing?

    And where are the score templates listed above e.g. where do I find string-quartet.opmo?

    best

    ole

  15. Hi,

    Just make some attempts to code the trill and the acciaccatura from the attached example.

    Get only errors.

    Can you please complete my code line (if it is possible to realize the example)?

    Thanks,

     

    ole

    (e.. c5 leg t f5 e f5 s e5 leg f5)

     

    P8200001.JPG

  16. is this useful?

    ;;; piano phase steve reich beginning bars
    
    (setf pitches '(e4 fs4 b4 cs5 d5 fs4 e4 cs5 b4 fs4 d5 cs5))
    
    (setf phase (make-omn
     :length '(1/16)
     :pitch pitches
     :span :pitch))
    
    ;;; piano1
    (assemble-seq (gen-repeat 4 phase)(gen-repeat 28 phase))
    
    ;;; piano2 
    (assemble-seq '(-12/16)(gen-repeat 28 phase);in the 28 repetitions the second piano gradually 
    ;shifts so that after 28 repetitions it is a 16th note later e.g. the f-sharp (second pitch) 
    ;is sounding together with the e (first pitch) from the 1. piano 
    
    
    ;tempo q.=72

     

    Bildschirmfoto 2015-07-16 um 17.11.54.jpg

    May be like that:

    (setf phrase1 (gen-repeat 24 '((16/128 d4 fs4 gs4 b4 a4 fs4 gs4 e4))))
    (setf phrase2 (gen-repeat 24 '((8/63 d4 fs4 gs4 b4 a4 fs4 gs4 e4))))
    
    (def-score phases
        (:time-signature '(4 4)
         :key-signature 'atonal
         :tempo 132)
    
    (p1 :omn phrase1 :channel 1 :sound 'gm :program 0)
    (p2 :omn phrase2 :channel 2 :sound 'gm :program 0))

     

    Hi Stephane,

    I just listened to your example, sounds like it is the direction I would like to go. Thanks!

    How did you come up with the length-values, can you explain a little?

    best

    ole

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy