EXS 24 Logic Sampler Users Group group photo

Yahoo Groups archive

EXS 24 Logic Sampler Users Group

Index last updated: 2026-04-28 23:25 UTC

Message

Re: [EXS] eMagic Sound Libraries

2004-05-10 by Hendrik Jan Veenstra

On a fine day, 08-05-2004, nilknarfnimajneb wrote:

>checked out your webpage. found some wonderful (& some playful)
>envrmt. patches.

Thx.  Glad you liked them.

>Now it's got me thinking

That's what it's all about :-)

>seeing as the envrmt. is so flexible,
>isn't there some way to, say, go from a channel splitter to
>transformers (8 for each channel), select 1/8 of the 128 possible
>instrument range for each transformer (transformer 1 [cha1] gets
>instr. 1-16, transf.2 gets 17-32, etc.), then transform the 16step-
>range of program change numbers (e.g. 17-32) to somehow choose the
>channel on the multichannel exs24 (is that possible?).
>
>So for ex. program change 18 would be transformed to cha2 on the
>second in a row of 8 exs24 (mc).

Yes, possible.

>I know thst means you'd be runnin a whole LOAD of exs 24
>multichannel instances

Wouldn't that be 16 x 8 = 128 EXS's?  See my previous post: isn't the 
limit 64 virtual instruments?  Too lazy to fire up Logic and check 
for myself :-).  Of course if you use the EXSP, which is 
multitimbral, you could get away with just 8 EXSP's, each having a 
full set of 16 instruments loaded.

>but there must be a way to work with certain SMF standards to cut 
>that down (eg cha10 - drums - never need to set that one, except to 
>look for a choice from amongst drum sets, but that wouldn't matter, 
>you'd have to do that anyway.)
>
>Plus you'd have to find a way to automatically bypass the exs24
>instances you're not actually using. I mean it sounds like quite an
>undertaking, but... if it's possible, why not?

Again: should be possible, but tricky.

>My question: If i take off down this road, do i have any reasonable
>chance of success, or is this a completely harebrained idea and just
>a waste of time?

Well, you would roughly have to do something like this:

Have 16 tracks in Arrange, each assigned to an environment patch (16 
identical patches).  Such an environment patch would have to be able 
to use program changes to select one of 128 EXS instances.
Your remark that the patch would have to bypass the unused EXS 
doesn't hold.  What if track 1 plays strings, then later track 2 
starts playing strings as well, and even later track 2 starts playing 
piano?  In that case, track 2 would bypass the strings-EXS as soon as 
it switches to piano, but that would mean that track 1 (which also 
plays strings) gets muted.

The environment patch would be something like: start with a neutral 
object (e.g. Monitor).  Cable into 2 transformers which both are 
cabled into a Cable Switcher.  The 1st (top) transformer transformers 
prog-changes to the appropriate message to flip the switch (i.e. 
corresponding to the In definition of the switch - default is CC7). 
Furthermore this transformer's Operations -2- flip menu is set to 
"Use Map".  The Map maps prog-change 0-15 to 0, 16-31 to 1 ... 
112-127 to 7.  This way an arriving prog-change will flip the switch 
in one of 8 positions.  The 2nd transformer has a "Use Map" on the 
Operations Cha part, and the Map is "0 1 2 3 ... 15 0 1 2 .. 15 0 1 
.. 15 0 1 .. 15 0 ..." etc.  This way prog-change 0-15 get their 
channel transformed to channel 0-15, prog-change 16-31 get their 
channel transformed to 0-15... etc.
Finally connect the 8 outputs of the Cable Switcher to 8 Channel 
Splitters.  Connect the 8 x 16 = 128 outputs of the Channel Splitters 
to 128 EXS mixer strips.  Done.

And then repeat 16 times for each of the 16 Arrange tracks.

If you _do_ want to bypass unused EXS's, things get a bit more 
complicated.  Start out with a song where all 128 EXS's are bypassed. 
Then: an arriving prog-change should un-bypass the required EXS and 
bypass the most recently used EXS (if any).  That means you have to 
somehow remember which EXS was last used (i.e. un-bypassed by the 
previous program change), bypass it, un-bypass the newly requested 
instrument, and remember (store) which instrument that is. 
(Un-)bypassing is done by sending an appropriate Fader Event into the 
mixer strip.
This needn't be very complicated but _is_ a bit tricky and requires 
some careful planning.  What I would do is: use a fader for each of 
the 16 tracks to store the value of the most recently received 
prog-change.  Then if a new prog-change arrives: flip a switch in 
position A, bang the fader (meta-99), and send the fader value 
through the switch to a patch that produces a 'bypass' Fader Event 
and send it to the proper EXS.  Then flip the switch to position B, 
send the prog-change to the fader (storing the prog-change value 
_and_ sending it out the fader), send the fader value through the 
switch and produce an 'un-bypass' Fader Event and send it to the 
proper EXS.
Conceptually rather straightforward, but in practice possibly tricky 
to make -- esp. if you don't want to get drowned in hundreds of 
objects.

Well, if you really want to give this a go, the above should at least 
give you some ideas :-).

-- 
Hendrik Jan Veenstra   h @ k n o w a r e . n l
Omega Art: http://www.omega-art.com/

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.