Jump to content
Sign in to follow this  
o_e

Velocities other than symbols

Recommended Posts

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!

Share this post


Link to post
Share on other sites

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)

 

Share this post


Link to post
Share on other sites
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'?

Share this post


Link to post
Share on other sites

In the velocity documents you find all the answers.

 

Example

All 127 velocities in floating 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)

 

Share this post


Link to post
Share on other sites
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!

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Topics

    • By JulioHerrlein
      When I did this post, I used the Giant Steps (Coltrane) progression as harmonic path, in this way:
       
      (setf harmpath '((h (b3 maj7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (gb3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (g3 maj7)) (h (cs3 m7) (fs3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb maj7) (eb maj7)) (h (cs3 m7) (fs3 7))) But in the resulting score, the chord symbols won't show.
      I have some questions:
       
      1) How to make the chord symbols appear ?
      2) How to make my own custom chord symbols ?
      3) Can I make associations of chord symbols with specific sets of notes ?
      4) Can I display chord symbols over a melody with a Hidden Piano Part playing them ?
       
      All the best !
      Julio
       
       
       
    • By torstenanders
      I want to translate individual MIDI velocity integers into Opusmodus velocities (i.e. dynamics symbols like p and f). I am aware that I can do this with vector-to-velocity, but I am surprised that this transformation is seemingly so difficult. Below is a function that can do that, but perhaps Opusmodus itself should make this more simple.
       
      (defun MIDI-velocity->OMN-velocity (velocity)
        "Translates individual MIDI velocity integers into Opusmodus velocity symbols.
      Example:
      (MIDI-velocity->OMN-velocity 100)
      => fff"
        (let ((scaled-velo (/ velocity 127.0))) ; scale into range 0-1
          (second (vector-to-velocity 0.0 1.0 `(1.0 ,scaled-velo 0)))))
       
      Best,
      Torsten
       
    • By torstenanders
      Dear Janusz,
       
      The richness of the dynamics symbols in OMN is great. In terms of hair pins, what we already have are the plain hair pins < and > as well as symbols that end with a hairpin, e.g., p<, or f> – besides all those one-note dynamics.  Nevertheless, perhaps this set could be slightly extended even further (now I am getting greedy :)
       
      If we want to express that some crescendo or diminuendo, which started on an earlier note, continues until the end of the current note, then we would need symbols that we don't have yet, like the following, <p, <f, >p, >f, i.e., symbols that start with a hairpin. Would you agree that these would be useful to add (in the medium or long term)?
       
      With such additional symbols, also some already existing dynamics transformations could also be implemented more consistently. For example, currently velocity-variant and friends works as follows.
      (velocity-variant '(mf> > > > > pp) :variant 'r) => (pp < < < < mf<)  
      A more consistent result would be the following, but the symbol <mf is not supported yet.
      (pp < < < < <mf)  
      Thanks!
       
      Best,
      Torsten
×
×
  • Create New...