The Studio Module allows PC and Atari users to select configurations and patch names for their synths within Cubase. Paul Nagle guides you through the basics of creating a Studio Module setup.
The Studio Module was developed for Cubase back in its Atari ST days and has survived, little changed in functionality, in the PC version. On the Mac, however, the Studio Module was effectively (or ineffectively) replaced by Opcode's Open MIDI System, so the only part of this month's Cubase Notes relevant to Mac users will be the last section, where I'll discuss the new method of selecting patches — scripting — that was introduced with VST 5 on Mac and PC.
The Studio Module's job is to receive System Exclusive data from a wide range of MIDI equipment such as synths and effects units, store this data, and retransmit it when necessary. It can extract user patch names and display them, to allow easy patch selection within Cubase, and it is shipped with many (user‑tailorable) lists of ROM and expansion board preset names for popular synths. Despite being simple in purpose, the Studio Module is an area of Cubase that leaves many a brow furrowed. As it (usually) requires two‑way communication with MIDI devices, even a modest setup can result in a complex nest of MIDI leads connected to your computer via switching units, multi‑port interfaces or patchbays. My only advice in this area is to be meticulous, label your leads and plan things out on paper. Almost all problems with the Studio Module are related to MIDI interfacing errors.
In terms of Cubase as a whole, modules are 'optional extras' — parts of the program you can choose to activate if you want. The Modules Setup menu lists all kinds of goodies: the arpeggiator, SysEx editor, AVI player, SMPTE display and more. Two settings, Active and Preload, determine whether each module should be activated for the current session or automatically each time Cubase loads. Find Studio Module in the list and set both Active and Preload to Yes. Now, assuming this is the first time you've used it, you must start by supplying some information about your gear.
First, you need to tell the Studio Module which devices you have in your studio. Select Studio Module from Cubase's Modules menu and choose its Setup option. The setup screen (the screenshot, left, shows a completed setup) looks pretty confusing at first, but it isn't so bad. As an example, let's assume our studio has a Roland XP80 workstation. To tell the Studio Module about this instrument, first click Add and navigate to the Library folder of your Cubase CD. This folder contains a subfolder called StudioModuleDrivers, which contains the drivers for all supported instruments. Now plunge into the folder named Roland, select XP80.DEV and click OK, and this instrument should now appear in your instrument list. (You may overtype the device name field if you wish; this name is what appears within Cubase when you select an instrument.)
The next bit is important: you must tell the Studio Module which MIDI connections to make to communicate with the synth. Do this using the pull‑down menus in the center of the Setup screen labelled Output and Input. One tip I'd recommend is to use the SetupMME program, which is installed along with Cubase to name each MIDI port according to the synths that are connected to it. Subsequent MIDI In/Out selection within Cubase becomes very easy if you do this.
Next, specify the MIDI channel(s) your synth will use, any device ID information necessary and you're almost done. If you are unsure of the device ID for your synth (your synth manual may refer to this as the 'SysEx ID'), try leaving it at the default setting.
MIDI patchbays can be useful for organising a growing hoard of MIDI gear, and if the instrument you just added is connected to one, there's an extra step to perform now. In the Setup option's Patchbay box, type in the program number Cubase should send (to the patchbay) so that two‑way MIDI communication is established. You should also enter a program number which will re‑establish 'normal' connections after any SysEx dump has taken place. Typically this would be the connection of your master keyboard to one of the MIDI inputs of the system. The Studio Module supports two patchbays simultaneously. If one or both of yours cannot switch connections via MIDI program changes, set the MIDI channel box to 'Man' and you will be prompted to make the switch yourself when necessary.
Beneath the MIDI Patchbay box is smaller box with just two pull‑down menus: Total Recall and Mask. The former is a name field you can use to categorise your data dumps, while the latter lists the available data types for the currently selected device. The XP80, for instance, has Patches, Performances, Rhythm and System data types as Mask entries. Ensure all these are ticked and create a Total Recall definition called 'All'. As you add new instruments, make sure all their data types are also ticked.
Congratulations, you've just assembled a complete Studio backup (and restoration) tool! If you prefer to work at patch level, you might create a second Total Recall definition just for patches. This will be far quicker in use because it gathers less data. If you edit sounds a lot, you'll probably find this more streamlined Recall very handy.
OK, having set things up, it's time to test communication by sucking some patch data from your synths. There are several ways to do this; I'd suggest opening the Modules menu, selecting Studio Module and then choosing Total Receive. You'll be asked which type of dump to retrieve, which is where our Total Recall names come into play. Select All, and the Studio Module will request a filename to use when storing the data. Enter something meaningful and it should begin grabbing data from each of your synths in turn, storing the resulting file with an MEM file extension. The results should look something like the topmost screenshot. If everything is connected properly and the data is retrieved successfully, clicking on a track's patch name field should cause a box listing all your patches to appear. Good, eh?
You may wish to associate a particular patch or performance dump with a song. Let's suppose the song is called Wibble.all. Simply save the Total patch dump as Wibble.mem in the same directory as the song, and when you next load Wibble.all, Cubase will ask if it should load just the patch names or load the names and transmit the SysEx data to all devices. It's clever enough to recognise that a dump called def.mem (Cubase's default song is def.all) in the Cubase directory should always be 'names only', so it won't ask this question each time the default song loads. Finally, in the Data Dump Manager (see screenshot, above), you can load and save data from individual instruments rather than the entire studio. The data format is actually identical to that of the MEM‑format dumps. In the Data Dump Manager you may see an 'n' next to items in the Data Type list. This means that names are currently loaded into the Studio Module's memory but not the actual patch data. A '>' sign indicates that names and data are held in memory and can, if necessary, be transmitted to the synth.
If no Studio Module driver exists for a particular piece of your gear and you don't fancy tackling the DMaker tool to create one (see DMaker box on page 248), Cubase provides alternate methods of patch selection and data gathering. Housed within the the Library section of the Cubase CD are several general‑purpose Studio Module drivers. Of these, 'Any_Dump' is intended as a receiver of SysEx data in cases where no specific driver exists. It happily receives any data you throw at it, storing it along with data from your other instruments. The Studio Module neither knows nor cares about the data format or the byte count in a dump of this type. A slightly more sophisticated driver, 'Generic', allows you to code a SysEx string (you'll have to work it out from your synth's manual) which is sent to your instrument as a request to spill out its patches. With this driver, you specify how many bytes the dump should be and Cubase treats it almost like a proper driver. The main limitation with the Generic driver is that no patch names can be automatically extracted. Finally, the List Driver provides straightforward name boxes for easy patch selection. Overtype the names as you want, then use the Function/SaveNames to update your copy of the driver (see Saving/Loading Name Files box on page 249).
VST 5.0 introduced a new feature called Patch Name Scripting, which is designed to be easier to use than the List Driver. A Patch Script is a basic text file, which can be created with any text editor. If you want to use a Script file instead of a Studio Module driver, use the 'Setup Instruments' option when selecting an instrument for a track (see screenshot, below) and specify that the source is a Script file. These reside in the Cubase directory, in a folder called Scripts. If there is no script for the instrument you want, make up your own based on an existing example.
If you really want to, you can use program and bank change numbers instead of patch names, but I'm willing to bet that once you're used to the convenience of the Studio Module, you'll turn your nose up at any other method of patch selection. For me, this sets Cubase apart from all the other sequencers I've tried and I find it invaluable for quickly collecting and saving the correct sounds for each song. The Studio Module is a large topic, and I can't cover every aspect of it here — but fortunately it occupies about 100 pages of the electronic documentation, and this is definitely worth reading!
What if you have a synth which is not currently supported by the Studio Module? Well, included on the Cubase CD is a program called DMaker which is used to create drivers. Many people have complained that DMaker is too complicated but, in reality, it's the variety and complexity of synthesizer SysEx data that makes it a tough nut to crack. Few people understand SysEx well enough to create a driver themselves and, since each synth has its own data format, patch name location within the data, and so on, each driver must be approached seperately. Explainging DMaker would take an article (or two) by itself. All I'll say here is that if you are really confident, the source of all the existing drivers is on the Cubase CD and, by studying the driver of a synth as similar as possible to yours, you might start to understand how DMaker works. Good luck!
A question I'm asked quite often is "I have an expansion board in my JV1080. How do I get its names into the Studio Module?" If you look at the screenshot above, you can see that selection of ROM sounds is an important part of the Studio Module's agenda — so how do you load names of your own into it? Don't worry, it's pretty easy. First, back up your synth's internal sounds. Then use the synth's own copy function to copy the sounds from the expansion slot or ROM card to internal memory. Next, receive this data into the Studio Module by clicking Data Dump/MIDI/Receive. In the Studio Module's Patch Selection screen, click Function and then Save/Update Names. Type a filename and save the patch names. Next comes the clever part: click the appropriate expansion slot within the Studio Module's Patches display, click Function and this time choose Load Names. Load in the file you just saved, and all the names should now be correctly entered into the driver. Repeat this for as many expansion cards or ROM banks as you have. When you've finished, choose Save/Update Names from the Function menu, and this time take the Update option to update your version of the driver. It should now contain appropriate names in the locations that match your synth's expansion board patches. When you have everything set up as you want it, save your default song and (this is very important!) back up both Cubase's def.all song and studio.dat folder. In fact, back them up twice. Or more. That way, if you need to ever reinstall Cubase, you can simply copy these back into the Cubase directory and Cubase will look and behave as it always did.
The Studio Module is also handy for renaming patches in your synth. Hold down Alt and double‑click a patch name, and you can then overtype it. Hold down Ctrl and click, and the patch will be sent to the synth. This is probably easier than naming patches on the synth itself. Even with devices such as the Waldorf Pulse and Korg DW8000, which have no names on board, you can give their patches names for convenience using this method if you wish. A Find command on the Function menu is useful to perform a patch name search through your banks.
Several Studio Module drivers include a Macro Editor, which typically consists of a few on‑screen sliders designed to tweak some aspects of the patch. If a Macro Editor exists for your instrument, it is opened by double‑clicking a patch name.