Yahoo Groups archive

Emu XL-7 & MP-7 User's Group

Index last updated: 2026-04-29 00:09 UTC

Thread

Sysex Pattern Change

Sysex Pattern Change

2008-04-19 by Aaron Eppolito

Select Next Pattern:
F0 18 0F dd 55 01 02 07 21 xx yy F7
F0 18 0F dd 55 01 02 04 21 xx yy F7


dd is the Device ID
xx is the Pattern Number
yy is the Pattern Bank


You have to send both commands in that order for it to work correctly.  The first does what the dial does (choose the next pattern) and the second does what the enter key does (confirm the choice).  The interaction between this and the other parameters is complicated, so be careful.  Don't call this while you couldn't do it manually.  You're on your own if you call it while in song mode or one of the editing screens or pretty much any time other than when you're on the pattern home screen.  I've tried it and it seems to work while both playing and stopped, but certainly not during recording.

-Aaron
Show quoted textHide quoted text
----- Original Message ----
From: Aaron Eppolito <synthesis77@...>
Sent: Friday, April 18, 2008 6:52:35 PM

There might be a way to do this with hidden sysex much like the song change sysex I posted earlier.  It's slightly more complicated though.  There's actually three pattern parameters, one that's playing, one that's next, and one that you're scrolling through with the knob.  Also, worse is that each of those is actually a combination parameter (meaning it's not just one value) so that'll be hard too.  I think if you just set the "next" pattern, it'll work, but I'm not entirely sure.

I'll look up the param and see if there's a way to do it.

-Aaron

----- Original Message ----
From: steve_the_composer <smw-mail@...>
Sent: Friday, April 18, 2008 6:36:49 PM

Hmmmm. This is a good question; I am not sure if it has been 
discussed before. I haven't done much with E-Mu sysex in a while, but 
I will take a look if no one else has the answer. Let me make sure I 
understand what you want to do:
You want to be able to switch from one pattern to another via sysex. 
(That is, you don't want to change the notes in a pattern on the fly 
via sysex.)

If I remember correctly, you can simulate XMIX via remote control 
mode using sysex commands, but if I understand, you basically want to 
switch to a different pattern entirely.

It seems to me it should be doable; but I will have to dig oout my 
syex manual.

--Steve

--- In xl7@yahoogroups.com, Atom Smasher <atom@...> wrote:
>
> i'm looking at the manual (rev G) and the sysex manual (2.2) and i 
don't 
> see an obvious/simple way to do this: change the pattern via midi.
> 
> it looks like this can be done by emulating the front panel knobs & 
> buttons via sysex (YECH!).
> 
> so... is there a better way to do it?
> 
> ideally, there should be a way to enter a bank/preset and instead 
of 
> interpreting it as a patch-change, interpret it as a pattern change.
> 
> and yeah, i know i could use the trigger-select-pattern feature, 
but 
> that's limited to 16 patterns per multi-setup.



      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

Re: [xl7] Sysex Pattern Change

2008-04-19 by Aaron Eppolito

Note that this might not work prior to OS 2.00.  Since these were not numbered parameters (because you're not supposed to access them) their ordering was not consistent between releases (we always used their symbolic names).  It may work or may not, but really, you should be using 2.00 anyway... =)

-Aaron
Show quoted textHide quoted text
----- Original Message ----
From: Aaron Eppolito <synthesis77@...>
To: xl7@yahoogroups.com
Sent: Friday, April 18, 2008 7:38:29 PM
Subject: [xl7] Sysex Pattern Change

Select Next Pattern:
F0 18 0F dd 55 01 02 07 21 xx yy F7
F0 18 0F dd 55 01 02 04 21 xx yy F7


dd is the Device ID
xx is the Pattern Number
yy is the Pattern Bank


You have to send both commands in that order for it to work correctly.  The first does what the dial does (choose the next pattern) and the second does what the enter key does (confirm the choice).  The interaction between this and the other parameters is complicated, so be careful.  Don't call this while you couldn't do it manually.  You're on your own if you call it while in song mode or one of the editing screens or pretty much any time other than when you're on the pattern home screen.  I've tried it and it seems to work while both playing and stopped, but certainly not during recording.

-Aaron


      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

Re: [xl7] Sysex Pattern Change

2008-04-19 by Atom Smasher

THANKS!!!!

i do wish there was a way to do it in less than 48 bytes (ie; MSB+LSB+PC) 
but that should work for me.

so, where are all of these "hidden" parameters documented? looking through 
the 84 page sysex "book" i couldn't help get the impression that it's 
written primarily for the synthesizers and the command station 
documentation was thrown in at the last minute.



On Fri, 18 Apr 2008, Aaron Eppolito wrote:

> Select Next Pattern:
> F0 18 0F dd 55 01 02 07 21 xx yy F7
> F0 18 0F dd 55 01 02 04 21 xx yy F7
>
> dd is the Device ID
> xx is the Pattern Number
> yy is the Pattern Bank
>
> You have to send both commands in that order for it to work correctly.


-- 
         ...atom

  ________________________
  http://atom.smasher.org/
  762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
  -------------------------------------------------

 	"You ask me why the IWW is not patriotic to the United States.
 	 If you were a bum without a blanket; if you had left your
 	 wife and kids when you went west for a job, and had never
 	 located them since; if your job had never kept you long
 	 enough in a place to qualify to vote; if you slept in a
 	 lousy, sour bunkhouse, and ate food just as rotten as they
 	 could give you and get by with it; if deputy sheriffs shot
 	 your cooking cans full of holes and spilled your grub on the
 	 ground; if your wages were lowered on you when the bosses
 	 thought they had you down...if every person who represented
 	 law and order and the nation beat you up, railroaded you to
 	 jail, and the good Christian people cheered and told them to
 	 go to it, how in hell do you expect a man to be patriotic?
 	 This war is a businessman's war and we don't see why we
 	 should go out and get shot in order to save the lovely state
 	 of affairs that we now enjoy."
 		-- William 'Big Bill' Haywood

Re: [xl7] Sysex Pattern Change

2008-04-19 by Atom Smasher

next question: how do i do that while enabling the "mute hold" function? 
i'm guessing that i can emulate a "tap" press (and release) before (and 
after) the second command...

  F0 18 0F dd 55 01 02 07 21 xx yy F7	// choose next pattern
  F0 18 0F dd 55 40 20 bb bb 01 F7	// "tap" press
  F0 18 0F dd 55 01 02 04 21 xx yy F7	// confirm next pattern
  F0 18 0F dd 55 40 20 bb bb 00 F7	// "tap" release

i'll have to experiment with that, and find which values of "bb" 
correspond to the tap button... if anyone (aaron?) has any answers i'm all 
ears...

better yet, is there a way to enable the "mute hold" as a default 
behavior?

also, is there a way to save some bytes by using some sort of "running 
status" within the sysex? that should save almost 50% of the data. or does 
each command have to have it's own "F0 18 0F dd 55 ... F7"?

thanks!!


On Fri, 18 Apr 2008, Aaron Eppolito wrote:

> Select Next Pattern:
> F0 18 0F dd 55 01 02 07 21 xx yy F7
> F0 18 0F dd 55 01 02 04 21 xx yy F7


-- 
         ...atom

  ________________________
  http://atom.smasher.org/
  762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
  -------------------------------------------------

 	"Pay no attention to the man behind the curtain."
 		-- The Wizard Of Oz

Re: [xl7] Sysex Pattern Change

2008-04-19 by Aaron Eppolito

I was about to say that was a cool idea, but I didn't think it would work.  Then I looked, and yes, that's exactly how to do it.  The sequencer checks when the "next" message changes whether the tap button is down.

I listed all the button IDs here:
http://groups.yahoo.com/group/xl7/message/16527

You'll need:
kEventID_TapTempoButtonDown      = 0x011
kEventID_TapTempoButtonUp        = 0x111

As far as combining, you could try and just do:
F0 18 0F dd 55
 01 02 07 21 xx yy 
 40 20 bb bb 01 
 01 02 04 21 xx yy 
 40 20 bb bb 00 
F7

but I'm pretty sure it won't work.  Who knows, it's worth a shot.  Also, you might have to open a remote control session to send tap tempo.

-Aaron


--- On Sat, 4/19/08, Atom Smasher <atom@...> wrote:

> From: Atom Smasher <atom@...>
> Subject: Re: [xl7] Sysex Pattern Change
> To: xl7@yahoogroups.com
> Date: Saturday, April 19, 2008, 2:22 AM
> next question: how do i do that while enabling the
> "mute hold" function? 
> i'm guessing that i can emulate a "tap" press
> (and release) before (and 
> after) the second command...
> 
>   F0 18 0F dd 55 01 02 07 21 xx yy F7	// choose next
> pattern
>   F0 18 0F dd 55 40 20 bb bb 01 F7	// "tap" press
>   F0 18 0F dd 55 01 02 04 21 xx yy F7	// confirm next
> pattern
>   F0 18 0F dd 55 40 20 bb bb 00 F7	// "tap"
> release
> 
> i'll have to experiment with that, and find which
> values of "bb" 
> correspond to the tap button... if anyone (aaron?) has any
> answers i'm all 
> ears...
> 
> better yet, is there a way to enable the "mute
> hold" as a default 
> behavior?
> 
> also, is there a way to save some bytes by using some sort
> of "running 
> status" within the sysex? that should save almost 50%
> of the data. or does 
> each command have to have it's own "F0 18 0F dd 55
> ... F7"?
> 
> thanks!!
> 
> 
> On Fri, 18 Apr 2008, Aaron Eppolito wrote:
> 
> > Select Next Pattern:
> > F0 18 0F dd 55 01 02 07 21 xx yy F7
> > F0 18 0F dd 55 01 02 04 21 xx yy F7
> 
> 
> -- 
>          ...atom
> 
>   ________________________
>   http://atom.smasher.org/
>   762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
>   -------------------------------------------------
> 
>  	"Pay no attention to the man behind the
> curtain."
>  		-- The Wizard Of Oz
> 
> 
> 
> ------------------------------------
> 
> Yahoo! Groups Links
> 
> 
> 

      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

Re: [xl7] Sysex Pattern Change

2008-04-19 by Aaron Eppolito

Alternatively, you could be sneaky and set the hidden parameter that corresponds to the tap button being down:

it's parameter (0x79 0x20) (4127 in decimal).  Set it to 1 for down and then back to 0 when you're done.

Select Next Pattern with Mute Hold:
F0 18 0F dd 55 01 02 07 21 xx yy F7
F0 18 0F dd 55 01 02 79 20 01 00 F7
F0 18 0F dd 55 01 02 04 21 xx yy F7
F0 18 0F dd 55 01 02 79 20 00 00 F7

-Aaron

--- On Sat, 4/19/08, Aaron Eppolito <synthesis77@...> wrote:

> From: Aaron Eppolito <synthesis77@...>
> Subject: Re: [xl7] Sysex Pattern Change
> To: xl7@yahoogroups.com
> Date: Saturday, April 19, 2008, 11:38 AM
> I was about to say that was a cool idea, but I didn't
> think it would work.  Then I looked, and yes, that's
> exactly how to do it.  The sequencer checks when the
> "next" message changes whether the tap button is
> down.
> 
> I listed all the button IDs here:
> http://groups.yahoo.com/group/xl7/message/16527
> 
> You'll need:
> kEventID_TapTempoButtonDown      = 0x011
> kEventID_TapTempoButtonUp        = 0x111
> 
> As far as combining, you could try and just do:
> F0 18 0F dd 55
>  01 02 07 21 xx yy 
>  40 20 bb bb 01 
>  01 02 04 21 xx yy 
>  40 20 bb bb 00 
> F7
> 
> but I'm pretty sure it won't work.  Who knows,
> it's worth a shot.  Also, you might have to open a
> remote control session to send tap tempo.
> 
> -Aaron
> 
> 
> --- On Sat, 4/19/08, Atom Smasher <atom@...>
> wrote:
> 
> > From: Atom Smasher <atom@...>
> > Subject: Re: [xl7] Sysex Pattern Change
> > To: xl7@yahoogroups.com
> > Date: Saturday, April 19, 2008, 2:22 AM
> > next question: how do i do that while enabling the
> > "mute hold" function? 
> > i'm guessing that i can emulate a "tap"
> press
> > (and release) before (and 
> > after) the second command...
> > 
> >   F0 18 0F dd 55 01 02 07 21 xx yy F7	// choose next
> > pattern
> >   F0 18 0F dd 55 40 20 bb bb 01 F7	// "tap"
> press
> >   F0 18 0F dd 55 01 02 04 21 xx yy F7	// confirm next
> > pattern
> >   F0 18 0F dd 55 40 20 bb bb 00 F7	// "tap"
> > release
> > 
> > i'll have to experiment with that, and find which
> > values of "bb" 
> > correspond to the tap button... if anyone (aaron?) has
> any
> > answers i'm all 
> > ears...
> > 
> > better yet, is there a way to enable the "mute
> > hold" as a default 
> > behavior?
> > 
> > also, is there a way to save some bytes by using some
> sort
> > of "running 
> > status" within the sysex? that should save almost
> 50%
> > of the data. or does 
> > each command have to have it's own "F0 18 0F
> dd 55
> > ... F7"?
> > 
> > thanks!!
> > 
> > 
> > On Fri, 18 Apr 2008, Aaron Eppolito wrote:
> > 
> > > Select Next Pattern:
> > > F0 18 0F dd 55 01 02 07 21 xx yy F7
> > > F0 18 0F dd 55 01 02 04 21 xx yy F7
> > 
> > 
> > -- 
> >          ...atom
> > 
> >   ________________________
> >   http://atom.smasher.org/
> >   762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
> >   -------------------------------------------------
> > 
> >  	"Pay no attention to the man behind the
> > curtain."
> >  		-- The Wizard Of Oz
> > 
> > 
> > 
> > ------------------------------------
> > 
> > Yahoo! Groups Links
> > 
> > 
> > 
> 
>      
> ____________________________________________________________________________________
> Be a better friend, newshound, and 
> know-it-all with Yahoo! Mobile.  Try it now. 
> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
> 
> ------------------------------------
> 
> Yahoo! Groups Links
> 
> 
> 

      ____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

Re: [xl7] Sysex Pattern Change

2008-04-20 by Atom Smasher

On Sat, 19 Apr 2008, Aaron Eppolito wrote:

> Alternatively, you could be sneaky and set the hidden parameter that 
> corresponds to the tap button being down:
>
> it's parameter (0x79 0x20) (4127 in decimal).  Set it to 1 for down and 
> then back to 0 when you're done.
>
> Select Next Pattern with Mute Hold:
> F0 18 0F dd 55 01 02 07 21 xx yy F7
> F0 18 0F dd 55 01 02 79 20 01 00 F7
> F0 18 0F dd 55 01 02 04 21 xx yy F7
> F0 18 0F dd 55 01 02 79 20 00 00 F7
========================

not sure when i'll have a chance to test it, but based on page 5 of the 
sysex book (the "count" parameter) that seems more likely to work in an 
abbreviated form since it's multiple commands of the same type (the "01" 
in the first line)...

  F0 18 0F dd 55 01 cc
 	07 21 xx yy
 	79 20 01 00
 	04 21 xx yy
 	79 20 00 00
      ck
  F7

where "cc" is the number of bytes to expect and "ck" is the checksum. i 
think the correct byte count in that example would be 0x0F (and i think 
the byte count in the long form, top, should be 0x04 instead of 0x02). 
i'll report back when i find out...


-- 
         ...atom

  ________________________
  http://atom.smasher.org/
  762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
  -------------------------------------------------

 	"United we stand, unless you're gay or nonviolent or
 	 progressive or sexually secure or from San Francisco.
 	 Really makes the heart swell with all-American pride."
 		-- Mark Morford, SF Gate, 14 June 2002

Re: [xl7] Sysex Pattern Change

2008-04-20 by Atom Smasher

cool...

this works to select a new pattern:
  F0 18 0F id 55 01 08	// sysex header, command, count
     07 21 pp bb		// choose next pattern
     04 21 pp bb		// confirm next pattern
  7F F7			// checksum, EOX

this works to select a new pattern with "mute hold":
  F0 18 0F id 55 01 10	// sysex header, command, count
     07 21 pp bb		// choose next pattern
     79 20 01 00		// "tap" press
     04 21 pp bb		// confirm next pattern
     79 20 00 00		// "tap" release
  7F F7			// checksum, EOX

id = system id
pp = pattern
bb = bank

based on my understanding of the sysex docs, this works in abbreviated 
form (all within a single sysex message) only because all of the 
"commands" are 0x01 (parameter value edit). for anyone experimenting with 
this, pay attention to the last byte-pair on the first lines (0x08 & 0x10) 
which are counters, telling the command station how many byte-pairs of 
data to expect. also note that the "7F" checksum means "ignore checksum".

i do think it's bizarre that the "choose" and "confirm" are two separate 
commands, but both require the pattern and bank to be specified.

thanks aaron!!!


-- 
         ...atom

  ________________________
  http://atom.smasher.org/
  762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
  -------------------------------------------------

 	"Most peoples' idea of individuality is to find a
 	 subculture or clique and conform to that."
 		-- Kevin Tulppo

emulating other sequencers

2008-04-20 by Atom Smasher

now that i can change patterns via sysex, i can use my PC-1600x and XL7 to 
emulate the "styles" behavior of the RM1x (which i kind of like better 
than the data-wheel on the XL7), and the RM1x is one step closer to the 
door ;)

so, question to all: what are your favorite features of other sequencers 
(or synthesizers) that are missing or non-obvious on the command station? 
have you figured out how to emulate the behavior on the xx-7?


-- 
         ...atom

  ________________________
  http://atom.smasher.org/
  762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
  -------------------------------------------------

 	"Patriotism is the willingness to kill
 	 and be killed for trivial reasons."
 		-- Bertrand Russell

Re: Sysex Pattern Change

2008-04-21 by steve_the_composer

Excellent!!!!!!
Kudos to atom for posing the question, Aaron for providing (as usual) 
the needed tips, and both for advancing the OS2.0 sysex knowledge 
base in this forum. 

--Steve

--- In xl7@yahoogroups.com, Atom Smasher <atom@...> wrote:
Show quoted textHide quoted text
>
> cool...
> 
> this works to select a new pattern:
>   F0 18 0F id 55 01 08	// sysex header, command, count
>      07 21 pp bb		// choose next pattern
>      04 21 pp bb		// confirm next pattern
>   7F F7			// checksum, EOX
> 
> this works to select a new pattern with "mute hold":
>   F0 18 0F id 55 01 10	// sysex header, command, count
>      07 21 pp bb		// choose next pattern
>      79 20 01 00		// "tap" press
>      04 21 pp bb		// confirm next pattern
>      79 20 00 00		// "tap" release
>   7F F7			// checksum, EOX
> 
> id = system id
> pp = pattern
> bb = bank
> 
> based on my understanding of the sysex docs, this works in
> abbreviated form (all within a single sysex message) only because
> all of the "commands" are 0x01 (parameter value edit). 
> for anyone experimenting with this, pay attention to the last 
> byte-pair on the first lines (0x08 & 0x10) which are counters,
> telling the command station how many byte-pairs of data to expect.
> also note that the "7F" checksum means "ignore checksum".
> 
> i do think it's bizarre that the "choose" and "confirm" are two
> separate commands, but both require the pattern and bank to be
> specified.
> 
> thanks aaron!!!
> 
> 
> -- 
>          ...atom

Re: [xl7] emulating other sequencers

2008-04-21 by Atom Smasher

On Mon, 21 Apr 2008, Atom Smasher wrote:

> now that i can change patterns via sysex, i can use my PC-1600x and XL7 
> to emulate the "styles" behavior of the RM1x (which i kind of like 
> better than the data-wheel on the XL7), and the RM1x is one step closer 
> to the door ;)
======================

i should probably clarify that what i was after is more like changing 
patterns on a drum machine, not necessarily the "styles" function of the 
RM1x... but what i came up with allows functionality based on both 
(depending on how it's all programmed).

and, a neat trick which was conceptually proven with a PC-1600x last night 
is that it's possible to use "button sends fader" to send the 
pattern-change strings to the xx7. and with 16 sliders/buttons on the 
1600, that allows 8 sliders/buttons (one per pattern bank) to send pattern 
changes and the other 8 to send mute-hold pattern changes. an extreme 
example, but it should give ya'll some ideas...


-- 
         ...atom

  ________________________
  http://atom.smasher.org/
  762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808
  -------------------------------------------------

 	"Violence is the first refuge of the incompetent."
 		-- Issac Asimov

Simulating MUTE of tracks with Sysex

2008-05-14 by seikopat

Hi,

I browsed quite a lot (maybe not enough ?) but I can't find the sysex 
commands to mute / unmute a track

I would like to control un/muteing different tracks in one go on one 
midi channel of my RS7000.

Seems this was allready discussed but I did not find any answers.

Thanks a lot.

An example would be nice : how to mute track 1 and unmute track 2 in 
Sysex

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.