TG500 v1.0 A Sysex Editor for the Yamaha TG500 Uli Zukowski, May 26 1995 1. Introduction TG500 is a SysEx Midi Message Editor for the Yamaha TG500 synthesizer expander. It is an application of the WinSysEx v3.0 universal sysex editor of Don Strenczewilk. It is also handy to use it together with a sysex dump utility, such as Dumpster or any (demo) version of Cakewalk. 2. System Requirements * an IBM compatible PC * Windows 3.1 * a midi interface * a Yamaha TG500 / SY85 * WinSysEx v3.0 !! You MUST have it !! You find it on my WWW page (see author). * Multi client compatible MPU-401 midi driver if you want to use the TG500 editor simultaneously with e.g. a sequencer. Take the driver which is shipped with the Cakewalk 3.0 demo. You can find it on my WWW page, too (see author). 3. History and Version 03/14/95 v0.1 Program Change Voice Edit: Ocillator 03/15/95 v0.2 Program Change: Performances sorted alphabetically Voice Edit: AEG Voice Edit: Filter Voice Edit: PEG 03/27/95 v0.3 Voice Edit: LFO Voice Edit: Controller Voice Edit: Effect Voice Edit: Level/Name => Voice Edit is complete, Control of Effect Parameters can be enhanced 04/03/95 v0.4 Setup Drum Edit: Level/Name + Effect + Key Perf Edit: Level/Name + Effect + Instr Multi Edit: Name + Effect + Layer => all Edit Modes are complete new: tg500usr.ini for patch names of RAM banks syx2ini: converter from sysex dump to ini file Effect Parameter: Single 04/07/95 v0.5 tg500usr.ini: Patch names of factory settings included Effect Parameter: Cascade 05/26/95 v1.0 Effect Parameter: Multi Fixed some bugs in "Multi Instr" dialog Now it is complete with respect to the possibilities of WinSysEx. To Do: One additional dialog to control the effect send levels of all 16 instruments of one multi setup, because this is not possible using normal control change messages. Perhaps: Would like to have some tool to convert a sysex dump of a single patch to a WinSysEx control state, so that one can see and edit the current state of an existing patch. But this is absolutely not supported by WinSysEx, so..... 4. Installation First get WinSysEx v3.0 and install it according to its documentation. Then unextract the archive tg500.zip and copy the files tg500.wsx, tg500.ini, tg500eff.ini, and tg500usr.ini into the home directory of WinSysEx. Start WinSysEx and "open" the file tg500.wsx. That's it. For automatic "tg500usr.ini" file creation, also install a sysex dump utility, such as the Cakewalk 3.0 demo, or Dumpster, and copy the command "syx2ini.exe" in your search path. 5. Usage When you have opened tg500.wsx, there are several dialogs available. These will be described below. 5.1 Dialog: Globals In this dialog you can enter the midi channel on which all channel messages will be sent, and the device number that will be used for all Yamaha TG500 specific sysex messages. Also you can enter * the key which will edited in the drum edit mode, * the layer which will edited in the Performance edit mode, * the instrument which will edited in the multi edit mode. * the edit mode (voice/drum/perf/multi) to which the effect parameters dialog takes effect * the effect section (1/2) which is edited 5.2 Setup In this dialog you can edit the parameters of the "Utilities" menu of the TG500. * Set the midi channel of the TG500 equal to that in the "Globals" menu if you want to send channel messages, e.g. program changes. * Set the program change mode to "direct" if you want to send bank select messages. 5.3 Dialog: Program Change With this Dialog you can send a bank select message to choose one of your TG500's play modes: Voice Preset 1-4, Voice Internal 1-2, Performance Preset 1-2, Performance Internal1, and Multi. IMPORTANT: Select the menu option "Send to midi out" to make a bank change effective. After having selected a bank, you can select any program in it by adjusting the corresponding combo box. All combo boxes do the same, they send program change messages from 0 to 63. By using the combo box according to the selected bank you only have the comfort to see the patch names of this bank. To see the correct names of your internal memory banks, you have to set up the file "tg500usr.ini" correctly. Make a copy of the shipped version and enter manually the names of your self created patches, or use the automatic creation utility "syx2ini" described below. The shipped version of "tg500usr.ini" contains the patch names of the memory banks of the factory settings. The internal performances bank appears ordered alphabetically instead of numerically. I think you will like it! 5.4 Dialog: Effect Parameters The dialog "Effect Parameters: Single" offers the 8 parameters for each of the 30 single effect types. All the input controllers default to the init values of the corresponding effect types! The dialog "Effect Parameters: Cascade" offers the 8 parameters for each of the 30 cascade effect types. The dialog "Effect Parameters: Dual" offers the 8 parameters for each of the 30 dual effect types. IMPORTANT: Adjust the parameters "Edit Mode" and "Effect" in the "Globals" dialog to the right values. The correct sending of every parameter change of an effect parameter depends on these two values! 5.5 Dialog: Voice Edit The dialogs whose names begin with "Voice:" offer the same parameters that are available in the voice edit mode of the TG500. For the Wave Selection in the Oscillator dialog there are two combo boxes for the waves. Use that combo box, that corresponds to the selected wave bank. Use the "Effect Parameters" dialogs to set the effect parameters with their real names and domains. Set the "Effect Edit Mode" in the "Globals" dialog to "Voice" for editing the effect of a voice. After entering a new voice name, the menu item "Send out to midi" has to be selected to make the name change effective. 5.6 Drum Edit The dialog whose names begin with "Drum:" offer the edit parameters of the drum edit mode of the TG500. The dialog "Drum: Key" edits the parameters of one key. Use the "Globals" dialog to select the key to be edited. Use the "Effect Parameters" dialogs to set the effect parameters with their real names and domains. Set the "Effect Edit Mode" in the "Globals" dialog to "Drum" for editing the effect of a Drum setup. After entering a new drum name, the menu item "Send out to midi" has to be selected to make the name change effective. 5.7 Performance Edit The dialog whose names begin with "Performace:" offer the edit parameters of the performance edit mode of the TG500. The dialog "Performance: Layer" edits the parameters of one layer. Use the "Globals" dialog to select the layer to be edited. Use the "Effect Parameters" dialogs to set the effect parameters with their real names and domains. Set the "Effect Edit Mode" in the "Globals" dialog to "Performance" for editing the effect of a Performance. After entering a new performance name, the menu item "Send out to midi" has to be selected to make the name change effective. 5.8 Multi Edit The dialog whose names begin with "Multi:" offer the edit parameters of the multi edit mode of the TG500. The dialog "Multi: Instr" edits the parameters of one instrument. Use the "Globals" dialog to select the instrument to be edited. Use the "Effect Parameters" dialogs to set the effect parameters with their real names and domains. Set the "Effect Edit Mode" in the "Globals" dialog to "Multi" for editing the effect of a multi setup. After entering a new multi name, the menu item "Send out to midi" has to be selected to make the name change effective. 6. SYX2INI: Automatic "tg500usr.ini" Creation The file "tg500usr.ini" contains the names of all patches in the internal memory banks (voice internal I+II, perf internal, multi). 6.1 Usage of SYX2INI You can enter the names of your personal internal memory bank patches manually into this file. You can also create this file automatically by executing the following steps: 1. Let your TG500 do a sysex dump of type "ALL". 2. Receive this dump on your PC and store it to disk. The result must be a file of 55148 bytes. Give this file the name "tg500.syx". For this step you can use the sysex dialog of Cakewalk, e.g. the demo version of Cakewalk 3.0, or the sysex dump utility Dumpster. Both programs can be found on my WWW page (address: see below). 3. Execute the program "syx2ini.exe" in that directory where the file "tg500.syx" exists. The result will be a new file "tg500usr.ini" which contains the names of all internal patches as contained in the file "tg500.syx". 4. Start WinSysEx and load "tg500.wsx" with having the new file "tg500usr.ini" in same directory. Now the "Program Change" dialog should offer your personal patch names in the corresponding combo boxes. IMPORTANT: To my knowledge, modifications in the init files are only recognized if you load the uncompiled editor file "tg500.wsx". Use the menu item "Save as 'tg500.wsd'" to make the changes permanent. 6.2 What is "syx2ini.pif" for? If you want to use SYX2INI under Windows, then you can execute "syx2ini.pif". Then SYX2INI is executed in a window instead of in full screen mode. 6.3 Limitations of SYX2INI Due to its simplicity, SYX2INI reads the file "tg500.syx" in the currect working directory and writes the file "tg500usr.ini". These file names cannot be changed. That means: * if the file "tg500.syx" does not exist, SYX2INI fails, * if the file "tg500usr.ini" exists before, it is overwritten. 7. Practical Usage of TG500 In practice it is useful to have the TG500 editor dialogs available at the same time with your sequencer program. But if you use the Windows 3.11 standard mpu driver or the soundblaster midi drivers, only one program can send midi messages to midi out at a time. What can you do here? a) To my knowledge, the soundscape midi drivers are multi client compatible, at least I never got the message "midi port already in use" back in the days I used my old spea v7 mediaFX soundcard. So if you use this or another soundscape compatible sound card as midi interface you should have no problems.... b) You can route the output of one program through the other. For example, use a virtual midi device (mrouter or "Hubi's Midi Loop Back") to route the output of your sequencer to the input of WinSysEx. This solution works, but the timing is very bad. c) Use the multi client compatible mpu-401 midi driver which is shipped with the demo version of Twelve Tones "Cakewalk 3.0". The zip file "cpwdemo.zip" is located on many ftp sites and on my personal WWW midi page. There you can also find a file "mpu401.zip" which only contains the mpu driver which can be installed directly using the drivers configuration dialog in the Windows control panel. This midi driver allows more than one program to use the midi out port at one time. If you have more than one midi driver installed, e.g. you need the soundblaster midi driver to enable the wave in and out, then you have to open both, the soundblaster midi in port and the mpu-401 midi in port, to get the midi input work correctly. With Cakewalk this is no problem, because it can open more than one midi in port. 8. Limitations WinSysEx only transmits midi messages and cannot receive any. So you can only change parameters in the TG500, but not read memory contents of the TG500 for display on the PC. The control elements of WinSysEx are fix in that way, that they cannot change their appearance depending on any conditions. That means that at any point where the meaning of a parameter can be switched there will be more instances of a controller and you have to use the right one. There is no way to automatically disable the others. Some parameters are only sent correctly when selecting the menu option "Send to midi out". These are the bank select command in the "Program Change" dialog and the name parameters in all "Name" dialogs. I do not manage to switch to the multi bank. The stated sysex message in the TG500 documentation does not seem to work. Being in the multi mode, I do not manage to switch to another multi patch. The machine interprets the received program select message to switch the patch of the according instrument in the current muti setup instead of switching to another multi setup. So the names of the internal multi setups in the "tg500usr.ini" are not used in the tg500 editor. Perhaps a matter of the "program change mode"? I will work on in for the next version... 9. Author Uli Zukowski Kohlbruck 8a 94036 Passau Tel.: (+49-851) 509 3148 University (+49-851) 72853 Home Fax: (+49-951) 752235 Email: zukowski@fmi.uni-passau.de WWW: http://brahms.fmi.uni-passau.de/~zukowski/midi/index.html Feedback, bug reports, suggestions etc. are welcome!