# 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 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 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..

##### 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 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!

## Join the conversation

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

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

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

×

• ### Similar Topics

• 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

• 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

• 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
×

• Lessons