Мне нужно выгравировать хоровую пьесу, где некоторые голоса имеют части без тональности, такие как шепот, произнесенные или выкрикиваемые слова. Я хочу выгравировать это, используя ноты с крестообразной головкой, как в следующем музыкальном произведении:
\version "2.18.2"
myMusic = {
\relative c' {
c4 d e f |
\override NoteHead.style =#'cross
f4 f f f |
\revert NoteHead.style
g a b c |
}
}
\score {
\myMusic
\midi {}
}
\score {
\myMusic
\layout {}
}
Так как эти части в MIDI-файле с высотой тона раздражают, я бы хотел, чтобы MIDI-генератор либо игнорировал их, т.е. заменял ноты соответствующими паузами, либо заменял чем-то без высоты тона. Однако они должны быть напечатаны корректно (поэтому у меня два блока \score).
Есть ли способ добиться этого? Спасибо!
Этого можно добиться с помощью тегов (см. документацию ), например следующим образом:
\version "2.18.2"
myMusic = {
\relative c' {
c4 d e f |
\tag #'printonly {
\override NoteHead.style = #'cross
f4 f f f |
\revert NoteHead.style
}
\tag #'midionly {
r4 r r r |
}
g a b c |
}
}
\score {
\removeWithTag #'printonly
\myMusic
\midi {}
}
\score {
\removeWithTag #'midionly
\myMusic
\layout {}
}
Если вы хотите что-то, что делает звук типа перкуссии в файле MIDI и ясно для читателей;
Используйте барабанный нотоносец в Ossia:
\version "2.18.2"
myMusic = \new Staff = "main" {
\relative c' {
c4 d e f |
<<
R1
\new DrumStaff \with {
\override StaffSymbol.line-count = #0
\override BarLine.bar-extent = #'(-1.5 . 1.5)
\remove "Time_signature_engraver"
alignAboveContext = #"main"
%\magnifyStaff #2/3
%firstClef = ##f
} {
\drummode {
hh4 hh4 hh4 hh4 |
}
}
>>
g4 a b c |
}
}
\score {
\myMusic
\midi {}
}
\score {
\myMusic
\layout {}
}
Если вы не хотите, чтобы ноты без тональности звучали, вы можете поместить ноты с тональностью в один Voice
контекст, а ноты без тональности — в другой Voice
контекст, заглушив последнюю.
\version "2.18.2"
myMusic = {
\relative c' {
c4 d e f |
s1 |
g4 a b c |
}
}
myMusicUnpitched = {
\relative c' {
\override NoteHead.style =#'cross
s1 |
f4 f f f |
s1 |
}
}
\score {
\new Staff { <<
\new Voice { \myMusic }
\new Voice { \set midiMaximumVolume = #0 \myMusicUnpitched }
>> }
\layout {}
\midi {
\context { \Staff \remove "Staff_performer" }
\context { \Voice \consists "Staff_performer" }
}
}
Источники:
http://lsr.di.unimi.it/LSR/Item?id=438
http://lilypond.org/doc/v2.18/Documentation/notation/controlling-midi-dynamics#overall-midi-volume .
Кстати, я так и не понял, в чем смысл использования двух \score {}
блоков.
Эдуард