[HS] portée circulaire

Bonjour,

J'ai noté ce sujet HS, car c'est juste une question de curiosité...

en flanant sur internet, je suis tombé sur des images de portées circulaires, spiralées, ou avec une forme rappelant les calligrammes d'appolinaire... (voir pièces jointes)

Pensez-vous que ce soit possible de faire ce genre de chose avec lilypond ?
(pas forcément du grégorien, un portée normale circulaire c'est largement suffisant ^^ )

Merci d'avance et bonne soirée à tous,
David

2. circulaire.jpeg

3. connection.jpeg

4. tatouage.jpeg

Bonjour,

Cette possibilité m'intéresse, oh! combien, pour les « canons ». L'ars
subtilior et le codex chantilly est représenté deux fois dans le choix
d'images.

Sur l'article du codex, pour « Tout par compas suy composés », j'ai
donné le lien en note vers une super réalisation vidéo qui donne tout
son sens à la partition.

Ça serait bien de le réaliser en vrai avec le principe du MIDI discuté
il y a quelques jours qui permet d'entendre le contrepoint, comme
exemple pour wp…

Il se trouve plein d'exemples dans l'histoire, car la représentation
est symboliquement appropriée pour… les canons circulaires.

Patrick — canonisé

···

Le mar. 9 juin 2020 à 22:27, david <****@****> a écrit :

Bonjour,

J'ai noté ce sujet HS, car c'est juste une question de curiosité...

en flanant sur internet, je suis tombé sur des images de portées
circulaires, spiralées, ou avec une forme rappelant les calligrammes
d'appolinaire... (voir pièces jointes)

Pensez-vous que ce soit possible de faire ce genre de chose avec
lilypond ?
(pas forcément du grégorien, un portée normale circulaire c'est
largement suffisant ^^ )

Merci d'avance et bonne soirée à tous,
David

Cher David, cher Patrick,
Je pense qu'on est nombreux ici à avoir pensé à ce genre de réalisations.
Est-ce possible ? Oui.
En revanche, rien ne peut être automatisé en l'état; pour ce faire, il faudrait changer toutes les règles d'alignement de LilyPond, bref, un travail de bénédictins pour des utilisations très ponctuelles...
Intérêt ? Limité on va dire.
Le plus simple, je pense, est :

--- d'utiliser un logiciel graphique approprié (InkScape, Gimp, etc.) ;

--- d'utiliser les commandes graphiques de LilyPond et de faire avec (http://lilypond.org/doc/v2.20/Documentation/notation/text-markup-commands) ;
--- d'utliser la sortie SVG et de combiner les deux logiciels (LP + InkScape par ex.).
Un essai simple :

\version "2.20.0"

%% Juste pour contrôler l'alignement :
#(define-markup-command
(circled-pattern layout props radius angle num arg)
(number? number? number? markup?)
(interpret-markup layout props
(let* ((rep (abs num))(rad (abs radius)))
(cond
((= num 0) (markup ""))
((= num 1) (markup arg))
(#t (markup
(#:combine
(#:null)
(fold
(lambda (i prev)
(markup
(#:combine
(#:rotate
(* i (/ angle rep))
(#:concat (#:null #:hspace rad arg)))
prev)))
(markup (#:null))
(iota (1+ rep))))))))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

linSup = \markup\override #'(thickness . 2) \draw-line #'(1.8 . 0)

\markuplist {
\vspace #5
\fill-line {
%% Guides (à cacher) :
%--{
\combine
\with-dimensions-from \null
\translate #'(0 . -30)
\circled-pattern #0 #180 #64 % <= espacements à adapter
\with-color #red \draw-line #'(0 . 60)
\combine \with-color #red \draw-circle #15 #.1 ##f
\combine \with-color #red \draw-circle #16 #.1 ##f
\combine \with-color #red \draw-circle #17 #.1 ##f
\combine \with-color #red \draw-circle #18 #.1 ##f
\combine \with-color #red \draw-circle #19 #.1 ##f
\combine \with-color #red \draw-circle #25 #.1 ##f
\combine \with-color #red \draw-circle #26 #.1 ##f
\combine \with-color #red \draw-circle #27 #.1 ##f
\combine \with-color #red \draw-circle #28 #.1 ##f
\combine \with-color #red \draw-circle #29 #.1 ##f
%}
%%%%
\combine\draw-circle #20 #.13 ##f
\combine\draw-circle #21 #.13 ##f
\combine\draw-circle #22 #.13 ##f
\combine\draw-circle #23 #.13 ##f
\combine\draw-circle #24 #.13 ##f
\combine\translate #'(0 . 22) \musicglyph "clefs.C"
\combine \translate #'(3.3 . 21.2) \rotate #-10 \flat
\combine \translate #'(4.4 . 22.5) \rotate #-11.6 \flat
\combine \translate #'(5 . 20.3) \rotate #-14 \flat
\combine\translate #'(6.4 . 20.6) \rotate #-21 \compound-meter #'(12 . 8)
\combine\translate #'(9.2 . 16.2) \rotate #-31 \note-by-number #3 #0 #UP
\combine\translate #'(8.3 . 16.6) \rotate #-28 \linSup
\combine\translate #'(12.3 . 17.4) \rotate #-37 \natural
\combine\translate #'(13.8 . 16.3) \rotate #-41 \note-by-number #2 #0 #UP
\null
}
}

Cordialement,
Pierre

···

Le mer. 10 juin 2020 à 09:34, Patachon <****@****> a écrit :

Bonjour,

Cette possibilité m'intéresse, oh! combien, pour les « canons ». L'ars
subtilior et le codex chantilly est représenté deux fois dans le choix
d'images.

Sur l'article du codex, pour « Tout par compas suy composés », j'ai
donné le lien en note vers une super réalisation vidéo qui donne tout
son sens à la partition.

Ça serait bien de le réaliser en vrai avec le principe du MIDI discuté
il y a quelques jours qui permet d'entendre le contrepoint, comme
exemple pour wp…

Il se trouve plein d'exemples dans l'histoire, car la représentation
est symboliquement appropriée pour… les canons circulaires.

Patrick — canonisé

Le mar. 9 juin 2020 à 22:27, david <****@****> a écrit :

Bonjour,

J'ai noté ce sujet HS, car c'est juste une question de curiosité...

en flanant sur internet, je suis tombé sur des images de portées
circulaires, spiralées, ou avec une forme rappelant les calligrammes
d'appolinaire... (voir pièces jointes)

Pensez-vous que ce soit possible de faire ce genre de chose avec
lilypond ?
(pas forcément du grégorien, un portée normale circulaire c'est
largement suffisant ^^ )

Merci d'avance et bonne soirée à tous,
David

Avec un peu d'explications :

\version "2.20.0"

%% Juste pour contrôler l'alignement :
#(define-markup-command
(circled-pattern layout props radius angle num arg)
(number? number? number? markup?)
(interpret-markup layout props
(let* ((rep (abs num))(rad (abs radius)))
(cond
((= num 0) (markup ""))
((= num 1) (markup arg))
(#t (markup
(#:combine
(#:null)
(fold
(lambda (i prev)
(markup
(#:combine
(#:rotate
(* i (/ angle rep))
(#:concat (#:null #:hspace rad arg)))
prev)))
(markup (#:null))
(iota (1+ rep))))))))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

linSup = \markup\override #'(thickness . 2) \draw-line #'(1.8 . 0)

\markuplist {
\vspace #5
\fill-line {
%% Guides (à cacher) :
% {
\combine
\with-dimensions-from \null
\translate #'(0 . -30)
\circled-pattern #0 #180 #64 % <= espacements à adapter
\with-color #red \draw-line #'(0 . 60)
\combine \with-color #red \draw-circle #15 #.1 ##f
\combine \with-color #red \draw-circle #16 #.1 ##f
\combine \with-color #red \draw-circle #17 #.1 ##f
\combine \with-color #red \draw-circle #18 #.1 ##f
\combine \with-color #red \draw-circle #19 #.1 ##f
\combine \with-color #red \draw-circle #25 #.1 ##f
\combine \with-color #red \draw-circle #26 #.1 ##f
\combine \with-color #red \draw-circle #27 #.1 ##f
\combine \with-color #red \draw-circle #28 #.1 ##f
\combine \with-color #red \draw-circle #29 #.1 ##f
%}
%%%% La portée %%%%%%%%%%%%%%%%%%
\combine\draw-circle #20 #.13 ##f
\combine\draw-circle #21 #.13 ##f
\combine\draw-circle #22 #.13 ##f
\combine\draw-circle #23 #.13 ##f
\combine\draw-circle #24 #.13 ##f

%%%%% Les notes %%%%%%%%%%%%%%%%%
\combine\translate #'(0 . 22)\musicglyph "clefs.C"
\combine \translate #'(3.3 . 21.2) \rotate #-10 \flat
\combine \translate #'(4.4 . 22.5) \rotate #-11.6 \flat
\combine \translate #'(5 . 20.3) \rotate #-14 \flat
\combine\translate #'(6.4 . 20.6) \rotate #-21 \compound-meter #'(12 . 8)
\combine\translate #'(9.2 . 16.2) \rotate #-31 \note-by-number #3 #0 #UP
\combine\translate #'(8.3 . 16.6) \rotate #-28 \linSup
\combine\translate #'(12.3 . 17.4) \rotate #-37 \natural
\combine\translate #'(13.8 . 16.3) \rotate #-41 \note-by-number #2 #0 #UP
\null
}
}

Incroyable !
(mais vrai...)

merci, je vais voir ce que je peux comprendre de tout ça :slight_smile:

···

Le 2020-06-10 10:10, Pierre Perol-Schneider a écrit :

Cher David, cher Patrick,
Je pense qu'on est nombreux ici à avoir pensé à ce genre de réalisations.
Est-ce possible ? Oui.
En revanche, rien ne peut être automatisé en l'état; pour ce faire, il faudrait changer toutes les règles d'alignement de LilyPond, bref, un travail de bénédictins pour des utilisations très ponctuelles...
Intérêt ? Limité on va dire.
Le plus simple, je pense, est :
--- d'utiliser un logiciel graphique approprié (InkScape, Gimp, etc.) ;
--- d'utiliser les commandes graphiques de LilyPond et de faire avec (http://lilypond.org/doc/v2.20/Documentation/notation/text-markup-commands) ;
--- d'utliser la sortie SVG et de combiner les deux logiciels (LP + InkScape par ex.).
Un essai simple :

\version "2.20.0"

%% Juste pour contrôler l'alignement :
#(define-markup-command
(circled-pattern layout props radius angle num arg)
(number? number? number? markup?)
(interpret-markup layout props
(let* ((rep (abs num))(rad (abs radius)))
(cond
((= num 0) (markup ""))
((= num 1) (markup arg))
(#t (markup
(#:combine
(#:null)
(fold
(lambda (i prev)
(markup
(#:combine
(#:rotate
(* i (/ angle rep))
(#:concat (#:null #:hspace rad arg)))
prev)))
(markup (#:null))
(iota (1+ rep))))))))))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

linSup = \markup\override #'(thickness . 2) \draw-line #'(1.8 . 0)

\markuplist {
\vspace #5
\fill-line {
%% Guides (à cacher) :
%--{
\combine
\with-dimensions-from \null
\translate #'(0 . -30)
\circled-pattern #0 #180 #64 % <= espacements à adapter
\with-color #red \draw-line #'(0 . 60)
\combine \with-color #red \draw-circle #15 #.1 ##f
\combine \with-color #red \draw-circle #16 #.1 ##f
\combine \with-color #red \draw-circle #17 #.1 ##f
\combine \with-color #red \draw-circle #18 #.1 ##f
\combine \with-color #red \draw-circle #19 #.1 ##f
\combine \with-color #red \draw-circle #25 #.1 ##f
\combine \with-color #red \draw-circle #26 #.1 ##f
\combine \with-color #red \draw-circle #27 #.1 ##f
\combine \with-color #red \draw-circle #28 #.1 ##f
\combine \with-color #red \draw-circle #29 #.1 ##f
%}
%%%%
\combine\draw-circle #20 #.13 ##f
\combine\draw-circle #21 #.13 ##f
\combine\draw-circle #22 #.13 ##f
\combine\draw-circle #23 #.13 ##f
\combine\draw-circle #24 #.13 ##f
\combine\translate #'(0 . 22) \musicglyph "clefs.C"
\combine \translate #'(3.3 . 21.2) \rotate #-10 \flat
\combine \translate #'(4.4 . 22.5) \rotate #-11.6 \flat
\combine \translate #'(5 . 20.3) \rotate #-14 \flat
\combine\translate #'(6.4 . 20.6) \rotate #-21 \compound-meter #'(12 . 8)
\combine\translate #'(9.2 . 16.2) \rotate #-31 \note-by-number #3 #0 #UP
\combine\translate #'(8.3 . 16.6) \rotate #-28 \linSup
\combine\translate #'(12.3 . 17.4) \rotate #-37 \natural
\combine\translate #'(13.8 . 16.3) \rotate #-41 \note-by-number #2 #0 #UP
\null
}
}

Cordialement,
Pierre

Le mer. 10 juin 2020 à 09:34, Patachon <****@****> a écrit :

Bonjour,

Cette possibilité m'intéresse, oh! combien, pour les « canons ». L'ars
subtilior et le codex chantilly est représenté deux fois dans le choix
d'images.

Sur l'article du codex, pour « Tout par compas suy composés », j'ai
donné le lien en note vers une super réalisation vidéo qui donne tout
son sens à la partition.

Ça serait bien de le réaliser en vrai avec le principe du MIDI discuté
il y a quelques jours qui permet d'entendre le contrepoint, comme
exemple pour wp...

Il se trouve plein d'exemples dans l'histoire, car la représentation
est symboliquement appropriée pour... les canons circulaires.

Patrick — canonisé

Le mar. 9 juin 2020 à 22:27, david <****@****> a écrit :

Bonjour,

J'ai noté ce sujet HS, car c'est juste une question de curiosité...

en flanant sur internet, je suis tombé sur des images de portées
circulaires, spiralées, ou avec une forme rappelant les calligrammes
d'appolinaire... (voir pièces jointes)

Pensez-vous que ce soit possible de faire ce genre de chose avec
lilypond ?
(pas forcément du grégorien, un portée normale circulaire c'est
largement suffisant ^^ )

Merci d'avance et bonne soirée à tous,
David

Pour la petite histoire, j’avais écrit une notice sur ce sujet il y a
quelques années (avec beaucoup de liens dedans) :
http://trouvailles.oumupo.org/?hzjjYQ#hzjjYQ

V. V.

···

On 6/10/20, david <****@****> wrote:

merci, je vais voir ce que je peux comprendre de tout ça :slight_smile: