[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Avoiding typing with Scheme - request
From: |
Mergh |
Subject: |
Re: Avoiding typing with Scheme - request |
Date: |
Tue, 20 May 2008 02:28:24 -0700 (PDT) |
I found a useful solving on the http://lsr.dsi.unimi.it/LSR/Snippet?id=346
(Bach-Praeludium), by a basic simplification anybody can make patterns in
polyphony at any places, too. But something has come up.
Here's the point by explaining the noting of Rachmaninoff's Prelude in G
minor
I want to simplify the input of the motifs and what I tinkered this day:
A.) Method LSR 390:
polyphony achieved by the simple '\partcombine':
myRhythmOne = #(define-music-function (parser location music) (ly:music?)
#{
\partcombine
{ \makeRhythm $music "16 16 16 16"
{ \makeRhythm $music "4 4 4 4" }
#})
works well, but expressions have to write into the \new Staff section:
\myRhythmTwo {c d e d e f e f \clef bass g f <e g>-- <f a> }
In my case most of the parts have the same expressions, although e.g.
changing clef seemed to be very comfortable. I wasn't able to change the
code to mix the melodies and get a right polyphonic pattern.
B.) LSR 346 (Bach - Praeludium)
It was fine till I've met some variations in the melody. This is my original
scoring:
\new Staff { \time 4/4 \clef bass \key g \minor
% 'A' SECTION I. Alternative scoring without chordmode: s8 \repeat
unfold 2
<bes d>16 [ <bes d>8 ] s4 <bes d>8 s8 <bes d>8 }
<<
{ \chordmode { s8 \repeat unfold 2 bes,16:3 [bes,8:3] s4 bes,8:3 s
bes,:3} } \\
{ g8-_ s4 bes,8-_ d-_ s bes'-_ }
>> <<
{ \chordmode { s8 \repeat unfold 2 bes,16:3 [bes,8:3] s4 bes,8:3 s
bes,:3} } \\
{ g8-_ s4 a,16 \( [bes d8_>] \) s8 \clef treble bes'__ }
>> <<
{ \chordmode { s8 \repeat unfold 2 bes,16:3 [bes,8:3] } s8 r8
\repeat unfold 2 <g'bes>16 [<g bes>8]} \\
{ g,8-_ s4 d'16 f g4. bes,16 d }
>>\break <<
{ s8 \repeat unfold 2 <bes' d>16 [ <bes d>8 ] s8 r8 \repeat unfold 2
<g c g'>16 [ <g c g'>8 ] } \\
{ f4. bes,16 \( [d <es>4._>] \) g,16 a }
>> <<
{ s8 \repeat unfold 2 <fis' d' fis>16 [ <fis' d fis,>8 ] s4 <g,, d'
e>8 s8 <bes d e>8 } \\
{ d4. fis,8 bes s g}
>>
The chordmode has worked well while I found the corresponding codes in the
manual. I guess I have to figure out the logics of the chord mode but I
haven't grasp it yet (I would use 1st or 2nd inversion). So I decided
looking after an other method. And these are the simplified version of the
score using the transformation method:
\defineTransform #'baseA << {s8 \repeat unfold 2 <d'e'>16 [<d'e'>8]} \\
{c'8-_} >>
\defineTransform #'baseAv << {s8 r8 \repeat unfold 2 <f'g'>16 [<f'g'>8]} \\
{c'16 d'16 e'4.} >>
\defineTransform #'baseB << {s4 <f'g'>8 s8 <f'g'>8} \\ {c'8-_ d'8-_ s8
e'8-_} >>
\defineTransform #'baseB << {s4 <f'g'>8 s8 <f'g'>8} \\ {c'8-_ d'8-_ s8
e'8-_} >>
\new Staff { \time 4/4 \clef bass \key g \minor
<< \baseA { g b d' } >>
<< \baseB { b, d b d' b } >>
<< \baseAv { f, a, b, b, d } >>
<< \baseA { g b d' } >>
5-6 pattern seemed to be enough for the first page and the other sections
need only 3-4 more. I'm using expressions, although I can not change clef in
the middle of a pattern which caused some problems. On the other hand it was
cool till the triads. I was thinking about producing new patterns, but those
would be alike.. I need only triads instead of the intervals of fifth and
this was the point where Lilypond sabotaged my plan. I was curious what's
after replacing notes by chords:
e.g
<< \baseA { <g b'> b d' } >>
->> no output. Let's try the chordmode... ->> no output. Well, it is a
great pattern-maker, but it has a great disadvantage: needless to say
composers prefer variety I can not use it with chords nor with a
'cutting-out' feature in case of chords.
Although other scoring systems have graphical interface, I guess Lilypond
would have to gain some advantages being more flexible because the odds are
in its favor. As far as I'm getting familiar with these codes I think
realizing this function costs a lot of time, therefore having an universal
pattern-funcion is just a proposal from me. Only two features are missing
(in LSR 346): changing clef and making inserting of chords into the pattern
also in the \new Staff section possible. Waiting for Ur reply.. Mergh
--
View this message in context:
http://www.nabble.com/Avoiding-typing-with-Scheme---request-tp17301403p17316744.html
Sent from the Gnu - Lilypond - Dev mailing list archive at Nabble.com.