[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: midi for orchestral scores
From: |
Brett McCoy |
Subject: |
Re: midi for orchestral scores |
Date: |
Thu, 28 Jun 2012 07:54:01 -0400 |
On Thu, Jun 28, 2012 at 7:36 AM, Nils <address@hidden> 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
- midi for orchestral scores, Shevek, 2012/06/27
- Re: midi for orchestral scores, Nils, 2012/06/28
- Re: midi for orchestral scores, Jan Nieuwenhuizen, 2012/06/28
- Re: midi for orchestral scores, Ralf Mattes, 2012/06/28
- Re: midi for orchestral scores, Shevek, 2012/06/28