diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2023-02-07 21:34:49 +0100 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2023-02-08 13:56:47 +0100 |
commit | fc101d7df4629e05ee485c6f6003b48eb803a009 (patch) | |
tree | 8fd1dc02ad20085dba514667e48459a420a1a737 |
Ajout de par toute la terre
-rw-r--r-- | guix.scm | 48 | ||||
-rw-r--r-- | index.css | 21 | ||||
-rw-r--r-- | index.html | 69 | ||||
-rw-r--r-- | par-toute-la-terre.ly | 296 |
4 files changed, 434 insertions, 0 deletions
diff --git a/guix.scm b/guix.scm new file mode 100644 index 0000000..fbdbcca --- /dev/null +++ b/guix.scm @@ -0,0 +1,48 @@ +(use-modules (guix gexp) + (guix modules) + (gnu packages music) + (gnu packages imagemagick)) + +(computed-file + "copirate-site" + (with-imported-modules + (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils) (ice-9 ftw)) + (mkdir-p #$output) + (copy-recursively + #$(local-file "." "copirate-site-source" + #:recursive? #t + #:select? + (lambda (file stat) + (or (string-suffix? "/index.html" file) + (string-suffix? "/index.css" file) + (string-suffix? ".ly" file)))) + #$output) + (with-directory-excursion + #$output + (let ((enter? (lambda (name stat result) #t)) + (leaf (lambda (name stat result) + (when (string-suffix? ".ly" name) + (invoke #$(file-append lilypond "/bin/lilypond") name)))) + (down (lambda (name stat result) #t)) + (up (lambda (name stat result) #t)) + (skip (lambda (name stat result) #t)) + (error (lambda (name stat errno result) #t))) + (file-system-fold enter? leaf down up skip error #t ".")) + (let ((enter? (lambda (name stat result) #t)) + (leaf (lambda (name stat result) + (when (string-suffix? ".pdf" name) + (let ((miniature-name + (string-append + (substring name 0 (- (string-length name) (string-length ".pdf"))) + "-miniature.png"))) + (invoke #$(file-append imagemagick "/bin/convert") + "-resize" "210x297" + (string-append name "[0]") + miniature-name))))) + (down (lambda (name stat result) #t)) + (up (lambda (name stat result) #t)) + (skip (lambda (name stat result) #t)) + (error (lambda (name stat errno result) #t))) + (file-system-fold enter? leaf down up skip error #t ".")))))) diff --git a/index.css b/index.css new file mode 100644 index 0000000..7d824c7 --- /dev/null +++ b/index.css @@ -0,0 +1,21 @@ +html { + background-color: ghostwhite; +} + +body { + background-color: white; + max-width: 50em; + margin: auto; + padding-left: 2em; + padding-right: 2em; + padding-top: 1ex; + padding-bottom: 3ex; + border: 3px solid gray; +} + +h1 { + margin-top: 3ex; + padding-top: 1ex; + padding-left: 0.3em; + border-top: 1px solid black; +} diff --git a/index.html b/index.html new file mode 100644 index 0000000..f64a78b --- /dev/null +++ b/index.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <title>Les éditions copirate</title> + <link href="index.css" rel="stylesheet"></link> + </head> + <body> + <h1>Qu’est-ce que la maison d’édition Copirate ?</h1> + <p> + Les éditions Copirate prennent des scans de photocopies de + partitions à peine lisibles, et les ré-éditent au moyen de + logiciels tels que <a href="https://lilypond.org">Lilypond</a> + ou <a href="https://musescore.org">Musescore</a> afin d’en + améliorer la lisibilité, de diminuer la taille des fichiers, et + de pouvoir rajouter des contrechants instrumentaux. + </p> + <p> + Dans la mesure du possible, nous essayons de laisser toutes les + méta-données des partitions. Nous visons l’exactitude des + parties existantes, mais il se peut que nous fassions des + erreurs. Si vous détectez une erreur, ou si les voix ne + correspondent pas exactement à ce que vous avez appris, + n’hésitez surtout pas + à <a href="mailto:copirate@planete-kraus.eu">nous en informer + par courriel : copirate@planete-kraus.eu</a>. + </p> + <p> + Il y a principalement deux façons d’utiliser une partie + instrumentale sur un chant de louange : + </p> + <ul> + <li>à la place d’un couplet ;</li> + <li>sur un refrain.</li> + </ul> + <p> + Bien que la première solution laisse plus de liberté artistique + pour l’auteur, cela veut dire que les choristes doivent ne pas + chanter. Ça peut être bénéfique, si le chant est long, puisque + les choristes peuvent donc se reposer. En revanche, si la + priorité est donnée au chant, il vaut mieux jouer sur le refrain + (sauf le premier), afin de ne pas gêner la compréhension des + paroles. + </p> + <p> + Nous proposons pour chaque chant le fichier source, un ou + plusieurs fichiers PDF, ainsi qu’un rendu MIDI. + </p> + <h1>Liste des partitions</h1> + <h2>Par toute la terre</h2> + <figure> + <a href="par-toute-la-terre.pdf"> + <img src="par-toute-la-terre-miniature.png" + alt="Partition principale"></img> + </a> + <figcaption>Partition principale</figcaption> + </figure> + <p> + C’est un chant de l’Emmanuel. Nous avons rajouté un contre-chant + instrumental qui peut être joué à la trompette, sur le + refrain. Le <a href="par-toute-la-terre.ly">fichier source</a> + est un fichier Lilypond. <a href="par-toute-la-terre.midi">Un + rendu MIDI</a> est également disponible. + </p> + </body> +</html> + diff --git a/par-toute-la-terre.ly b/par-toute-la-terre.ly new file mode 100644 index 0000000..81440a2 --- /dev/null +++ b/par-toute-la-terre.ly @@ -0,0 +1,296 @@ +\version "2.24.0" +\language "français" + +\header { + title = "Par toute la terre" + subtitle = "Louange" + composer = "Chants de l’Emmanuel (A. Lavardez)" + opus = "N° 19-14" + copyright = "Copirate ☠ 2023 yarr" + % Supprimer le pied de page par défaut + tagline = ##f +} + +\paper { + left-margin = 1.5\cm + right-margin = 1.5\cm + bottom-margin = 2.5\cm + top-margin = 2.5\cm +} + +global = { + \key sol \minor + \time 2/2 + \tempo 2=80 +} + +couplet_accords = \chordmode { + \global + \frenchChords + \repeat unfold 2 { + sol1:m sol:m sol:m do:m do:m sol:m + } \alternative { + { sol:m ré } + { ré sol:m } + } +} + +refrain_accords = \chordmode { + \frenchChords + \repeat unfold 2 { + sol2.:m fa4 mib1 fa2 ré:m sol1:m + } + \repeat unfold 2 { + do:m sol:m ré sol,:m + } +} + +couplet_femmes = \relative do'' { + \global + \repeat unfold 2 { + sol8 la sib la sol4 fa | ré8 do ré2. | + sol8 la sib la sol4 sib | do1 | + do8 sib la sib do4 la | sib8 la sol2 + } \alternative { + { sol8 la | sib4. sib8 la4 sol | la1 | } + { sol8 sib | la4. la8 sol4 fad | sol1 | } + } + \bar "||" +} + +refrain_soprano = \relative do'' { + \repeat unfold 2 { + sol2 sol4 la | sib1 | + } \alternative { + { la4 la8 la sol4 fa | sol1 | } + { la8 la la la sol4 fa | sol1 | } + } + \repeat unfold 2 { + do2 sib4 la | sib1 | + la8 la4 la8 sol4 + } \alternative { + { sib | sib1 | } + { fad4 | sol1 | } + } + \bar "|." +} + +refrain_alto = \relative do' { + \repeat unfold 2 { + ré2 4 4 | sol1 | + } \alternative { + { fa4 8 8 ré4 4 | ré1 | } + { fa8 8 8 8 ré4 4 | ré1 | } + } + \repeat unfold 2 { + sol2 4 4 | 1 | + fad8 4 8 ré4 + } \alternative { + { sol | 1 | } + { ré4 | 1 | } + } +} + +couplet_hommes = \relative do' { + \global + \clef bass + \repeat unfold 2 { + sib8 do ré do sib4 la | sol8 fa sol2. | + sib8 do ré do sib4 ré | mib1 | + mib8 ré do ré mib4 do | ré8 do sib2 + } \alternative { + { sib8 do | ré4. ré8 do4 sib | ré1 | } + { sib8 ré | do4. do8 sib4 la | sib1 | } + } + \bar "||" +} + +refrain_tenor = \relative do' { + \repeat unfold 2 { + sib2 4 4 | mib1 | + } \alternative { + { do4 8 8 sib4 la4 | sib1 | } + { do8 8 8 8 sib4 la4 | sib1 | } + } + \repeat unfold 2 { + mib2 ré4 do4 | ré1 | + } \alternative { + { ré8 4 8 do4 ré | 1 | } + { do8 4 8 sib4 la | sib1 | } + } +} + +refrain_basse = \relative do' { + \repeat unfold 2 { + sol2 4 fa4 | mib1 | + } \alternative { + { fa4 8 8 ré4 4 | sol1 | } + { fa8 8 8 8 ré4 4 | sol1 | } + } + \repeat unfold 2 { + do,2 4 4 | sol'1 | + ré8 4 8 4 4 | sol,1 | + } +} + +coupletUn = \lyricmode { + \set stanza = "1." + Par tou -- te la terre il nous en -- voie + té -- moi -- gner de son A -- mour. + \set stanza = "1." + Pro -- cla -- mer son Nom et son Sa -- lut + dans la for -- ce de l’Es -- "prit !" + \set stanza = "1." + Car nos yeux ont vu et re -- con -- nu + le Sau -- veur res -- sus -- ci -- té, + \set stanza = "1." + le Saint d’Is -- ra -- ël, né de Ma -- rie, + Fils de Dieu qui don -- ne "vie !" +} + +coupletDeux = \lyricmode { + \set stanza = "2." + \override LyricText.font-shape = #'italic + Par sa vie don -- née, son sang ver -- sé, + il a ra -- che -- té nos vies, + \set stanza = "2." + il dé -- truit les por -- tes des en -- fers, + il nous sau -- ve du pé -- ché. + \set stanza = "2." + À tout homme il of -- fre le Sa -- lut, + don gra -- tuit de son A -- "mour ;" + \set stanza = "2." + vi -- vons dans sa gloire et sa clar -- té, + main -- te -- nant et à ja -- "mais !" +} + +coupletTrois = \lyricmode { + \set stanza = "3." + \override LyricText.font-shape = #'normal + Pour por -- ter la joie il nous en -- voie, + mes -- sa -- gers de son Sa -- "lut !" + \set stanza = "3." + Pau -- vres ser -- vi -- teurs qu’il a choi -- sis, + con -- sa -- crés pour l’an -- non -- "cer !" + \set stanza = "3." + Que nos lè -- vres chan -- tent sa bon -- té, + la splen -- deur de son des -- sein, + \set stanza = "3." + gloire à no -- tre Dieu, Roi tout puis -- sant, + é -- ter -- nel est son a -- "mour !" +} + +refrain = \lyricmode { + \set stanza = "R." + Cri -- ez de joie, Christ est res -- sus -- ci -- "té !" + Il nous en -- voie an -- non -- cer la vé -- ri -- "té !" + Cri -- ez de joie, brû -- lez de Son a -- mour. + Car il est là, a -- vec nous pour tou -- "jours !" +} + +couplet_trompette = \relative do' { + \global + R1*16 +} + +refrain_trompette = \relative do' { + ré'8 sol, sib ré sol2 ~4 fa mib sol, la8 sib do4 ré mib ré do sib4 la sib2 r2 + sol2 la4 sib do2 ré2 sib2 la4 sol sol2. do4 sib2. la4 la2. sol4 ré'2 mib4 ré do2 sol + r4 sib do ré ré la sib do sib1 +} + +accords = \new ChordNames { + \couplet_accords + \refrain_accords +} + +voix_femmes = \new Staff \with { + midiInstrument = "voice oohs" + } { + << + \new Voice = "soprano" { + \couplet_femmes + \voiceOne + \refrain_soprano + } + \new Voice = "alto" { + s1*16 + \voiceTwo + \refrain_alto + } + >> +} + +voix_hommes = \new Staff \with { + midiInstrument = "voice oohs" + } { + \couplet_hommes + << + \new Voice = "tenor" { + \voiceOne + \refrain_tenor + } + \new Voice = "basse" { + \voiceTwo + \refrain_basse + } + >> +} + +trompette = \new Staff \with { + midiInstrument = "trumpet" + \RemoveAllEmptyStaves +} { + \couplet_trompette + \refrain_trompette +} + +choeur = \new ChoirStaff << + \voix_femmes + \new Lyrics = "paroles" + \voix_hommes + \context Lyrics = "paroles" \lyricsto "soprano" { + { + << + { + \coupletUn + } + \new Lyrics = "secondverse" + \with { alignBelowContext = "paroles" } { + \coupletDeux + } + \new Lyrics = "thirdverse" + \with { alignBelowContext = "secondverse" } { + \coupletTrois + } + >> + } + \set associatedVoice = "soprano" + \refrain +} +>> + +\score { + << + \accords + \trompette + \choeur + >> + \layout { + \context { + \Staff + \RemoveEmptyStaves + } + } +} + +\score { + << + % \accords + \voix_femmes + \voix_hommes + \trompette + >> + \midi { + } +}
\ No newline at end of file |