Sysex Channel Separation

For users of legacy Steinberg Cubase software
Post Reply
brendanlynch
New Member
Posts: 7
Joined: Fri Feb 11, 2011 3:29 pm
Contact:

Sysex Channel Separation

Post by brendanlynch » Sun Oct 07, 2012 3:09 pm

I am importing MIDI song files into Cubase 6.5 in order to record out the parts to audio.

The MIDI file places all the Sysex information for each channel on to one track. This track remains unmuted in order to send out the relevant data to the part that is being recorded to audio. The problem is that there is often a huge amount of Sysex data not relevant to the part that is being recorded to audio, and so MIDI glitching occurs when large amounts of Sysex data are transmitted from the track that is holding all the information.

To solve the problem, I need to extract all the Sysex data relevant to each MIDI channel and paste it into that channel so that only the data for that channel is transmitted when the channel is solo'd for recording out to audio.

But this is a massive task particularly when there is a shed load of Sysex data in one track and needs to be separated out. I am unable to find a way in the Logical Editor to be able to select specific Sysex messages and extract those out of the track.

For example: I would like to extract all messages pertaining to MIDI channel 14: F0 43 10 4C 08 0D 00 01 F7. The "0D" part of the message defines channel 14.

Is there any way I can select all messages that include 0D and extract them without having to manually scroll through the track to select every message for that channel? A huge task and takes lots of time to do!

It appears that the Logical Editor does not have a facility to do this. The Syex message has no channel or data 1, 2 or 3 information, and the actual message itself is placed into the comments field of the list editor. So there is no option within the Logical Editor to specify this field and provide the necessary data.

I'm guessing it's not possible and I will have to continue manually extracting all the data, but I thought someone might have a solution to this problem.

Thanks.
MacBook Pro 15" i7 | OS X 10.11 | Presonus Firestudio Mobile | MIDISPORT 2x4 | Yamaha Tyros 3 | Cubase 8 | Wavelab 7.0

Martin.Jirsak
Forum Elder
Posts: 16984
Joined: Sun Mar 20, 2011 3:52 pm
Contact:

Re: Sysex Channel Separation

Post by Martin.Jirsak » Sun Oct 07, 2012 4:20 pm

Are you using SysEx during the song, or at start (as settings) only?

If you are using at the start only, you can send all SysEx for all tracks together just once (in multi-timbral). All your settings will be done. If you will not send another SysEx, all settings should stays during next playback. So, if you start playback after all SysEx, you should get the right one sound, with using all SysEx information, and you don't need to send all SysEx again. You can Solo this track, and record it as audio.

Is this solution for you?
Martin Jirsak
How to show notes of the chord/scale only
Cubase Training

Cubase Pro (last officially supported version all the time)
macOS (last update)

brendanlynch
New Member
Posts: 7
Joined: Fri Feb 11, 2011 3:29 pm
Contact:

Re: Sysex Channel Separation

Post by brendanlynch » Sun Oct 07, 2012 4:34 pm

Hi Martin,

I'm using a Tyros 3 and recording the tracks on the keyboard in order to apply all the Sysex data that is required for the articulations, drum kit setups, DSPs and everything else. So the Sysex data is being set at the start of the track and then being applied right the way throughout the track. It ends up with a vast amount of Sysex information being sent out throughout the duration of the track.

When that gets imported into Cubase, all the data resides on one track - for all the channels. So separating it out is a nightmare because there is so much of it. At the end of the day I can do it - it just takes a lot of time to extract data for each channel and paste it back in to the relevant channel.

Just thought there might be a more efficient way of getting specific channel data out of the track.

Thanks,
Brendan
MacBook Pro 15" i7 | OS X 10.11 | Presonus Firestudio Mobile | MIDISPORT 2x4 | Yamaha Tyros 3 | Cubase 8 | Wavelab 7.0

User avatar
Jarno
Senior Member
Posts: 1456
Joined: Wed Jun 08, 2011 2:31 pm
Contact:

Re: Sysex Channel Separation

Post by Jarno » Sun Oct 07, 2012 5:15 pm

The problem is that there is NO standard way to send channel information in SysEx data. SysEx is just any data, which begins with F0 end ands with F7. If there's channel information in SysEx data, it's in device-specific format. And there's simply no way Steinberg would include interpretion of more than 10 000 different SysEx formats into Cubase.

The best thing we could have for SysEx processing in logical editor could be:
"Byte XX is equal/not equal/less than/greater than YY"
Cubase 8 Pro/7/4/SX1/VST3.7 | Waves Gold | Melodyne | PC i7-4770/8G/2xSSD/Win7 64 | MacMini | Frontier Tranzport
Tascam DM-4800 | Soundcraft Spirit Studio 16 | dbx231 | Genelec 1032A | KEF C15 | Auratone 5S | Samson S-phone
Yamaha REV500/SPX990 | Alesis Midiverb4 | Roland SDE-330 | Pearl Echo Orbit | Aphex 109 x2 | TL-Audio C5021
Alesis 3630 | AudioLogic MT66 | Joemeek VC1Q | dbx386 | Focusrite VoiceMaster | Line6 PodXt/BassPodXt | Boss GT-3
Roland TD8/TD5/JV2080/SC55 | UseAudio Plugiator | E-mu ProteusXR | Akai S-900/AX73 | M-Audio Keystation
Martin/Taylor/Ortega/ESP/Fender/Line6 guitars/basses | Pearl/Olympic by Premier drumkits | Custom Roland V-drum kit
AKG D112/CK77 | Calrec CM1050C | Earthworks QTC30 | EV RE20/Spherex920 | Neumann M147 | Pearl CR57
Peavey PVM45 | RØDE NT2/NT55 | Sennheiser MD441/MD421/e606 | Shure SM7/SM57/SM58/BETA57/BETA58 ...
... Saeco Odea Giro Espresso machine | BMW Z3 roadster | American Pit Bull Terrier

brendanlynch
New Member
Posts: 7
Joined: Fri Feb 11, 2011 3:29 pm
Contact:

Re: Sysex Channel Separation

Post by brendanlynch » Sun Oct 07, 2012 5:25 pm

Hi Jarno,

I understand the concept of Sysex entirely - I've been using it for years.

What would be handy is if there was some implementation in the Logical Editor to specify in the 'comments' field the string that is required to look for the data. For example, if I could specify the 'Type' as Sysex and then use a wildcard in the comments field that might read something like 'F0 43 10 4C 08 0D*' it would be very handy to process large amounts of Sysex.

In that way Steinberg would not be required to include thousands of different Sysex messages. Of course, that's not remotely possible in terms of what Cubase is designed to do!
MacBook Pro 15" i7 | OS X 10.11 | Presonus Firestudio Mobile | MIDISPORT 2x4 | Yamaha Tyros 3 | Cubase 8 | Wavelab 7.0

User avatar
Jarno
Senior Member
Posts: 1456
Joined: Wed Jun 08, 2011 2:31 pm
Contact:

Re: Sysex Channel Separation

Post by Jarno » Sun Oct 07, 2012 5:35 pm

Yes. Using search strings with wildcards for choosing SysEx messages would be a great solution. Potential Feature Request!

PS. Sorry for teaching you something you already knew. It wasn't clear in your original post if you completely understood the way SysEx work or not.
Cubase 8 Pro/7/4/SX1/VST3.7 | Waves Gold | Melodyne | PC i7-4770/8G/2xSSD/Win7 64 | MacMini | Frontier Tranzport
Tascam DM-4800 | Soundcraft Spirit Studio 16 | dbx231 | Genelec 1032A | KEF C15 | Auratone 5S | Samson S-phone
Yamaha REV500/SPX990 | Alesis Midiverb4 | Roland SDE-330 | Pearl Echo Orbit | Aphex 109 x2 | TL-Audio C5021
Alesis 3630 | AudioLogic MT66 | Joemeek VC1Q | dbx386 | Focusrite VoiceMaster | Line6 PodXt/BassPodXt | Boss GT-3
Roland TD8/TD5/JV2080/SC55 | UseAudio Plugiator | E-mu ProteusXR | Akai S-900/AX73 | M-Audio Keystation
Martin/Taylor/Ortega/ESP/Fender/Line6 guitars/basses | Pearl/Olympic by Premier drumkits | Custom Roland V-drum kit
AKG D112/CK77 | Calrec CM1050C | Earthworks QTC30 | EV RE20/Spherex920 | Neumann M147 | Pearl CR57
Peavey PVM45 | RØDE NT2/NT55 | Sennheiser MD441/MD421/e606 | Shure SM7/SM57/SM58/BETA57/BETA58 ...
... Saeco Odea Giro Espresso machine | BMW Z3 roadster | American Pit Bull Terrier

brendanlynch
New Member
Posts: 7
Joined: Fri Feb 11, 2011 3:29 pm
Contact:

Re: Sysex Channel Separation

Post by brendanlynch » Sun Oct 07, 2012 5:43 pm

Not a problem - I understand entirely where you're coming from. And I actually do like your suggestion of evaluating byte values - could still be potentially a solution. I'll give it a crack!
MacBook Pro 15" i7 | OS X 10.11 | Presonus Firestudio Mobile | MIDISPORT 2x4 | Yamaha Tyros 3 | Cubase 8 | Wavelab 7.0

Conman
Senior Member
Posts: 2116
Joined: Fri Dec 17, 2010 4:31 am

Re: Sysex Channel Separation

Post by Conman » Sun Oct 07, 2012 6:10 pm

As far as I remember from way back you could record the notes only by turning the sysex filter on in Preferences and then, on an additional track, you can (after turning the filter off) record the sysex only to another track using the same midi channel.
You can also use the filters to omit the notes so that all you get is the data. (manual p408 here)
Ctrl + F in the manual and enter "midi filter" does that get you anywhere you haven't been regarding Cubase?

I know you're talking importing midi here but I'm hoping that a roundabout way you could do this is and trick the system to import the midi and turn the filters on or off depending, then re-record the midi to another track and end up with the data you want where you want.
Having not tried this I'm not certain that plain copying with the filters applied would work as this is all off the top of my head at the minute. But it might. :mrgreen:
Asus P6T deluxe; Core i7 920 2.67gHz; 12gig ram; Win7 Pro SP1; Roland Octa-Capture usb inteface; Cubase 6; and no 3rd party additions couple of hard drives PSU 750watt; NVidia GE Force 9600.
"An entrepreneur accepts that the world is the way that it is and goes about changing it rather than waiting for someone to make it easy for them."

brendanlynch
New Member
Posts: 7
Joined: Fri Feb 11, 2011 3:29 pm
Contact:

Re: Sysex Channel Separation

Post by brendanlynch » Sun Oct 07, 2012 6:27 pm

Yah. It's not an easy process to find a way to do this. Unfortunately I can't implement Jarno's idea of evaluating byte data - the Logical Editor again does not make room for that.

The MIDI file is being recorded and saved from the keyboard as one finished song file to USB. That is then being imported into Cubase. The notes and data aren't actually being played from Cubase. The reason for this is that the Sysex is applied directly from the keyboard as the song is played and recorded. Otherwise I would have to apply each message manually throughout the song.

Perhaps I'll play around more with the import filtering options, but it would seem that Cubase will just automatically separate out any data other than channel specific notes and controllers on to individual tracks - which is understandable. The problem then is to try and collate channel specific data out of those tracks back to the relevant channel/track.

I still think I might put in a feature request for a wildcard/string search in the comments field. Particularly for Sysex it would make the management of the data a whole lot easier to work with.

Thanks for your suggestions.
MacBook Pro 15" i7 | OS X 10.11 | Presonus Firestudio Mobile | MIDISPORT 2x4 | Yamaha Tyros 3 | Cubase 8 | Wavelab 7.0

Conman
Senior Member
Posts: 2116
Joined: Fri Dec 17, 2010 4:31 am

Re: Sysex Channel Separation

Post by Conman » Sun Oct 07, 2012 6:42 pm

Try the Sound on Sound forum with this one. The crowd's bigger and they know more.
Asus P6T deluxe; Core i7 920 2.67gHz; 12gig ram; Win7 Pro SP1; Roland Octa-Capture usb inteface; Cubase 6; and no 3rd party additions couple of hard drives PSU 750watt; NVidia GE Force 9600.
"An entrepreneur accepts that the world is the way that it is and goes about changing it rather than waiting for someone to make it easy for them."

chikitin
Member
Posts: 501
Joined: Mon May 16, 2016 3:15 am
Contact:

Re: Sysex Channel Separation

Post by chikitin » Tue Jun 06, 2017 12:12 am

brendanlynch wrote:I am importing MIDI song files into Cubase 6.5 in order to record out the parts to audio.

I'm guessing it's not possible and I will have to continue manually extracting all the data, but I thought someone might have a solution to this problem.

Thanks.
Hi,
Were you able to fix your issue. I am running to the same problem. If you share with me your solution, I would greatly appreciated. I am on Yamaha PSR-A3000.
Laptop: MacBook Pro, 16GB RAM SSD 2TB, Cubase Pro 10, Latest Mac
NI Komplete, EWQLSO
Keyboard: Yamaha PSR-A3000
Interface: Steinberg MR-816CSX, NI Audio Kontrol
Controller: Steinberg CC121, Korg 2

Post Reply

Return to “Older Cubase versions”

Who is online

Users browsing this forum: No registered users and 4 guests