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 !
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.
(let ((scaled-velo (/ velocity 127.0))) ; scale into range 0-1
(second (vector-to-velocity 0.0 1.0 `(1.0 ,scaled-velo 0)))))
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)