Guide, node Updating translation committishes..
@end ignore
-@c \version "2.13.36"
+@c \version "2.14.0"
@node Pitches
@menu
* Octave checks::
* Transpose::
+* Inversion::
+* Retrograde::
+* Modal transformations::
@end menu
@node Octave checks
@seealso
Notation Reference:
+@ref{Instrument transpositions},
+@ref{Inversion},
+@ref{Modal transformations},
@ref{Relative octave entry},
-@ref{Instrument transpositions}.
+@ref{Retrograde}.
Snippets:
@rlsr{Pitches}.
To use relative mode within transposed music, an additional
@code{\relative} must be placed inside @code{\transpose}.
+@node Inversion
+@unnumberedsubsubsec Inversion
+
+@cindex inversion
+@cindex operation, inversion
+@funindex \inversion
+
+A music expression can be inverted with:
+
+@example
+\inversion @var{from-pitch} @var{to-pitch} @var{musicexpr}
+@end example
+
+The @code{@var{musicexpr}} is inverted interval-by-interval,
+and then transposed so that @code{@var{from-pitch}} is mapped
+to @code{@var{to-pitch}}.
+
+@lilypond[verbatim,quote]
+music = \relative c' { c d e f }
+\new Staff {
+ \music
+ \inversion d' d' \music
+ \inversion d' ees' \music
+}
+@end lilypond
+
+@seealso
+Notation Reference:
+@ref{Modal transformations},
+@ref{Retrograde},
+@ref{Transpose}.
+
+
+@node Retrograde
+@unnumberedsubsubsec Retrograde
+
+@cindex retrograde transformation
+@cindex transformation, retrograde
+@cindex operation, retrograde
+@funindex \retrograde
+@funindex retrograde
+
+A music expression can be reversed to produce its retrograde:
+
+@lilypond[verbatim,quote]
+music = \relative c' { c8. ees16( fis8. a16 b8.) gis16 f8. d16 }
+
+\new Staff {
+ \music
+ \retrograde \music
+}
+@end lilypond
+
+@knownissues
+Manual ties inside @code{\retrograde} will be broken and
+generate warnings. Some ties can be generated automatically
+by enabling @ref{Automatic note splitting}.
+
+@seealso
+Notation Reference:
+@ref{Inversion},
+@ref{Modal transformations},
+@ref{Transpose}.
+
+
+@node Modal transformations
+@unnumberedsubsubsec Modal transformations
+
+@cindex modal transformations
+@cindex transformations, modal
+@cindex operations, modal
+
+In a musical composition that is based on a scale, a motif is
+frequently transformed in various ways. It may be
+@notation{transposed} to start at different places in the scale or
+it may be @notation{inverted} around a pivot point in the scale.
+It may also be reversed to produce its @notation{retrograde}, see
+@ref{Retrograde}.
+
+@warning{Any note that does not lie within the given scale will be
+left untransformed.}
+
+@subsubheading Modal transposition
+
+@cindex modal transposition
+@cindex transposition, modal
+@cindex operation, transposition
+@funindex \modalTranspose
+@funindex modalTranspose
+
+A motif can be transposed within a given scale with:
+
+@example
+\modalTranspose @var{from-pitch} @var{to-pitch} @var{scale} @var{motif}
+@end example
+
+The notes of @var{motif} are shifted within the @var{scale} by the
+number of scale degrees given by the interval between @var{to-pitch}
+and @var{from-pitch}:
+
+@lilypond[verbatim,quote]
+diatonicScale = \relative c' { c d e f g a b }
+motif = \relative c' { c8 d e f g a b c }
+
+\new Staff {
+ \motif
+ \modalTranspose c f \diatonicScale \motif
+ \modalTranspose c b, \diatonicScale \motif
+}
+@end lilypond
+
+An ascending scale of any length and with any intervals may be
+specified:
+
+@lilypond[verbatim,quote]
+pentatonicScale = \relative c' { ges aes bes des ees }
+motif = \relative c' { ees8 des ges,4 <ges' bes,> <ges bes,> }
+
+\new Staff {
+ \motif
+ \modalTranspose ges ees' \pentatonicScale \motif
+}
+@end lilypond
+
+When used with a chromatic scale @code{\modalTranspose} has a
+similar effect to @code{\transpose}, but with the ability to
+specify the names of the notes to be used:
+
+@lilypond[verbatim,quote]
+chromaticScale = \relative c' { c cis d dis e f fis g gis a ais b }
+motif = \relative c' { c8 d e f g a b c }
+
+\new Staff {
+ \motif
+ \transpose c f \motif
+ \modalTranspose c f \chromaticScale \motif
+}
+@end lilypond
+
+@subsubheading Modal inversion
+
+@cindex modal inversion
+@cindex inversion, modal
+@cindex operation, modal inversion
+@funindex \modalInversion
+@funindex modalInversion
+
+A motif can be inverted within a given scale around a given pivot
+note and transposed in a single operation with:
+
+@example
+\modalInversion @var{around-pitch} @var{to-pitch} @var{scale} @var{motif}
+@end example
+
+The notes of @var{motif} are placed the same number of scale degrees
+from the @var{around-pitch} note within the @var{scale}, but in the
+opposite direction, and the result is then shifted within the
+@var{scale} by the number of scale degrees given by the interval between
+@var{to-pitch} and @var{around-pitch}.
+
+So to simply invert around a note in the scale use the same value for
+@var{around-pitch} and @var{to-pitch}:
+
+@lilypond[verbatim,quote]
+octatonicScale = \relative c' { ees f fis gis a b c d }
+motif = \relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }
+
+\new Staff {
+ \motif
+ \modalInversion fis' fis' \octatonicScale \motif
+}
+@end lilypond
+
+To invert around a pivot between two notes in the scale, invert around
+one of the notes and then transpose by one scale degree. The two notes
+specified can be interpreted as bracketing the pivot point:
+
+@lilypond[verbatim,quote]
+scale = \relative c' { c g' }
+motive = \relative c' { c c g' c, }
+
+\new Staff {
+ \motive
+ \modalInversion c' g' \scale \motive
+}
+@end lilypond
+
+The combined operation of inversion and retrograde produce the
+retrograde-inversion:
+
+@lilypond[verbatim,quote]
+octatonicScale = \relative c' { ees f fis gis a b c d }
+motif = \relative c' { c8. ees16 fis8. a16 b8. gis16 f8. d16 }
+
+\new Staff {
+ \motif
+ \retrograde \modalInversion c' c' \octatonicScale \motif
+}
+@end lilypond
+
+@seealso
+Notation Reference:
+@ref{Inversion},
+@ref{Retrograde},
+@ref{Transpose}.
+
+
@node Displaying pitches
@subsection Displaying pitches
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
@funindex modern
This rule corresponds to the common practice in the twentieth
-century. It prints the same accidentals as @code{default}, with
+century. It omits some extra natural signs, which were
+traditionally prefixed to accidentals that reduce or reverse
+the direction of a previous alteration. The @code{modern} rule
+prints the same accidentals as @code{default}, with
two exceptions that serve to avoid ambiguity: after temporary
accidentals, cancellation marks are printed also in the following
measure (for notes in the same octave) and, in the same measure,
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
This is the opposite of @code{no-reset}: Accidentals are not
remembered at all -- and hence all accidentals are typeset
relative to the key signature, regardless of what came before in
-the music. Unlike @code{dodecaphonic}, this rule never prints
-any naturals.
+the music.
@lilypond[quote]
musicA = {
<<
\relative c' {
- cis'8 fis, d'4 <a cis>8 f bis4 |
+ cis'8 fis, bes4 <a cis>8 f bis4 |
cis2. <c, g'>4 |
}
\\
@end lilypond
@end table
-@snippets
-
-@lilypondfile[verbatim,lilyquote,texidoc,doctitle]
-{dodecaphonic-style-accidentals-for-each-note-including-naturals.ly}
-
-
@seealso
Snippets:
@rlsr{Pitches}.
@knownissues
-Simultaneous notes are considered to be entered in sequential
-mode. This means that in a chord the accidentals are typeset as
-if the notes in the chord happen one at a time, in the order in
-which they appear in the input file. This is a problem when
-accidentals in a chord depend on each other, which does not happen
-for the default accidental style. The problem can be solved by
-manually inserting@tie{}@code{!} and@tie{}@code{?} for the
-problematic notes.
-
+Simultaneous notes are not considered in the automatic
+determination of accidentals; only previous notes and the key
+signature are considered. Forcing accidentals with@tie{}@code{!}
+or@tie{}@code{?} may be required when the same note name occurs
+simultaneously with different alterations, as in @samp{<f! fis!>}.
Cautionary cancellation of accidentals is done by looking at previous measure.
However, in the @code{\alternative} block following a @code{\repeat volta N}
@rinternals{Pitch_squash_engraver},
@rinternals{Voice},
@rinternals{RhythmicStaff}.
-
-