Discussion:
Change pitch in part of a music fragment
Jean-Julien Fleck
2018-12-01 19:29:59 UTC
Permalink
Hello,

I have a music fragment stored in a variable:

myfragment = \relative c' {c d e f g a b c d e f g}

The fragment was initially written for another instrument than the one I'm
targeting so that the range is not big enough to play the whole fragment
without octaviation. Here, for example, the target instrument would need
use

\relative c' {c d e f g a b c, d e f g} % note the comma after the middle c

Is it possible to use the variable \myfragment and manually tell lilypond
(without editing the code of the fragment) that, for example here from the
third time of the second measure until the end of the third measure, I
would like to octaviate ?

The goal is obviously to be able to switch instruments without copy/pasting
global music fragment but just locally tell lilypond to octaviate when
needed for a given instrument.

Thanks for any hint.
--
JJ Fleck
Physique et Informatique
PCSI1 Lycée Kléber
Mark Knoop
2018-12-01 19:58:12 UTC
Permalink
Post by Jean-Julien Fleck
Hello,
myfragment = \relative c' {c d e f g a b c d e f g}
The fragment was initially written for another instrument than the one
I'm targeting so that the range is not big enough to play the whole
fragment without octaviation. Here, for example, the target instrument
would need use
\relative c' {c d e f g a b c, d e f g} % note the comma after the middle c
Is it possible to use the variable \myfragment and manually tell
lilypond (without editing the code of the fragment) that, for example
here from the third time of the second measure until the end of the
third measure, I would like to octaviate ?
The goal is obviously to be able to switch instruments without
copy/pasting global music fragment but just locally tell lilypond to
octaviate when needed for a given instrument.
Take a look at <http://lsr.di.unimi.it/LSR/Item?id=773>. The \correctOctaveOutOfRange function should do what you want.
--
Mark Knoop
Jean-Julien Fleck
2018-12-01 20:27:23 UTC
Permalink
Hello Mark,
Post by Mark Knoop
Post by Jean-Julien Fleck
The goal is obviously to be able to switch instruments without
copy/pasting global music fragment but just locally tell lilypond to
octaviate when needed for a given instrument.
Take a look at <http://lsr.di.unimi.it/LSR/Item?id=773>. The
\correctOctaveOutOfRange function should do what you want.
Thanks, that's already a first step, but I would like to be able to
fine-tune it a bit more for musical coherence: some part of the music that
is off-limit would be octaviate but together with a part that could have
been played at the correct pitch.
--
JJ Fleck
Physique et Informatique
PCSI1 Lycée Kléber
Loading...