I've decided to accept user48549's answer, and in response to Carl Witthoft's comment, I'm going to show how I implemented the suggestion in my own workflow below:
First I set up the musical notations:
%% MUSIC %%
global = {
\tempo 4 = 88
\time 4/4
\numericTimeSignature
\compressFullBarRests
\key c \major
s1*4 \bar "|."
}
pianoUpper = {
\new Staff <<
\global
\clef treble
\relative c' {
c4 c c c | c c c c | c c c c | c c c c | c c c c |
}
>>
}
pianoLower = {
\new Staff <<
\global
\clef bass
\relative c {
c4 c c c | c c c c | c c c c | c c c c | c c c c |
}
>>
}
sopranoMusic = {
<<
\global
\clef treble
\relative c'' {
c4 c c c | c c c c | c c c c | c c c c | c c c c |
}
>>
}
altoMusic = {
<<
\global
\clef treble
\relative c' {
c4 c c c | c c c c | c c c c | c c c c | c c c c |
}
>>
}
tenorMusic = {
<<
\global
\clef "treble_8"
\relative c' {
c4 c c c | c c c c | c c c c | c c c c | c c c c |
}
>>
}
bassMusic = {
<<
\global
\clef bass
\relative c {
c4 c c c | c c c c | c c c c | c c c c | c c c c |
}
>>
}
And the lyrics:
%% LYRICS %%
commonLyrics = \lyricmode {
la la la la
la la la la
la la la la
la la la la
la la la
}
sopranoLyrics = \lyricmode {
\commonLyrics ooh
}
altoLyrics = \lyricmode {
\commonLyrics aah
}
tenorLyrics = \lyricmode {
\commonLyrics eh
}
bassLyrics = \lyricmode {
\commonLyrics hmm
}
Then I set up the parts:
%% PARTS %%
% Normal Volume Parts
piano = {
\new PianoStaff \with {
instrumentName = #"Piano"
shortInstrumentName = #"Pno."
} <<
\pianoUpper
\pianoLower
>>
}
soprano = {
\new Staff \with {
instrumentName = #"Soprano"
shortInstrumentname = #"S"
} {
\sopranoMusic
}
\addlyrics \sopranoLyrics
}
alto = {
\new Staff \with {
instrumentName = #"Alto"
shortInstrumentname = #"A"
} {
\altoMusic
}
\addlyrics \altoLyrics
}
tenor = {
\new Staff \with {
instrumentName = #"Tenor"
shortInstrumentname = #"T"
} {
\tenorMusic
}
\addlyrics \tenorLyrics
}
bass = {
\new Staff \with {
instrumentName = #"Bass"
shortInstrumentname = #"B"
} {
\bassMusic
}
\addlyrics \bassLyrics
}
Then I add additional parts for Loud and Soft versions. I can omit the lyrics and the instrument name since these parts are only rendered in MIDI.
% Soft Volume Parts
pianoSoft = {
\new PianoStaff \with {
midiMinimumVolume = #0.2
midiMaximumVolume = #0.4
} <<
\pianoUpper
\pianoLower
>>
}
sopranoSoft = {
\new Staff \with {
midiMinimumVolume = #0.2
midiMaximumVolume = #0.4
} {
\sopranoMusic
}
}
altoSoft = {
\new Staff \with {
midiMinimumVolume = #0.2
midiMaximumVolume = #0.4
} {
\altoMusic
}
}
tenorSoft = {
\new Staff \with {
midiMinimumVolume = #0.2
midiMaximumVolume = #0.4
} {
\tenorMusic
}
}
bassSoft = {
\new Staff \with {
midiMinimumVolume = #0.2
midiMaximumVolume = #0.4
} {
\bassMusic
}
}
% Loud Volume Parts
sopranoLoud = {
\new Staff \with {
midiMinimumVolume = #0.6
midiMaximumVolume = #0.9
} {
\sopranoMusic
}
}
altoLoud = {
\new Staff \with {
midiMinimumVolume = #0.6
midiMaximumVolume = #0.9
} {
\altoMusic
}
}
tenorLoud = {
\new Staff \with {
midiMinimumVolume = #0.6
midiMaximumVolume = #0.9
} {
\tenorMusic
}
}
bassLoud = {
\new Staff \with {
midiMinimumVolume = #0.6
midiMaximumVolume = #0.9
} {
\bassMusic
}
}
Then with every book that I want to isolate a part for I can add two scores, one with the \layout {}
block and the other with the \midi {}
block:
%% BOOKS %%
% All Parts (No Isolation)
\book {
\header {
title = #"My Song"
instrument = #"All Parts"
}
\bookOutputSuffix "All-Parts"
\score {
<<
\new ChoirStaff <<
\soprano
\alto
\tenor
\bass
>>
\piano
>>
\layout{}
\midi{}
}
}
% Soprano (Soprano Part Isolated)
\book {
\header {
title = #"My Song"
instrument = #"Soprano"
}
\bookOutputSuffix "Soprano"
\score {
<<
\new ChoirStaff <<
\soprano
>>
>>
\layout{}
}
\score {
<<
\new ChoirStaff <<
\sopranoLoud
\altoSoft
\tenorSoft
\bassSoft
>>
\pianoSoft
>>
\midi{}
}
% Other parts omitted but similar to Soprano above.
The final output of those two books, if the file name is "My-Song.ly" should generate:
- My-Song-All-Parts.midi (playing each part normally)
- My-Song-All-Parts.pdf (containing all staves)
- My-Song-Soprano.midi (Soprano part plays loudly, and all other parts softly)
- My-Song-Soprano.pdf (containing only the Soprano staff)