Synth Forum

Notifications
Clear all

Is it possible to record midi song control messages in Cubase AI?

3 Posts
2 Users
0 Reactions
5,201 Views
Posts: 0
New Member
Topic starter
 

Is it possible to record song control messages like song scene change (SF1 ... SF6), ARP on/off, track mute/unmute in external DAWs and especially in Cubase AI8?. Also it seems that Cubase AI8 does not record AF1/AF2 on/off (normally CC 86, 87).
Is it possible to send those control messages with MIDI messages (SYSEX?) in Cubase AI8 and how?

 
Posted : 22/02/2016 11:14 am
Bad Mister
Posts: 12303
 

Thanks for the question,

Actually, several of the Song Commands are Yamaha inventions and are not standard MIDI commands and therefore do not translate to any external sequencer. SCENE and TRACK MUTE events are Yamaha sequencer inventions and do not have a standard MIDI command. Nor can they be operated remotely.

SCENE - is a snapshot of the current mix settings within the Yamaha synth (and would have little meaning to any device but a similar tone engine, so it has nothing a standard Midi device would understand). It is an exclusive command with a dedicated Scene Track in your MOXF sequencer to document and recall the Scene Event. These cannot be sent or recalled remotely - they are an exclusive feature of the Yamaha hardware and its own Sequencer/Tone Generator system.

TRACK MUTE - is a snapshot of which MOXF MIDI tracks are set to playback. Another exclusive command event which can be included in the Scene snapshot, but one which you can create as many events as you require. Unlike the Scene event, if you transfer your sequence from the MOXF to your DAW in realtime, the muted tracks simply will be silent during the time they are muted. But believe it or not there is no Mute Event in the Midi spec. Besides if you are using Cubase as you Midi sequencer you have no need of this particular function which is between the MOXF sequencer and its tracks. Yamaha came up with this Track Mute Event and documents them on the dedicated SCENE Track. These events cannot be sent or recalled remotely - they are an exclusive feature of the Yamaha Sequencer and its own tracks.

Arp ON/OFF - is a multiple step function, and once again not a standard MIDI FUNCTION. You have a Master Arp On/Off Switch and then as many as four Parts can have their individual Part Arp Switch set to On. These can be controlled via System Exclusive messages. Remember also turning On the arpeggiator on a Part does not cause it to play anything, the On switch simply 'arms' the arpeggiator to accept Note information that can then be used to trigger the phrase or gesture stored in the currently selected Arp. You can also switch between [SF1]-[SF6] using System Exclusive messages (see the Data List Booklet for details). Your realtime pressing of the arp switches is not documented, but you could recreate it by judicious placement of the Sysex commands. (The recommended workflow with arpeggios is to record the Midi events generated by the arps to the MOXF sequencer tracks, then transfer the Midi event data to your DAW. There are times, however, when triggering the MOXF arps from an external Midi sequencer is recommend, and in this case you must 1) activate the main Arp Switch, then 2) arm the individual Part Arp Switch, and 3) select the ARP SF1-6 button in the measure prior to the Midi trigger note(s). Also you must either have the arp set to single shot or you must turn the arp switch Off to ensure it stops at the appropriate time.

ASSIGNABLE FUNCTION 1/2 - Cubase AI8 should record cc086/087 Control Change commands. If you are not getting them to respond please make sure you are set to send and receive these standard messages to and from Cubase. These standard messages are Midi Channel specific and can be recorded and played back by any Midi sequencer. Please remember they reset to OFF as normal, same as your sustain pedal, and Mod Wheel, so when you want to engage them the first command must be an ON command (64-127). Operating the buttons while your Cubase track is in record is all that is required, of course, you can manually insert these in the track data as well.

Hope that helps.

 
Posted : 22/02/2016 12:50 pm
Posts: 0
New Member
Topic starter
 

Thanks B_M for your reply. It gave me motivation for further investigation of this subject.

First of all, the easy part. Indeed, AF1/AF2 buttons send CC 86/87 respectively as configured in MOXF and they are indeed recorded in Cubase midi tracks (I must had some filtering out of those messages initially, so that' s why I couldn't capture them).

Now, the difficult part. I studied the MOXF Data List, as B_M suggested, and I found there that almost all the onboard commands and parameter editing actions of MOXF correspond to specific data sequences. After all, how would be possible to control MOXF from VST Editor or other software and vice versa without some messaging protocol? The answer is SYSEX messages. But I couldn't figure out the exact format of those messages.

Since Cubase is not very user friendly in presenting SYSEX messages (and it lacks a midi list editor), I used the freeware MIDI OX, in an effort to monitor/decode the midi activity of MOXF and see if there were any SYSEX messages transmitted at all. In the beginning, I had no success. But when I enabled monitoring of MIDI port 4, the situation changed. Almost, every keyboard action, every button pressed, every knob turned, produced a specific SYSEX message.For example:

In Voice Mode:
ARP ON: F0 43 10 7F 1C 01 40 30 0E 01 F7
ARP OFF: F0 43 10 7F 1C 01 40 30 0E 00 F7
SF1: F0 43 10 7F 1C 01 40 30 00 00 F7
SF2: F0 43 10 7F 1C 01 40 30 00 01 F7

In Performance Mode:
ARP ON: F0 43 10 7F 1C 01 30 30 04 01 F7
ARP OFF: F0 43 10 7F 1C 01 30 30 04 00 F7
SF1: F0 43 10 7F 1C 01 30 30 00 00 F7
SF2: F0 43 10 7F 1C 01 30 30 00 01 F7

etc.

BUT when I tried to send back those SYSEX messages to MOXF, nothing happened. The answer was found in Yamaha official site FAQs and also in the MOXF Data List. The 6th byte of the SYSEX sequences, named MODEL ID, should be 00 (not 01 as being captured by MIDI OX). So, I manually changed it to 00, transmitted again the SYSEX messages and EUREKA: I could control MOXF from MIDI OX with SYSEX messages.

Now comes the Cubase workflow:
- Enable receiving of SYSEX messages (In Preferences, untick SYSEX from MIDI filter)
- Insert a MIDI track, set "All MIDI Inputs" as Input, and start recording. Play your part and make your keyboard actions.
- When recording is finished, open the MIDI Key Editor. Select "Show Used Controllers". Along with any MIDI controllers lanes, you will see
also a SYSEX lane.
- Unfortunately, the same problem with MIDI OX is also present in Cubase AI8. The 6th model id byte is recorded as 01 instead of 00.
(Maybe a Yamaha system expert could explain why is this happening).
- Double click every SYSEX event to open up the SYSEX editor and manually correct the 6th byte from 01 to 00. Press OK to keep the changed value.
- Now, when you playback your MIDI track, every keyboard action that you performed during recording, will be reproduced exactly as played
(for example: ARP ON/OFF, SF1 .. SF6, TRACK SOLO, AF1/AF2 - yes AF1/AF2 produce also SYSEX messages etc.)
The only actions that don't seem to produce any SYSEX messages are the TRACK MUTE actions. But we can get the same result with Cubase automation (enable R W in Cubase MIDI track and muting/unmuting is recorded in Cubase automation lane).

So, after all, why all this trouble? Why not using MOXF's internal sequencer, which can record all these key actions inherently.
Here's a scenario: Suppose you have a source MIDI file. You open it up in Cubase, you make all the necessary editing and arrangements (Cubase is much more user friendly and flexible than MOXF internal sequencers) and you enhance your arrangement with additional VST instruments/effects. Now, during playback, you want to be able to act like a DJ, enabling/disabling ARPs, changing Song Scenes, muting/unmuting tracks etc. And you want to be able to record all those actions, maybe edit them and correct your timing and reproduce them every time exactly as intended. You want to keep your entire project in MIDI format (not convert it to audio) because you might want to change something in future. I think that the above described process with the SYSEX messages is the best approach.

Last Update: You cannot record MIDI Sysex messages in Cubase while using MOXF VST editor, because it reserves MIDI port-4. In this case, you have to setup the Sysex messages manually (for example in the key editor, display the sysex controller lane, add the sysex events with the pencil tool and edit them by double clicking in order to put there whichever message you want).

 
Posted : 23/02/2016 12:14 pm
Share:

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