Re: midi for orchestral scores
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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