[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference napalm::commusic_v1

Title:* * Computer Music, MIDI, and Related Topics * *
Notice:Conference has been write-locked. Use new version.
Moderator:DYPSS1::SCHAFER
Created:Thu Feb 20 1986
Last Modified:Mon Aug 29 1994
Last Successful Update:Fri Jun 06 1997
Number of topics:2852
Total number of notes:33157

1935.0. "Using MIDI System Exclusive Messages" by NRPUR::DEATON () Thu Mar 09 1989 15:32

	In my constant drive to 'build a better sequence', I have come across
some interesting ways to deal with certain deficiencies in my hardware - using
system exclusive messages.

	SCENARIO 1:

	My MKS-7 Super Quartet doesn't respond to volume accross MIDI.  I was
bummed out for a while.  I was further frustrated when I sequenced a song in
which I used the MKS chord block for a nice string section.  The problem was
that it came in too abruptly in a quiet part of the song and tended to ruin
the mood I was creating.  Now I suppose I could have used my TX81Z, which *does*
respond to volume (have it fade in using a programmed MIDI volume curve), but it
doesn't have that nice analog string sound.  Frustration.

	After trying a couple of different solutions, it hit me one day that I 
could put sysex to work for me.  I had once written a small program for the C64
that altered individual parameters for the MKS, but I never developed it 
further.  The capability was there.  So I dug out the manual and decided to make
my first project on the MC500 a utilization of the ability to insert sysex
messages.  Lo and behold, by setting up the message to raise the value of the
attack portion of the envelope I was able to overcome the problem in the piece!
Next, it was simply a matter of sending the corresponding change back to the
MKS for all the notes that followed that first lead in.  

	Scenario 2:

	For a while I was thinking about trading my DX100 up for a decent 
controller.  But I liked the DX100 as a tote-along keyboard and because it
had the ability to xmit certain unique MIDI messages.  I also had a hard time
justifying paying a lot of money for a keyboard that didn't make a single
sound of its own.

	The problem:  I wanted to have a controller that could be set to 
automatically change what channel it would transmit note data on so I could use
it for solo work over the sequenced music.  I didn't want to be fumbling around
on stage with function data, setting myself up for mistakes (ever tried to play
a sweet oboe solo on MIDI channel 3 when you mistakenly accessed 'Metalmania' 
on MIDI channel 4?).

	The solution:  Well, it turns out that Yamaha fit a heck of a lot of
programmability into this cheap little DX100!  In fact, just about anything you 
can program from the front panel could be programmed via MIDI.  Could it be 
possible that they included 'MIDI XMIT CHANNEL' as a sysex programmable 
parameter?  Yes!  So I punched in the various data and voila!  Instant flexible
MIDI controller.  (Note: for anyone trying this out on a DX100, there is a typo 
in the manual concerning parameter group number.  I found this after about an
hour and a half of scratching my head over it -'Why won't this work???!!').

                                     * * *

	So system exclusives (and the ability to record them into sequences)
have dramaticly furthered the usefulness of my current system (and saved me 
money in buying new equipment).

	Has anyone else found sysex to overcome seeming roadblocks in your
music?  (Or is all this old hat to y'all?)

	Dan

T.RTitleUserPersonal
Name
DateLines
1935.1TALK::HARRIMAN1000 Pints of LiteFri Mar 10 1989 09:508
Not old hat, but yes, I've been playing with this type of thing too.

My biggest problem is getting ahold of sysex info. Dr. T's isn't too friendly
about pushing sysex (kind of like programming a calculator isn't very friendly
either), but at least it does. It can be very frustrating, but the results
are always worth the effort.

1935.2NRPUR::DEATONFri Mar 10 1989 10:219
RE < Note 1935.1 by TALK::HARRIMAN "1000 Pints of Lite" >

	Funny you should say that about Dr. T's.  I have the C64 version and I
would have thought it would be fairly simple to enter sysex in step-write
mode.  I've never done it in KCS, admittedly, but I was a bit surprised at
your comments.  Why is it frustrating?

	Dan

1935.3RAD1::DAVISFri Mar 10 1989 12:3412
    
    In my group we occasionally use sysex when setting up patches for a
    specific song. The ESQ-1 allows you to edit patches, so we might change
    the envelope to control volume realtive to other sounds we'll use later
    in the song. Also, any minor edit will put the patch in the compare
    buffer, and that way the player can switch between two sounds by just
    pressing the compare button (don't have to select thru the menu
    screens). Just a couple of minor things, but it can make a performance
    a lot easier by having fewer little things to worry about.
    
    
    Rob
1935.4re: .24GL::GLEASOND.A.R.Y.L.Fri Mar 10 1989 15:416
    I have the KCS Level II, and I would think the problem .1 refers to is
    that you have to hit "*" then the value (in decimal) for each byte.
    For long messages, this gets rather tedious.

				*** Daryl ***

1935.5TALK::HARRIMAN1000 Pints of LiteMon Mar 13 1989 11:3013
	re: Dan (.2)

	Well the problem is that KCS doesn't learn sysex, nor does it allow
	you to make macro-level event types, so any sysex you do is purely
	verbatim, which is tedious enough for one device. Last count, my
	MIDI network was up to 11 devices, each with (of course) a different
	sysex subprotocol, and it's own implementation. Arghhh.

	No, I don't know of any easier software either, although if I did
	I would have given it a try.

	/pjh
1935.6SYSEX can beef up a MT32VOLKS::RYENRick Ryen 285-6248Thu Mar 23 1989 16:0737
	I just started using sysex messages within sequences.
	I have a MT32, and there are quite a few additional
	features available, that you can only get at thru system
	exclusive messages. There are not enough knobs on the control
	panel to match the functionalality of the box.

	For example, thru the control panel, you get one reverb
	that is in effect across all (mylti-tymbral) instrument
	voices (and percussion). Not very slick. However, with
	sysex messages you can select from HALL, PLATE, DELAY,
	and ROOM type reverbs, and modify the time and the 
	level of the reverb effect. Reverb can be turned on/off on
	a sound by sound basis, so (for example) you can eliminate it on
	drum tracks, and lay it on heavy for keyboards. 
	Much more flexability. 

	And, thru sysex, you can modify almost any of the 
	parameters that define the sounds. The MT32 includes 
	memory for up to 32 additional patches.

	I hope to modify a few of the existings sounds to make them more
	of what I need. For example, I'd like to get a VOX organ sound
	like the Doors used. The MT32 only has a few organ sounds, and
	none of them are the "VOX". It may take me some hours to
	accomplish this, but thats cheaper (and more challenging) than
	dropping a wad on another sound module.

	I'm currently working on a "song" for my MC300 that will be 
	exclusively system exclusive messages. Of course, it won't be 
	used as a song to play, but I'll use it as a place to store and index
	all of the more useful sysex messages, so I can copy them quickly 
	to real song sequences as needed.

	Note 1894 is a topic for sysex messages for the MT32 (and
	also any MC300/500 tricks for sysex)

/rick
1935.7half a year later and getting better at itTALK::HARRIMANSee Figure 1Mon Nov 13 1989 13:5716

	I've revived the idea some more. My latest tack with sequencing is to
	have the sequence do more of everything, including the setup and
	configuration for a song, and the mixing. The mixing is another topic,
	but the setup is definitely something of a timesaver. Trouble is, 
	getting the damn sysex documentation and making sense of it is more
	effort than the coding.

	Anybody got a good method for cataloguing SYSEX info outside of
	BULKDUMP?

	Better yet, anybody got a catalog of SYSEX commands for devices? Sounds
	like an idea for a book.

	/pjh
1935.8where oh whereUNXA::LEGABug Busters IncorporatedMon Nov 13 1989 14:4010
    
    	Is there any Macintosh cheap or shareware sysex librarian
    	availible? If so, where?
    
    	Also, Does anyone know where I can get Macintosh
    	PD or shareware, generic or ESQ-1 editor librarian.
    	(I cant afford the Opcode $169 one)
    
    	Pete
    
1935.9CW+MIDI, or Hypercard??NWD002::EVANS_BRMon Nov 13 1989 17:228
    I use ConcertWare MIDI for the sysex stuff... it's called MIDI Macros
    in CW parlance. V5.0 is the newest version and looks pretty good.
    
    I busted my pocketbook for the Opcode librarian, and am glad I did.
    Would the Hypercard MIDI stack "thing" help??  (sorry, cannot recall
    the exact name just now) -- I know these things are out there. Perhaps
    you should search through MACINTOSH conference, too.
    
1935.10KOBAL::DICKSONTue Nov 14 1989 09:4810
    The Hypercard thing you refer to is probably the "Benson" utility.
    It can indeed load and store SYSEX dumps, but it is not a librarian.
    The disk-format is a simple text file with all the byte values in
    decimal!  It is also not particularly fast.
    
    I too use the CW+MIDI "MIDI Macros" feature.  If I want to change the
    Volume of the violin part to 24, I just put a little thing in the score
    at the right place that looks like "Volume(24)" and the right thing
    happens.  It has a little library you set up of the SYSEX sequences
    for each parameter.
1935.11Sys Ex BookWJOUSM::MASHIAGo placidly amid the noise and haste.Tue Nov 14 1989 13:1712
RE: Note 1935.7  by TALK::HARRIMAN 
    
>	Better yet, anybody got a catalog of SYSEX commands for devices? Sounds
>	like an idea for a book.
    
    Actually, I think there *is* such a book.  I think Steve DeFuria (sp)
    put out a book of sys ex's a while back.  Ya might want to check the
    MIX bookshelf catalog, or Electronic Musician (I *think* that's the
    rag he writes for.
    
    Rodney
    
1935.12Close, But No CigarDRUMS::FEHSKENSTue Nov 14 1989 15:345
    He writes for Keyboard, but the Mix Bookshelf does carry the MIDI
    SysEx Book (I think that's what it's called).
    
    len.
    
1935.13Hokay.TALK::HARRIMANNo longer in my 20sWed Nov 15 1989 11:037

	It figures DeFuria would have written it. Just what I needed, I guess.
	I was hoping someone had gotten it all into BULKDUMP or something,
	or at least knew the HR-16 sysex headers and subcomands. Whatever.

	/pjh
1935.14I do it all the timeDYO780::SCHAFERBrad - boycott hell.Fri Nov 17 1989 10:138
    PJ - BULKDUMP works with the HR16 with no mods ... but you've gotta use
    the old version (v2.0). 

    Just tell it to GET a bulk, then tell the HR to spill its guts. It's
    not automatic, but it works - and the dump can be sent back to the HR
    with no problems. 

-b
1935.15okay, but I need to incantationsTALK::HARRIMANNo longer in my 20sFri Nov 17 1989 10:387

	Well that's good news. Now who has the SYSEX incantations? 

	I still haven't found DeFuria's sysex book.....

	/pjh
1935.16Incantations?TROA01::HITCHMOUGHFri Nov 17 1989 17:0115
    re -1
    I may be wrong here Paul, but from memory if you can initiate the
    bulk dump from the front panel of the transmitting unit and the
    receiver is in "record mode" it just takes a true dump of what it
    sees, assuming that there is no handshaking a la Roland.
    
    When you re-transmit the dump, as long as the receiver is now waiting
    for the dump it accepts it o.k. so you never really have to get
    int system exclusive bits and bytes. It all depends on having front
    panel access to initiate the actions.
    
    So why would you need incantations?
    
    Ken
     
1935.17Dumps are only one partTALK::HARRIMANNo longer in my 20sTue Nov 21 1989 10:1612

	No I was looking to see if it did more than just dumps and loads.

	I still haven't gotten an answer to that question.

	i.e. is there a registered parameter or sysex to tune the drums,
	or change settings.

	whatever. 

	/pjh
1935.18Pleeze?WEFXEM::COTEOK, who wants a Tangwich???Tue Nov 21 1989 11:247
    Can somebody type in the string that would change a Yamaha TX81Z patch
    from alg 1 to alg 2? Assume TZ is on MIDI ch.1.
    
    I *thought* the documentation was pretty straight forward until I tried
    to do it... arg...
    
    Edd
1935.19Here 'tisNRPUR::DEATONWed Nov 22 1989 08:5711
    O.K., here it is (and I tried it out to be sure...)
    
    	$F0	(Sysex header)
    	$43	(Yamaha ID)
	$10	(Since you assume MIDI channel 1)
       	$12	(Group/subgroup header)
       	$34	(hex version of parameter number 52)
    	$01	(change to alg 2)
    	$F7	(eox)
    
    	Dan
1935.20Hex, ahem, I knew that...WEFXEM::COTEOK, who wants a Tangwich???Wed Nov 22 1989 09:1113
    > $34 (hex version of parameter 52)
    
    AH-HA!!! 
    
    > $10       (Since you assume MIDI channel 1)
    
    Which bit is the channel ID? 1 or 0? (0=1 with offset of 1??) My
    documentation referred to a 1 followed by channel ID. Would "1F" be
    the proper ID for MIDI channel 16???
    
    Thank you!!!
    
    Edd
1935.21KOBAL::DICKSONWed Nov 22 1989 09:218
    Just about everything in the actual MIDI protocol is zero-based.
    Program numbers are coded 0-127 even though the user sees them as
    1-128, channel numbers are coded 0-15 even though the user sees them
    as 1-16, and so on.
    
    The hex "10" has the channel number minus one in the low 4 bits.  The
    "1" in the high 4 bits is there to distinguish this particular kind of
    message from some other formats.
1935.22love dat Sysex!NRPUR::DEATONWed Nov 22 1989 09:4311
RE -< Hex, ahem, I knew that... >-

	Yeah, I tried using 52 first and it proceeded to change the patch name.

�    > $10       (Since you assume MIDI channel 1)

	As -.1 said, the '1' is common to any channel, its the '0' that 
indicates channel number (again, by the offset).  Yes, ch 16 would be '1F'.

	Dan

1935.23COMMUSIC Standard SystemWEFXEM::COTEOK, who wants a Tangwich???Wed Nov 22 1989 13:087
    Thanks Dan.
    
    ...the world need more people with TZs *AND* MC-500s! 
    
    Right, len?
    
    Edd
1935.24Boot, Copy, Reboot, Convert, Reboot...DRUMS::FEHSKENSWed Nov 22 1989 13:228
    Don't rightly know about the TZ part (just kidding Edd, one's on
    my Christmas list, if I can find another rack mount chorus to go
    with it), but the world would surely be a better place if more of
    us could swap MC500 disks.  Now, if only you Mark I holdouts would
    upgrade to Mark II!
    
    len.
    
1935.25KOBAL::DICKSONWed Nov 22 1989 13:263
    The MIDI File standard is supposed to solve that problem.  If the
    MC500 doesn't have a way to communicate sequences to others in the
    standard format, then it is behind the times.
1935.26:-) (-:NORGE::CHADIch glaube Ich t�te Ich h�tteWed Nov 22 1989 13:3015
>    The MIDI File standard is supposed to solve that problem.  If the
>    MC500 doesn't have a way to communicate sequences to others in the
>    standard format, then it is behind the times.

touche :-)

I used midi files to take about 40 small sequences from MTP to Notator with
nary a hitch...

MIDI files *are* the standard

Chad


:-)
1935.27TX81Z Performance Sys-ex StringWEFXEM::COTEA friendly stranger in a black sedanTue Apr 17 1990 07:3619
    I found the following apparent mistake in the Yamaha TX81Z sys-ex
    documentation.
    
    The book states that in order to change parameters in the performance
    section of the TZ you should enter the following string....
    
               $F0 $43 $1c $13 $pp $dd $F7
    
    ...where 'c' is the channel number in hex, 0-F; 'pp' is the parameter and
    'dd' is the data value.
    
    This is wrong (apparently). It will change ACED parameters, the
    additional voice parameters not found on the earlier 4-op machines.
    
    The correct string (tested) is...
    
                 $F0 $43 $1c $10 $pp $dd $F7
    
    Edd