1 %% Do not edit this file; it is automatically
2 %% generated from LSR http://lsr.dsi.unimi.it
3 %% This file is in the public domain.
7 %% Translation of GIT committish: 59968a089729d7400f8ece38d5bc98dbb3656a2b
9 Cet exemple, grâce à un peu de code Scheme, donne la priorité aux
10 enharmoniques afin de limiter le nombre d'altérations supplémentaires.
11 La règle appliquable est :
15 Les altérations doubles sont supprimées
31 Cette façon de procéder aboutit à plus d'enharmoniques naturelles.
35 doctitlefr = "Transposition et réduction du nombrer d'altérations accidentelles"
39 %% Translation of GIT committish: b2d4318d6c53df8469dfa4da09b27c15a374d0ca
40 doctitlees = "Transportar música con el menor número de alteraciones"
42 Este ejemplo utiliza código de Scheme para forzar las
43 modificaciones enarmónicas de las notas, y así tener el menor
44 número de alteraciones accidentales. En este caso se aplican las
49 Se quitan las dobles alteraciones
65 De esta forma se selecciona el mayor número de notas enarmónicas
70 %% Translation of GIT committish: d96023d8792c8af202c7cb8508010c0d3648899d
71 doctitlede = "Noten mit minimaler Anzahl an Versetzungszeichen transponieren."
72 texidocde = "Dieses Beispiel benutzt Scheme-Code, um enharmonische
73 Verwechslungen für Noten zu erzwingen, damit nur eine minimale Anzahl
74 an Versetzungszeichen ausgegeben wird. In diesem Fall gelten die
79 Doppelte Versetzungszeichen sollen entfernt werden
95 Auf diese Art werden am meisten natürliche Tonhöhen als enharmonische
101 This example uses some Scheme code to enforce enharmonic modifications
102 for notes in order to have the minimum number of accidentals. In this
103 case, the following rules apply:
105 Double accidentals should be removed
120 In this manner, the most natural enharmonic notes are chosen.
123 doctitle = "Transposing pitches with minimum accidentals (\"Smart\" transpose)"
126 #(define (naturalize-pitch p)
127 (let ((o (ly:pitch-octave p))
128 (a (* 4 (ly:pitch-alteration p)))
129 ;; alteration, a, in quarter tone steps,
130 ;; for historical reasons
131 (n (ly:pitch-notename p)))
133 ((and (> a 1) (or (eq? n 6) (eq? n 2)))
136 ((and (< a -1) (or (eq? n 0) (eq? n 3)))
140 ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
141 ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
142 (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
143 (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
144 (ly:make-pitch o n (/ a 4))))
146 #(define (naturalize music)
147 (let ((es (ly:music-property music 'elements))
148 (e (ly:music-property music 'element))
149 (p (ly:music-property music 'pitch)))
151 (ly:music-set-property!
153 (map (lambda (x) (naturalize x)) es)))
155 (ly:music-set-property!
160 (set! p (naturalize-pitch p))
161 (ly:music-set-property! music 'pitch p)))
165 #(define-music-function (parser location m)
169 music = \relative c' { c4 d e g }
173 \transpose c ais { \music }
174 \naturalizeMusic \transpose c ais { \music }
175 \transpose c deses { \music }
176 \naturalizeMusic \transpose c deses { \music }