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.
9 %% Translation of GIT committish: 2b0dc29608d6c3f5a03ead4877ae514c647adb74
10 doctitlees = "Transportar música con el menor número de alteraciones"
12 Este ejemplo utiliza código de Scheme para forzar las
13 modificaciones enarmónicas de las notas, y así tener el menor
14 número de alteraciones accidentales. En este caso se aplican las
19 Se quitan las dobles alteraciones
35 De esta forma se selecciona el mayor número de notas enarmónicas
40 %% Translation of GIT committish: 0a868be38a775ecb1ef935b079000cebbc64de40
41 doctitlede = "Noten mit minimaler Anzahl an Versetzungszeichen transponieren."
42 texidocde = "Dieses Beispiel benutzt Scheme-Code, um enharmonische
43 Verwechslungen für Noten zu erzwingen, damit nur eine minimale Anzahl
44 an Versetzungszeichen ausgegeben wird. In diesem Fall gelten die
49 Doppelte Versetzungszeichen sollen entfernt werden
65 Auf diese Art werden am meisten natürliche Tonhöhen als enharmonische
69 %% Translation of GIT committish: 58a29969da425eaf424946f4119e601545fb7a7e
71 Cet exemple, grâce à un peu de code Scheme, donne la priorité aux
72 enharmoniques afin de limiter le nombre d'altérations supplémentaires.
73 La règle appliquable est :
77 Les altérations doubles sont supprimées
93 Cette façon de procéder aboutit à plus d'enharmoniques naturelles.
97 doctitlefr = "Transposition et réduction du nombrer d'altérations accidentelles"
100 This example uses some Scheme code to enforce enharmonic modifications
101 for notes in order to have the minimum number of accidentals. In this
102 case, the following rules apply:
104 Double accidentals should be removed
119 In this manner, the most natural enharmonic notes are chosen.
122 doctitle = "Transposing pitches with minimum accidentals (\"Smart\" transpose)"
125 #(define (naturalize-pitch p)
126 (let ((o (ly:pitch-octave p))
127 (a (* 4 (ly:pitch-alteration p)))
128 ;; alteration, a, in quarter tone steps,
129 ;; for historical reasons
130 (n (ly:pitch-notename p)))
132 ((and (> a 1) (or (eq? n 6) (eq? n 2)))
135 ((and (< a -1) (or (eq? n 0) (eq? n 3)))
139 ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
140 ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
141 (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
142 (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
143 (ly:make-pitch o n (/ a 4))))
145 #(define (naturalize music)
146 (let ((es (ly:music-property music 'elements))
147 (e (ly:music-property music 'element))
148 (p (ly:music-property music 'pitch)))
150 (ly:music-set-property!
152 (map (lambda (x) (naturalize x)) es)))
154 (ly:music-set-property!
159 (set! p (naturalize-pitch p))
160 (ly:music-set-property! music 'pitch p)))
164 #(define-music-function (parser location m)
168 music = \relative c' { c4 d e g }
172 \transpose c ais { \music }
173 \naturalizeMusic \transpose c ais { \music }
174 \transpose c deses { \music }
175 \naturalizeMusic \transpose c deses { \music }