|
|
|
System ExclusiveWhat Is System Exclusive?System Exclusive data is MIDI's way of letting each synthesizer manufacturer transmit private data about their products. A System Exclusive message has a manufacturer ID, and the rest of the message is completely proprietary and varies for each manufacturer and even each of their products. Cakewalk does not understand what this data means, it simply can hold onto it for you. You can take snapshots of your equipment's configuration and store it in Cakewalk's System Exclusive banks for transmitting back to the equipment. You may want to do this simply to back up your equipment's memory, much like backing up your computer's hard drive in case something goes wrong. Or you may configure your equipment differently for each song's requirements - which is why storing System Exclusive banks with each Cakewalk file can be useful. Of course, for merely backing up your equipment, you can have a file containing only System Exclusive data and no notes. Dump Request MacrosWhen you press the Receive button in the SYSX window, you may pick from a list of Dump Request Macros. These are short System Exclusive messages sent to a synthesizer to make it dump (send back) System Exclusive data. DRMs are defined in your WINCAKE.INI file in the [Dump Request Macros] section. You may add your own DRMs or modify the ones that we have provided. Use the Windows Notepad to edit the file. Comments in the WINCAKE.INI file itself describes how to write DRMs. The specific SYSX messages can either be found in the instrument manual, or can be obtained by contacting the manufacturer. Remember that a DRM must start with F0, and end with F7. When using a DRM, remember to connect both the MIDI In and Out ports of the synthesizer to the MIDI interface. If you will only be sending SYSX data from Cakewalk, it is sufficient to connect only the MIDI In port of the synthesizer. Make sure instruments are set up to receive and/or transmit SYSX. Sometimes you will find that the byte size will be different when you use a DRM, as opposed to initiating the dump from the instrument. It is possible the instrument is dumping some additional information when you initiate the dump from the instrument, but you should be able to use either method without any problems. Please note that many of the DRMs included with Cakewalk have been donated by customers who are using the particular equipment. In some cases we have not been able to test those DRMs because we do not have access to that equipment. We are redistributing such DRMs on an as-is basis. Additional user-supplied DRMs may be available on BBSs like CompuServe. SYSX Meta EventsYou can use a SYSX Meta Event to send any of the 256 available SYSX banks at any time in a sequence. MIDI is a serial data transmission, meaning it can do only one thing at a time. If you try to upload a huge sampler dump during a fast drum solo, playback will noticeably lurch. MIDI must complete the System Exclusive message before it can resume playback. The SYSX Meta Event is appropriate only for very short System Exclusive messages. The exact length depends on various factors such as the speed of your computer, but as a rule of thumb, 100 bytes is a likely maximum, and maybe less. You don't need to use a SYSX Meta Event to transmit system data at the beginning of your song. Use the Auto option for sending SYSX banks during playback instead. Use the SYSX Meta Event only when you need to change a synthesizer setting during the middle of a song. Sending a SYSX Bank in the Middle of a SequenceIf for some reason you need to send a SYSX bank in the middle of a sequence, this can be done with a SYSX Meta Event. You can send any of the 256 SYSX banks at any time in a sequence. To do this you have to insert an event in the Event List using the Insert key on the PC keyboard. Next you have to double click on the Event Kind and change it to System Exclusive. In the Values column you select the bank (0-255) you want to send. Saving MIDI Files Containing System Exclusive BanksIf a MIDI (.MID) file has System Exclusive Auto-Send banks, then Cakewalk saves these in a MIDI File as System Exclusive messages at the very beginning of the song (1:1:0). If the song has other MIDI data starting at 1:1:0 -- for example, notes -- it won't get played correctly because the System Exclusive transmission will delay the start. The beginning of the song will sound garbled. The solution is to start the song at measure 2, leaving room for the System Exclusive. (A good rule of thumb is to slide everything later by 1 measure, but you could make it longer if need be.) If you have Tempo changes, Meter/Key changes, or Markers in your song, you'll have to use Cut and Paste to cut the entire song and paste it a measure later. If you have only notes in your song, you may use the Slide command instead, which is a little quicker. Read the Saving SYSX In .MID Files section of this document for more information. .SYX FilesYou can load and save individual SYSX banks to the file format used by the popular public-domain MIDIEX bulk dump utility. The file extension used is .SYX. Because the file format is the same as MIDIEX, you can load SYSX files you've obtained from friends or BBSs. You may also use this feature to copy a SYSX bank between two Cakewalk song files. Save the bank to a .SYX file, load the other Cakewalk file, then load the .SYX file. This is also a good way to copy one bank to another in the same song file. The SYSX ViewNaming BanksBy clicking the Name button, you may enter a description for a bank. Names will only be saved in .WRK files. Select the Right PortWhen you want to send a SYSX bank to an instrument, it is important to tell Cakewalk to which port the instrument is connected. If you only have a one-port MIDI interface you don't have to worry about this setting. The port numbers are based on the order of the highlighted MIDI Out ports in the Settings | MIDI Devices section in Cakewalk. Auto-SendThe Auto option tells Cakewalk to transmit that bank every time it loads the file. You might use this option for banks that contain System Exclusive messages that load a set of sounds for a synthesizer at or before the start of a song. Saving SYSX in .MID FilesMake sure you set the SYSX bank to Auto send in the SYSX View before saving the .MID file. Once saved as a .MID file, use File | Open to load it again and open the SYSX view. You'll notice that the SYSX has been split up onto many different banks. There is necessarily an 1/18 second delay after each SYSX bank is sent. Basically, you can send all these banks of SYSX submessages by pressing the Send All button in the SYSX View. Any names you give the banks will not be saved as part of the .MID file. Read the Saving MIDI Files Containing System Exclusive Banks section of this document for more information. TTSSEQ.INI ParametersAdding a Line to the TTSSEQ.INI File You can modify the [Options] section of
the TTSSEQ.INI file from the Windows Notepad, or from the Settings | Initialization
Files section in Cakewalk. Every time you add or change a line in TTSSEQ.INI,
you have to restart Cakewalk for the change to take effect. SYSXDelayAfterF7=n This setting causes Cakewalk to delay SYSX
transmission for a certain amount of time if it encounters an F7 in a
System Exclusive bank. This gives some instruments a required amount of
"breathing" time which is necessary to process the SYSX transmission.
The default delay is 1/18 of a second, but can be changed by also adding
the SysxSendDelayMsecs=n line. n = 0 no delay n = 1 delay between each SYSX string This line was introduced in Cakewalk Professional
for Windows version 2.01 and Cakewalk 5.0 for DOS. (Please note that there
is no fix for Cakewalk 4.0 or earlier for DOS users, or for Cakewalk Pro
for Windows v1.0 users.) SysxSendPacketSize=n System Exclusive bytes are transmitted
in packets, with a 1/18 second delay between each packet. Setting this
value smaller will help slower synthesizers avoid overflowing their internal
buffers. This line sets the number of bytes between each SYSX transmit
delay. n = 1024 Default value (in bytes) SysxSendDelayMsecs=n This setting causes Cakewalk to delay <n>
milliseconds if it encounters an F7 in a System Exclusive bank. n = 60 Default value (in milliseconds) SysxReceiveBuffers=n When Cakewalk receives SYSX messages, it
needs to set up buffers ahead of time, since the messages can be very
fast and long. This line sets the number of buffers. n = 128 Default value SysxReceiveBuffersSize=n This line sets the size to allocate to
each SYSX receive buffer. n = 512 Default value (in bytes) You don't normally need to have the total
buffer space be as large as the largest SYSX message you want to receive,
because during SYSX receive, Cakewalk processes each buffer, saving its
data and recycling the buffer for further use. But if you have a slower
PC and the message arrives very fast, there may be no time to empty and
recycle buffers, so you would have to set up enough space in advance for
the whole message. Note that you may not have enough available system
memory in your machine to actually allocate all the buffers you request. Also note one final detail: A long SYSX
message is often composed of many little SYSX messages, each starting
with F0 and ending with F7. MME drivers, in order to promptly return completed
SYSX messages, stop filling the current buffer when an F7 arrives and
move on to the next buffer. This is why it is better to use many, smaller
buffers rather than fewer, larger ones. CAKEWALK.INI Parameters
|
|||
|
|
|||
|
Copyright © 2008 by Cakewalk, Inc. All rights
reserved. View complete copyright notice. |
|||