Jump to content
Please note: You can easily log in to MPN using your Facebook account!

iPad - Sys Ex to Yamaha


Recommended Posts

Hi,

 

I am using the Band Helper app on my iPad (iRig 2, camera connection kit, midi solutions merge and thru) to send SysEx messages in hex code to changes patches on a Yamaha Moxf6 in Master Mode which then selects patches on my Nord Stage Ex and two H9 Eventides. This seems to be working fine.

 

(The Yamaha can't receive program changes in Master Mode and requires system exclusive messages which is why I am sending the hex code.)

 

I would like to use the iPad/Band Helper to also select patches on a Kurzweil PC4-7 (pre-ordered) for when I need to travel light with one board but I don't want to have to recreate all the same songs with midi presets. I am thinking I can add bank/program changes for the Kurzweil to send at the same time as the SysEx. The Yamaha should ignore the program changes, but I am unclear if the Kurz will ignore the SysEx.

 

Are "system exclusive" messages actually system exclusive or can they trigger other keyboards as well? Also, just curious if SysEx messages travel along a specific midi channel or if this works differently somehow than for program changes, control changes, etc.

Studio: Motif XF8 / MacBook Pro / Apollo Twin X / M-Audio BX8a / Plug-ins

Live Rig A: Nord Stage 3 Compact 73 / Prophet Rev2 / Various FX pedals (Eventide, Strymon, Lounsberry, Neo Vent II)

Live Rig B: Yamaha MODX7 / Crumar D9-X / B3-X  (iPad)

Amp: MS KP-610s

Link to comment
Share on other sites

  • Replies 15
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

The Yamaha stays, but you are swapping the Nord for a PC4-7 in the setup? I"m assuming you are going iPad to Yamaha midi IN and then midi THRU to the Nord (or at times PC4-7)?

 

Also - just a side note - isn"t it easy with an app to just make a copy of your set list and rename it for when the PC4 is in the mix? Then edit that set list without goofing with your original?

Yamaha CP88, Casio PX-560

Link to comment
Share on other sites

Yeah, just did some more research and it looks like the third and fourth character groups in the hex code ID's the specific manufacturer and model.

 

Thanks for confirming though, this is definitely dry reading...

Studio: Motif XF8 / MacBook Pro / Apollo Twin X / M-Audio BX8a / Plug-ins

Live Rig A: Nord Stage 3 Compact 73 / Prophet Rev2 / Various FX pedals (Eventide, Strymon, Lounsberry, Neo Vent II)

Live Rig B: Yamaha MODX7 / Crumar D9-X / B3-X  (iPad)

Amp: MS KP-610s

Link to comment
Share on other sites

The plan is to use just the PC4-7 (whenever I get it) along with the B3-x and Neo Soul Keys apps as a completely separate setup from the Yamaha/Nord.

 

Neither the Yamaha nor the Nord have midi thru so I actually used a couple midi solution boxes to route like so:

 

iPad &Nord >>Midi Solutions Merge>>Yamaha>>Midi Solutions Thru>>Nord & H9>>>H9 thru>>>2nd H9

 

(The Yamaha and Nord each trigger sounds on the other depending on the patch.)

 

I could have eliminated some of this by using the thru on the iRIg2 and the last H9 but I wanted some flexibility to make changes later on and evidently the H9's midi thru has been wonky in the past. Also wasn't sure about the possibility of introducing latency.

 

Regarding the setlist, there are ways to do it in that app but from what the developer says the simple way is just to have both midi presets going at the same time in one song. You don't assign the presets at the setlist level but in the song itself which is where the PDF chart is, etc. So the other way to do it is you create"smart copies" of the song and adjust the presets, but I would rather not have multiple copies of songs floating around as I would possibly like to share some of these playlists and songs with band mates using the same app potentially.

Studio: Motif XF8 / MacBook Pro / Apollo Twin X / M-Audio BX8a / Plug-ins

Live Rig A: Nord Stage 3 Compact 73 / Prophet Rev2 / Various FX pedals (Eventide, Strymon, Lounsberry, Neo Vent II)

Live Rig B: Yamaha MODX7 / Crumar D9-X / B3-X  (iPad)

Amp: MS KP-610s

Link to comment
Share on other sites

I was also thinking that you may prefer to 'channelize'. Hard set each synth to a channel. Very tidy way of doing things and deciding what messages go where. The Yamaha can get Sysex in multi mode on a specific channel too.

 

Isn"t Sysex midi channel agnostic?

Link to comment
Share on other sites

I was also thinking that you may prefer to 'channelize'. Hard set each synth to a channel. Very tidy way of doing things and deciding what messages go where. The Yamaha can get Sysex in multi mode on a specific channel too.

 

Isn"t Sysex midi channel agnostic?

 

Apparently the Sysex header can also include a MIDI channel number. They did this so several devices on different channels could receive individual sysex messages. A device that"s been hard set to a MIDI channel will ignore sysex coming in on a channel it"s not set to receive on.

Yamaha CP88, Casio PX-560

Link to comment
Share on other sites

After posing the question I did a quick search. My understanding (such that it is) is that Sysex can be further channelized. But it"s not the same channelization that we think of with standard midi channels. And iirc it"s something referred to as universal sysex that has this feature.

 

I may have gotten this completely wrong.

Link to comment
Share on other sites

There seems to be some confusion over MIDI Channel versus Device ID. SysEx messages don't include MIDI Channel.

 

The first three bytes of a typical SysEx message might be...

F0 43 10

where...

F0 = Start of Exclusive

43 = Manufacturer ID (43 is Yamaha)

1n = Device Number, n = 0~F (1~16 decimal)

followed by model ID bytes, then data, and finally...

F7 = End of Exclusive

 

Device Number isn't MIDI channel, it's an identifier for which of the up to 16 synths of the same model you want to direct the message. I suspect that few of us have multiple "whatevers" in our rigs, so this capability doesn't usually get much use. It may have had more application when synths tended to be mono-timbral, and a bank of them was needed to get multiple sounds simultaneously.

 

By the way, that third byte isn't always "1n" - for Yamaha, that would signify a Parameter/Mode Change message, while "0n" is for Bulk Dump, "2n" for "Dump Request", and "3n" for Parameter Request messages.

 

Universal SysEx, somewhat of an oxymoron, doesn't have Manufacturer ID.

Yamaha: Motif XF6 and XS6, A3000V2, A4000, YS200 | Korg: T3EX, 05R/W | Fender Chroma Polaris | Roland U-220 | Etc.

 

 

Link to comment
Share on other sites

Awesome explanation!

 

I assumed when I put this all together I could just send program changes to the Yamaha like any other keyboard, but they always seem to find a way to make things difficult and non-intuitive.

 

I am interested to see if buying the PC4-7 is going to make me jump ship for all of my live gear. I already sold my MX and am selling my MOX, which just leaves with me a Motif, which is a great studio controller, and the MOXF for live use.

Studio: Motif XF8 / MacBook Pro / Apollo Twin X / M-Audio BX8a / Plug-ins

Live Rig A: Nord Stage 3 Compact 73 / Prophet Rev2 / Various FX pedals (Eventide, Strymon, Lounsberry, Neo Vent II)

Live Rig B: Yamaha MODX7 / Crumar D9-X / B3-X  (iPad)

Amp: MS KP-610s

Link to comment
Share on other sites

Thanks MIDI2XS. I was aware of the device ID used with Sysex but was referring to this:

 

Universal system exclusive messages

 

There are two universal IDs that can be used by system exclusive messages instead of the specific manufacturer IDs above. Since these two IDs are not specific to a manufacturer, but universal, all MIDI devices should consider responding to those. These IDs are as follows.

 

Hexadecimal value Decimal value Description

0x7E 126 Real time

0x7F 127 Non-real time

 

In other words, 0x7F is carried by system exclusive messages to which all MIDI devices should respond to in real time (immediately) and 0x7E is carried by system exclusive messages to which all MIDI devices will respond to, but not in real time (not necessarily immediately). For example, the MIDI full frame message is a system exclusive message with manufacturer ID 0x7F. This message prompts all MIDI devices to immediately cue up to a certain point in time.

 

The first byte after the real time / non-real time ID is the "system exclusive channel". Normal system exclusive messages do not have a channel, but universal system exclusive messages do have a channel that could be from 0x00 to 0x7F (from 0 to 127). Normally, the system exclusive channel will actually be the manufacturer ID in the table above (e.g., 0x41 for Roland), so that the message can be sent to a specific MIDI device. If the system exclusive channel is 0x7F then this message is for all MIDI devices.

 

The two bytes after the system exclusive channel are sub-IDs and describe what the message is about. For example, the two bytes '0x01 0x01' show that the message is the MIDI Full Frame message and that the rest of the data should be used to discern time to which the MIDI device should cue.

Link to comment
Share on other sites

Thanks MIDI2XS. I was aware of the device ID used with Sysex but was referring to this:

 

Universal system exclusive messages

 

There are two universal IDs that can be used by system exclusive messages instead of the specific manufacturer IDs above. Since these two IDs are not specific to a manufacturer, but universal, all MIDI devices should consider responding to those. These IDs are as follows.

 

Hexadecimal value Decimal value Description

0x7E 126 Real time

0x7F 127 Non-real time

 

In other words, 0x7F is carried by system exclusive messages to which all MIDI devices should respond to in real time (immediately) and 0x7E is carried by system exclusive messages to which all MIDI devices will respond to, but not in real time (not necessarily immediately). For example, the MIDI full frame message is a system exclusive message with manufacturer ID 0x7F. This message prompts all MIDI devices to immediately cue up to a certain point in time.

 

The first byte after the real time / non-real time ID is the "system exclusive channel". Normal system exclusive messages do not have a channel, but universal system exclusive messages do have a channel that could be from 0x00 to 0x7F (from 0 to 127). Normally, the system exclusive channel will actually be the manufacturer ID in the table above (e.g., 0x41 for Roland), so that the message can be sent to a specific MIDI device. If the system exclusive channel is 0x7F then this message is for all MIDI devices.

 

The two bytes after the system exclusive channel are sub-IDs and describe what the message is about. For example, the two bytes '0x01 0x01' show that the message is the MIDI Full Frame message and that the rest of the data should be used to discern time to which the MIDI device should cue.

Sorry, although my previous post immediately followed yours, it wasn't meant to question what you posted - I only mentioned Universal SysEx at all since you brought up the topic. I was mostly addressing previous comments in the thread which seemed to indicate a small misunderstanding concerning MIDI channels, and I wanted to clarify the issue.

Yamaha: Motif XF6 and XS6, A3000V2, A4000, YS200 | Korg: T3EX, 05R/W | Fender Chroma Polaris | Roland U-220 | Etc.

 

 

Link to comment
Share on other sites

It's a funny contradiction in terms, that there are indeed a handful of "universal" system exclusive commands, since by definition, being exclusive to a particular piece or brand of gear (which is what system exclusive was designed for) is the polar opposite of being universal...

Maybe this is the best place for a shameless plug! Our now not-so-new new video at https://youtu.be/3ZRC3b4p4EI is a 40 minute adaptation of T. S. Eliot's "Prufrock" - check it out! And hopefully I'll have something new here this year. ;-)

Link to comment
Share on other sites

It's a funny contradiction in terms, that there are indeed a handful of "universal" system exclusive commands, since by definition, being exclusive to a particular piece or brand of gear (which is what system exclusive was designed for) is the polar opposite of being universal...

 

I totally agree - very confusing :facepalm:. I blame Craig. :gofish:

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...