Record Sysex in track

Official support for: bitwig.com
KVRist
292 posts since 1 Jun, 2005 from Zwolle, Netherlands

Post Tue Apr 22, 2014 12:19 pm

I read in a thread that bitwig was supposed to support recording sysex in a track:

**********
Christoph Söhngen
And another "Will there be"... SysEx support in BW Studio?
Gosto · · 13/2 às 18:34
Sean Lindsay Davidson gosta disto.

Bitwig There's full SysEx support regarding the scripting API and controllers etc. but you can record SysEx into a track, if you mean this.
************

Can anyone confirm if this does or does not work in the current bitwig? I'd love this function, just like in Logic makes it possible to send a patch to a (hardware) synth

User avatar
KVRAF
3131 posts since 15 Aug, 2003 from seattle

Post Tue Apr 22, 2014 12:27 pm

I think the answer was that the information was recorded, but I see no indication that Bitwig can do anything with it besides use it for hardware controllers. I think you would have to have a full understanding of Java and a lot of backwards engineering to get Bitwig to send a patch to a hardware synth.

Or to put it another way, it's there partially, for getting bigwig to work with a controller like the AKAI MPK49 or something, but if you own a modern hardware synth like the Prophet 08 etc. it's not going to send SysEx data back to that synth to build a patch, and it's probably a long shot that it can even record that data from that synth.

KVRist

Topic Starter

292 posts since 1 Jun, 2005 from Zwolle, Netherlands

Post Tue Apr 22, 2014 10:54 pm

Thanks for your reply
I thought if logic can do this And a simple(?) program like sysex librarian it would be possible. I mean how great would it be to have a track send the patch like logic? It's just a patch sysex dump. (I'm not a programmer so i might over simplify things)
I always have issues with plugins for hardware like the one made for the moog voyager and Nord lead. It's often unreliable or at least unclear if the plugin sends it's patch to the plugin or the other way around.

Anyway I thought sysex is sysex, wether you send a controller movement or a patch is just a matter of the amount of info. So if it can send a bit of sysex info, Why not a lot (=patch).

User avatar
KVRian
912 posts since 1 Nov, 2012 from Berlin

Post Wed Apr 23, 2014 7:16 am

"There's full SysEx support regarding the scripting API and controllers etc. but you can record SysEx into a track, if you mean this."

That's a typo: it should say "can't" and suddenly the "but" begins to make sense!

We think recording SyEx into a track is more of a workaround in old sequencers and does not make sense in Bitwig if there's no editor for this data you recorded.

Cheers,
Dom

KVRist

Topic Starter

292 posts since 1 Jun, 2005 from Zwolle, Netherlands

Post Wed Apr 23, 2014 8:48 am

Ah! I get it now. And I think i should accept the fact that i am one of few people that would like this option.
Will sending and receiving patches be possible with custom interfaces or tools created by users in the future? I mean if ableotn would support this, max for live could communicate directly (on patch level, not just cc) with eg a mopho. Now it needs a separate max tool running outside of ableton to do this. That would be even better.
Look at this eg:
http://www.maxforlive.com/library/devic ... rd-lead-2x

So simply put I would like a vst like editor for editing and sending patches without the need for the vst to create its own communication with the synth.
Like this plugin:
http://www.moogmusic.com/products/apps/ ... -se-vstau/
It looks good and works ok but often run into unexpected result because it is very picky and confusing on how it communicates with both the synth and the music production program. And my guess is this is because there is no consistent way of building an interface in within the mpp. Max is perfect but does not support sysex. I was hoping bitwig would have a solution for this, since analog outboard is so popular nowadays.

KVRist

Topic Starter

292 posts since 1 Jun, 2005 from Zwolle, Netherlands

Post Sun Apr 27, 2014 2:41 am

hm if i read around the web, there are quite a few people that would like sysex dumps. It seems to be more then a workaround, but just a feature for simple integration of hardware synths. And about and editor: I mostly don't need one because the good thing with most hardware synts is.. editing is done on the hardware.
So if sysex support it's already there, it might be easy to enable recording a sysex dump.

I searched for sysex ableton and you'll see loads of request.
or this guy:
http://www.kvraudio.com/forum/viewtopic ... sysex#wrap

he mentions this as one of the reasons for not switching.

anyone else working with hardware synts that would like to save patches with the project?

User avatar
KVRAF
3131 posts since 15 Aug, 2003 from seattle

Post Mon Dec 08, 2014 9:32 pm

dom@bitwig wrote: We think recording SyEx into a track is more of a workaround in old sequencers and does not make sense in Bitwig if there's no editor for this data you recorded.
This is backwards thinking, or maybe more precisely it doesn't make sense with the feature being requested.
The big advantage of being able to record and send SysEx to a hardware synth or device that has recall of patches is to 100% make sure that the patch you created or tweaked for that particular song is available forever. Both the hardware synths I have are old, and only support 100 patches onboard, which over the years isn't much. Both have extensive well thought out interfaces, that's one of the main advantages of hardware, so little need to tweak SysEx in a DAW; cc's are just fine for that. :)

I've mentioned before, the two things that IMO keep Bitwig from being a perfect DAW that are not in the current improvement path are SysEx and Rewire. No Rewire makes it less attractive to those of us that own the DAWs, JACK is a horrible substitute, it doesn't lock two transports like Rewire does.

KVRist
152 posts since 31 Mar, 2014

Post Tue Dec 09, 2014 1:56 am

dom@bitwig wrote:"There's full SysEx support regarding the scripting API and controllers etc. "
So midi clock messages also accessible inside API? I want to write simple midi clock slave script so I wonder if midi realtime messages also passed to controller script.

User avatar
KVRAF
5712 posts since 9 Dec, 2008 from Berlin

Post Tue Dec 09, 2014 6:28 am

Basically yes:
You register a sysex-callback like this:

Code: Select all

host.getMidiInPort(0).setSysexCallback(onSysex);
and then you receive all Sysex from that port there, to do with whatever you want:

Code: Select all

function onSysex(data) {
    // print the received data to the Controller Scripting Console:
    printSysex(data); // formated - "pretty", easier to read
    println(data); // unformated/raw - better for pattern matching
}
Just be aware that the Controller scripting API isn't really timing accurate.
While you can enable the sending of Midi Beat Clock from the API, it's actually sent from the audio engine, the API only turns it on and off.

As for sending and receiving Sysex-dumps:
In theory (I never tried it) you could create a per-document preference setting in the corresponding script (check Host.getDocumentState and Settings.StringValue) and save the dump in it. This would be per-document and you could add a button to send it back out as it is.
This may or may not work - the last time I tried there were problems with sending out larger chunks of Sysex at once and I never tried how large the string in a Setting can actually become, but this was something that came to mind as a possible road to try...

Cheers,

Tom
"Out beyond the ideas of wrongdoing and rightdoing, there is a field. I’ll meet you there." - Rumi
ScreenDream|Thomas Helzle 8) Twitter

kda
KVRer
29 posts since 13 Oct, 2013

Post Tue Dec 09, 2014 11:07 pm

machinesworking wrote:
dom@bitwig wrote: We think recording SyEx into a track is more of a workaround in old sequencers and does not make sense in Bitwig if there's no editor for this data you recorded.
This is backwards thinking, or maybe more precisely it doesn't make sense with the feature being requested.
The big advantage of being able to record and send SysEx to a hardware synth or device that has recall of patches is to 100% make sure that the patch you created or tweaked for that particular song is available forever.
If Bitwig would want us to integrate hardware into our workflow sending and receiving sysex makes perfect sense for the reason stated above.

What becomes a workaround is to store the patches on disk separate from the project and then use another program to send the sysex to the synth every time before working on a project. Or use Bank/Program messages and hope that the synths preset hasn't changed since you last worked on the project. This is not a very good workflow IMHO. Imagine if the Bitwig project would contain the hardware patch, then we'd have everything in one place, just hook up the synth and press play.

The only reason I can see for not implementing this that few other DAWs has it and hence few people know about it and has it integrated in their workflow.

KVRist
152 posts since 31 Mar, 2014

Post Wed Dec 10, 2014 11:54 am

lem8r wrote:
dom@bitwig wrote:"There's full SysEx support regarding the scripting API and controllers etc. "
So midi clock messages also accessible inside API? I want to write simple midi clock slave script so I wonder if midi realtime messages also passed to controller script.
Just figured that midi clock is not sysex and is not passed to script

User avatar
KVRAF
3131 posts since 15 Aug, 2003 from seattle

Post Thu Dec 11, 2014 10:25 pm

kda wrote:
What becomes a workaround is to store the patches on disk separate from the project and then use another program to send the sysex to the synth every time before working on a project. Or use Bank/Program messages and hope that the synths preset hasn't changed since you last worked on the project. This is not a very good workflow IMHO. Imagine if the Bitwig project would contain the hardware patch, then we'd have everything in one place, just hook up the synth and press play.

The only reason I can see for not implementing this that few other DAWs has it and hence few people know about it and has it integrated in their workflow.
Actually Cubase, Logic, Digital Performer and I'm sure Sonar all have this feature. It's only the "toy" category DAWs that don't: Live, Fruity Loops, Reason, Reaper, ReNoise etc. <-- Some of those I'm less familiar with might have it as well.

KVRer
21 posts since 8 Dec, 2004

Post Tue Jun 23, 2015 4:19 pm

This ability would be very useful for me as well.

Banned
1237 posts since 8 Apr, 2013

Post Wed Jul 08, 2015 2:01 am

I have a vst plugin that controls my hardware synth and that plugin can save patches as .syx. Though I'm going to get more synths and those won't necessarily have an editor so it would really be great if Bitwig could save those sysex files.

KVRist
215 posts since 25 Aug, 2006

Post Wed Jul 08, 2015 6:54 am

Sysex capable editors aren't available for everything.

I like to recall my external FX settings per DAW project.
Logic X, El Cap 10.11.3, Mini i7, Live, Reaper, Bitwig (demo)

Clicks at +100 samples: 44.1k / 48k (wav)

Return to “Bitwig”