Re: MIDI and Volta repeats in parallel music
On Wed, Nov 19, 2014 at 10:54 AM, Michael Ellis wrote: > > > > I find it advantageous when working with multiple voices to keep > 'structural' information (meter, tempo, etc.) in a separate voice that gets > combined with the other voices as illustrated in the image and code below. > In this example, the pdf layout is correct and the MIDI output honors the > tempo change, but doesn't repeat the second measure despite using a > separate score block with \unfoldRepeats. > > After some further research, it appears that there is no general solution (other than copying the volte into each voice) so I'm dropping the question. I have another question that's somewhat related. If my example contained notes above the middle line, you would notice that the stem directions would still be up because I designated \music as \voiceOne and \structure as \VoiceTwo. > music = \relative c' { c4 d e | f g a b } > > structure = { > \time 3/4 \tempo 4=60 s2. > \time 4/4 \tempo 4=120 \repeat volta 2 { s1 } > } > > \score { > \new Staff = "Music" { > << > \new Voice = "Music" { \voiceOne \music } > \new Voice = "Structure" { \voiceTwo \structure } > >> > } > } > > Is there a way to tell LilyPond to apply the usual single voice rules for stem direction to \music? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI and Volta repeats in parallel music
Am 22.11.2014 17:12, schrieb Michael Ellis: I have another question that's somewhat related. If my example contained notes above the middle line, you would notice that the stem directions would still be up because I designated \music as \voiceOne and \structure as \VoiceTwo. music = \relative c' { c4 d e | f g a b } structure = { \time 3/4 \tempo 4=60 s2. \time 4/4 \tempo 4=120 \repeat volta 2 { s1 } } \score { \new Staff = "Music" { << \new Voice = "Music" { \voiceOne \music } \new Voice = "Structure" { \voiceTwo \structure } >> } } Is there a way to tell LilyPond to apply the usual single voice rules for stem direction to \music? Well, in this case you don't have any conflicting music in the two Voice contexts (because the \structure isn't a printed music voice). So you can simply leave out the \voiceXXX commands and you're ready. using \voiceOne and \voiceTwo is not mandatory at all to manage two voices. These commands only give LilyPond the necessary clues how to deal with potential collision events and how to typeset the voices (e.g. the stem direction you noticed, but also which voice would move to which direction in case of collisions etc.). HTH Urs ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI and Volta repeats in parallel music
On Sat, Nov 22, 2014 at 11:16 AM, Urs Liska wrote: > > > Well, in this case you don't have any conflicting music in the two Voice > contexts (because the \structure isn't a printed music voice). > So you can simply leave out the \voiceXXX commands and you're ready. > > using \voiceOne and \voiceTwo is not mandatory at all to manage two > voices. These commands only give LilyPond the necessary clues how to deal > with potential collision events and how to typeset the voices (e.g. the > stem direction you noticed, but also which voice would move to which > direction in case of collisions etc.). > Works beautifully. Thanks, Urs! Mike ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI and Volta repeats in parallel music
> "Michael" == Michael Ellis writes: >> >> >> Well, in this case you don't have any conflicting music in the two >> Voice contexts (because the \structure isn't a printed music >> voice). So you can simply leave out the \voiceXXX commands and >> you're ready. What's more, is there a reason to have the structure in a different voice? If you have it in the *same* voice, voltas will get unfolded properly too: \score { \unfoldAllRepeats \new Staff = "Music" { \new Voice = "Music" << \music \structure >> } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI and Volta repeats in parallel music
On Sun, Nov 23, 2014 at 4:46 PM, wrote: > What's more, is there a reason to have the structure in a different > voice? > > > Good question. For me, it's mostly about the DRY principle (don't repeat yourself). I'm in the process of writing a program that tries to maximize one's opportunities to exploit the repetitive aspects of most compositions when entering the notation for multiple voices. It's a work in progress, but if you're curious it lives at https://github.com/Michael-F-Ellis/TransLily As for the whole \repeat unfold business, I'd love to understand why LP can merge repeats in the PDF but can't do it MIDI. I know the developers are really smart folks, so it must be way more challenging than I'm imagining. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI and Volta repeats in parallel music
> "Michael" == Michael Ellis writes: Michael> On Sun, Nov 23, 2014 at 4:46 PM, Michael> wrote: >> What's more, is there a reason to have the structure in a different >> voice? Michael> Good question. For me, it's mostly about the DRY principle Michael> (don't repeat yourself). I'm in the process of writing a Michael> program that tries to maximize one's opportunities to exploit Michael> the repetitive aspects of most compositions when entering the Michael> notation for multiple voices. It's a work in progress, but Michael> if you're curious it lives at Michael> https://github.com/Michael-F-Ellis/TransLily My point I think is that the structure is the structure of the voice, not the structure of the staff. Which is why, BTW, the MIDI repeats don't unfold. Visibly the structure voice shows the repeats, but the repeats aren't actually in the music voice. So when you unfold you get: << \music { \structure \structure \structure } >> I Michael> As for the whole \repeat unfold business, I'd love to Michael> understand why LP can merge repeats in the PDF but can't do Michael> it MIDI. I know the developers are really smart folks, so it Michael> must be way more challenging than I'm imagining. t can't merge them in the PDF either. But when it prints them as repeat symbols, you can't tell from the printout. Try this: --- \version "2.18.0" music= << \new Staff << \new Voice \relative c' { c4 c c c } \new Voice \relative c' { \repeat volta 2 { s1 }} >> >> \score { \music } \score { \unfoldRepeats \music } --- And look at the PDF. The second system shows the unfolded structure. Peter C ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: MIDI and Volta repeats in parallel music
On Sun, Nov 23, 2014 at 10:33 PM, Peter Chubb wrote: > My point I think is that the structure is the structure of the voice, > not the structure of the staff. Which is why, BTW, the MIDI repeats > don't unfold. > > Visibly the structure voice shows the repeats, but the repeats aren't > actually in the music voice. > I do understand that and it makes sense for LP to support almost any crazy thing a composer might do. As practical matter, however, having volte in one voice and not another is extremely rare. I don't think I've ever seen that in a score. I haven't looked at the LilyPond code for \repeat, so I'm just guessing here, but it seems to me that maybe \repeat unfold is wrong tool for job since it operates at the level of music expressions. Maybe what's needed is lower level code that operates at the level of midi file timing. I think it's analogous to what LP has to do to put the repeat bars and other staff-level annotations from one voice in the right spatial location to relative to another voice's. That's a non-trivial task in itself, without even getting into what LP does to avoid vertical collisions. So it if were up to me (and it certainly isn't), I'd like to see some effort put into developing a new command to designated one voice as a 'master' in the midi block, so that one might write something like \score { << \structure \\ voiceA \\ voiceB ... >> \midi { \master \structure } } to tell LP "Keep track of the repeats in the master and copy/paste as needed in the other voices to make it so." This is a good discussion and I hope we can continue it. I'm going to be traveling for the next 2 days so if my responses aren't immediate it doesn't mean I'm not interested. Cheers, Mike ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user