Problems with Piano Staff Template
I'm trying to engrave a set of tunes. It uses the Piano format with centred dynamics, so I used the template in the Learning manual, editing out the stuff used in the manual. However, I can't change the tempo or key. I've edited the global variable as shown, but it still comes out in C and common time. Have I removed something I shouldn't have, or have I missed something Here's the code: \version 2.12.0 \include english.ly \paper { #(define dump-extents #t) line-width = 160\mm - 2.0 * 0.4\in ragged-right = ##t force-assignment = # line-width = #(- line-width (* mm 3.00)) } \layout { } \header { } global = { \key g \major \time 6/8 } upper = \relative c''' { \clef treble g8[ fs g] d4. } lower = \relative c { \clef bass \stemDown g8[( d' g)] g,[( d' g)] } dynamics = { s8\mf } pedal = { } \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \lower \new Dynamics = pedal \pedal \layout { % define Dynamics context \context { \type Engraver_group \name Dynamics \alias Voice \consists Output_property_engraver \consists Piano_pedal_engraver \consists Script_engraver \consists New_dynamic_engraver \consists Dynamic_align_engraver \consists Text_engraver \consists Skip_event_swallow_translator \consists Axis_group_engraver pedalSustainStrings = #'(Ped. *Ped. *) pedalUnaCordaStrings = #'(una corda tre corde) \override DynamicLineSpanner #'Y-offset = #0 \override TextScript #'font-size = #2 \override TextScript #'font-shape = #'italic \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1) } % modify PianoStaff context to accept Dynamics context \context { \PianoStaff \accepts Dynamics } } } \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \dynamics \pedal \new Staff = Staff_pfLower \global \lower \dynamics \pedal \midi { } } -- Mark Austin -- For Whigs admit no force but argument -- \version 2.12.0 \include english.ly \paper { #(define dump-extents #t) line-width = 160\mm - 2.0 * 0.4\in ragged-right = ##t force-assignment = # line-width = #(- line-width (* mm 3.00)) } \layout { } \header { } global = { \key g \major \time 6/8 } upper = \relative c''' { \clef treble g8[ fs g] d4. } lower = \relative c { \clef bass \stemDown g8[( d' g)] g,[( d' g)] } dynamics = { s8\mf } pedal = { } \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \lower \new Dynamics = pedal \pedal \layout { % define Dynamics context \context { \type Engraver_group \name Dynamics \alias Voice \consists Output_property_engraver \consists Piano_pedal_engraver \consists Script_engraver \consists New_dynamic_engraver \consists Dynamic_align_engraver \consists Text_engraver \consists Skip_event_swallow_translator \consists Axis_group_engraver pedalSustainStrings = #'(Ped. *Ped. *) pedalUnaCordaStrings = #'(una corda tre corde) \override DynamicLineSpanner #'Y-offset = #0 \override TextScript #'font-size = #2 \override TextScript #'font-shape = #'italic \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1) } % modify PianoStaff context to accept Dynamics context \context { \PianoStaff \accepts Dynamics } } } \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \dynamics \pedal \new Staff = Staff_pfLower \global \lower \dynamics \pedal \midi { } } Channel Quadrilles.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: scheme function for transposition
I think you have to declare two variables: #(define-music-function (parser location trans notes) (ly:music? ly:music?) #{ \transpose c $trans { $notes } #}) The problem appears to be that \transpose is expecting a notename, not a variable, so this has the same problem, and doubled. Thank you, Josiah ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problems with Piano Staff Template
You've omitted the \global from your score block. It should happen simultaneously with the music, so \global \lower Am 01.06.2009 um 09:38 schrieb Mark Austin: I'm trying to engrave a set of tunes. It uses the Piano format with centred dynamics, so I used the template in the Learning manual, editing out the stuff used in the manual. However, I can't change the tempo or key. I've edited the global variable as shown, but it still comes out in C and common time. Have I removed something I shouldn't have, or have I missed something Here's the code: \version 2.12.0 \include english.ly \paper { #(define dump-extents #t) line-width = 160\mm - 2.0 * 0.4\in ragged-right = ##t force-assignment = # line-width = #(- line-width (* mm 3.00)) } \layout { } \header { } global = { \key g \major \time 6/8 } upper = \relative c''' { \clef treble g8[ fs g] d4. } lower = \relative c { \clef bass \stemDown g8[( d' g)] g,[( d' g)] } dynamics = { s8\mf } pedal = { } \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \lower \new Dynamics = pedal \pedal \layout { % define Dynamics context \context { \type Engraver_group \name Dynamics \alias Voice \consists Output_property_engraver \consists Piano_pedal_engraver \consists Script_engraver \consists New_dynamic_engraver \consists Dynamic_align_engraver \consists Text_engraver \consists Skip_event_swallow_translator \consists Axis_group_engraver pedalSustainStrings = #'(Ped. *Ped. *) pedalUnaCordaStrings = #'(una corda tre corde) \override DynamicLineSpanner #'Y-offset = #0 \override TextScript #'font-size = #2 \override TextScript #'font-shape = #'italic \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1) } % modify PianoStaff context to accept Dynamics context \context { \PianoStaff \accepts Dynamics } } } \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \dynamics \pedal \new Staff = Staff_pfLower \global \lower \dynamics \pedal \midi { } } -- Mark Austin -- For Whigs admit no force but argument --Channel Quadrilles.lyChannel Quadrilles.pdf___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user James E. Bailey ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: scheme function for transposition
Josiah Boothby schrieb: I think you have to declare two variables: #(define-music-function (parser location trans notes) (ly:music? ly:music?) #{ \transpose c $trans { $notes } #}) Sorry, I forgot to answer to the list, but as my proposal doesn't work anyway, it doesn't matter. The problem appears to be that \transpose is expecting a notename, not a variable, so this has the same problem, and doubled. Searching in the archives, I found in http://lists.gnu.org/archive/html/lilypond-user/2007-09/msg00084.html that \transpose can't be used with variables, but there is (ly:music-transpose music expression pitch) which you could use instead. Marc Thank you, Josiah http://lists.gnu.org/archive/html/lilypond-user/2007-09/msg00084.html ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: emacs lilypond-mode
Moin Thomas, Error codes are created by the operating system and reported by the application. The error code may be dependent on the context. The context that you reported looks like a CreateFile http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx context. In this case it means ERROR_FILE_NOT_FOUND http://msdn.microsoft.com/en-us/library/ms681382.aspx;, the system cannot find the file specified. That's in contrast to error code 3 ERROR_PATH_NOT_FOUND, so only your file name is incorrect. Regards, Helge Thomas wrote: PS somebody out there must know what error code 2 in the lilypond-context means ... I even searched the .el files, but no result or is this an emacs error? would be at least interesting, if not helpfull to find that out... cheers thomas ___ 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: Lilypond and Jazz chords
2009/6/1 Carl D. Sorensen c_soren...@byu.edu: You are welcome to pursue this, if you are interested in it. It is not my interest. I think it shows the impossibility of what you are trying to achieve, at least in the completely general case, although pushing the boundaries closer to that general case is valuable of course. Beyond trivial cases, a combination of notes does not have /a/ name, it has many names depending on the musical context. For jazz chords, the chord notes and the chord names really need to be separated (perhaps an optional name following the notes) unless the software can understand the musical context better than a lot of musicians. Or just stick with chord mode. -- Tim Rowe ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: scheme function for transposition
\transpose c $trans { \firstNotes } string:2:17: error: syntax error, unexpected MUSIC_IDENTIFIER, expecting NOTENAME_PITCH or TONICNAME_PITCH The only solution i know is to use the scheme equivalent of \transpose : ly:music-transpose But it is a bit harder... firstNotes = \relative c' { c4 d e f } first = #(define-music-function (parser location trans)(ly:music?) (let* ( (trans-note (car (ly:music-property trans 'elements))) (trans-pitch (ly:music-property trans-note 'pitch)) (delta-pitch (ly:pitch-diff trans-pitch (ly:make-pitch -1 0 0 ;% (display delta-pitch)(newline) (ly:music-transpose (ly:music-deep-copy firstNotes) delta-pitch) )) \score { \new Staff \firstNotes \new Staff \first d \new Staff \first e } %%% Gilles ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [Issue?] hiding Accidental(s) on tied note(s) after a line break
Joe Neeman joenee...@gmail.com writes: [...] p.s. Despite [As a result of?] banging my head against this particular wall, I think I learned a little about Scheme + Lilypond... that's some consolation! =) If it's any additional consolation, your approach would have been perfectly ok were it not for the idiosyncrasies of Accidental. Wouldn't it make more sense then first to apply his approach, and then make sure that it actually works as intended? It would appear to me that this would cause fewer surprises and maintenance headaches in future. It would appear that his approach was foiled by kinks in the current implementation, and the long-term solution should prefer getting rid of kinks rather than adding new ones. Note that I don't have any actual knowledge of the code: it is just that this conversation sets off my alarm bells. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problems with Piano Staff Template
Thanks James. Works a treat now. However, this means the error is in the template in the Learning Manual, since I copied it straight over. The first few lines of the first \score block should be: \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \global \lower \new Dynamics = pedal \pedal A subsidiary question. What does the second \score block do? On 01/06/2009, James E. Bailey derhindem...@googlemail.com wrote: You've omitted the \global from your score block. It should happen simultaneously with the music, so \global \lower Am 01.06.2009 um 09:38 schrieb Mark Austin: I'm trying to engrave a set of tunes. It uses the Piano format with centred dynamics, so I used the template in the Learning manual, editing out the stuff used in the manual. However, I can't change the tempo or key. I've edited the global variable as shown, but it still comes out in C and common time. Have I removed something I shouldn't have, or have I missed something Here's the code: snip -- Mark Austin -- For Whigs admit no force but argument -- ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problems with Piano Staff Template
Mark Austin wrote: Thanks James. Works a treat now. However, this means the error is in the template in the Learning Manual, since I copied it straight over. The first few lines of the first \score block should be: \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \global \lower \new Dynamics = pedal \pedal Yes of course! Carl or John, could you fix this in LSR and in the GIT copy? A subsidiary question. What does the second \score block do? Since it contains a \midi{} block but not \layout{} block, it's used to produce the MIDI file. /Mats ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problems with Piano Staff Template
Mats Bengtsson wrote: Mark Austin wrote: Thanks James. Works a treat now. However, this means the error is in the template in the Learning Manual, since I copied it straight over. The first few lines of the first \score block should be: \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \global \lower \new Dynamics = pedal \pedal Yes of course! Carl or John, could you fix this in LSR and in the GIT copy? A subsidiary question. What does the second \score block do? I'm having trouble getting the LSR database to come up, and when I opened the template in my source code it said at the top not to edit this file. Also I still can't pull from git: git.sv.gnu.org[0: 199.232.41.69]: errno=Connection refused fatal: unable to connect a socket (Connection refused) I've never seen this message before. Is it a problem on my end, or are they still sorting things out at git? Jon Since it contains a \midi{} block but not \layout{} block, it's used to produce the MIDI file. /Mats -- Jonathan Kulp http://www.jonathankulp.com ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problems with Piano Staff Template
On Mon, Jun 01, 2009 at 06:51:59AM -0500, Jonathan Kulp wrote: I'm having trouble getting the LSR database to come up, and when I opened the template in my source code it said at the top not to edit this file. Yes; it should only be changed in LSR. Also I still can't pull from git: git.sv.gnu.org[0: 199.232.41.69]: errno=Connection refused fatal: unable to connect a socket (Connection refused) I've never seen this message before. Is it a problem on my end, or are they still sorting things out at git? Yes, git is still hosed. Cheers, - Graham ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
partcombine/instrumentName problem
I have the following code in my ConductorScore.ly. The first one, with the combined parts, doesn't print the instumentName: the second one, with just one part, does. Anybody know offhand how to fix this? Thanks. (Files are available at http://www.mutopiaproject.org/cgibin/piece-info.cgi?id=1643, if that's relevant to the answer.) \new Staff \with { printPartCombineTexts = ##f } { \set Staff.midiInstrument = bassoon \set Staff.instrumentName = Bassoon \set Staff.shortInstrumentName = Bass. \partcombine \bassoonOne \bassoonTwo } \new Staff \with { printPartCombineTexts = ##f } { \set Staff.midiInstrument = clarinet \set Staff.instrumentName = Eb Clarinet \set Staff.shortInstrumentName = Eb Clar. \clarinetInEb } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
On Jun 1, 2009, at 4:13 AM, Tim Rowe wrote: 2009/6/1 Carl D. Sorensen c_soren...@byu.edu: You are welcome to pursue this, if you are interested in it. It is not my interest. I think it shows the impossibility of what you are trying to achieve, at least in the completely general case, although pushing the boundaries closer to that general case is valuable of course. Beyond trivial cases, a combination of notes does not have /a/ name, it has many names depending on the musical context. For jazz chords, the chord notes and the chord names really need to be separated (perhaps an optional name following the notes) unless the software can understand the musical context better than a lot of musicians. Or just stick with chord mode. Particularly when entering the notes and the root is not the chord name. For example, a chord I saw in a Pat Martino chart would have included: d des fes aes which was written as Dbmin/D. I have no idea how one would make LilyPond properly interpret slash chords or compound chords from note entries. Rendering chords written as chord names (des2:m5/d) would of course be simpler. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: partcombine/instrumentName problem
I don't know enough about \partcombine to tell you why, but if you use the \new Staff \with { instrumentName = Bassoon }, you should get what you want. At least, I got it, but I curiously got two scores with the following code: \score { \new Staff \with { printPartCombineTexts = ##f midiInstrument = bassoon instrumentName = Bassoon shortInstrumentName = Bass. } \partcombine \bassoonOne \bassoonTwo } And, can someone explain why this score block produces a midi file? Am 01.06.2009 um 15:06 schrieb Garrett Fitzgerald: I have the following code in my ConductorScore.ly. The first one, with the combined parts, doesn't print the instumentName: the second one, with just one part, does. Anybody know offhand how to fix this? Thanks. (Files are available at http://www.mutopiaproject.org/cgibin/piece-info.cgi?id=1643, if that's relevant to the answer.) \new Staff \with { printPartCombineTexts = ##f } { \set Staff.midiInstrument = bassoon \set Staff.instrumentName = Bassoon \set Staff.shortInstrumentName = Bass. \partcombine \bassoonOne \bassoonTwo } \new Staff \with { printPartCombineTexts = ##f } { \set Staff.midiInstrument = clarinet \set Staff.instrumentName = Eb Clarinet \set Staff.shortInstrumentName = Eb Clar. \clarinetInEb } ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user James E. Bailey ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: [ANN] Nederlandstalig LilyPond forum / Dutch LilyPond user forum
Grammostola Rosea rosea.grammostola at gmail.com writes: Ik kan me niet registreren... krijg geen email... Check even je 'spam-box', bij mij verdween hij linea-recta in de spam. AWRog ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Compiling files with lots of data
Hey lilypond users, I am compiling a file w/ many notes (on the order of 5*(3^7) 32nd notes including spaces) that, @ the interpreting music stage, counted up to 2184. I started it last night and it has been running for upwards of 9h using version 2.13.0 on a 1.5 GHz PowerPC running OS X 10.4.11 . I am wondering if there are any steps I can take (short of just putting less dots on the page) to speed up the process? Attached is the file (sorry that it is not a minimal example - by its nature, it is maximal, although you'll see very quickly that the vast majority of it is similar). There are a few things in it that I suspect may be causing the problem, so my question would be: for any one of these things, will its inclusion make lily run slower when she is processing large amounts of data? 1) I have set timing = ##f instead of using cadenzaOn 2) I have removed the Bar_engraver. 3) I have set the Stem stencil to ##f instead of removing the Stem_engraver. Additionally, if there are any other optimization suggestions you have, please let me know! Cheers, ~Mike pleasework.ly Description: Binary data ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: partcombine/instrumentName problem
\score { \new Staff \with { printPartCombineTexts = ##f midiInstrument = bassoon instrumentName = Bassoon shortInstrumentName = Bass. } \partcombine \bassoonOne \bassoonTwo } This solution seems to work great. I think that the strange behaviour of \partCombine is related to \grace notes Here is a little example : partA = \relative { \grace { fis8 } g1 } partB = \relative { \grace { dis8 } e1 } \score { \new Staff { %% here it's work \partcombine \partA \partB } \new Staff { %% here it's doesn't work \set Staff.instrumentName = bassoon \partcombine \partA \partB } } % Gilles___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
I was just brainstorming, I don`t expect anybody to implement that :-) ... I just thought, if music (as long as it's not abstract) follows some basic principles, why this is not reflected in the chord naming sometimes. Slash Chords are a good example ... they are a good, easily readable instruction what notes to play, but they don't reflect the harmonic function of the chord. I'm sure an illiterate gypsy guitarist could improvise very well over that Pat Martino song, because he recognizes the tonic or dominat character of that chord by ear... that is the underlying harmonic function ... although he shouldn't be able to do that, because slash chords are considered modern, sophisticated, difficult Lets say, that Martino song has a key and a tonic, and the harmony moves in a chain of fifth, half- and whole-tones towards oe away from that tonic, then the Dbmin/D very likely has a dominant or tonic finction within this chain (depending on the rest of this song) and could be named after this function ... but that would be more difficult to read probably. Don't let me be misunderstood... thats just brainstorming about naming jazz chords in general (and how chord names sometimes obscure whats going on harmonically) ... to implement something like this would be very difficult, I guess ... I'm only starting to work with lilypond and didn't want to introduce overambitiuos goals. I think what you are planning to do is very valuable and does not need a deep discussion about harmony etc. cheers thomas . Tim McNamara tim...@bitstream.net schrieb im Newsbeitrag news:cf58f389-2dc8-4eef-9cf9-ccd8b7af7...@bitstream.net... On Jun 1, 2009, at 4:13 AM, Tim Rowe wrote: 2009/6/1 Carl D. Sorensen c_soren...@byu.edu: You are welcome to pursue this, if you are interested in it. It is not my interest. I think it shows the impossibility of what you are trying to achieve, at least in the completely general case, although pushing the boundaries closer to that general case is valuable of course. Beyond trivial cases, a combination of notes does not have /a/ name, it has many names depending on the musical context. For jazz chords, the chord notes and the chord names really need to be separated (perhaps an optional name following the notes) unless the software can understand the musical context better than a lot of musicians. Or just stick with chord mode. Particularly when entering the notes and the root is not the chord name. For example, a chord I saw in a Pat Martino chart would have included: d des fes aes which was written as Dbmin/D. I have no idea how one would make LilyPond properly interpret slash chords or compound chords from note entries. Rendering chords written as chord names (des2:m5/d) would of course be simpler. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: scheme function for transposition
The only solution i know is to use the scheme equivalent of \transpose : ly:music-transpose But it is a bit harder... firstNotes = \relative c' { c4 d e f } first = #(define-music-function (parser location trans)(ly:music?) (let* ( (trans-note (car (ly:music-property trans 'elements))) (trans-pitch (ly:music-property trans-note 'pitch)) (delta-pitch (ly:pitch-diff trans-pitch (ly:make-pitch -1 0 0 ;% (display delta-pitch)(newline) (ly:music-transpose (ly:music-deep-copy firstNotes) delta-pitch) )) \score { \new Staff \firstNotes \new Staff \first d \new Staff \first e } %%% Thank you, this works well. I'm trying to understand what's going on in the scheme code. Transposition normally takes the two pitch names as parameters (e.g., \transpose c es \notes). Is the above code something flexible enough that it could work with the first of those being something other than c? (e.g., \transpose f g \notes) Thanks again, Josiah ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
Thomas schrieb: I was just brainstorming, I don`t expect anybody to implement that :-) ... I just thought, if music (as long as it's not abstract) follows some basic principles, why this is not reflected in the chord naming sometimes. Slash Chords are a good example ... they are a good, easily readable instruction what notes to play, but they don't reflect the harmonic function of the chord. I'm sure an illiterate gypsy guitarist could improvise very well over that Pat Martino song, because he recognizes the tonic or dominat character of that chord by ear... that is the underlying harmonic function ... although he shouldn't be able to do that, because slash chords are considered modern, sophisticated, difficult Lets say, that Martino song has a key and a tonic, and the harmony moves in a chain of fifth, half- and whole-tones towards oe away from that tonic, then the Dbmin/D very likely has a dominant or tonic finction within this chain (depending on the rest of this song) and could be named after this function ... but that would be more difficult to read probably. Don't let me be misunderstood... thats just brainstorming about naming jazz chords in general (and how chord names sometimes obscure whats going on harmonically) ... to implement something like this would be very difficult, I guess ... I'm only starting to work with lilypond and didn't want to introduce overambitiuos goals. I think what you are planning to do is very valuable and does not need a deep discussion about harmony etc. cheers thomas I think this is far from being implemented, but it is a nice idea to let the computer do some kind of harmonic analysis to name a given chord structure properly. And with the book from Pöhlert as a starting point, this seems to be doable (at least Pöhlert tries to remove as much mystery out of the jazz theory as possible). Marc . Tim McNamara tim...@bitstream.net schrieb im Newsbeitrag news:cf58f389-2dc8-4eef-9cf9-ccd8b7af7...@bitstream.net... On Jun 1, 2009, at 4:13 AM, Tim Rowe wrote: 2009/6/1 Carl D. Sorensen c_soren...@byu.edu: You are welcome to pursue this, if you are interested in it. It is not my interest. I think it shows the impossibility of what you are trying to achieve, at least in the completely general case, although pushing the boundaries closer to that general case is valuable of course. Beyond trivial cases, a combination of notes does not have /a/ name, it has many names depending on the musical context. For jazz chords, the chord notes and the chord names really need to be separated (perhaps an optional name following the notes) unless the software can understand the musical context better than a lot of musicians. Or just stick with chord mode. Particularly when entering the notes and the root is not the chord name. For example, a chord I saw in a Pat Martino chart would have included: d des fes aes which was written as Dbmin/D. I have no idea how one would make LilyPond properly interpret slash chords or compound chords from note entries. Rendering chords written as chord names (des2:m5/d) would of course be simpler. ___ 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: Lilypond and Jazz chords
Marc Hohl wrote: Thomas schrieb: I was just brainstorming, I don`t expect anybody to implement that :-) ... I just thought, if music (as long as it's not abstract) follows some basic principles, why this is not reflected in the chord naming sometimes. Slash Chords are a good example ... they are a good, easily readable instruction what notes to play, but they don't reflect the harmonic function of the chord. I'm sure an illiterate gypsy guitarist could improvise very well over that Pat Martino song, because he recognizes the tonic or dominat character of that chord by ear... that is the underlying harmonic function ... although he shouldn't be able to do that, because slash chords are considered modern, sophisticated, difficult Lets say, that Martino song has a key and a tonic, and the harmony moves in a chain of fifth, half- and whole-tones towards oe away from that tonic, then the Dbmin/D very likely has a dominant or tonic finction within this chain (depending on the rest of this song) and could be named after this function ... but that would be more difficult to read probably. Don't let me be misunderstood... thats just brainstorming about naming jazz chords in general (and how chord names sometimes obscure whats going on harmonically) ... to implement something like this would be very difficult, I guess ... I'm only starting to work with lilypond and didn't want to introduce overambitiuos goals. I think what you are planning to do is very valuable and does not need a deep discussion about harmony etc. cheers thomas I think this is far from being implemented, but it is a nice idea to let the computer do some kind of harmonic analysis to name a given chord structure properly. And with the book from Pöhlert as a starting point, this seems to be doable (at least Pöhlert tries to remove as much mystery out of the jazz theory as possible). Such a application as Improvisor is using scientific analysis to compose jazz songs.. It's GPL AFAIK http://www.cs.hmc.edu/~keller/jazz/improvisor/ \r ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
Tim McNamara wrote: On Jun 1, 2009, at 4:13 AM, Tim Rowe wrote: 2009/6/1 Carl D. Sorensen c_soren...@byu.edu: You are welcome to pursue this, if you are interested in it. It is not my interest. I think it shows the impossibility of what you are trying to achieve, at least in the completely general case, although pushing the boundaries closer to that general case is valuable of course. Beyond trivial cases, a combination of notes does not have /a/ name, it has many names depending on the musical context. For jazz chords, the chord notes and the chord names really need to be separated (perhaps an optional name following the notes) unless the software can understand the musical context better than a lot of musicians. Or just stick with chord mode. Particularly when entering the notes and the root is not the chord name. For example, a chord I saw in a Pat Martino chart would have included: d des fes aes which was written as Dbmin/D. I have no idea how one would make LilyPond properly interpret slash chords or compound chords from note entries. Rendering chords written as chord names (des2:m5/d) would of course be simpler. I agree with this. Couldn't there be an 'automatic chord mode' and an 'mode which just display the chord names', not the notes? \r ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
On 6/1/09 12:50 PM, Grammostola Rosea rosea.grammost...@gmail.com wrote: Tim McNamara wrote: On Jun 1, 2009, at 4:13 AM, Tim Rowe wrote: 2009/6/1 Carl D. Sorensen c_soren...@byu.edu: You are welcome to pursue this, if you are interested in it. It is not my interest. I think it shows the impossibility of what you are trying to achieve, at least in the completely general case, although pushing the boundaries closer to that general case is valuable of course. Beyond trivial cases, a combination of notes does not have /a/ name, it has many names depending on the musical context. For jazz chords, the chord notes and the chord names really need to be separated (perhaps an optional name following the notes) unless the software can understand the musical context better than a lot of musicians. Or just stick with chord mode. Particularly when entering the notes and the root is not the chord name. For example, a chord I saw in a Pat Martino chart would have included: d des fes aes which was written as Dbmin/D. I have no idea how one would make LilyPond properly interpret slash chords or compound chords from note entries. As far as I can see, there is very little hope for LilyPond making the right decision about this chord entered in note mode. The first note is not the root of the chord, so it would require substantial computation time to try to identify the chord properly (and there's no guarantee that the proper chord identification is unique, based upon just the set of notes). I'm not even proposing to *try* to attack this problem. As far as my current plan goes, this chord would be identified as a D chord of some type, as is the current practice in LilyPond. If the root and inversion have not been identified (which they will not be when chords are entered in note mode), then the first note in the chord is identified as the root, which gives weird chord names. Rendering chords written as chord names (des2:m5/d) would of course be simpler. Yes, and that functionality is not currently as strong as we'd like it to be, I think. That's what I'm proposing to rework, when I get the chance. I agree with this. Couldn't there be an 'automatic chord mode' and an 'mode which just display the chord names', not the notes? What do you mean by 'automatic chord mode', and 'mode which just displays the chord names'? We currently have a context which just displays the chord names. It's called ChordNames. We *don't* have a mode which just *accepts* chord names. We have a mode (chord mode) that accepts a root, a modifier, a maximum chord step, and can add, remove, and modify chord steps, including moving a pitch to the bass or adding a pitch to the bass. This mode does not use chord names per se, because chord names tend to be ambiguous (all one needs to do is look at the variety of names for a given chord as defined by a set of pitches to see this). Parsers tend not to deal well with ambiguities, so what we have is a completely non-ambiguous input format. Someone who understands the chordmode input format can look at a chordmode expression and determine exactly what pitches are intended to be included in the chord. A chordnamemode *input* mode has been proposed a couple of times. This mode would take only a root (and optionally, a slash or alternate bass note), and everything else about the chord would be in the form of a markup. For american jazz chords, this functionality seems to be feasible (but it couldn't handle the german practice of making minor chords have a lower case root name, instead of an upper case root name for a major chord). But I do not have the expertise to implement such a mode, and I'm not really interested in spending my time to develop such a mode. For somebody who is familiar with the parser, it may not be a huge deal to implement such an input mode. If we had such a mode, we could add properties to a ChordEvent, I think we could add the necessary properties to store the chord name information that was generated by the input. And the ChordNames context could be modified to display those (except that I'm not sure how slash notes would be handled; but I would guess it's possible to do so). I guess that the bottom line to this ongoing request for a chord name *input* mode may be able to be implemented, but it will likely take somebody who is interested in it deciding to put in the time to make it happen, like Marc has done with tablature. Discussions about how it might work, what the input syntax should be, etc. can be held, but they will remain just interesting reference material until somebody decides to do something about it. Thanks, Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problems with Piano Staff Template
Mats Bengtsson wrote: Mark Austin wrote: Thanks James. Works a treat now. However, this means the error is in the template in the Learning Manual, since I copied it straight over. The first few lines of the first \score block should be: \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \global \lower \new Dynamics = pedal \pedal Yes of course! Carl or John, could you fix this in LSR and in the GIT copy? A subsidiary question. What does the second \score block do? Ok I fixed this in LSR. Does that mean it will show up properly in the docs next time they're recompiled, or do I need to fix it somewhere else as well? Jon -- Jonathan Kulp http://www.jonathankulp.com ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Problems with Piano Staff Template
On 6/1/09 1:38 PM, Jonathan Kulp jonlancek...@gmail.com wrote: Mats Bengtsson wrote: Mark Austin wrote: Thanks James. Works a treat now. However, this means the error is in the template in the Learning Manual, since I copied it straight over. The first few lines of the first \score block should be: \score { \new PianoStaff = PianoStaff_pf \new Staff = Staff_pfUpper \global \upper \new Dynamics = Dynamics_pf \dynamics \new Staff = Staff_pfLower \global \lower \new Dynamics = pedal \pedal Yes of course! Carl or John, could you fix this in LSR and in the GIT copy? A subsidiary question. What does the second \score block do? Ok I fixed this in LSR. Does that mean it will show up properly in the docs next time they're recompiled, or do I need to fix it somewhere else as well? By fixing it in LSR, when makelsr.py is run, the new versions will get into the docs, IIUC. Thanks, Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
Hi, Just in case it can be helpful, someone (Karl) post a pdf he wrote on MuseScore (http://www.musescore.org) mailing list about chord name display. Musescore is a free GPL WYSIWYG scorewriter (with lilypond export capabilities) Maybe it can be helpful to your current and future work on chord names engraving for light music. Here is the discussion thread: http://n2.nabble.com/Setting-file-associations-for-Windows-td2729864i20.html#a2859233 Here is the link to the pdf : http://www.njonjo.net/chordfonts/chordfonts.pdf HIH Lasconic -- View this message in context: http://www.nabble.com/Lilypond-and-Jazz-chords-tp23778843p23820508.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: scheme function for transposition
Is the above code something flexible enough that it could work with the first of those being something other than c? (e.g., \transpose f g \notes) Just change (ly:make-pitch -1 0 0) (pitch c) by (ly:make-pitch -1 3 0) (pitch f) ( 0 = c, 1 = d, etc ...) If you do want 2 parameters, proceed as for one (copy/past) changing only the names. % firstNotes = \relative c' { c4 d e f } first = #(define-music-function (parser location root trans)(ly:music? ly:music?) (let* ( (trans-note (car (ly:music-property trans 'elements))) (trans-pitch (ly:music-property trans-note 'pitch)) (root-note (car (ly:music-property root 'elements))) (root-pitch (ly:music-property root-note 'pitch)) (delta-pitch (ly:pitch-diff trans-pitch root-pitch))) (ly:music-transpose (ly:music-deep-copy firstNotes) delta-pitch) )) \score { \new Staff \firstNotes \new Staff \first c d \new Staff \first d fis \new Staff \first e a } %% Gilles ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
adding to LSR the thumbnail image is not correct
I have added my template to the LSR but the thumbnail image that appears is not correct. I have tried as both Standalone Snippet and as Large Snippet. Is there something I can do to fix this so the thumbnail appears as it should? Regards, chip ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Better MIDI
Hi, I've put up a page on how to get more realistic sounding MIDI output from current LilyPond, along with the scripts and scheme code used, at http://www.nicta.com.au/people/chubbp/articulate It has before-and-after MIDI samples to listen to, and a full description of what the script does and how to use it. Is there any way that the scheme code can be distributed with LilyPond? It's fairly useful now, but could do with going over by some real experts for improvement. In particular I'd like to get rid of the double pass over all the notes (first to find out what to do then to do it), and the hacked up communication between the two passes. I'd also like to do something about trills and turns with alterations, and do a better calculation for trill duration. -- Dr Peter Chubb peter DOT chubb AT nicta.com.au http://www.ertos.nicta.com.au ERTOS within National ICT Australia Kernel Engineering Group (KEG): Where Systems Brew. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
On Jun 1, 2009, at 2:33 PM, Carl D. Sorensen wrote: A chordnamemode *input* mode has been proposed a couple of times. This mode would take only a root (and optionally, a slash or alternate bass note), and everything else about the chord would be in the form of a markup. For american jazz chords, this functionality seems to be feasible (but it couldn't handle the german practice of making minor chords have a lower case root name, instead of an upper case root name for a major chord). Carl succinctly illuminates another problem, which is that LilyPond works with many different musical systems. I am only familiar with what he calls American jazz chords and would be out to sea if a German chart was placed in front of me- or one of the many other notation systems with which I am unfamiliar. Heck, I am out to sea often enough with American jazz charts! Any changes to the chordname function would need to be context-sensitive to the needs of many musical systems. Would it be feasible to make differences in chord naming conventions part of language-specific files, like \include english.ly or \include german.ly etc.? Or does that just end up resulting in multiple exceptions and complicating things immensely? ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
On 6/1/09 8:56 PM, Tim McNamara tim...@bitstream.net wrote: On Jun 1, 2009, at 2:33 PM, Carl D. Sorensen wrote: A chordnamemode *input* mode has been proposed a couple of times. This mode would take only a root (and optionally, a slash or alternate bass note), and everything else about the chord would be in the form of a markup. For american jazz chords, this functionality seems to be feasible (but it couldn't handle the german practice of making minor chords have a lower case root name, instead of an upper case root name for a major chord). Carl succinctly illuminates another problem, which is that LilyPond works with many different musical systems. I am only familiar with what he calls American jazz chords and would be out to sea if a German chart was placed in front of me- or one of the many other notation systems with which I am unfamiliar. Heck, I am out to sea often enough with American jazz charts! Any changes to the chordname function would need to be context-sensitive to the needs of many musical systems. Would it be feasible to make differences in chord naming conventions part of language-specific files, like \include english.ly or \include german.ly etc.? Or does that just end up resulting in multiple exceptions and complicating things immensely? I think this idea is interesting, but I would be opposed to it. I use nederlands (default) note names, but I want American chord names. As long as we have a relatively simple command to change chord name modes, I think we're OK. Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Better MIDI
On 6/1/09 5:29 PM, Peter Chubb lily.u...@chubb.wattle.id.au wrote: Hi, I've put up a page on how to get more realistic sounding MIDI output from current LilyPond, along with the scripts and scheme code used, at http://www.nicta.com.au/people/chubbp/articulate Peter, I haven't had a chance to look at your code, since I don't have a login to your server, and it wasn't attached to your email to the list. The improved MIDI sounded good to me. I'd like to get it into the distribution. As a first step, it could be included in an optional add-in. The way to make it work is probably to first split your scheme and lilypond code. I'd recommend that you put your scheme code in a new file that could be placed in the scm/ directory, perhaps something like articulation.scm. And then you'll have your lilypond syntax stuff in articulation.ly file that can be placed in the ly/ directory and included in a lilypond file. Then, you can post your articulation.scm and articulation.ly files on the lilypond-devel list, where it will be reviewed by the experts. It has before-and-after MIDI samples to listen to, and a full description of what the script does and how to use it. Is there any way that the scheme code can be distributed with LilyPond? It's fairly useful now, but could do with going over by some real experts for improvement. In particular I'd like to get rid of the double pass over all the notes (first to find out what to do then to do it), and the hacked up communication between the two passes. I'd also like to do something about trills and turns with alterations, and do a better calculation for trill duration. Sounds great. The best way to get a review is to post code on -devel. Thanks, Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
On 6/1/09 1:45 PM, lasconic lasco...@gmail.com wrote: Hi, Just in case it can be helpful, someone (Karl) post a pdf he wrote on MuseScore (http://www.musescore.org) mailing list about chord name display. Musescore is a free GPL WYSIWYG scorewriter (with lilypond export capabilities) Maybe it can be helpful to your current and future work on chord names engraving for light music. Here is the discussion thread: http://n2.nabble.com/Setting-file-associations-for-Windows-td2729864i20.html#a 2859233 Here is the link to the pdf : http://www.njonjo.net/chordfonts/chordfonts.pdf Thank your for this link. It is always helpful to see what other people propose for standards. Personally, I don't like the look of this proposed standard. I'm sure it could be implemented in LilyPond, but I have seen other layouts that I find more pleasing than this one. Thanks, Carl ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Compiling files with lots of data
is this from midi input? if so you should be sure to apply appropriate --allow-tuplet= options. also, funny durations like s32*231 could indicate some kind of grace notes in the original music see http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-midi2ly http://lilypond.org/doc/v2.12/Documentation/user/lilypond-program/Invoking-midi2ly for more details furthermore, specific Voice options - eg. \voiceOne - should be added manually -- View this message in context: http://www.nabble.com/Compiling-files-with-lots-of-data-tp23817155p23826238.html Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond and Jazz chords
Carl D. Sorensen wrote: As far as I can see, there is very little hope for LilyPond making the right decision about this chord entered in note mode. The first note is not the root of the chord, so it would require substantial computation time to try to identify the chord properly (and there's no guarantee that the proper chord identification is unique, based upon just the set of notes). I'm not even proposing to *try* to attack this problem. I agree - determining the chord name based soley on the notes is problematic. What do you call c d f g? My first impression is Csus2,4, but I've seen the same chord notated as G7sus4/C and even as Dm7add4/C (no mention of the missing 5th). A lot of the time, the context (or the way the composer/songwriter is thinking about the composition) determines the way the chord is named. As far as my current plan goes, this chord would be identified as a D chord of some type, as is the current practice in LilyPond. If the root and inversion have not been identified (which they will not be when chords are entered in note mode), then the first note in the chord is identified as the root, which gives weird chord names. And it doesn't even do that right at times. In my earlier email, I mentioned the chord d f aes c that has d as the first note, but the generated chord name is C b6/sus4/sus2. The only way I think that generating more intelligent chord names could be achieved would be to have some way to tag a note in the chord to identify it as the chord root. Rendering chords written as chord names (des2:m5/d) would of course be simpler. Yes, and that functionality is not currently as strong as we'd like it to be, I think. That's what I'm proposing to rework, when I get the chance. I agree with this. Couldn't there be an 'automatic chord mode' and an 'mode which just display the chord names', not the notes? What do you mean by 'automatic chord mode', and 'mode which just displays the chord names'? We currently have a context which just displays the chord names. It's called ChordNames. We *don't* have a mode which just *accepts* chord names. We have a mode (chord mode) that accepts a root, a modifier, a maximum chord step, and can add, remove, and modify chord steps, including moving a pitch to the bass or adding a pitch to the bass. This mode does not use chord names per se, because chord names tend to be ambiguous (all one needs to do is look at the variety of names for a given chord as defined by a set of pitches to see this). Parsers tend not to deal well with ambiguities, so what we have is a completely non-ambiguous input format. Someone who understands the chordmode input format can look at a chordmode expression and determine exactly what pitches are intended to be included in the chord. True - the current chord mode is unambiguous, and IMO easy to understand. The one aspect of it I don't like occurs when you enter something like c:4 or c:m2 - anyone familiar with chord names like C4 or Cm2 will be expecting a triad with an added 4th or 2nd (or maybe a suspended 4th or 2nd, depending on what convention is being followed). What you actually get is c e f and c d. Of course, the manual _does_ make it clear what's going on, and you work around it with c:5.4 or c:m5.2, but it doesn't sit well with what is generally understood about chord names, namely that they are based around *triads*. I would prefer to see the notes of the triad remain regardless of the suffix, unless they are specifically removed with ^ (or 'sus' in the case of the 3rd). But I can live with the current syntax. I'm more interested in getting saner output from ChordNames. When I enter c e f g Lilypond generates Csus4add3 as the chord name. Blehh! Brett ___ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user