Re: midi for orchestral scores

2012-06-29 Thread ArnoldTheresius



Shevek wrote:
 
 As I see it, the primary issue here from a user's perspective is that
 lilypond presents us with a choice between playback limited to 16 channels
 and going all the way to the other extreme and learning to use complicated
 sequencer software just to get all the instruments to sound. ... 

This reminds me to another 'old' idea:
A new XML syntax file format which eleminates the most important
restrictions of todays midi file:
- unlimited number of voices (much more than 16)
- unlimited number of instrument patches (more than 256)
- microtonality without pitch bending (semitone pitch number as rational
number)
- true slur (active pitch1 becomes pitch2 instead of release key for pitch1
and press key for pitch2) 
- stereo (or more chanels) output definitions per voice

I know, this would also require some programmers to implement such an
'extension' on the sequencers, e.g. timidity.

So, I would say, this can only be a far goal for the future.

-- 
View this message in context: 
http://old.nabble.com/midi-for-orchestral-scores-tp34083696p34090646.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


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


Re: midi for orchestral scores

2012-06-28 Thread Nils
Shevek s...@saultobin.com wrote:

 
 I was wondering if anyone has developed a good workflow for dealing with midi
 playback for scores using more than 16 instruments. I've been playing around
 with the various options for midiChannelMapping and playback programs, but I
 can't seem to figure out a way to get playback of all the parts with all the
 right instruments. I realize the technical hurdles of actually implementing
 multiple port playback in Lilypond, so I'm not asking about that. All the
 same, it doesn't seem that what I want is that complicated from a user
 perspective. I don't want to be able to tweak my midi in fancy ways or use
 different special soundfonts or sample libraries: I just want to be able to
 check the pitches and rhythms for all the parts with the correct midi
 sounds. Does anyone have a good way of doing this?
 
 I thought maybe the simplest way would be to make, for example, a midi file
 for the wind parts, and a midi file for the string parts, and then play them
 simultaneously to two separate midi ports, but I can't seem to figure out
 how to get the files to play in sync.
 
 Suggestions?


We are dealing with midi here, that means 16 instruments max. at each given 
time.
If you want more you need to use several players in sync, connected to several 
samples/synths. One for each player.
Since that is hard to do manually this role is done by software called 
Sequencer.

What lilypond needs to do is to export 16 instruments on 16 channels and then 
import all to QTractor or similar, hook it up to several instances of 
fluidsynth, timidity or Linuxsampler and play away.

This is hard work and best automated. Lilypond is no sequencer and afaik nobody 
wrote a script or program to automate the whole process.

Nils




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


Re: midi for orchestral scores

2012-06-28 Thread Brett McCoy
On Thu, Jun 28, 2012 at 7:36 AM, Nils l...@nilsgey.de wrote:

 I thought maybe the simplest way would be to make, for example, a midi file
 for the wind parts, and a midi file for the string parts, and then play them
 simultaneously to two separate midi ports, but I can't seem to figure out
 how to get the files to play in sync.

 Suggestions?


 We are dealing with midi here, that means 16 instruments max. at each given 
 time.
 If you want more you need to use several players in sync, connected to 
 several samples/synths. One for each player.
 Since that is hard to do manually this role is done by software called 
 Sequencer.

 What lilypond needs to do is to export 16 instruments on 16 channels and then 
 import all to QTractor or similar, hook it up to several instances of 
 fluidsynth, timidity or Linuxsampler and play away.

 This is hard work and best automated. Lilypond is no sequencer and afaik 
 nobody wrote a script or program to automate the whole process.

For basic playback from Lilypond (like via Frescobaldi), I create a
separate context for MIDI, and then will do something like put all
horns on a single instrument, brass on a single instrument (brass
ensemble), all strings on a single instrument (string ensemble), and
so on, to keep it all on the single MIDI channel. Then yes, once I am
done composing I bring the MIDI into Rosegarden or similar and then
create a proper performance for it (which Lilypond is not good for,
and was never intended to be a performance app).

As an example:

For a horn, I will have this for the notes:

hornOneF = \transpose c g \relative c' {
  \global

  % Music follows here.

 ...
}

hornTwoF = \transpose c g \relative c' {
  \global
  % Music follows here.

  ...
}


% this is for the printed score
hornOneFPart = \new Staff \with {
  \override InstrumentName #'self-alignment-X = #RIGHT
  instrumentName = \markup \right-column {1,2}
  shortInstrumentName = \markup \right-column {1,2}
} \hornOneF

hornTwoFPart = \new Staff \with {
  \override InstrumentName #'self-alignment-X = #RIGHT
  instrumentName = \markup \right-column {3,4}
  shortInstrumentName = \markup \right-column {3,4}
} \hornTwoF

%score layout
\score {

...

\new StaffGroup = StaffGroupSquare_Horns {

  \set StaffGroup.systemStartDelimiter = #'SystemStartSquare
  \set StaffGroup.instrumentName = \markup {\left-align Horn in F}
  \set StaffGroup.shortInstrumentName = Hn.F
  \hornOneFPart
  \hornTwoFPar
}

And then the MIDI stuff:


hornFMIDI = \new Staff \with {
  midiInstrument = french horn
}

  \new Voice = horn 1 {
\voiceOne
\transpose g c
\hornOneF
  }

  \new Voice = horn 2 {
\voiceOne
\transpose g c
\hornTwoF
  }




%this score context does MIDI output
\score {
  
\fluteMIDI
\oboeMIDI
\clarinetMIDI
\englishHornMIDI
\bassoonMIDI
\contraBassoonMIDI
\hornFMIDI
\brassMIDI
\timpaniMIDI
\DrumsIMIDI
\celesteMIDI
\stringsMIDI
\contraBassMIDI
  

  \midi {
\context {
  \Score
}
  }
}




-- 
Brett W. McCoy -- http://www.brettwmccoy.com

In the rhythm of music a secret is hidden; If I were to divulge it,
it would overturn the world.
    -- Jelaleddin Rumi

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


Re: midi for orchestral scores

2012-06-28 Thread David Kastrup
Brett McCoy idragos...@gmail.com writes:

 For a horn, I will have this for the notes:

 hornOneF = \transpose c g \relative c' {
   \global

   % Music follows here.

  ...
 }

[...]

 
   \new Voice = horn 1 {
 \voiceOne
 \transpose g c
 \hornOneF
   }

It makes more sense to put

\transposition g'

into the horn part itself (but leave the \transpose c g for the horn
part in place).  Then you don't need to retranspose the Midi afterwards:
it will be in sounding pitch anyway.

It also means that if you quote the horn part in other parts as a cue,
the cue will appear in the proper sounding pitch rather than in the
horn's transposition.

\transposition does not change the output at the place it is written: it
only affects the interpretation if you use it in Midi or quote it
elsewhere.

-- 
David Kastrup


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


Re: midi for orchestral scores

2012-06-28 Thread Brett McCoy
On Thu, Jun 28, 2012 at 8:01 AM, David Kastrup d...@gnu.org wrote:

 It makes more sense to put

 \transposition g'

 into the horn part itself (but leave the \transpose c g for the horn
 part in place).  Then you don't need to retranspose the Midi afterwards:
 it will be in sounding pitch anyway.

Ah, good, thanks for the tip!

-- 
Brett W. McCoy -- http://www.brettwmccoy.com

In the rhythm of music a secret is hidden; If I were to divulge it,
it would overturn the world.
    -- Jelaleddin Rumi

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


Re: midi for orchestral scores

2012-06-28 Thread Ralf Mattes
On Thu, 28 Jun 2012 13:36:59 +0200, Nils wrote:

 Shevek s...@saultobin.com wrote:
 
 
 I was wondering if anyone has developed a good workflow for dealing
 with midi playback for scores using more than 16 instruments. I've been
 playing around with the various options for midiChannelMapping and
 playback programs, but I can't seem to figure out a way to get playback
 of all the parts with all the right instruments. I realize the
 technical hurdles of actually implementing multiple port playback in
 Lilypond, so I'm not asking about that. All the same, it doesn't seem
 that what I want is that complicated from a user perspective. I don't
 want to be able to tweak my midi in fancy ways or use different special
 soundfonts or sample libraries: I just want to be able to check the
 pitches and rhythms for all the parts with the correct midi sounds.
 Does anyone have a good way of doing this?
 
 I thought maybe the simplest way would be to make, for example, a midi
 file for the wind parts, and a midi file for the string parts, and then
 play them simultaneously to two separate midi ports, but I can't seem
 to figure out how to get the files to play in sync.
 
 Suggestions?
 
 
 We are dealing with midi here, that means 16 instruments max. at each
 given time.

Are we? Since when can Lilypond talk Midi? IIRC Lily does produce Midi
files (Format 1, to be precise) and those can hold way more than 16 tracks
(65,535? I think the track count is a word/2Byte). So there would be 
plenty of space to export even larger orchestra scores   ;-)


 Cheers, Ralf Mattes


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


Re: midi for orchestral scores

2012-06-28 Thread David Kastrup
Ralf Mattes r...@mh-freiburg.de writes:

 On Thu, 28 Jun 2012 13:36:59 +0200, Nils wrote:

 We are dealing with midi here, that means 16 instruments max. at each
 given time.

 Are we? Since when can Lilypond talk Midi? IIRC Lily does produce Midi
 files (Format 1, to be precise) and those can hold way more than 16 tracks
 (65,535? I think the track count is a word/2Byte). So there would be 
 plenty of space to export even larger orchestra scores   ;-)

URL:http://en.wikipedia.org/wiki/Comparison_of_MIDI_standards
disagrees.  16 channels for General Midi as well as General Midi 2.

-- 
David Kastrup


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


Re: midi for orchestral scores

2012-06-28 Thread Ralf Mattes
On Thu, 28 Jun 2012 18:23:01 +0200, David Kastrup wrote:

 Ralf Mattes r...@mh-freiburg.de writes:
 
 On Thu, 28 Jun 2012 13:36:59 +0200, Nils wrote:

 We are dealing with midi here, that means 16 instruments max. at each
 given time.

 Are we? Since when can Lilypond talk Midi? IIRC Lily does produce Midi
 files (Format 1, to be precise) and those can hold way more than 16
 tracks (65,535? I think the track count is a word/2Byte). So there
 would be plenty of space to export even larger orchestra scores  
 ;-)
 
 URL:http://en.wikipedia.org/wiki/Comparison_of_MIDI_standards
 disagrees.  16 channels for General Midi as well as General Midi 2.

But that page only describes Midi channel mappings (meaning: how to
map a channel to a sound). This has nothing to do with Midi files -
a midi file (format 1) can hold up to 65,535 tracks. Just follow the
link to the main MIDI page an look at 

 http://en.wikipedia.org/wiki/MIDI#File_formats

 Cheers, RalfD

 


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


Re: midi for orchestral scores

2012-06-28 Thread Christ van Willegen
On Thu, Jun 28, 2012 at 6:39 PM, Ralf Mattes r...@mh-freiburg.de wrote:
 But that page only describes Midi channel mappings (meaning: how to
 map a channel to a sound). This has nothing to do with Midi files -
 a midi file (format 1) can hold up to 65,535 tracks. Just follow the
 link to the main MIDI page an look at

Same goes for .GIF files. They _can_ hold more than 256 colors in one
image (see http://phil.ipal.org/tc.html for an example of this)

Christ van Willegen
-- 
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

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


Re: midi for orchestral scores

2012-06-28 Thread Nils
On Thu, 28 Jun 2012 16:04:01 + (UTC)
Ralf Mattes r...@mh-freiburg.de wrote:

 On Thu, 28 Jun 2012 13:36:59 +0200, Nils wrote:
 
  Shevek s...@saultobin.com wrote:
  
  
  I was wondering if anyone has developed a good workflow for dealing
  with midi playback for scores using more than 16 instruments. I've been
  playing around with the various options for midiChannelMapping and
  playback programs, but I can't seem to figure out a way to get playback
  of all the parts with all the right instruments. I realize the
  technical hurdles of actually implementing multiple port playback in
  Lilypond, so I'm not asking about that. All the same, it doesn't seem
  that what I want is that complicated from a user perspective. I don't
  want to be able to tweak my midi in fancy ways or use different special
  soundfonts or sample libraries: I just want to be able to check the
  pitches and rhythms for all the parts with the correct midi sounds.
  Does anyone have a good way of doing this?
  
  I thought maybe the simplest way would be to make, for example, a midi
  file for the wind parts, and a midi file for the string parts, and then
  play them simultaneously to two separate midi ports, but I can't seem
  to figure out how to get the files to play in sync.
  
  Suggestions?
  
  
  We are dealing with midi here, that means 16 instruments max. at each
  given time.
 
 Are we? Since when can Lilypond talk Midi? IIRC Lily does produce Midi
 files (Format 1, to be precise) and those can hold way more than 16 tracks
 (65,535? I think the track count is a word/2Byte). So there would be 
 plenty of space to export even larger orchestra scores   ;-)
 
 
  Cheers, Ralf Mattes

Yes. 16 sounds because we have 16 channels max. And you can double two horns on 
one channel but you can't pan one to the left and one to the right.
So in the end its 16 instruments + tricks like sharing one instrument patch for 
all strings.

If you want more you need a midi wrapper/syncer (sequencer software or player 
with its own protocol).

Nils


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


Re: midi for orchestral scores

2012-06-28 Thread Jan Nieuwenhuizen
Nils writes:

 Yes. 16 sounds because we have 16 channels max. And you can double two
 horns on one channel but you can't pan one to the left and one to the
 right.
 So in the end its 16 instruments + tricks like sharing one instrument patch 
 for all strings.

Yes, we have at least three ways of writing midi files now.  There are
at least two theoretical ways of setting many more instruments than 16
and we support two (using ports and instrument per track, ignoring
channel); but as far as I know there are no midi players that handle
those.

Jan

-- 
Jan Nieuwenhuizen jann...@gnu.org | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

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


Re: midi for orchestral scores

2012-06-28 Thread Ralf Mattes
On Thu, 28 Jun 2012 19:46:59 +0200, Nils wrote:

 
 Yes. 16 sounds because we have 16 channels max. 

No. Channels (as the name implies) are a way to address more than one
sound over a communication channel (used to be a serial cable). Think
of bus architecture. But the OP doesn't need to use cables (who does
these days?). With a decent player you can assign a different sound 
to each track (actually you _could_ use up to 16 simultaneous addressable
sounds per track). 
 
 And you can double two
 horns on one channel but you can't pan one to the left and one to the
 right. So in the end its 16 instruments + tricks like sharing one
 instrument patch for all strings.

You can do all this _per track_ 
 
 If you want more you need a midi wrapper/syncer (sequencer software or
 player with its own protocol).

How do you distinct a player from a sequencer?

Cheers, RalfD

 
 Nils



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


Re: midi for orchestral scores

2012-06-28 Thread Ralf Mattes
On Thu, 28 Jun 2012 20:07:40 +0200, Jan Nieuwenhuizen wrote:

 Nils writes:
 
 Yes. 16 sounds because we have 16 channels max. And you can double two
 horns on one channel but you can't pan one to the left and one to the
 right.
 So in the end its 16 instruments + tricks like sharing one instrument
 patch for all strings.
 
 Yes, we have at least three ways of writing midi files now.  There are
 at least two theoretical ways of setting many more instruments than 16
 and we support two (using ports and instrument per track, ignoring
 channel); but as far as I know there are no midi players that handle
 those.

Both seq24 and qtractor open such files without any problems.

 Cheers, RalfD


 Jan



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


Re: midi for orchestral scores

2012-06-28 Thread David Kastrup
Ralf Mattes r...@mh-freiburg.de writes:

 On Thu, 28 Jun 2012 19:46:59 +0200, Nils wrote:

 
 Yes. 16 sounds because we have 16 channels max. 

 No. Channels (as the name implies) are a way to address more than one
 sound over a communication channel (used to be a serial cable). Think
 of bus architecture. But the OP doesn't need to use cables (who does
 these days?). With a decent player you can assign a different sound 
 to each track (actually you _could_ use up to 16 simultaneous addressable
 sounds per track). 
  
 And you can double two
 horns on one channel but you can't pan one to the left and one to the
 right. So in the end its 16 instruments + tricks like sharing one
 instrument patch for all strings.

 You can do all this _per track_ 

Patch or it doesn't happen.

Seriously: theoretic arguments will not get us far.  Whatever the theory
might be, it needs to get folded into LilyPond, and the results still
have to work under practical circumstances.

I have no clue about the Midi area myself.

-- 
David Kastrup


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


Re: midi for orchestral scores

2012-06-28 Thread Ralf Mattes
On Thu, 28 Jun 2012 20:35:10 +0200, David Kastrup wrote:

 Ralf Mattes r...@mh-freiburg.de writes:
 
 On Thu, 28 Jun 2012 19:46:59 +0200, Nils wrote:


 Yes. 16 sounds because we have 16 channels max.

 No. Channels (as the name implies) are a way to address more than one
 sound over a communication channel (used to be a serial cable). Think
 of bus architecture. But the OP doesn't need to use cables (who does
 these days?). With a decent player you can assign a different sound to
 each track (actually you _could_ use up to 16 simultaneous addressable
 sounds per track).
  
 And you can double two
 horns on one channel but you can't pan one to the left and one to the
 right. So in the end its 16 instruments + tricks like sharing one
 instrument patch for all strings.

 You can do all this _per track_ 
 
 Patch or it doesn't happen.

??? But it already _does_ happen ;-)

Just add 
   \set Score.midiChannelMapping = #'instrument

to your score definition and you get a track per instrument.
Now it _would_ be nice if Staff.instrumentName would somehow end
up in the midi track name (so assigning instruments to the track in
the player/sequencer would be easier)
N.B.: you can of course assign  'Staff.midiInstrument' but that lets 
you only specify GM instrument names, which IMVHO are absolutely
inappropriate for anything but,erm, 80th midi musak  ;-)


 Cheers, RalfD
 

 Seriously: theoretic arguments will not get us far.  Whatever the theory
 might be, it needs to get folded into LilyPond, and the results still
 have to work under practical circumstances.
 
 I have no clue about the Midi area myself.



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


Re: midi for orchestral scores

2012-06-28 Thread Shevek


R. Mattes wrote:
 
 Yes, we have at least three ways of writing midi files now.  There are
 at least two theoretical ways of setting many more instruments than 16
 and we support two (using ports and instrument per track, ignoring
 channel); but as far as I know there are no midi players that handle
 those.
 
 Both seq24 and qtractor open such files without any problems.
 

As I see it, the primary issue here from a user's perspective is that
lilypond presents us with a choice between playback limited to 16 channels
and going all the way to the other extreme and learning to use complicated
sequencer software just to get all the instruments to sound. I don't need
fancy software instruments or to tweak the MIDI events lists or anything
like that that the pros use sequencer software for. All I want is to be able
to route MIDI channels 17-32 to a second MIDI port so that I can get General
MIDI playback of all the instruments. If I'm not mistaken, that sort of port
routing is possible in a single MIDI file, and is readable to standard MIDI
players such as timidity, pmidi and fluidsynth.

-- 
View this message in context: 
http://old.nabble.com/midi-for-orchestral-scores-tp34083696p34088922.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


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


midi for orchestral scores

2012-06-27 Thread Shevek

I was wondering if anyone has developed a good workflow for dealing with midi
playback for scores using more than 16 instruments. I've been playing around
with the various options for midiChannelMapping and playback programs, but I
can't seem to figure out a way to get playback of all the parts with all the
right instruments. I realize the technical hurdles of actually implementing
multiple port playback in Lilypond, so I'm not asking about that. All the
same, it doesn't seem that what I want is that complicated from a user
perspective. I don't want to be able to tweak my midi in fancy ways or use
different special soundfonts or sample libraries: I just want to be able to
check the pitches and rhythms for all the parts with the correct midi
sounds. Does anyone have a good way of doing this?

I thought maybe the simplest way would be to make, for example, a midi file
for the wind parts, and a midi file for the string parts, and then play them
simultaneously to two separate midi ports, but I can't seem to figure out
how to get the files to play in sync.

Suggestions?
-- 
View this message in context: 
http://old.nabble.com/midi-for-orchestral-scores-tp34083696p34083696.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


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