Thoughts from the mind of S C A R B E E, 13-01-2003:
>In Giga I switch between the 4 strings using 4 program changes, but
>this can't be done in EXS24 mk II.
Correct.
>In Giga I switch between the 4 strings using 4 program changes, but
>this can't be done in EXS24 mk II.
>I tried to assing a mod-wheel value to each ot the strings, but this
>won't work because EXS24 goes bananas when you try to make more than
>32 zones/layers. Each string uses 32 layers so this would be 128
>zones/layers.
So this means that using one EXS instance with all 4 strings is
impossible, which leaves you with the only other option -- using 4
EXS instances. However:
>What probably could be done was to make a multi-instrument that
>connect to 4 EXS24 - each having 1 string.
>However I don't know how to set this up.
The problem then is that you effectively try to play 4 EXS instances
simultaneously (which you, in fact don't -- you only play one at a
time, but as far as Logic is concerned it "looks as if" you try to
play 4 at the same time), and playing multiple virtual instruments
simultaneously is impossible -- unfortunately (VERY unfortunately).
>I need to be able to play with each string and playback on the same
>midi-track.
>Using a different track for each string can be done - but it is not
>very cool...
I think this is unsolvable. Method 1 (one instrument) is impossible,
since the EXS doesn't allow enough layers. Method 2 (4 instruments)
is equally impossible, since Logic doesn't allow live playing of
multiple virtual instruments.
The best possible workaround I can think of (which might or might not
be acceptable, depending on your exact needs) would be this:
1) Create an EXS instrument with all 4 strings. In order to
circumvent the layer limitation, make this a stripped down version of
the original instrument(s). I.e. less layers. This compromises
sound quality, but at least will allow you to play all 4 strings
live. In the Instrument Editor, assign each string to its own Group,
and in the EXCS interface use program changes as "group select". If
that is not possible (can't check right now), it's quite easy to set
up a very basic environment patch that will let you use whichever
program changes to switch between EXS groups. If you need help with
that, just yell. Use this setup for recording / live-playing.
2) Have 4 EXS instances, each with a "full" string loaded (i.e. all
layers). Now make an environment patch that distributes the notes
you recorded with 1) to the proper EXS instance. I.e. you use one
EXS in 1) for recording, and then assign the recorded track to 2)
which uses 4 EXS's. The idea is that while Logic doesn't allow you
to route incoming (live) midi to 4 simultaneous EXS's, you _can_
route "track-midi" upon playback to 4 such EXS's.
As for concrete implementation of this idea, there basically are two
approaches (without going into all the details):
A) Use e.g. program changes in 1) to switch between the different
layers. These program changes get recorded together with the regular
data. Now upon playback when using 2), make sure those recorded
program changes cause Logic to switch between the 4 EXS instances.
This way of doing it wouldn't be my favourite, since it requires both
an environment patch for 1) and one for 2). Furthermore, if you
later decide (in thje Matrix editor for example) to insert a G-string
note inside an E-string section, you would also have to insert
"srroudning" program chanegs to make sure the track switches properly
fromone string to the next upon playback.
B) Use e.g. program changes in 1) and set up an environment patch
such that the incoming data is channelized, depending on the EXS
layer being played. E.g. sending prog change 48 plays the E-string
layer, and at the same time an environment patch causes all incoming
notes to have their channel set to 1 (ditto for the other 3 layers).
Now upon playback, when using 2), you can connect a Channel Spliter
to the 4 EXS instances, and assign the recorded track to this Channel
Splitter. Since all note data has already been properly channelized
at recording-time, the Channel Splitter will take care of sending the
notes to the proper EXS instances. And if you later add a G-string
note inside an E-string section, you only have to set the note's
channel properly to ensure proper playback.
Okay, enough lateral thinking for today... If you think the above
would be a feasible workaround and need help implementing it, just
say so. It really isn't all that hard.
Now what on earth is a scarabee library...? :-))
--
Hendrik Jan Veenstra <h@...>
Omega Art: http://www.omega-art.com