Re: Combining chord durations
On Tue, Oct 22, 2013 at 11:37:56PM +0200, Johan Vromans wrote: > > It's too late here to continue experimenting, but your example works > with 2.16. > > My intuition tells me it has something to do with the "q". Could it be > that it's duration is compile time static, and not dynamic? When you have the time, try implementing my 'rptChord' pseudo-code in Scheme, and then test the construct: harmonies = \chordmode { \rptChord ees8 6 \rptChord bes8 2 | \rptChord ees8 4 \rptChord bes8 4 } ... or something similar. Jim ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
Jim Long writes: > But the attached example does work in 2.17.26. Curious. It's too late here to continue experimenting, but your example works with 2.16. My intuition tells me it has something to do with the "q". Could it be that it's duration is compile time static, and not dynamic? -- Johan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
On Tue, Oct 22, 2013 at 09:56:12AM +0200, Johan Vromans wrote: > > I tried the following approach: > > qeight = \chordmode { > \override ChordName #'stencil = ##f > q8 q q q q q q > \revert ChordName #'stencil > } > ...etc... > > harmonies = \new ChordNames \chordmode { > \set chordChanges = ##f > ees8 \qeight | > ees8 \qfour bes8 \qfour | > ees8 \qsix bes8 \qtwo | > ees8 \qeight | > } % harmoniesC That seems reasonable, and I am puzzled that it didn't work. It doesn't work here under 2.17.26, either. But the attached example does work in 2.17.26. Curious. Jim \version "2.16.0" melody = \new Staff \relative c' { \repeat unfold 16 ees8 \bar "|." } chordsA = \chordmode { \repeat unfold 2 { ees8:7 q q q q q bes8:7 q } } % chordsA chordsB = \chordmode { \repeat unfold 2 { ees8:7 \override ChordName #'stencil = ##f q q q q q \revert ChordName #'stencil bes8:7 \override ChordName #'stencil = ##f q \revert ChordName #'stencil } } % chordsB \markup "Stretched spacing due to repeated, unsuppressed chords" \score { << \new ChordNames \chordmode { \chordsA } \melody >> \layout {} } % score \markup "Stretched spacing due to repeated chords, even with \\set chordChanges = ##t" \score { << \new ChordNames \chordmode { \set chordChanges = ##t \chordsA } % ChordNames \melody >> \layout {} } % score \markup "Stretched spacing eliminated by de-activating stencil" \score { << \new ChordNames \chordmode { \chordsB } % ChordNames \melody >> \layout {} } % score <>___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
Jim Long writes: > Does the MIDI output come out correct when you do this? It's ugly, > but I think it will work, both visually and aurally: > > \pata ees -> > \override ChordName #'stencil = ##t > ees8 > \override ChordName #'stencil = ##f > q q q q q q q Yes, it does. The midi is okay. I tried the following approach: qeight = \chordmode { \override ChordName #'stencil = ##f q8 q q q q q q \revert ChordName #'stencil } ...etc... harmonies = \new ChordNames \chordmode { \set chordChanges = ##f ees8 \qeight | ees8 \qfour bes8 \qfour | ees8 \qsix bes8 \qtwo | ees8 \qeight | } % harmoniesC \score { << \harmonies \melody >> \layout {} \midi {} } % score The midi comes out okay but the score is still twice as wide as it could be. See the attached program. -- Johan t.ly Description: Chord spacing suppression with stencils <>___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
On Mon, Oct 21, 2013 at 11:30:57PM +0200, Johan Vromans wrote: > [Quoting Jim Long, on October 21 2013, 11:42, in "Re: Combining chord "] > > 3) Instead of #2, and again I haven't tested this (much), could > > tremoli help you? > > No, they do not render as individual notes in the midi. > E.g. > > \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | > > is rendered in the midi as > > ees2. bes4 This is over my head, but my feeble understanding of LilyPond is that on the layout side, one writes "engravers" that transform the music stream into grobs and/or postscript output. On the MIDI side, the equivalent entity is called a "performer," and it takes the music stream and produces MIDI output that will playback the music as scored. It seems then, that by writing a better tremolo performer, one could make LilyPond perform the chords with 8th-note tremoli as indicated in the score. I have no idea what the effort required to do that would be, however. > > ... if you are fluent in Scheme, perhaps you can write a function > > 'wrapChord' which accepts a chordmode chord identifier x and wraps > > it in: > > Actually, this was something I've been thinking of. > > I didn't mention that in my .ly templates, I always have two tags, > scoreOnly and midiOnly that do just that: filter the music depending > on whether paper score or midi is generated. If you're okay with scheme, then use the stencil hack, it definitely works. I don't think you'll need to worry about tags, because the same music expression will both engrave correctly and perform correctly. Does the MIDI output come out correct when you do this? It's ugly, but I think it will work, both visually and aurally: \pata ees -> \override ChordName #'stencil = ##t ees8 \override ChordName #'stencil = ##f q q q q q q q \patb ees bes -> \override ChordName #'stencil = ##t ees8 \override ChordName #'stencil = ##f q q q \override ChordName #'stencil = ##t bes \override ChordName #'stencil = ##f q q q \patc ees bes -> \override ChordName #'stencil = ##t ees8 \override ChordName #'stencil = ##f q q q q q \override ChordName #'stencil = ##t bes \override ChordName #'stencil = ##f q If so, write a function like this (I don't speak Scheme, so I can't help): function rptChord( chordEvent, N ) % play chordEvent N times, but stencil only the first one { if (n > 0) { \override ChordName #'stencil = ##t chordEvent \override ChordName #'stencil = ##f while (--n > 0) chordEvent } % if } % rptChord and use it like so: % \pata ees -> ees8 q q q q q q q % \patb ees bes -> ees8 q q q bes q q q % \patc ees bes -> ees8 q q q q q bes q \rptChord ees8 8 | \rptChord ees8 4 \rptChord bes8 4 | \rptChord ees8 6 \rptChord bes8 2 | If you wish, you could improve rptChord to nicely revert the value of ChordName.stencil so that it's easy to mix \rptChord with normal, manual chordmode chord entry. My code is lousy, I'm just hoping to give you ideas. > So I tried to write a function that would expand one or two chords > according to a pattern. For example > > \pata ees -> ees8 q q q q q q q > \patb ees bes -> ees8 q q q bes q q q > \patc ees bes -> ees8 q q q q q bes q > > (These patterns would cover 96% of the chords of my project.) \rptChord should handle 100% of the chords, although with some tedium/overtyping: % 12-bar blues, in whole notes: \rptChord c1:7 1 \rptChord f1:7 1 \rptChord c1:7 2 \rptChord f1:7 2 \rptChord c1:7 2 \rptChord g1:7 1 \rptChord f1:7 1 \rptChord c1:7 2 % 12-bar blues, in eighth notes: \rptChord c8:7 8 \rptChord f8:7 8 \rptChord c8:7 16 \rptChord f8:7 16 \rptChord c8:7 16 \rptChord g8:7 8 \rptChord f8:7 8 \rptChord c8:7 16 Not that you'd want to use it that way. My point is, instead of three 'pattern' functions, you'd have just one, and it would create both correct engraving and an accurate performance. Or at least, I think it would. :) Reality may vary. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
[Quoting Jim Long, on October 21 2013, 11:42, in "Re: Combining chord "] > The reason your layout gets stretched is roughly because > LilyPond's chord-suppression logic for repeated chord markups > effectively makes the chord markup "transparent" rather than > eliminating it entirely. Thus even the invisible chords still > take up space in the layout. Yes, that's what I guessed. > I regret that I can offer only some informal, even ugly > suggestions: Don't take it personally ;) You've got some interesting suggestions. > 3) Instead of #2, and again I haven't tested this (much), could > tremoli help you? No, they do not render as individual notes in the midi. E.g. \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | is rendered in the midi as ees2. bes4 > ... if you are fluent in Scheme, perhaps you can write a function > 'wrapChord' which accepts a chordmode chord identifier x and wraps > it in: Actually, this was something I've been thinking of. I didn't mention that in my .ly templates, I always have two tags, scoreOnly and midiOnly that do just that: filter the music depending on whether paper score or midi is generated. allMusic = { ... } %% Generate the printed score. \score { \removeWithTag #'midiOnly \allMusic \layout { ... } } %% Generate the MIDI. \score { \removeWithTag #'scoreOnly \unfoldRepeats \allMusic \midi { ... } } So I tried to write a function that would expand one or two chords according to a pattern. For example \pata ees -> ees8 q q q q q q q \patb ees bes -> ees8 q q q bes q q q \patc ees bes -> ees8 q q q q q bes q (These patterns would cover 96% of the chords of my project.) However, the expansion is to depend on the tags, so to take the third example, the expansion would become \patc ees bes -> \tag #'midiOnly { ees8 q q q q q bes q } \tag #'scoreOnly { ees2. bes4 } After some experimenting I gave up and used an external preprocessor to produce two distinct harmonies, one for the score and one for the midi. It would have been a nice experiment, though... -- Johan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Combining chord durations
On Mon, Oct 21, 2013 at 01:59:11PM +0200, Johan Vromans wrote: > I use a score to produce PDF and MIDI. > > To obtain a rhythmic pattern in the MIDI, I write the chords as: > > ees8 ees ees ees ees ees bes bes | > c:m c:m c:m c:m aes aes aes aes | > ees ees ees ees bes bes bes bes | > ees ees ees ees ees ees ees ees | > > In the printed score, the chord changes are not shown, which is what I > want, but it seems that the duration of the chords affects the amount of > space that is allocated for the printed output. >From the standpoint of the layout, this looks like Issue #3092: https://code.google.com/p/lilypond/issues/detail?id=3092 But I gather that your question is somewhat different, especially since the work-arounds given in that URL completely disregard MIDI output and focus only on improving the spacing of chords in the PDF output. The reason your layout gets stretched is roughly because LilyPond's chord-suppression logic for repeated chord markups effectively makes the chord markup "transparent" rather than eliminating it entirely. Thus even the invisible chords still take up space in the layout. I regret that I can offer only some informal, even ugly suggestions: 1) when writing multiple repetitions of chords, use LilyPond's 'q' shortcut. This doesn't begin to address your problem, but it might at least save you a little bit of typing, although you may perceive a difference in readability: \chordmode { ees8 q q q q q bes q | c:m q q q aes q q q | ees q q q bes q q q | % obssessive-compulsive text ees q q q q q q q | % alignment is optional } 2) Once you have manually created the MIDI rhythms you want in the LilyPond input file, you can fix some of the resulting layout problems by de-activating the chord stencil during stretches of repeated chords. This re-introduces a lot of typing! I haven't tested this, but maybe you can create variables: csOff = { \override ChordName #'stencil = ##f } csOn = { \revert ChordName #'stencil } and then do (something like): \chordmode { \csOn ees8 \csOff q q q q q \csOn bes \csOff q | \csOn c:m \csOff q q q \csOn aes \csOff q q q | \csOn ees \csOff q q q \csOn bes \csOff q q q | % obssessive-compulsive text \csOn ees \csOff q q q q q q q | % alignment is futile } If that's not ugly enough -- and I have no idea whether this could actually work -- if you are fluent in Scheme, perhaps you can write a function 'wrapChord' which accepts a chordmode chord identifier x and wraps it in: \override ChordName #'stencil = ##t x \override ChordName #'stencil = ##f And then (hypothetically) you could say: \chordmode { \wrapChord ees8 q q q q q \wrapChord bes q | \wrapChord c:m q q q \wrapChord aes q q q | \wrapChord ees q q q \wrapChord bes q q q | \wrapChord ees q q q q q q q | } 3) Instead of #2, and again I haven't tested this (much), could tremoli help you? It seems you want a constant eighth-note pattern (ostenato?) to your MIDI chords. Perhaps (untested!) if you write: \repeat tremolo N c8:m where N is the duration in eighth notes, that might work? Your example: ees2. bes4 | c2:m aes2 | ees2 bes2 | ees1| would become: \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | \repeat tremolo 4 c8:m \repeat tremolo 4 aes8 | \repeat tremolo 4 ees8 \repeat tremolo 4 bes8 | \repeat tremolo 8 ees8| I never use LilyPond's MIDI output, so I don't know if that will be useful to you or not. The layout looked okay when I tested this method, though. Again, I'm sorry that I don't have any definite suggestions, but perhaps these topics will help you think of a workaround that works for you. Jim \version "2.17.26" harmoniesA = \new ChordNames \chordmode { \set chordChanges = ##t \repeat unfold 6 ees8 \repeat unfold 2 bes8 | \repeat unfold 4 c8:m \repeat unfold 4 aes8 | \repeat unfold 4 ees8 \repeat unfold 4 bes8 | \repeat unfold 8 ees8| } % harmoniesA harmoniesB = \new ChordNames \chordmode { \set chordChanges = ##t \repeat tremolo 6 ees8 \repeat tremolo 2 bes8 | \repeat tremolo 4 c8:m \repeat tremolo 4 aes8 | \repeat tremolo 4 ees8 \repeat tremolo 4 bes8 | \repeat tremolo 8 ees8| } % harmoniesB melody = \new Staff \new Voice { R1*4 } \score { << \harmoniesA \melody >> } % score \score { << \harmoniesB \melody >> } % score ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Combining chord durations
I use a score to produce PDF and MIDI. To obtain a rhythmic pattern in the MIDI, I write the chords as: ees8 ees ees ees ees ees bes bes | c:m c:m c:m c:m aes aes aes aes | ees ees ees ees bes bes bes bes | ees ees ees ees ees ees ees ees | In the printed score, the chord changes are not shown, which is what I want, but it seems that the duration of the chords affects the amount of space that is allocated for the printed output. For example, the above lines (with some notes) display as: (See attachment 1, if it comes through, otherwise:) http://www.squirrel.nl/pub/xfer/uploads/3CfG2SysM_z5gxpp0TStDP9w.png while I would like to have: (See attachment 2, if it comes through, otherwise:) http://www.squirrel.nl/pub/xfer/uploads/3CHD2294iNixM0Vc3-1ZcBfA.png (As if I had written: ees2. bes4 | c2:m aes2 | ees2 bes2 | ees1| ) Is there an easy way to get this behaviour? Something similar but opposite to the chordChanges property? -- Johan <><>___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Sep 3, 2009, at 10:21 AM, Christian Henning wrote: Hi there, I'm at work and don't really have much time.I just wanna state that I presented my problem with a reduced sheet. The problem was regarding the chord durations and not with the melody. I'm a software engineer and this is how I post questions to reduce the chance of confusion. At least in my case it increased confusion. :-P I may just be slow on the uptake... I have posted my complete sheet in a different thread on this mailing list. My subject was "Lilypond - chord progression". Also, yes, this is my first project with lilypond. I think my goal is to create sheets similar to what you have in books like this one: http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/ 0793544130/ref=sr_1_3?ie=UTF8&s=books&qid=1251991185&sr=8-3 You can look inside here to see what I'm talking about. QQ, do you think lilypond can produce that? Yup, that's right up it's alley. Maybe not exactly that page, but certainly with all of the elements shown there. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On 9/3/09 9:21 AM, "Christian Henning" wrote: > Hi there, I'm at work and don't really have much time.I just wanna > state that I presented my problem with a reduced sheet. The problem > was regarding the chord durations and not with the melody. I'm a > software engineer and this is how I post questions to reduce the > chance of confusion. > > I have posted my complete sheet in a different thread on this mailing > list. My subject was "Lilypond - chord progression". > > Also, yes, this is my first project with lilypond. I think my goal is > to create sheets similar to what you have in books like this one: > > http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/0793544130/ref=sr_1_ > 3?ie=UTF8=books=1251991185=8-3 > <http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/0793544130/ref=sr_1 > _3?ie=UTF8&s=books&qid=1251991185&sr=8-3> > > You can look inside here to see what I'm talking about. QQ, do you > think lilypond can produce that? Yes, no question. It may require some work to get it in that particular form, because the music is not notated as a single piece, but as a collection of various fragments that should be put together. But LilyPond clearly has the capapility of creating all that notation. Personally, I don't like the look of that engraving, and I wouldn't do it that way. I'd just write the music out. It would take more pages, but would be easier for me to play. At any rate, this is clearly within the capability of LilyPond, especially now that Marc has added so much Tab capability. Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
Hi there, I'm at work and don't really have much time.I just wanna state that I presented my problem with a reduced sheet. The problem was regarding the chord durations and not with the melody. I'm a software engineer and this is how I post questions to reduce the chance of confusion. I have posted my complete sheet in a different thread on this mailing list. My subject was "Lilypond - chord progression". Also, yes, this is my first project with lilypond. I think my goal is to create sheets similar to what you have in books like this one: http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/0793544130/ref=sr_1_3?ie=UTF8&s=books&qid=1251991185&sr=8-3 You can look inside here to see what I'm talking about. QQ, do you think lilypond can produce that? Regards, Christian On Thu, Sep 3, 2009 at 10:38 AM, Tim McNamara wrote: > > On Sep 2, 2009, at 7:56 PM, Patrick Horgan wrote: > >> Tim McNamara wrote: >>> >>> I am a guitarist. >>> >>> If all he wants is a chord chart, some paper and a pencil would be a >>> better approach. Or even a word processor two write out the chords like >>> Ralph Patt did with the Vanilla Book. >>> >>> http://www.ralphpatt.com/VBook.html >>> >>> Christian's trying to do something LilyPond is not designed to do when >>> what he really needs is a lead sheet, if he wants to use LilyPond without a >>> lot of kerfuffling around. I've sent him information about this >>> back-channel. >> >> I agree it would be silly to use lilypond just to generate something like: >> >> >> || C7/ / / | C / / / | C / / / | C / / / | >> | F / / / | F / / / | C / / / | C / / / | >> | G7 / / / | F / / / C / / / | C / / / || >> >> But what if it was only one of the outputs from the music, which also >> generated tab and sheet music, and midi? While you're already using the >> data to generate the other useful forms, what you be wrong with using it to >> generate charts, which are a very commonly used thing in the jazz world? > > If there is a way to create a standard score for a jazz/rock/pop tune and > from that to generate different outputs (lead sheet, tab, chord chart with > lyrics, etc.), that's fine. I don't know any way to do the last one. I > don't use tab- sheet music is easier to read by far- so I've never done > anything with that in LilyPond, although I know the facility is there. > > I play jazz/blues/some rock on guitar and use LilyPond to create lead sheets > (a.k.a. "charts"). I've never turned up to a jazz session or a gig and been > presented with just a chord chart. I am always given a lead sheet with the > melody on the staff and the chords above (or sometimes written over the bass > staff instead which is hard to read, usually in vocal books) and often with > lyrics below the staff. The only place I have seen jazz chord charts as > such is on Ralph Patt's Web site. Those are intended for reference to > correct the Real Books (which frequently have erroneous changes) and not to > be played from. > > My point was that LilyPond expects there to be notes on a staff in the > input. If you don't put them in, then you're going to have trouble getting > LilyPond to do much of anything. It is a *music engraving* application and > by definition that is staves with notes (at least in Western music). From > Christian's questions and comments, it seemed to me that he did not > understand the intended use of LilyPond and is trying to get it to do > something that (1) it is not designed to do and (2) could be much more > easily done with pencil and paper or a word processor. I certainly could be > misunderstanding his intent. > > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-user > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Sep 2, 2009, at 7:56 PM, Patrick Horgan wrote: Tim McNamara wrote: I am a guitarist. If all he wants is a chord chart, some paper and a pencil would be a better approach. Or even a word processor two write out the chords like Ralph Patt did with the Vanilla Book. http://www.ralphpatt.com/VBook.html Christian's trying to do something LilyPond is not designed to do when what he really needs is a lead sheet, if he wants to use LilyPond without a lot of kerfuffling around. I've sent him information about this back-channel. I agree it would be silly to use lilypond just to generate something like: || C7/ / / | C / / / | C / / / | C / / / | | F / / / | F / / / | C / / / | C / / / | | G7 / / / | F / / / C / / / | C / / / || But what if it was only one of the outputs from the music, which also generated tab and sheet music, and midi? While you're already using the data to generate the other useful forms, what you be wrong with using it to generate charts, which are a very commonly used thing in the jazz world? If there is a way to create a standard score for a jazz/rock/pop tune and from that to generate different outputs (lead sheet, tab, chord chart with lyrics, etc.), that's fine. I don't know any way to do the last one. I don't use tab- sheet music is easier to read by far- so I've never done anything with that in LilyPond, although I know the facility is there. I play jazz/blues/some rock on guitar and use LilyPond to create lead sheets (a.k.a. "charts"). I've never turned up to a jazz session or a gig and been presented with just a chord chart. I am always given a lead sheet with the melody on the staff and the chords above (or sometimes written over the bass staff instead which is hard to read, usually in vocal books) and often with lyrics below the staff. The only place I have seen jazz chord charts as such is on Ralph Patt's Web site. Those are intended for reference to correct the Real Books (which frequently have erroneous changes) and not to be played from. My point was that LilyPond expects there to be notes on a staff in the input. If you don't put them in, then you're going to have trouble getting LilyPond to do much of anything. It is a *music engraving* application and by definition that is staves with notes (at least in Western music). From Christian's questions and comments, it seemed to me that he did not understand the intended use of LilyPond and is trying to get it to do something that (1) it is not designed to do and (2) could be much more easily done with pencil and paper or a word processor. I certainly could be misunderstanding his intent. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Wed, Sep 2, 2009 at 17:56, Patrick Horgan wrote: > Tim McNamara wrote: >> >> I am a guitarist. >> >> If all he wants is a chord chart, some paper and a pencil would be a >> better approach. Or even a word processor two write out the chords like >> Ralph Patt did with the Vanilla Book. >> >> http://www.ralphpatt.com/VBook.html >> >> Christian's trying to do something LilyPond is not designed to do when >> what he really needs is a lead sheet, if he wants to use LilyPond without a >> lot of kerfuffling around. I've sent him information about this >> back-channel. > > I agree it would be silly to use lilypond just to generate something like: > > > || C7/ / / | C / / / | C / / / | C / / / | > | F / / / | F / / / | C / / / | C / / / | > | G7 / / / | F / / / C / / / | C / / / || > > But what if it was only one of the outputs from the music, which also > generated tab and sheet music, and midi? While you're already using the > data to generate the other useful forms, what you be wrong with using it to > generate charts, which are a very commonly used thing in the jazz world? ...and if this is just Christian's first project in LIlypond, chosen because he wanted to set something that he'll use right away, that doesn't mean this is all he'll ever use LIlypond for. Everybody has to start somewhere, and they might as well start on something that matters to them. I agree that just a bare chord chart is not exactly what Lilypond was made for in the first place, but as a place to expand from, why not? (Except that it's inconvenient I guess) David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
Tim McNamara wrote: I am a guitarist. If all he wants is a chord chart, some paper and a pencil would be a better approach. Or even a word processor two write out the chords like Ralph Patt did with the Vanilla Book. http://www.ralphpatt.com/VBook.html Christian's trying to do something LilyPond is not designed to do when what he really needs is a lead sheet, if he wants to use LilyPond without a lot of kerfuffling around. I've sent him information about this back-channel. I agree it would be silly to use lilypond just to generate something like: || C7/ / / | C / / / | C / / / | C / / / | | F / / / | F / / / | C / / / | C / / / | | G7 / / / | F / / / C / / / | C / / / || But what if it was only one of the outputs from the music, which also generated tab and sheet music, and midi? While you're already using the data to generate the other useful forms, what you be wrong with using it to generate charts, which are a very commonly used thing in the jazz world? Patrick ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Sep 2, 2009, at 3:59 PM, Patrick Horgan wrote: Tim McNamara wrote: On Sep 1, 2009, at 9:30 PM, Christian Henning wrote: Am I right, that lilypond is rarely used for my type of notation? Meaning rock/pop tunes for acoustic guitar. No, the style of music makes no difference. But LilyPond is intended for engraving music which is fundamentally based upon notes on the staff, and you seem to be just writing out chord progressions without a melody. LilyPond is really not designed for this. If you were writing in the melody with the chords above the staff, many of your problems would be resolved. I think that what you are trying to do is to write out lead sheets, No he's writing chord charts--pretty common for guitarists. I am a guitarist. If all he wants is a chord chart, some paper and a pencil would be a better approach. Or even a word processor two write out the chords like Ralph Patt did with the Vanilla Book. http://www.ralphpatt.com/VBook.html Christian's trying to do something LilyPond is not designed to do when what he really needs is a lead sheet, if he wants to use LilyPond without a lot of kerfuffling around. I've sent him information about this back-channel. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
Tim McNamara wrote: On Sep 1, 2009, at 9:30 PM, Christian Henning wrote: Am I right, that lilypond is rarely used for my type of notation? Meaning rock/pop tunes for acoustic guitar. No, the style of music makes no difference. But LilyPond is intended for engraving music which is fundamentally based upon notes on the staff, and you seem to be just writing out chord progressions without a melody. LilyPond is really not designed for this. If you were writing in the melody with the chords above the staff, many of your problems would be resolved. I think that what you are trying to do is to write out lead sheets, No he's writing chord charts--pretty common for guitarists. Patrick ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Sep 1, 2009, at 9:30 PM, Christian Henning wrote: Am I right, that lilypond is rarely used for my type of notation? Meaning rock/pop tunes for acoustic guitar. No, the style of music makes no difference. But LilyPond is intended for engraving music which is fundamentally based upon notes on the staff, and you seem to be just writing out chord progressions without a melody. LilyPond is really not designed for this. If you were writing in the melody with the chords above the staff, many of your problems would be resolved. I think that what you are trying to do is to write out lead sheets, but you don't seem to have the melody for the songs. The other option, I suppose, would be to make the melody a bunch of rests (e.g., r1 for each bar) and write out the duration of the chords as the total beat count (g1:7 rather than g16:7 sixteen times in a bar). I'll send you a sample lead sheet back-channel, since it's copyrighted and bad form to send an entire copyrighted song via the mailing list. I don't have time to write up a fake song this morning. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
Christian Henning wrote Wednesday, September 02, 2009 3:30 AM Cool, that worked. Though, in essence, I need to use the ChordNames.chordChanges variable to surpress repeated chords. I wonder where the current documentation mention this? googling for "chordchanges" brings me to lilypond 2.9 documentation. There is the chapter "7.2.3. Printing chord names" which I cannot find in 2.12. It's in section 2.7.2 Displaying chords. Most things to do with chords are indexed, but not this :( I'll put it on my TODO list. Trevor ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
Cool, that worked. Though, in essence, I need to use the ChordNames.chordChanges variable to surpress repeated chords. I wonder where the current documentation mention this? googling for "chordchanges" brings me to lilypond 2.9 documentation. There is the chapter "7.2.3. Printing chord names" which I cannot find in 2.12. Am I right, that lilypond is rarely used for my type of notation? Meaning rock/pop tunes for acoustic guitar. On Tue, Sep 1, 2009 at 1:28 AM, Andrew Tucker wrote: > > On Aug 31, 2009, at 10:19 PM, Christian Henning wrote: > >> >> \chordmode { >> g1 | g4..:sus4 g2 | \break bes1 | b4..:sus4 bes2 >> } >> > > Both your second and fourth bars are short one 16th note - maybe you meant > > \set chordChanges = ##t %only show chord changes (ie. not repeated > chords) > g1 | g4..:sus4 g16 ~ g2 | \break bes1 | b4..:sus4 bes16 ~ bes2 > > Double-dotted notes are rare, especially in pop music - more typically you > might write this rhythm out (provided this is the rhythm you want) as > > g1 | g4:sus4 ~ g8.:sus4 g16 ~ g2 | \break bes1 | b4:sus4 ~ b8.:sus4 bes16 > ~ bes2 > > -Tucker > ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Aug 31, 2009, at 10:19 PM, Christian Henning wrote: \chordmode { g1 | g4..:sus4 g2 | \break bes1 | b4..:sus4 bes2 } Both your second and fourth bars are short one 16th note - maybe you meant \set chordChanges = ##t %only show chord changes (ie. not repeated chords) g1 | g4..:sus4 g16 ~ g2 | \break bes1 | b4..:sus4 bes16 ~ bes2 Double-dotted notes are rare, especially in pop music - more typically you might write this rhythm out (provided this is the rhythm you want) as g1 | g4:sus4 ~ g8.:sus4 g16 ~ g2 | \break bes1 | b4:sus4 ~ b8.:sus4 bes16 ~ bes2 -Tucker ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On 01.09.2009, at 04:19, Christian Henning wrote: \chordmode { g1 | g4..:sus4 g2 | Here is your problem. Another way of writing this would be: g1 | g4~ g8~ g16 g2 The second measure is missing a 16th note. James E. Bailey ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
Hi there, first of all thanks to everyone who replied. I really appreciate every reply. For a start, I would like to describe what I'm really after. I have some songs, mostly transcribed by my guitar teacher, which I like to transform into sheet music. I have every songs on a piece of paper written by a pencil. Though, I know what lilypond is suppose to produce. All songs are mostly chord progression with an accompanying rhythm. There is nothing fancy about the songs. They are mostly Pixies, or Radiohead songs. I have read most of the documentation on chords, duration, and rhythm. Also, I'm a very beginner in writing sheet music and in being a lilypond user. Now, I use \chordmode to describe the chord progression with their duration. For the rhythm I use \voice. See the next example: \version "2.12.2" #(ly:set-option 'delete-intermediate-files #t) % deletes the .ps file automatically << \new ChordNames { \chordmode { g1 | g4..:sus4 g2 | \break bes1 | b4..:sus4 bes2 } } \new Voice \with { \consists Pitch_squash_engraver } \relative c'' { \improvisationOn g16 g g g g g g g g g g g g g g g g16 g g g g g g g g g g g g g g g g16 g g g g g g g g g g g g g g g g16 g g g g g g g g g g g g g g g } >> After rendering it, the chords are off by a 16th note. The first line is mostly correct, except that the first b_flat is suppose to start on the second line ( 3rd measure ). Though, there is something wrong with the second G chord's duration in the second measure. Fixing that would help me a lot. I hope things are more clear now with my real intention. Thanks again for the great support. Christian ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Mon, Aug 31, 2009 at 10:17 AM, Tim McNamara wrote: [...] > You appear to be trying to learn sheet music and LilyPond simultaneously. > It would go faster to learn the rules of Western sheet music first- the > fundamentals are actually pretty easy and you can readily find most of the > information online- and then LilyPond. Or, try to learn lilypond first, then tackle an absurdly complex piece of music (Debussy's Clair of Lune, for example) and dive head-first on it, just to be stuck on the first measure (*), and go to your wife who happens to be a music teacher and start asking her for help. It does a lot to improve communication... Wait, what were we talking about? -- Leonardo Herrera mailto:leonardo.herr...@gmail.com http://leus.epublish.cl (*): Just for keeping things on-topic-ish, this is what I'm talking about: \version "2.12.0" blanknotes = { \override NoteHead #'transparent = ##t \override Stem #'transparent = ##t } unblanknotes = { \revert NoteHead #'transparent \revert Stem #'transparent } upper = \relative c'' { \clef treble \key des \major \time 9/8 \override Staff.NoteCollision #'merge-differently-dotted = ##t \override Score.RehearsalMark #'Y-offset = #0.1 \mark \markup { \upright Andante \italic \concat{t r \char ##x00E9 s } ¬"expressif" } r8 \pp r8 \blanknotes 8\( ~ \unblanknotes \stemDown 4. 4. ~ 8[8 8] 2. ~ } lower = \relative c' { \key des \major \time 9/8 \override Staff.NoteCollision #'merge-differently-dotted = ##t % 1 << { s8 8 \change Staff = upper \relative c''{ \stemDown 8 } } \\ % trick to make legatto... { r8 \blanknotes 4 ~ \unblanknotes 2. } >> % 2 2. ~ 4. } \score { \new PianoStaff << \context Staff = "upper" { % \set PianoStaff.instrumentName = "Piano " #(set-accidental-style 'piano) \upper } \context Staff = "lower" { #(set-accidental-style 'piano) \lower } >> \layout { } \midi { } } <>___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Aug 30, 2009, at 10:23 PM, Christian Henning wrote: Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.", for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75 beats, I believe. Which would translate into seven 16th notes. But what is "g4..."? Here, with 3 dots. Two dots are rarely used and I have never seen three dots used. Also, how can I describe a duration that lasts for 2.25 beats? For a 2.25 beat duration, do a half note and a tied 16th note: g2~ g16 I realize that I don't really ask lilypond related things but more general music theory questions. I'm hoping this community is still kind enough helping me out. You appear to be trying to learn sheet music and LilyPond simultaneously. It would go faster to learn the rules of Western sheet music first- the fundamentals are actually pretty easy and you can readily find most of the information online- and then LilyPond. http://www.notationmachine.com/how_to_read_sheetmusic/readingmusic.htm migbht be a good place to start. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
chord durations
-- Forwarded message -- From: David Rogers Date: Mon, Aug 31, 2009 at 00:34 Subject: Re: chord durations To: Christian Henning Even more important - just try stuff from the manual and see for yourself how it works. Unlike a lot of software, Lilypond's learning manual is EXTREMELY important to read, and luckily very good too. Using Lilypond without reading the manual is like eating soup with a fork. You could do it, but it would be really frustrating and take far too long. All the answers people are going to give to questions like this, are already answered better in the manual. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On Sun, Aug 30, 2009 at 20:23, Christian Henning wrote: > Also, how can I describe a duration that lasts for 2.25 beats? The easy way is to make a half note tied to a sixteenth note - like this: c2~c16 But the real question is, why do you want a 2.25 beat duration? If you explain what you really want to do with Lilypond, it will be easier to help. (What I mean is, show the lilypond code you made that isn't working right, or describe the music you're trying to print, instead of asking a confusing question about one weird note.) Hope it helps David ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
On 31.08.2009, at 05:51, Federico Bruni wrote: Christian Henning wrote: Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.", for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75 beats, I believe. Which would translate into seven 16th notes. But what is "g4..."? Here, with 3 dots. g4... = 15/32 so 1,875 beats Also, how can I describe a duration that lasts for 2.25 beats? I've never thought in beats.. Anyway, it should be something like this maybe (lilypond code): g2 ~ g16 assuming that g4= 1 beat g8= 0.5 g16= 0.25 g32= 0.125 and so on... NO. Wow, Kieren, I understand now. A dot increases rhythmic value of each preceeding note by 50%. With double-and triple dots, the later dots increase the value of the previous dots. so: c4. = c4~ c8 c4.. = c4~ c8~ c16 c4... = c4~ c8~ c16~ c32 James E. Bailey ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: chord durations
Christian Henning wrote: Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.", for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75 beats, I believe. Which would translate into seven 16th notes. But what is "g4..."? Here, with 3 dots. g4... = 15/32 so 1,875 beats Also, how can I describe a duration that lasts for 2.25 beats? I've never thought in beats.. Anyway, it should be something like this maybe (lilypond code): g2 ~ g16 assuming that g4= 1 beat g8= 0.5 g16= 0.25 g32= 0.125 and so on... ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
chord durations
Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.", for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75 beats, I believe. Which would translate into seven 16th notes. But what is "g4..."? Here, with 3 dots. Also, how can I describe a duration that lasts for 2.25 beats? I realize that I don't really ask lilypond related things but more general music theory questions. I'm hoping this community is still kind enough helping me out. Thanks, Christian ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user