Jump to content

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!

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)

 

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'?

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)

 

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!

 

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.

  • Similar Topics

    • By InLight-Tone
      I was wondering if it's possible to use midi velocity values 1-127 for the velocity parameter?
      I noticed I could use floating point.
      Any examples of using standard midi velocity instead of dynamic symbols?
      Thanks again, I'll try to keep these basic questions to a minimum if possible! 😏
    • 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
       
×
×
  • Create New...