En Lilypond, silencia partes de la salida midi

Necesito grabar una pieza coral, donde algunas voces tienen partes sin tono, como palabras susurradas, habladas o gritadas. Quiero grabar esto usando notas con cabeza de cruz, como en la siguiente pieza musical:

\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 {}
}

Como es molesto tener estas partes en el archivo MIDI con un tono, me gustaría que el generador MIDI las ignore, es decir, reemplace las notas por los silencios correspondientes, o las reemplace por algo sin tono. Sin embargo, se imprimirán correctamente (es por eso que tengo dos bloques \score).

¿Hay una manera de lograr esto? ¡Gracias!

Respuestas (3)

Esto se puede lograr mediante el uso de etiquetas (consulte la documentación ), por ejemplo, de la siguiente manera:

\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 {}
}

Si desea algo que haga un sonido de tipo percusión en el archivo MIDI, y que sea claro para los lectores;

Usa un pentagrama de batería en un 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 {}
}

pentagrama en una ossia

Como cantante aficionado, encontraría esto definitivamente menos claro que las cabezas cruzadas en el personal. Daría lugar a muchas discusiones que consumen mucho tiempo.

Si no quiere sonido para las notas sin tono, puede poner las notas con tono en un Voicecontexto y las notas sin tono en otro Voicecontexto, silenciando este último.

\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" }
    }
}

Fuentes:
http://lsr.di.unimi.it/LSR/Item?id=438
http://lilypond.org/doc/v2.18/Documentation/notation/controlling-midi-dynamics#overall-midi-volume

Por cierto, no entendí cuál es el punto de usar dos \score {}bloques.