How do I 'recall' sounds from an external module?

You can set bank and patch numbers as program changes in the list editor, can’t tell off the top of my head how exactly, but that should do it. Some modules can also dump their settings over midi, so you simply record the module dumping its settings, put that in front of your track (make sure it actually gets played back when you open the project) and it should recall everything.

Or just select Bank and Patch on the Inspector pane of Project Window.

You can do it without all the midi device manager stuff etc. You can simply let a midi track send a bank and patch number to your device and it’ll change, provided it is set up to accept midi program changes.

I also use SysEx messages.

The midi device manager can make it a bit more convenient maybe, I’ve never used it personally though. The midi device manager does exactly the same thing I recommended, except that it links patchnames to bank/patchnumber and then sends the corresponding sysex data to the module.

How you find the bank/patch numbers depends on your module. Often, the way you select patches on the module directly uses the same system. A number of banks with 128 patches per bank. I know both my MO6 and Blofeld work that way.
If you have a manual that also usually includes a table with all the patches and their locations.

If you’re lucky your MIDI device transmits Program Changes and all you have to do is record them just like Note ON/Note OFF data. Then instead of playing notes it changes patches as you play your song. It’s worth checking if the device do dat?

Your module most likely sends out a program change message when you select a program on the module. In order for Cubase to resend that message, you will have to record it, first. After you have done this, you can send that program change back to your module or synth during playback of your project.

The Cubase MIDI Device Manager is like a bank/program meta editor for a Cubase MIDI Device. You setup HOW Cubase should display and transmit things like bank and program change (PC) MIDI Events. This is why there are devices available in Cubase already, because someone set those up for us to use. If you select devices in there, you can see the bank/program names that were programmed into the Cubase MIDI Device.

In the Inspector, or on a MIDI Track (using the list editor) you can manually program and send the same type of events.

Both methods above tells the device to simply “switch” to another sound. The names in the Cubase MIDI Device does not necessarily correspond to the names on the actual device, but the same bank/program numbers are still used.

Alternatively, some MIDI devices can send an actual program over MIDI. Generally this is a bit slow, but it’s possible. This way, there are no bank numbers or program numbers, just the actual sound parameters for building a sound in the designated device.

This method as indicated sends the actual parameters that make up the sound in the device. This method is also not implemented on a lot of devices. This method works in various ways depending on the device, if implemented.

Just remember that MIDI is a very simple protocol, which only acts as the “conductor” or “director” of a MIDI device. E.g. you hit a key, say C3 on device A, then the connected device B is presented with a series of bytes (a code, in short) that means just that: “C3 was pressed”. There are a few additional pieces involved (like velocity for example), but you get the drift. :slight_smile:

Sorry, I was a bit too lazy to go that deeply into explaining the device manager, but thanks Elektrobolt for filling in :slight_smile:
If the names in the midi device manager don’t match those on your module, then you selected an instrument different than the one you have :wink:.
You will indeed have to find a patchscript that has all the patches and their respective patchnumbers and banks in it, or make it yourself. (this is not hard, just a bit tedious).

Good to see you’re catching on though :slight_smile:

No worries, mate.

Also, if you change the name on the device but not in Cubase (or vice versa) the names will not be the same.

You don’t need them, but if you have them the patchnames ‘should’ match up in Cubase and on your module.

Excellent, mate!

Yes, so the Program Change (PC) events has the range 0-127, so effectively 128 programs can be used.

But, after the fact companies started to add a few Continuous Controller that essentially amounts to “Bank” messages. Unfortunately these aren’t as straight forward as PC. The reason is basically because banks were never part of the original MIDI specification, so the companies implemented them differently and this is what we now are stuck with. :slight_smile:

However, it works, and thanks to companies like Steinberg (and others of course) it became fairly straight forward to set the application up to accommodate the lack of standard. The MIDI Device Manager can help with the inconsistencies and present a better solution for us the users. The bummer is to have to set this up, if a device does not already exist, and this can be tough if you are just beginning. :wink:

Anyway, so in essence the PC means Program Change within-the-currently-selected-bank. So if the device can respond to bank messages, then you can send a bank change message and then send an additional PC event, and you can access the entire range of patches within a device. :smiley:

What hardware devices do you have, if I may ask?

Myself I have a slur of stuff that kept from younger years. Just cannot see a reason to actually get rid of them anymore. :laughing: I used to have loads more, but when I moved to the states, I just needed to rationalize. Well, I use that as an excuse in order to not feel bad about giving away a lot of treasures. :wink:

I have two antiques, which are also the most valued among the lot. JLCooper devices, but they aren’t sound devices, they are MIDI routers. Meaning, that they can (re)route MIDI events based on the settings on the front controls. One is programmable and is useful for a large setup of various devices, whereas the other one is more for usage of many keyboards. I also use a Midex8 since many years and it has diminished the use of the Coopers, but they are still needed. :slight_smile:

Here’s a historical account of how program changes developed in the MIDI protocol.
I hope it will help you understand and then formulate bank and program changes

It’s in two parts…second part to follow

Best regards

Andy O’Callaghan
Prog changes paper.pdf (44.9 KB)

Part 2 here…one more piece to come!
Prog changes paper 2.pdf (63.4 KB)

Part 3 here

I am including a Cubase script for the JV1010
Prog changes paper3.pdf (34.9 KB)

Patch script here
JV-1010.txt (36.1 KB)

If you look in the MIDI Device Manager you’ll see Import (and Export) for the setups. Also, it’s easier (once you know how it works, like everything) IMO to build a setup right there in Cubase, provided the Program names aren’t needed. Script files are text files (for easy editing) that needs to be converted into XML files. I have a “ScriptMaker” installer made by Steinberg (if you ever want it) that does this. I made some custom ones a long time ago. :wink:

Well, panels might be cool and all, but there’s so much better MIDI control with Note Expression, and in my opinion screen knobs, dials and sliders are a PITA. So I use real controls for all MIDI controllers. The quick controls (QC) are pretty awesome too. I use NE even with my external devices anymore. That way I can copy and move notes without having to worry about timeline (for CC) data.

And about the so much to MIDI, don’t get discouraged, it’s really more the specialized stuff that makes it a lot. Most things are really very simple with MIDI. Table 1 contains all messages that is MIDI, i.e. the left most column contains all message types that are possible in MIDI.

As you can see, about the first half of the messages in the list have one or more subsequent data bytes sent along after the first byte (e.g. Note On event which as a second byte, the key pressed, and a third byte, the velocity with which the key was pressed), whereas the last half only consist of the one byte (e.g. Reset).

If you look for System Exclusive (hence SysEx) you can see that it actually has two messages, “Start of” and “End of” Exclusive. In between those two “Status” bytes there are a variable number of bytes depending on the message, which are made up by the manufacturers of a MIDI device.

Cool, and the reason that I asked about equipment is because I might have setups (i.e. ready for import) laying around, or someone else might. :slight_smile:

The “JV-1010” is already in the list shipped with Cubase (Install Device button). I had a DMPro many years ago, but have since rid myself of it (screen went out twice, had Alesis replace it both times, so eventually I gave up). I will look around some ancient backups to see if I ever had a setup for it even.

I can’t imagine that Bank works reliably since a lot of older equipment use different message data for the Bank message to actually select the bank. For example, the Roland XP-50 uses 83 followed by 01-03 for banks 1-3 but if you want the User Bank it’s a different MSB.

Exactly, and that is the essential reason why you would create a Cubase MIDI Device, to abstract the process. This way it appears to work the same way as a VST instrument, for example.

To be honest I haven’t used the ScriptMaker in a long time, but the MIDI Device Manager is adequate for adding/editing device direct in Cubase, albeit cumbersome it is rewarding in the end, if you have a lot of MIDI equipment.

If you know how one of your devices use banks and program changes, you could just make a generic MIDI Device based on the bank “format”, the number of banks and the range of programs within each bank. Meaning, you do not have to enter all the patch names, it can generated program names automatically (“Program 1”, “Program 2”, etc.).

When I get some time I will scour “the archives” to see if I have something for the DMPro.

Well, here’s the thing about panels… they look cool, but more to load into Cubase. Anything that you can control with panels, can be controller with either Note Expression or the traditional track CC lanes. Panels just make it more graphical. :slight_smile: (I created and used some panels when they first came about long ago, but haven’t used them since.)

As far as the hardware sliders, chances are they send out MIDI (common thing). If you create a MIDI Track and on the MIDI Inserts tab, add the MIDI Monitor insert. Choose the “All Events” preset and deselect the SysEx button, and turn the MIDI Monitor on. Now when you press a key on the keyboard it should show the key in the list. Then try one of the sliders and it should show what MIDI CC it is transmitting. With four sliders there will be four different CC numbers (anywhere from 0 to 127; remember the typical MIDI range of data bytes).

E.g. now you could go into “Device Setup…” and add a Generic Remote device and assign those CC numbers as sliders, or you could assign the CC numbers to the Quick Controls (QC).