[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How can I write simultaneous music in \chordmode?
From: |
Jim Long |
Subject: |
Re: How can I write simultaneous music in \chordmode? |
Date: |
Wed, 7 Jan 2015 16:03:37 -0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Y'know, one other syntactic oddity this has shown me is that
\chordmode requires the braces around its music expression, even
if it is a single chord:
\chordmode c1
is not okay, it has to be
\chordmode { c1 }
Not a problem, just a curiousity.
On Wed, Jan 07, 2015 at 03:46:39PM -0800, Jim Long wrote:
> On Wed, Jan 07, 2015 at 04:46:48PM -0500, Kieren MacMillan wrote:
> >
> > Did you try adjusting the function to handle chords? As I wrote, ?This kind
> > of thing would also automagically work ? ****or easily be made to work****
> > ? on chords.? (new emphasis)
> >
> > Unfortunately, that's beyond my Scheme-fu, and I have no spare time right
> > now to climb that learning curve.
>
> We're in the same boat there. In fact, I'm not even sure
> I know how to write the specifications for what I would want such
> a function to do, and what it's interface should be. "Minimum
> accidentals" is not always my criterion of choice. There are
> times when a C# 7 chord (V chord of F#, 6 sharps) is fine, and
> there are other times when I'd rather call it a Db 7 (V chord of
> G-flat, 6 flats). Can \naturalizeMusic be made to consider the
> key signature that is in effect at the time? Even so, I have a chart
> in several flats where I just can't bring myself to use a C-flat
> 13 chord, and instead I call it a B 13, even though the melody
> note is clearly a G-flat. That's not minimum accidentals, it's
> just personal preference. I have zero idea how to begin spec'ing
> such a function for automagic conversion, let alone implement it.
>
> I get the feeling that this begins to encroach on certain topics
> posted recently by Peter Gentry, and I have to salute him for
> making the time to dive headfirst into the details of Scheme, but
> as you say, I don't have the time right now, nor the motivation,
> really. \tag works well enough for my needs, but I was puzzled
> to learn that simultaneous music << \tag #'a {} \tag #'b {} >>
> doesn't work in chordmode. That makes me have to use some klunky
> work-arounds when extracting a fixed number of measures from
> chordmode music that contains tags.
>
> Btw, thanks for the pointer to chord-entry.scm -- I'll have a read.
>
> In the meantime, I hope my original question will continue to
> attract the collective brain cycles of the list.
>
> I can anticipate at least one question:
>
> q1) how would simultaneous chord music be engraved?
>
> a1) Selfishly, I don't need it to -- I strip out the unwanted
> tags, leaving only one remaining alternative before it gets
> engraved. So the engraver could throw an error if it was asked
> to engrave simult. chord music, if that were convenient. Or
> another possibility is that it could just overwrite the chord
> markup, with multiple markups one on top of the other. It'd make
> a big blob in the chord staff, but again, I don't care because I
> don't anticipate ever passing simultaneous music to the engraver.
> But I would like to be able to specify simultaneous chordmode
> music and then post-process the tags out before handing the music
> off to the engraver.
>
> If the only reason this syntax has never been allowed is because
> there's no way to engrave it, I'd be delighted to simply have the
> syntax be allowed, and have the engraver puke with a descriptive
> error message if I forget to strip the simultaneous music out.
>
> ( ... meanwhile ... )
>
> I must thank you again, Kieren, because in the time it's taken me
> to consider and draft this reply, it's given me some insight on
> where the crux of my original problem lies. \ChordNames contexts
> can indeed support simultaneous music, I have learned. It is
> specifically \chordmode which does not.
>
> Also, I have learned what Lily does with simult. chords: she
> combines all the simultaneous notes, and tries to interpret that
> set of pitches as best she can, most often resulting in a number
> of strange chord alterations.
>
> Compilable example attached! It's still somewhat klunky, but it
> does at least meet my test of not artificially lengthening the
> number of beats/measures of music.
>
> Thanks for getting the thought processes going!
>
> Jim
>
>
> > But I?m sure someone out there could make it work without too much trouble.
> > If you want to take a stab at it yourself, files like chord-entry.scm will
> > give you lots of ideas on how to manipulate chords.
> >
> > Cheers,
> > Kieren.
> > _______________________
> >
> > Kieren MacMillan, composer
> > www: <http://www.kierenmacmillan.info>
> > email: address@hidden
> \version "2.18.2"
>
> music = \new Staff {
> gis'1
> <<
> \tag #'(a c) c'
> \tag #'(b d) bis
> >>
> }
>
> seqChanges = \new ChordNames {
>
> \chordmode { gis1:maj7 }
> \tag #'a \relative c' <c e g>
> \tag #'b \relative c' <bis disis fisis>
> \tag #'c \chordmode { c1 }
> \tag #'d \chordmode { bis1 }
>
> }
>
> simChanges = \new ChordNames {
>
> \chordmode { gis1:maj7 }
> <<
> \tag #'a \relative c' <c e g>
> \tag #'b \relative c' <bis disis fisis>
> \tag #'c \chordmode { c1 }
> \tag #'d \chordmode { bis1 }
> >>
>
> }
>
> \markup "Sequential tags make the music expressions have unequal length"
> \score {
> <<
> \seqChanges
> \music
> >>
> }
>
> \markup "Simultaneous tags make the music expressions the same length"
> \score {
> <<
> \simChanges
> \music
> >>
> }
>
> \markup "Tag a"
> \score {
> <<
> \keepWithTag #'a \simChanges
> \keepWithTag #'a \music
> >>
> }
>
> \markup "Tag b"
> \score {
> <<
> \keepWithTag #'b \simChanges
> \keepWithTag #'b \music
> >>
> }
>
> \markup "Tag c"
> \score {
> <<
> \keepWithTag #'c \simChanges
> \keepWithTag #'c \music
> >>
> }
>
> \markup "Tag d"
> \score {
> <<
> \keepWithTag #'d \simChanges
> \keepWithTag #'d \music
> >>
> }
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: How can I write simultaneous music in \chordmode?, Brett Duncan, 2015/01/07