On 2020-10-07 5:37 pm, Andrew Bernard wrote:
I just need the highest and lowest note, text, is all.
From within LilyPond, something like this might work:
%%%%
\version "2.20.0"
displayPitchRange =
#(define-music-function
(music)
(ly:music?)
(let ((pitches (music-pitches music)))
(set! pitches (sort pitches ly:pitch<?))
(format #t "\nPitches from ~s to ~s"
(first pitches) (last pitches)))
music)
\displayPitchRange
\transpose c cis {
b'4 <a' c''> g'2
}
%%%%
The intention is to use \displayPitchRange similar to \displayMusic.
The rationale behind this is that I have set a New Complexity score
for a newly developed Clarinet D'Amore, which has a wider range than
clarinet, and few, if any sampled clarinet VST instruments go beyond a
textbook clarinet range, which is not enough, and I need to work out
how to deal with that. Everything is always non-standard over here at
my desk!
Oh, is that anything like the oboe d'amore?
There's not much that can be done if your VST instrument is fixed in its
logic. It is my opinion that enforcing the range on virtual instruments
is a bad idea. Nothing stops someone from retuning or otherwise
modifying a real world instrument to extend its natural range. And
software should not care in the slightest. Just play a sample at
whatever rate the user is telling you.
(I suppose the virtual instrument designers are trying to "help" folks
understand the normal range of instruments so they do not accidentally
orchestrate something that would be unplayable.)
Assuming you do not have access to the new instrument to sample it, you
will have to seek out a good existing SoundFont/SFZ and then modify the
pitch range of the extremal samples to extend them as far as you need.
-- Aaron Hill