[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Please tear apart this example lead sheet template for traditional W
From: |
Valentin Petzel |
Subject: |
Re: Please tear apart this example lead sheet template for traditional Western folk tunes |
Date: |
Wed, 23 Feb 2022 02:14:28 +0100 |
Hi Simon,
note that to enable having multiple stanzas of lyrics the LY thing is not
music, but a list of music. In LISP a list either the empty list '() or a pair
(cons a b) where b is a list. Thus the list (a b c d) is in fact
(cons a (cons b (cons c (cons d '())))) or (a . (b . (c . (d . '()))) which
shorthands to (a b c d . '()). So if we were to use (list CN FB VC LY) this
would correspond to `(,CN ,FB ,VC ,LY). Let’s say CB = a, FB = b, VC = c, LY =
(d e). Then this would be (a b c (d e)). On the other hand using
`(,CN ,FB ,VC . ,LY) [which corresponds to (cons CN (cons FB (cons VC LY)))]
gives us (a b c d e), so a flat list.
We could also write this as (append (list CN FB VC) LY).
Cheers,
Valentin
Am Mittwoch, 23. Februar 2022, 01:59:59 CET schrieben Sie:
> Hi Valentin,
>
> one line in your Scheme code confused me. If you don’t mind explaining,
> why do you write
>
> `(,CN ,FB ,VC . ,LY)
>
> instead of
>
> (list CN FB VC LY)
>
> ?
>
> Best, Simon
>
> On 22/02/2022 09:25, Valentin Petzel wrote:
> > Hello Tom,
> >
> > A good template will separate content and form. Ideally you’d be able to
> > use a few templates that work so universally that you need only to define
> > the music variables and include the template file. This would mean that
> > changing the music and the form can be done simply. If for example you
> > wanted to change the layout a bit you do not want to have to change this
> > in every score you have. Instead you can change it in the included layout
> > definition and you’re done.
> >
> > We can even use functions to do this in a very clean manner. See the
> > appended example.
> >
> > Cheers,
> > Valentin
> >
> > Am Dienstag, 22. Februar 2022, 03:09:03 CET schrieb Tom Campbell:
> >> I am about to transcribe a bunch of older Western folk music in lead
> >> sheet
> >> form for an open source tunebook. Am trying to create a robust template
> >> so
> >> I don't have to think too much about anything other than getting the
> >> notes,
> >> chords, and lyrics right. You can see it below, or rendered by the
> >> invaluable Lilybin at http://lilybin.com/u6p5m8/8.
> >>
> >> Can you tell me what's bad about this as a template? The lead sheets will
> >> contain chord names and guitar fretboard diagrams. Added a crucial (for
> >> me)
> >> section overriding the predefined guitar fretboard diagram for a chord. I
> >> also took too long to figure out how to get pickup notes in a format that
> >> seemed natural.
> >>
> >> Thanks!
> >>
> >> % Lead sheet with:
> >> % - Guitar fretboard diagrams
> >> % - Override a predefined fretboard diagram
> >> % - Pickup note with text above it suppressed
> >> % - Chord and other text suppressed above the pickup note
> >> %%%% Please send critiques to tomcampbell@gmail.com
> >> \version "2.18.2"
> >> \include "predefined-guitar-fretboards.ly"
> >>
> >> % Override predefined fretboard for e minor.
> >> % This just adds a G to the first (highest) string.
> >> % A little contrived but it's brief.
> >> \storePredefinedDiagram #default-fret-table \chordmode { e:m }
> >> #guitar-tuning
> >> #"o;2-2;2-3;o;o;3-4;"
> >>
> >> \header {
> >> title = "Hit and Miss (Daphne)"
> >> composer = "Trad."
> >> }
> >>
> >> theMelody = \relative c {
> >>
> >> \clef treble
> >> \key e \minor
> >> \time 6/8
> >>
> >> % Pickup note
> >>
> >> \partial 8 e'8
> >>
> >> % Verse melody (truncated for clarity)
> >> g4 a8 b4 e8
> >> d8. e16 fis8
> >> e4 b16 c
> >>
> >> }
> >>
> >> theLyrics = \lyricmode {
> >> When Daph -- ne from fair
> >>
> >> Phoe -- bus did fly the --
> >>
> >> }
> >>
> >> theChords = \chordmode {
> >> % Replace the N.C. that would appear over
> >> % the pickup note
> >> \set noChordSymbol = ""
> >> \partial 8 r8
> >>
> >> e2.:min
> >> b4.:min
> >> e4.:min
> >>
> >> }
> >>
> >> \score {
> >>
> >> <<
> >> \new ChordNames { \theChords }
> >> \new FretBoards { \theChords }
> >> \new Voice = "one" { \autoBeamOn \theMelody }
> >> \new Lyrics \lyricsto "one" \theLyrics
> >>
> >> \layout { }
> >> \midi { }
> >>
> >> }
signature.asc
Description: This is a digitally signed message part.