Moving a MOXF SONG to Cubase

GOAL: To be able to add additional tracks and edit in Cubase, create a mix, and begin the process of ‘printing’ the MOXF6/MOXF8 PARTS as audio tracks.

Moving your MOXF6/MOXF8 SONG’s MIDI data to Cubase is the first step. You want to work with a “SONG” rather than a PATTERN… you want to take your PATTERNS, Chain them, then convert them to a linear SONG.
Reason: because Cubase is also linear in nature. As is always recommended, [STORE] and then SAVE your data as a MOXF6/MOXF8 ALL data file to a USB drive (.X6A).

What we want to move is the MIDI event data. That is, the MIDI events that are documentented (recorded) in the tracks of the MOXF6/MOXF8 sequencer, to Cubase MIDI Tracks. The MIDI tracks will be assigned to play from Cubase and trigger the MOXF6/MOXF8. We will use a file format developed specifically for moving MIDI sequence data universally – the Standard MIDI File (SMF)

In a separate operation the MIXING data will be moved to the MOXF6/MOXF8 Editor VST, which conveniently runs inside of Cubase. While MIDI event data is fairly standard, the MOXF6/MOXF8 mix and Voice parameters are specifcally YAMAHA parameters and therefore are moved in a separate proprietary format. The MIXING parameters are those concerning the MOXF tone engine (synthesizer) – and are therefore not the kind of data that is in the MIDI Tracks. The VOICES you selected for each PART, the pan position, the mix volume, the Reverb send amounts, the Chorus sends, etc., etc., etc. The MIXING setup will still be in your MOXF6/MOXF8, but what you want to do, is capture this data with the Editor which saves it together in the Cubase Project (very cool). When you recall the Project all your MOXF6/MOXF8 sounds and mix setup come with it. So you don’t have to keep a version of this in your MOXF6/MOXF8. *Everything* to make it play correctly will be included in the Cubase Project file (.CPR).

So there are two important steps in this transfer:
_ The MIDI sequencer data.
_ The MIXING tone generator setup (synthesizer data).

CHECKLIST: What you will need for this:
_MOXF6/MOXF8 connected to your computer via USB
_MOXF6/MOXF8 firmware v1.12
_The Yamaha Steinberg USB Driver v1.9.10 for Mac/ v1.9.9 for Windows (or later) for your particular computer’s OS
_The MOXF6/MOXF8 Remote Tools v1.0.3 (or later)
_The MOXF6/MOXF8 Editor Standalone VST v1.6.7 (or later) for Mac; v1.6.3 for Windows http://download.yamaha.com
_The audio outputs of the MOXF6/MOXF8 connected to a quality stereo sound system
_A named MOXF6/MOXF8 SONG

Recommended you STORE and then go to FILE and SAVE an ALL data file as a backup (.X6A).

For this example we will set the MOXF6/MOXF8 to dual stereo record (4CH):
(This mode allows you to address the external DAW via two discreet stereo feeds – you route signals as you require to accomplish various recording schemes).
Press [UTILITY]
Press [F5] USB I/O
Press [SF1] OUT CH (OUTPUT CHANNEL Mode)
Verify that the parameter is set to “4CH”
USBaudioOUTch
If not, you will need to change it, press [ENTER] and then reboot the MOXF6/MOXF8 – for the change to take place.
By making 4 Channels available you will be able to address the DAW on two separate Stereo feed – it is all about flexibility and being able to isolate parts when you want to separate them from the rest.

Important note about the [SF1] OUT CH (OUTPUT CHANNEL): Pressing this button calls up the display which determines whether the maximum number of output channels for USB is 4 channels (2 stereo channels) or 2 channels (1 stereo channel). If transfer of the audio signal between the MOXF6/MOXF8 and the computer connected to the MOXF6/MOXF8 is compromised or impossible, set this parameter to “2ch.” This setting reduces the CPU load of the computer, and may resolve the problem. After changing this setting, press the [ENTER] button, then restart the MOXF6/MOXF8.

_ After changing this setting and pressing the [ENTER] button, make sure to restart the MOXF6/MOXF8; the instrument will not operate otherwise. Before restarting, make sure to store any important edited data to prevent it from being inadvertently lost.

4chSignalFlow

Press [SF6] INFO to view the routing (signal flow) Press [F5] USB I/O
Set MODE = 2StereoRec (Dual Stereo Record Outputs)

dualStereoRec

Transferring the MIDI data from MOXF6/MOXF8 to Cubase

1) Save the data as a SMF to a USB stick. Drag and drop the .MID file into an empty Cubase Project and you can assign it to play from the MOXF6/MOXF8
2) Transfer the sequence from the MOXF6/MOXF8 in real time. Synchronize the MIDI clocks (Cubase as master, MOX as slave), open a MIDI Track and run it through once.

In both cases, once the data is recorded to a Cubase MIDI Track you can have it split out to separate Tracks by MIDI channel (using the DISSOLVE PARTS function).

SAVE MOXF SONG as a SMF
Connect a USB stick to the USB “To Device” port on the back of the MOXF6/MOXF8
Press [FILE]
Press [SF2] SAVE
Setup TYPE = SMF
Move the cursor down between the brackets and give your file a Name.
Press [SF1] EXEC
You can now select the SONG that you want to transfer by number/name
Press [SF1] EXEC

This will create a file with the extension .MID

Preparing to Drop the file into Cubase
In Cubase you can setup so that your MIDI file will be quick and easy to assign all the tracks to MOXF6/MOXF8
Go to your Cubase “Preferences…” > MIDI > MIDI FILE > you want to set the IMPORT OPTIONS:

Check: “Import dropped File as single Part”
Clear all the others options.
Click APPLY
Click OK
ImportOptionsMOX

When this is activated and you drag and drop a MIDI file into the project, the whole file will be placed on a single track. This is exactly what we want. But before we actually do that you can setup the MOXF6/MOXF8 as VST within Cubase.

Place the USB stick in your computer.
Launch Cubase
Because you have properly installed the REMOTE TOOLS (which includes the EXTENSIONS) Cubase will ask you if you want to use the Yamaha MOXF6/MOXF8 as your ASIO interface.
Yes, you do!
Open a NEW PROJECT > use the EMPTY template
Create a NEW FOLDER on your computer (not on the USB stick) to house your Project as directed by Cubase

And again because you have properly installed the REMOTE TOOLS/Extensions, Cubase will automatically setup MIDI, REMOTE, and VST AUDIO SYSTEM settings for you. If not please see the “Cubase: DEVICES Troubleshooting” article.

Go to DEVICES > VST INSTRUMENTS > Click in the first empty item on the instrument rack > EXTERNAL > MOXF6/MOXF8 VST
MOXFVSTlaunch

You will be asked if you want to create a MIDI Track assigned to this VST device… Create it.
By creating a track assigned to the MOXF6/MOXF8 VST, this prevent us from having to individually assign each track (manually).

Set the MIDI CH = ANY (literally “ANY”)

You can now drag ‘n’ drop the .MID file in the empty track data area, at Measure 1.
TrackviewMOX

You can use the MIDI > DISSOLVE PART function to split the MIDI data out to separate tracks, by MIDI Channel, if you wish (you only need to if you need to edit it, some prefer it, some don’t). If when you click on MIDI, the DISSOLVE PART function is “greyed out” – you must highlight (select) the track data area in Track view window. Set the dialog box that opens to separate the data by MIDI channel.

Now, let’s make sure that Cubase is aware of the MOXF6/MOXF8 synthesizer data (We are going to import the current MIXING setup and Voice Library)

The MOXF6/MOXF8 Editor VST and the tone generator settings
Verify your setting within the Editor VST. If you have setup up before it should just come online. However, for the purposes of this article, we will go through the verification steps – so if you ever need to troubleshoot it you will know how to do so:

On the EDITOR VST:
Go to FILE > SETUP
Verify that the USB Port Details are setup as follows:

USBsetupPorts

Notice that the MOXF6/MOXF8 communicates on two separate PORTS (Port 1 and Port 4). Port 1 is the normal MIDI OUTmessages of musical note, controller and tempo data. Port 4 is used exclusively for bi-directional communication between the Editor and the MOXF6/MOXF8 hardware (which is external to the computer).

Go to FILE > VSTI SETUP
Verify that your USB AUDIO BUS outputs are setup as follows:

AudioReturnsMOXF

You can bring the synthesizer parameters over to Editor VST by requesting a BULK > DATA SYNC via the Editor VST.
The Editor can pull the data over for you.

In the EDITOR, click on BULK on the main menu and select DATA SYNC
Click on RECEIVE

BULKdataSYNC
“Receive” is the computer application receiving data from the MOXF6/MOXF8 hardware.
Click on the options you want to capture. You can capture the CURRENT (the current Mix settings in your MOXF6/MOXF8) – so recall the SONG in the MOX and then click OK to capture it.
You can additionally capture all the USER bank VOICES, Drum Kits, and even your marked Favorites! This can be very useful in archiving your data on your computer. You can have every VOICE and every possible thing that you could have used in this Project in one nice neat file.

Once the data is captured and you SAVE the PROJECT – every setting is saved.

You are now able to work with Cubase: Edit the tracks, add additional tracks, mix, begin to bounce your MOXF6/MOXF8 parts to Cubase (that is print them as Audio Track to Cubase), and go on to complete and even Master your work in a program like WaveLab.

From this point you can begin to use Cubase to enhance your composition. We should mention that you are now setup to play MIDI data from Cubase > it travels via USB-MIDI to the MOXF6/MOXF8 hardware which interprets the MIDI messages and generators audio > the audio is routed back to computer via one of two pair of audio buses USB 1/2 and USB 3/4 > the Editor VST is responsible for returning the audio into Cubase such that it behaves like any internal soft synth. This means the virtual audio is going to found in the VST INSTRUMENT Folder. In this VST INSTRUMENT folder you will see “audio lanes”. It is here that you will see meters for USB 1/2 and USB 3/4.

You need to know how to activate the MOXF6/MOXF8 VST audio return into Cubase.
Go to DEVICES > VST INSTRUMENTS

On this Instrument Rack you will see several icons – the one to the right of the “e” (edit) is the symbol for OUTPUT “[->” (an arrow pointing to the right). If you click here you can see each pair of audio RETURNS from the MOXF6/MOXF8 hardware. This is where you can activate and deactivate the second pair.

This should get you started. There is no one way to proceed.

Working with and Creating Proper GM Files

The Setup Measure is one measure in front of any music data. This measure is typically used to prepare the receiving device for the data. General MIDI was designed as a protocol that could address a standard list of Voices that could be edited by CC (Control Change) and System Exclusive messages. Because the protocol can do this, GM modules could be made very inexpensively because manufacturers could avoid the expensive DRAM where Voice data could be stored in USER Banks. While there are certainly some synthesizers with the official GM logo stamp that also can store User Voices, it is just that it is not a requirement for a tone generator to have User storage for custom sounds.

Therefore, the first measure of a GM file will be full of MIDI messages designed by the author to reprogram a connected GM module. And because all official GM modules will respond to the commands in a similar fashion – the protocol is used widely in all kinds of consumer devices. There are very strict rules about number of layers and the kinds of effects available.

The difference between a GM module and synthesizer like the MX, MOXF, Motif XF, S90XS/S70XS etc., and a synthesizer with the official GM Logo, is that the Yamaha synthesizers pay homage to GM Voice list without using a separate tone chip or engine. Yamaha figures that the customer for these programmable synthesizers would prefer to ‘REVOICE’ the GM file – that is, we think that the synthesizer customer would want to select fully programmed 8 Element sounds with a wide variety of cutting edge effects to replace the rather tame (by comparison) GM bank found in most synthesizers.

So the Yamaha synthesizers do not carry an official GM logo. They do however, have a pseudo-GM bank that follows the basic selection program change protocol – but you are free to substitute your favorite sounds in the place of those found in the GM list, if you wish. The thing is the pseudo-GM bank of the MX, MOXF, Motif XF, and S90XS/S70XS is the same fully programmable tone engine of the host product. So you are free to customize the Effects, apply Insertion Effects to PARTS you wish to feature, etc., etc.

If you are looking for plug-and-play GENERAL MIDI – that it really not what is on offer here. There is an art to REVOICING a GM file for use in the synthesizer and it can be fun and rewarding work. Plus when you have completed your work there is a feeling of accomplishment and that you have truly made the sequence your own. This article will provide you some of the fundamental information you will need to successfully translate a GM, XG or even a GS file to a Yamaha professional synthesizer.

The SETUP Bar
In it you will find a GM Reset command – which will ‘zero out’ the previous data. All the initial Program Change events are found in this Setup measure – by the rules of the protocol, there must be between 100ms between the GM RESET and the next event. Program Changes should be kept away from MIDI Note-On events this is so they do not hiccup on the downbeat of your composition. Imagine changing 16 instruments and playing all happening on the same clock tick – obviously, that cannot happen. It is called a SEQUENCER because the EVENTS (commands) must be recorded and read back in a specific sequence… in a specific order. If you send a NOTE-ON Event after the PROGRAM CHANGE you can expect that NOTE-ON to sound with that new Program. But if it is before the PROGRAM CHANGE, it will not play from that sound – and you need to allow a small amount of time for the instrument change to actually occur. So Program Changes should always precede the first note asked to play from the selected Voice. So 100ms after the RESET, the first Bank Select and Program Change message will be place.

This RESET is very important because in GM the last settings persist… if the song faded out, the MASTER volume will be zero until a message countermanding that zero is received. If tons of reverb were used on track 12 (cc91), you will inherit that from the previous song, and so on. Therefore, GM rule #1 place a GM Reset command as the first event on track 1 of the file.

At the very first clock tick of the SETUP MEASURE, on track 1 is typically where you will find the GM RESET command (as a rule system exclusive messages are kept on track 1 – but the track number does not matter really – they are system-wide messages – but the convention is to use track 1 this makes it easy for anyone editing the file to find them). It will affect all 16 PARTS of the Tone Generator.

GM RESET Command is a hexadecimal message: F0 7E 7F 09 01 F7

GMreset

This is the GM RESET. It will automatically return all PARTS to GM Bank’s 001 Program: Grand Piano, except PART 10 which will select the GM Drum Kit. It also will return all volumes to 100, set all reverb sends (cc091) to 0, all chorus sends (cc093) to 0, all pan (cc010) to center, flatten all filter settings (cc071, cc074), return MW (cc001) to zero, sets the Pitch Bend to +0000, etc., etc. It returns all GM devices receiving this message to an agreed upon neutral state. This is very important within the protocol, because (as mentioned) there is no required User Bank storage on-board – so a neutral or nominal state has been agreed upon as the starting point.

EventList

Next you can expect to see the setup data. General MIDI protocol requires that you allow approximately 100ms of time to pass before you transmit any other MIDI messages to the system. Some recommend 50ms, some recommend as much as 200ms – not to worry – we have a whole measure so there is plenty of time. This pause is to ensure that the receiving device has time to switch and react to the Reset command. RESET is not a casual message – it is a total system reset.

Bank Select – Program Change
In General MIDI Files the Bank Select-Program Change events should appear on each track that you use. These messages are considered “Channel messages”. These are fairly easy to work with on Yamaha sequencers – as Yamaha uses what is called a “packed” event (be sure to check the documentation of your sequencer, if you are using an external device to sequence/edit your data).

Bank Select is a two byte message – a MSB (most significant byte) and a LSB (least significant byte) these two Control Change message each will have a value. This value identifies the bank. Messages will be between 000 and 127. The Bank Select information is followed by a Program Change number (also a number between 000 and 127)

The format is “xxx-yyy-zzz”
‘xxx’ is the MSB value
‘yyy’ is the LSB value
‘zzz’ is the Program Change value

You also will find some sequencers use the long form which involves Control Change 0 (MSB) with a value, followed by Control Change 32 (LSB) with a value, followed by the Program Change event value.
Check your sequencer’s documentation for how to input Bank Select and Program Change commands.
All normal GM sounds are in MSB = 000, LSB = 000

The GM Drum kits are in MSB = 127, LSB = 000

GMdrum

So a Program Change message in the Yamaha sequencer that is:
000-000-000 will recall the GM bank piano: Concert Grand
127-000-000 will recall the GM bank drum kit: Stereo GM Kit (shown above)

You may notices that the PROGRAM CHANGE numbers are one digit off from the Program List. Please note: Program Change events start from 000 and go through 127, Program numbers on the synthesizer are listed from 001 through 128. This happens because when asked to count to ten, most people start with 1, computers start (properly) with 0. This is your first bit of MUST HAVE information. Although the main GM piano is the first sound, its Program Change number is 000.

The long form for the GM piano would be:

Control Change 0, value 0
Control Change 32, value 0
Program Change 0
A Program change message in a Yamaha sequencer that is:

127-000-000 will recall the GM Drum Kit
The long form for the GM Drum Kit would be:
Control Change 0, value 127
Control Change 32, value 0
Program Change 0

So how much time after our GM RESET do we leave before we input the Bank Select/Program Change event….? I recommend that you place your Program Change event on beat 2 (that is 001:2:000)
At a tempo of 120 beats per minute a single beat is 500ms – so we have left plenty of time.
So start with track 1, say you have an acoustic bass sound on track 1. This is GM sound number 33… but is going to be Program Change 032 (remember Program Changes start with 000 so they are off by 1 count).

And in this manner you will do the same to each track. Make sure you place them on Beat 2 of measure 001 – so that they do not interfere with the GM RESET and do not interfere with your music data – which will start at measure 002.

Additionally, in your SETUP MEASURE you can customize your mix with other CONTROL CHANGE messages. Control Change messages can ‘edit’ the sound associated with the track. This is because each track is transmitting to a specific MIDI Channel – and these are Channel messages.

It is highly recommended that any ‘edit’ messages follow the Program Change event. (It would be silly to edit a sound and then change it…)

You can come up with your own scheme as to where these messages occur (if you prepare lots of files this can be helpful in quickly being able to correct and edit them – if you know where to look). When working on the XG Library we had a system where at 005 clock pulse intervals we would program particular events… but you can come up with your own… for example.

At 001:2:005 you might place a command for the track’s volume (cc007)…
…and at 001:2:010 you might place a command for the track’s pan position (cc010), etc., etc
With a system like this you always know where to look to correct some aspect of the GM mix.

Some common CC message you might want to use:

cc001 Mod Wheel
cc007 (channel) Volume
cc010 Pan
cc011 Expression
cc071 Filter Resonance (Harmonic content)
cc072 Release
cc073 Attack
cc074 Filter Cutoff (Brightness)
cc075 Decay
cc091 Reverb Send
cc093 Chorus Send

Remember: the GM RESET neutralizes all of these to predetermined state to where they are not influencing the music. You can simply set the ones where you want some change from the normal setting. In other words, it is not necessary to input a ModWheel command cc001 = 000 because the GM RESET automatically zeroes out the MW. It is not necessary to set the Filter Cutoff back to normal cc074 = 064 because the GM RESET automatically does this… by the way, filter cutoff since it can be “opened” or closed has a neutral point in the middle. Remember MIDI commands go from 000 through 127 so “064” is approximately the middle – and is the filter at neutral – it is not brightening nor darkening the sound.

Hope this short tutorial is helpful – remember the more fastidious you are with your Setup Measure, the better you are able to ensure that the listener will have successful playback on whatever system they play it.

© 2024 Yamaha Corporation of America and Yamaha Corporation. All rights reserved.    Terms of Use | Privacy Policy | Contact Us