lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: getting repeats to play in midi


From: Tom Cloyd
Subject: Re: getting repeats to play in midi
Date: Thu, 14 Apr 2011 03:09:39 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110303 Lightning/1.0b2 Thunderbird/3.1.9

Well (sigh), it didn't change a thing. At the first repeat I still get aural chaos. I have posted my entire code at http://pastie.org/1794353, if you have a moment to look at it. I really cannot seem to get my head around this midi repeat thing, and my searches for anything helpful have not led me anywhere. I'm stumped at the moment.

Any suggestions would be much appreciated!

Tom

On 04/13/2011 12:31 AM, Janek WarchoĊ‚ wrote:
Hi,

2011/4/13 Tom Cloyd<address@hidden>:
I want to have a PDF score with simple repeats, and a midi file in which all
repeats are taken. This is revision of a program file which has been working
perfectly, except that the midi evidence no repeats. I'm achieving all
engraved repeats using the \repeat volta 2{ music} convention.

I'm using Lilypond ver. 2.13.53. Following the Notation Reference section
3.5.4 - "Repeats in MIDI", I have changed the \score blocks in my ly file to
read:

\score {
   \context Staff = "guitar" \with {
   \consists "Span_arpeggio_engraver"
   }
   <<
   %\set Staff.instrumentName="Classical Guitar"  %puts name to left of line
one
   \set Staff.midiInstrument="acoustic guitar (nylon)"
   \set Staff.connectArpeggios = ##t
   \context Voice = "melody" \melody
   \context Voice = "alto" \alto
   \context Voice = "bass" \bass
   >>

  \layout {
    indent = 0.0\cm % remove indent on first staff
    }
}
\score {
   \unfoldRepeats
   <<
   %\set Staff.instrumentName="Classical Guitar"  %puts name to left of line
one
   \set Staff.midiInstrument="acoustic guitar (nylon)"
   \set Staff.connectArpeggios = ##t
   \context Voice = "melody" \melody
   \context Voice = "alto" \alto
   \context Voice = "bass" \bass
   >>
   \midi { %causes generation of midi score\
   }
}
I see two possible reasons. First, you don't initialize a staff in
your midi-score. Second, you use \context while \new might be more
appropriate.

I'd also advice you to write your whole structure to a variable,
instead of writing it twice. I mean something like

structure = {
\new Staff = "guitar" \with { \consists "Span_arpeggio_engraver" }
   <<
   %\set Staff.instrumentName="Classical Guitar"  %puts name to left of line one
   \set Staff.midiInstrument="acoustic guitar (nylon)"
   \set Staff.connectArpeggios = ##t
   \context Voice = "melody" \melody
   \context Voice = "alto" \alto
   \context Voice = "bass" \bass
   >>
}

% And then

\score {
   \structure
   \layout {
       indent = 0.0\cm % remove indent on first staff
     }
}

\score {
   \unfoldRepeats \structure
   \midi { %causes generation of midi score\
     }
}

Hope this helps,
Janek


--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

"It is impossible for a man to learn what he thinks he already
knows." ~ Epictetus (c.55-c.135)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA
Private practice Psychotherapist
St. George, Utah, U.S.A: (435) 272-3332
<<  address@hidden>>  (email)
<<  TomCloyd.com>>  (website)
<<  sleightmind.wordpress.com>>  (mental health issues weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




reply via email to

[Prev in Thread] Current Thread [Next in Thread]