Transpositions sérielles

Bonjour,
Existe-t-il avec Lilypond un moyen d'opérer les transpositions que la musique sérielle exige ?
Pour les transpos droites et retrogrades, ça devrait aller. Je pense surtout aux transpos miroirs, qui renversent les intervalles.
Merci pour vos retours et conseils.
Cordialement.
Christophe

Bonjour Christophe,

Est-ce que cette page de la doc répond à tes attentes ?

Cordialement,
Jean

···

Le 20/04/2022 à 12:21, xtof pno a écrit :

Bonjour,
Existe-t-il avec Lilypond un moyen d'opérer les transpositions que la musique sérielle exige ?
Pour les transpos droites et retrogrades, ça devrait aller. Je pense surtout aux transpos miroirs, qui renversent les intervalles.
Merci pour vos retours et conseils.
Cordialement.
Christophe

Bonjour Jean,
Ça devrait effectivement convenir. Merci pour le lien.
J'ai un petit problème à régler encore avec la transposition droite. Je voudrais bien que les notes soient notées avec leur propre altération plutôt qu'une modification de l'armure.
Comment faire ?
Merci pour votre aide précieuse.
Cordialement.
Christophe

···

Le mer., avr. 20, 2022 à 12:33, Jean Abou Samra > <****@****> a écrit:

Le 20/04/2022 à 12:21, xtof pno a écrit :

Bonjour,
Existe-t-il avec Lilypond un moyen d'opérer les transpositions que la
musique sérielle exige ?
Pour les transpos droites et retrogrades, ça devrait aller. Je pense
surtout aux transpos miroirs, qui renversent les intervalles.
Merci pour vos retours et conseils.
Cordialement.
Christophe

Bonjour Christophe,

Est-ce que cette page de la doc répond à tes attentes ?

https://lilypond.org/doc/v2.22/Documentation/notation/changing-multiple-pitches.fr.html#inversion

Cordialement,

Jean

Bonjour! Comme ça peut être ?
musicA = {
  <<
    \relative {
      cis''8 fis, bes4 <a cis>8 f bis4 |
      cis2. <c, g'>4 |
    }
    \\
    \relative {
      ais'2 cis, |
      fis8 b a4 cis2 |
    }
  >>
}

musicB = {
  \clef bass
  \new Voice {
    \voiceTwo \relative {
      <fis a cis>8[ <fis a cis>
      \change Staff = up
      cis' cis
      \change Staff = down
      <fis, a> <fis a>]
      \showStaffSwitch
      \change Staff = up
      dis'4 |
      \change Staff = down
      <fis, a cis>4 gis <f a d>2 |
    }
  }
}

\new PianoStaff {
  <<
    \new Staff = "up" {
      \accidentalStyle dodecaphonic
      \musicA
    }
    \new Staff = "down" {
      \accidentalStyle dodecaphonic
      \musicB
    }
  >>
}

Bonjour,

Pour ne pas transposer l'armure, comparer :

%%%%%%%%%%%%%%%%%%%%%
\version "2.23.7"

motif = \relative { c' d e f }

\new Staff {
   \key c \major \motif
   \transpose c d { \key c \major \motif }
}

\new Staff {
   \key c \major \motif
    \transpose c d { \motif }
}
%%%%%%%%%%%%%%%%%%%%%

hth,
Frédéric

···

Le 20/04/2022 à 18:47, xtof pno a écrit :

Bonjour Jean,
Ça devrait effectivement convenir. Merci pour le lien.
J'ai un petit problème à régler encore avec la transposition droite. Je voudrais bien que les notes soient notées avec leur propre altération plutôt qu'une modification de l'armure.
Comment faire ?
Merci pour votre aide précieuse.
Cordialement.
Christophe

    Le mer., avr. 20, 2022 à 12:33, Jean Abou Samra > <****@****> a écrit:

    Le 20/04/2022 à 12:21, xtof pno a écrit :
    > Bonjour,
    > Existe-t-il avec Lilypond un moyen d'opérer les transpositions
    que la
    > musique sérielle exige ?
    > Pour les transpos droites et retrogrades, ça devrait aller. Je
    pense
    > surtout aux transpos miroirs, qui renversent les intervalles.
    > Merci pour vos retours et conseils.
    > Cordialement.
    > Christophe

    Bonjour Christophe,

    Est-ce que cette page de la doc répond à tes attentes ?

    GNU LilyPond – Manuel de notation: 1.1.2 Modification de plusieurs hauteurs

    Cordialement,

    Jean

Bonjour,
Merci pour cette info.
Pour l'instant, n'ayant que la matrice, \accidentalStyle dodecaphonic, a l'air de suffire.
Par contre, je peine pour la mise en forme.
Je souhaite seulement établir une liste de la série de base avec pour chaque transpo au demi-ton supérieur son renversement en miroir. Soit 24 lignes l'une sous l'autre.
Je crois que je vais les écrire à la main.
Merci pour vos références.
Cordialement.
Christophe

···

Le mer., avr. 20, 2022 à 17:21, Yagloops > <****@****> a écrit:

Bonjour! Comme ça peut être ?
musicA = {
  <<
    \relative {
      cis''8 fis, bes4 <a cis>8 f bis4 |
      cis2. <c, g'>4 |
    }
    \\
    \relative {
      ais'2 cis, |
      fis8 b a4 cis2 |
    }
  >>
}

musicB = {
  \clef bass
  \new Voice {
    \voiceTwo \relative {
      <fis a cis>8[ <fis a cis>
      \change Staff = up
      cis' cis
      \change Staff = down
      <fis, a> <fis a>]
      \showStaffSwitch
      \change Staff = up
      dis'4 |
      \change Staff = down
      <fis, a cis>4 gis <f a d>2 |
    }
  }
}

\new PianoStaff {
  <<
    \new Staff = "up" {
      \accidentalStyle dodecaphonic
      \musicA
    }
    \new Staff = "down" {
      \accidentalStyle dodecaphonic
      \musicB
    }
  >>
}

Bonjour Christophe,

Désolé pour le délai de réponse (beaucoup de choses en ce moment…).

En tous cas, il est tout à fait faisable de générer les 24 lignes à partir
de la série. Est-ce que le code ci-dessous correspond à peu près à ce
que tu attends ?

\version "2.22.2"

tableau =
#(define-void-function (série) (ly:music?)
(let ((notes (make-hash-table)))
(for-some-music
(lambda (m)
(let ((p (ly:music-property m 'pitch #f)))
(if p
(hashv-set! notes
(modulo (ly:pitch-semitones p)
12)
p)))
#f)
série)
(let* ((first-pitch (car (music-pitches série)))
(inverted (inversion
first-pitch
(ly:music-deep-copy série))))
(for-each
(lambda (i)
(let ((copy (ly:music-deep-copy série))
(inv-copy (ly:music-deep-copy inverted)))
(define (set-transposition! music)
(for-some-music
(lambda (m)
(let ((p (ly:music-property m 'pitch #f)))
(if p
(let* ((t (ly:pitch-transpose
p
(ly:make-pitch 0 0 (* 1/2 i))))
(t-n (hashv-ref
notes
(modulo
(ly:pitch-semitones t)
12))))
(ly:music-set-property! m
'pitch
t-n))))
#f)
music))
(define (scorify! music inv)
(set-transposition! music)
(add-score
#{
\score {
\layout {
indent = 40
}
\new Staff \with {
instrumentName =
\markup \center-column {
\line { Transposition #(number->string i) }
#(if inv "(miroir)" "")
}
} {
\accidentalStyle forget
\cadenzaOn
#music
\bar "||"
}
}
#}))
(scorify! copy #f)
(scorify! inv-copy #t)))
(iota 12)))))

série = \fixed c' { g b ees ais a cis f c gis d e fis }

\tableau \série

Cordialement,
Jean

···

Le 21/04/2022 à 15:07, xtof pno a écrit :

Bonjour,
Merci pour cette info.
Pour l'instant, n'ayant que la matrice, \accidentalStyle dodecaphonic, a l'air de suffire.
Par contre, je peine pour la mise en forme.
Je souhaite seulement établir une liste de la série de base avec pour chaque transpo au demi-ton supérieur son renversement en miroir. Soit 24 lignes l'une sous l'autre.
Je crois que je vais les écrire à la main.
Merci pour vos références.
Cordialement.
Christophe