Re: Lyric representation in MIDI?

2008-05-06 Thread Arvid Grøtting
Mats Bengtsson <[EMAIL PROTECTED]> writes:

> For songs with several verses, I guess the lyric printouts won't
> make any sense, no matter how we place the information in the MIDI
> files.

Not unless we introduce some kind of semantic to tell Lilypond that
they are verses, anyway.

pseudocode-like idea:

\repeat verses 3 \music

...

\lyricsto foo \verses { \verseI \verseII \verseIII }

...where a "\repeat verses" wouldn't show up in print, but could be
expanded in MIDI, and \verses would put its arguments below each other
in print and after each other (or just output the first argument)
in MIDI.

I'm not offering to implement or sponsor this, though; I'm just trying
to point out what would be needed to get somehow intelligent MIDI
output for multiple verses automatically.

Within today's framework and a bit of hacking, the same effect can of
course be acheived with a separate \score block for MIDI, but not as
automatically.  Here's what I do currently:

\score {
  \new Score {
\global
\unfoldRepeats
<<
  \markups
  \new Staff = "Tenor I" {
\set Staff.midiInstrument = #"oboe"
\tiMusic
  }
  \new Staff = "Tenor II" {
\set Staff.midiInstrument = #"trumpet"
\tiiMusic
  }
  \new Staff = "Bass I" {
\set Staff.midiInstrument = #"bassoon"
\biMusic
  }
  \new Staff = "Bass II" {
\set Staff.midiInstrument = #"baritone sax"
\biiMusic
  }
>>
  }
  \midi {}
}

\global and \markups hold different common stuff here, while \tiMusic
etc hold music for each voice.

Notice the complete lack of lyrics in my MIDI output when I use this.
(The \score block I use for printing is of course quite different.)



-- Arvid



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lyric representation in MIDI?

2008-05-06 Thread Francisco Vila
2008/5/6 Mats Bengtsson <[EMAIL PROTECTED]>:
>  Currently, LilyPond uses a separate track (and channel) for each Lyric
> context to output
>  the corresponding lyric syllables,

AFAICT all lyrics could perfectly go into the same track. Lyrics
events and other META events do not have a channel.

One difference between tracks and channels is that tracks should not
affect playback, they are there only for convenience if you want to
import the file into a sequencer.

Also remember that tracks can mix events from multiple channels.

> so that players like timidity (and
> certainly several other
>  "Karaoke" like players) can print the lyrics on the screen while playing
> the music.


>  Using one track for each Lyric context seems like a waste,

AFAICT tracks do not have the limit of 16.

> I
>  don't really see the point of separating the different lyric lines into
> separate tracks/channels.

Can the lyrics really be separated into separate channels?

>
>  Is there any possibility to lump all the lyrics into a single
> track/channel,

Do Lyrics have a channel at all? I think not.

> perhaps even in the
>  control track (track 0) so that the remaining 14 channels

You mix tracks and channels again. Use track 0 for lyrics and you
still have many free tracks, with 15 channels each.

-- 
Francisco Vila. Badajoz (Spain)
http://www.paconet.org


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Lyric representation in MIDI?

2008-05-06 Thread Mats Bengtsson
Perhaps some of you have MIDI expertise enough to answer the following 
question.


Currently, LilyPond uses a separate track (and channel) for each Lyric 
context to output
the corresponding lyric syllables, so that players like timidity (and 
certainly several other
"Karaoke" like players) can print the lyrics on the screen while playing 
the music.
Using one track for each Lyric context seems like a waste, especially in 
examples like the
"All ye People Clap your Hands" posted earlier today on lilypond-user, 
where the same
lyrics is repeated below each stave for readibility reasons. However, 
even otherwise I
don't really see the point of separating the different lyric lines into 
separate tracks/channels.


Is there any possibility to lump all the lyrics into a single 
track/channel, perhaps even in the
control track (track 0) so that the remaining 14 channels can be used 
for the actual music
(one channel per Staff context, by default)? Because of the lack of 
standardization of MIDI,
I guess you would have to try a number of different sequencers and MIDI 
players to
make sure that this works as expected, or perhaps some of you have 
experience enough to

answer the question anyway?

As far as I can see, there are no channel number indications in the 
lyric messages in the
generated MIDI files, which according to my reading of 
http://lists.gnu.org/archive/html/bug-lilypond/2003-10/msg00069.html

indicates that they actually should be placed in track 0.

For songs with several verses, I guess the lyric printouts won't make 
any sense, no matter how

we place the information in the MIDI files.

   /Mats

--
=
Mats Bengtsson
Signal Processing
School of Electrical Engineering
Royal Institute of Technology (KTH)
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
   Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user