lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Note range of a score


From: Aaron Hill
Subject: Re: Note range of a score
Date: Wed, 07 Oct 2020 18:11:45 -0700
User-agent: Roundcube Webmail/1.4.9

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]