lilypond-user
[Top][All Lists]
Advanced

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

Re: instrumentSwitch and addInstrumentDefinition use


From: Kieren MacMillan
Subject: Re: instrumentSwitch and addInstrumentDefinition use
Date: Sun, 18 Jan 2015 22:34:24 -0500

Hi Keith,

Thanks for adding the issue to the tracker — it’s a great starting place.

> You have to admit that this does (accidentally) make it sound a bit like you 
> are looking for a convenient way to write music with no regard for the 
> instrument.

Not at all. I inhabit [at least] three roles in the creation of my works 
(especially my musical theatre works): composer, arranger, and engraver. As 
Composer-Kieren writes the music — with the desired instrument in mind [!!!] — 
Arranger-Kieren is mapping those instruments to players in the pit. Meanwhile, 
Engraver-Kieren is waiting with baited breath to see how difficult it will be 
to output the score and parts.  ;)

Consider the "West Side Story” wind parts, for example:
  Reed I = Piccolo, Flute, Alto Saxophone, Clarinet in Bb, Bass Clarinet
  Reed II = Clarinet in Eb, Clarinet in Bb, Bass Clarinet
  Reed III = Piccolo, Flute, Oboe, English Horn, Tenor Saxophone, Baritone 
Saxophone, Clarinet in Bb, Bass Clarinet
  Reed IV = Piccolo, Flute, Soprano Saxophone, Bass Saxophone, Clarinet in Bb, 
Bass Clarinet
  Reed V: Bassoon

More to the point:
  Clarinet in Bb is played by Reeds I, II, III and IV
  Bass Clarinet is played by Reeds I, II, III and IV
  Piccolo is played by Reeds I, III, and IV
  Flute is played by Reeds I, III, and IV

I wouldn’t dare suggest that Leonard Bernstein (and Sid Ramin, etc.) originally 
composed and/or orchestrated “West Side Story" with no regard for the 
instrument, would you?! As any working composer/arranger/orchestrator will tell 
you, the more likely scenario is that Berstein composed the music exactly as he 
heard in his head — instruments and all — and the parts got divided up as best 
suited the logistics of the players in a pit orchestra.

> I do see, though, that the convenience also makes it easier to make drafts 
> and see how the fingerings work out on alto flute or C flute, whether it is 
> easier to switch instruments a few measures earlier, etc.

I can honestly say that such concerns as fingerings *never* cross my mind. (I 
actually don’t know enough about the technical requirements/issues of each 
instrument to think that way!) I simply compose music for the instrument which 
has the timbre I want to hear at that moment — it’s up to the player(s) to work 
out the technical issues, in my opinion.

> I think the best way needs no music functions, just variables to set up the 
> instrument-switches.

Yes!!! That would seem to be the best way, IMO.

> If you type in concert pitch

…which I *always* do… (I have literally never entered “written”, i.e., 
transposed, notes into Lilypond.)

> you can apply a \transpose to written-pitch directly to the input notes.

Hmmm… I’ll have to look at this more closely and get back to you. It still 
seems too convoluted to be the most elegant solution.

> This does have the variable reedPlayer storing written pitches, where we 
> recommend storing concert pitches

I would much rather code in concert pitches.

> You can think primarily in concert pitch, run \new Staff \reedPlayer through 
> Lilypond to see how the fingerings work out, and move \switchClarinet and the 
> \transpose {...} around as needed to make the arrangement work out.

Again, my instrument-switching decisions are never based on such things — 
they’re always based on timbral considerations.

Still, I think I must be missing something fundamental… It really seems to me 
that \addInstrumentDefinition already has [almost?] everything we need: the 
shortInstrumentName is there, the clef is there (in case a change is needed), 
the cue name is there, the transposition is there, etc.

So what is stopping us from making something very similar to the OP’s original 
code Do The Right Thing™?

%%%%%%%%%%

\version "2.19.15"
\language "english"

\addInstrumentDefinition #"cl Bflat"
#`(
(instrumentTransposition . ,(ly:make-pitch 0 0 -200))
(shortInstrumentName . "Cl. in Bb")
(clefGlyph . "clefs.G")
(middleCPosition . -6)
(clefPosition . -2)
(instrumentCueName . ,(make-bold-markup "Cl. in Bb"))
(midiInstrument . "clarinet")
)

\addInstrumentDefinition #"piccolo"
#`(
(instrumentTransposition . ,(ly:make-pitch 1 0 0))
(shortInstrumentName . "Picc.")
(clefGlyph . "clefs.G")
(middleCPosition . -13)
(clefPosition . 2)
(instrumentCueName . ,(make-bold-markup "Picc"))
(midiInstrument . "flute")
)

global = {
  \key d \major
  s1*2
}

%%% This is how I want to code the concert pitches:
wind_notes = {
  \instrumentSwitch “piccolo”
  d'4 e' fs' g'   | 
  \instrumentSwitch "cl Bflat"
  d'4 e' fs' g'   | 
}

\score {
  \new Staff << \global \wind_notes >>
}

%%%%%%%%%%

There is a problem with the above [concert-pitch] snippet: Lilypond thows an 
error [warning: No such instrument: “piccolo”], even though it shouldn’t, 
intuitively. Why is that?

The big problem, of course, is when we want to output a **transposed part**. 
How can we generate the transposed part — complete with key signature change — 
with minimal effort on the part of the coder (= Engraver-Kieren)?

In a perfect world, we wouldn’t need to add \transpose or \transposition or 
anything to either the wind_notes variable or the score block: 
\addInstrumentDefintion + \instrumentSwitch plus possibly some 
engraver(s)/listener(s) should do all of that for us!! Of course, we almost 
certainly need a switch somewhere to say “this score/part is in concert pitch” 
or “this score/part is transposed”… but that should be the only parameter that 
is necessary to alter.

Here’s hoping that together we can find The Holy Grail here!  =)

Thanks,
Kieren.
_______________________

Kieren MacMillan, composer
www:  <http://www.kierenmacmillan.info>
email:  address@hidden




reply via email to

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