ScopeSync - Max For Live patches

The latest ScopeSync news
User avatar
w_ellis
Posts: 630
Joined: Sat Apr 13, 2013 5:38 pm

Re: ScopeSync + Control Source

Post by w_ellis » Sun Jan 05, 2014 10:03 pm

P.S. Good point about Ext Out., I amended the relevant post to make this clearer (hopefully!)

User avatar
sharc
Site Admin
Posts: 589
Joined: Thu Apr 11, 2013 12:02 pm

Re: ScopeSync + Control Source

Post by sharc » Mon Jan 06, 2014 12:31 am

petal wrote:But automation from live to scope seems to be working at a much higher resolution (which was to be expected) than standard midi, although I do seem to notice steps when fast changes are talking place - I'm not getting smooth filter sweeps. I'm not sure if this is to be expected or if something isn't quite working at 31bit/1.5ms?

My test was simple: a saw tooth osc and a lowpass filter, hooked up to automation in live through ScopeSync. I then created a loop that controlled the filtercut over 4 bars. Steps are audible depending on how steep you make your curve. Is this to be expected?
Beyond the update rate of ScopeSync there is something worth considering at the BC Modular side. The Control Source modules are using BC-Pipe connections.

As described on the BC Wiki, the BC-Pipe connection isn't really suitable for precision timing events like Gate, Clock and Trigger signals. What I neglected to mention is that while it's fine for use with most types of async parameter control it's quantized timing does cause noticable stepping on fast sweeps of some controls - especially frequency controls.

Here's an example:

Image

As you can see here placing a control smoother module before the frequency control input will help reduce the audible steps. In fact I'd recommend this when using any async control source with a frequency parameter.

At the same time though, I'm interested to see just how much the BC-Pipe connection is contributing to the stepping of the control signals beyond any update rate issues of the ScopeSync plugin itself. For testing this I'm planning to make versions of the Control Source modules with direct async connections.

User avatar
w_ellis
Posts: 630
Joined: Sat Apr 13, 2013 5:38 pm

Re: ScopeSync + Control Source

Post by w_ellis » Sat Jan 11, 2014 7:42 pm

I've been working on a new approach to ScopeSync and along the way have created an optimised version of the ScopeSync64Ctrl patch, just to see how it copes. It uses a 64 sample buffer and doesn't support MIDI through. It seems to be working pretty well for me. With this new implementation, the buffer size needs to increase based on the supported number of controls, so a 128 control version would need a 128 sample buffer (meaning ~3ms best case update frequency). If any of you have a chance, please feel free to give it a go:
ScopeSync64Ctrl - Optimised.zip
(9.83 KiB) Downloaded 381 times
For my stress testing I pointed 64 LFOs at it, this time sync-ed to the transport, and you can see from these waveforms (showing the audio output of the patch) that Ableton actually does a pretty good job of that sync-ing, as it's a perfectly tight grouping:
Screenshot 2014-01-11 19.19.58.png
Screenshot 2014-01-11 19.19.58.png (3.76 KiB) Viewed 16453 times
Here's a close up, so you can see the 64 sample buffer in action:
Screenshot 2014-01-11 19.19.40.png
Screenshot 2014-01-11 19.19.40.png (4.22 KiB) Viewed 16453 times
One aspect I've not had time to look at in more detail is around the resolution of the updates, as you can see stepping in the waveforms, but I'm not sure whether that's aliasing in the display, resolution of the data or frequency of update.

Borg
Posts: 2
Joined: Thu Apr 25, 2013 10:14 am

Re: ScopeSync - Max For Live patches

Post by Borg » Sat Feb 15, 2014 3:44 am

Wow! Seems very impressive!!! You guys make me feel like a brainless fool... 8-)

excuse my ignorance and stupid questions, but the medical condition of my girlfriend and job take practically all my time these days, so can't read up on all things involved here...

1. I run Live on a 10.6.8 32bit MBP. From some quick googling, Java SE runtime only seems to be working on 64bit and 10.7 (and up). Is this correct?
2. Can I send the control signals from my mac through an 'Ext Out > RME > ADAT > Creamware A8 > Scope' connection? Or is there something special about the immediate 'host>ASIO>Scope' connection? (fwiw, I'm looking into the possibility to run Scope under Bootcamp, so will be forced to run Windows anyway)
3. If I understand correctly, changing parameters in Scope, will break functionality?

I'm mostly looking for a way to build a Scope project for a live techno/edm set. I'm using Live/Push/Touchable, hardware (Nordrack, MachineDrum, Sherman) and Scope.
The idea is to sequence and mix in Live, several busses from Live will go to Scope, where I'll add Prodissey, Wavelength SparC and dynamic plugs.
Recently I started experimenting with this M4L patch to control Scope, and I started building interfaces on Touchable to easily handle this setup. However, annoying Scope messages (DSP allocation related) and my new, radically changed social circumstances brought it all to a halt... The idea is to automate everything from Live, instead of using preset changes in Scope. As much as I love Scope, integration and smooth operation isn't one of its fortes, and overall audio glitches during preset change is one of those annoying things.
Anything that improves workflow is greatly appreciated!

It's too late...

Looking forward to hear your answers and possible breakthroughs!
Looking very good... Thanks!

User avatar
w_ellis
Posts: 630
Joined: Sat Apr 13, 2013 5:38 pm

Re: ScopeSync - Max For Live patches

Post by w_ellis » Sat Feb 15, 2014 9:56 am

Hi Borg,

Good to hear from you and I'm sorry to hear your girlfriend's not well.

1. I'm no expert on Macs, but as I understand it, you should be able to run some version of Java, even if it's not quite the latest. According to this page, it should be bundled as part of OSX in v10.6 and before. I'm not doing anything especially clever in the Java, so I can't see why it wouldn't be compatible, but let me know if you run into problems.

2. Re. using ScopeSync across ADAT, it's not something I've tested, but why not give it a go? I think Simon tried 24bit ASIO at one point and there's no reason why it shouldn't work for the Control handling (albeit with a reduction in resolution). I suspect it won't work for the MIDI passthrough, but it's worth having a go, as it could theoretically work. Really it just comes down to the conversions on either side retaining the necessary precision so the messages don't get garbled along the way.

3. Yes, at the moment, the Control signals only pass from Live to Scope, so if you change a value in Scope, Live won't know about it. Also, there's a slight quirk in the interface whereby Scope doesn't update if it receives the same control value twice. Unfortunately that's not something we can fix for this implementation, as it's part of a core atom. Easy enough to work around though, as changing a Control value does cause it to update. Just means that the Snapshot button doesn't resync controls that were changed in Scope after the link was established.

In terms of what you're trying to achieve, I'd suggest that the biggest blocker is the means of controlling already packaged devices in Scope. At the moment, you only really benefit from using the ScopeSync system by using it in Modular (or if a friendly dev fancied hooking it up into their device for you). I guess theoretically you could set up some sort of MIDI CC matrix to control Scope devices, but if you're going that far, you may as well just create a M4L device that sends MIDI. There are modular patches that are very similar to those devices (including Prodyssey) that could be ScopeSync-ed up though.

Given that I'm already waffling away, it's worth commenting on your point about preset changes. One thing that I'm looking forward to experimenting with is Preset handling in the M4L patch. I got it running a little while back, but removed it before deployment to keep the core modules relatively simple. However, in M4L, you can do interpolation between Presets, which means completely smooth transitions between them, at a chosen speed. Sounds sexy, but need to get an example up and running to see if it works as well in reality! See here for details: http://cycling74.com/2011/05/19/max-for ... e-session/

Anyway, let us know how you get on with any experiments you try!

Cheers,
Will

User avatar
sharc
Site Admin
Posts: 589
Joined: Thu Apr 11, 2013 12:02 pm

Re: ScopeSync - Max For Live patches

Post by sharc » Sat Feb 15, 2014 5:16 pm

Just to confirm on point 2 - Yes, an ADAT / SP-DIF connection between machines should work fine with ScopeSync for control automation albeit at the reduced resolution of the connection. In theory an analog audio connection could also work, but might need some calibration of I/O levels. The ScopeSync MIDI connection will however have problems with any connection below 32bit.

User avatar
w_ellis
Posts: 630
Joined: Sat Apr 13, 2013 5:38 pm

Re: ScopeSync - Max For Live patches

Post by w_ellis » Sat Feb 15, 2014 5:57 pm

1st thing, I forgot to actually point out to other readers on this thread that there is a new version of these patches and some updates to the information in the introductory posts, so please re-read! In particular, please note that the new versions have a dependency on Java.

I just ran through some tests using the BC ASIO modules to see what results I would get using different bit-depths. It seems that (as Simon just indicated), the control side of things works fine at 24bit (for all ASIO drivers) and sort of works at 16bit, although at 16bit the lower values are a bit loose (i.e. it can't get to zero), as you'd expect, given how much data is being lost by that point. MIDI doesn't really work for either, although 24bit has an amusingly bad go at it ;)

The way the M4L patches are written, as long as you don't use MIDI, it doesn't have any detrimental effect on the Control performance (and even with it, the two are extremely unlikely to affect each other), so I would recommending trying it out over the ADAT link and see how you get on. You may wish to unhook the MIDI part of the patches just to be on the safe side, but that's just a case of deleting one patch cable in M4L.

One final recommendation is to be very careful about gain. I noticed that, for instance, if I route the audio internally in Ableton (using Audio From on another track), setting the type to Post Mixer causes the link to stop working properly. It works fine set to Pre FX. You'll just need to make sure when you send the control data across the link that nothing is attenuating the signal. Hopefully it should just work though!

User avatar
w_ellis
Posts: 630
Joined: Sat Apr 13, 2013 5:38 pm

Re: ScopeSync - Max For Live patches

Post by w_ellis » Sat Feb 15, 2014 6:04 pm

P.S. Also totally forgot to credit my girlfriend for her help with the Java implementation! We're currently working on the VST version together and we're making good headway.

Borg
Posts: 2
Joined: Thu Apr 25, 2013 10:14 am

Re: ScopeSync - Max For Live patches

Post by Borg » Mon Feb 24, 2014 4:30 am

hi guys,

just spent a couple of hours getting everything downloaded and set up, BCR dusted off...
no real luck though.
still working in Windows XP only. Java updated, everything in its place...
the M4L ScopeSync modules load fine in Live, audio routed as it should. The M4L patch has the blue hand, BCR controls the patch.
I see in the case of ScopeSync64Ctrl optimised that the right channel sends a constant value, the left channel sends values as I turn knobs.
With all other ScopeSync patches the right channel sends values temporarily, and at a much lower level than the left channel.

After some trial and error (midi loops), I got it working, but on the way I lost connection, and getting it up again, seems to need a Live restart. or turning off/on the audio engine (Live CPU bar), I just discovered...

Hope to get further next time!
thanks!

ps: In the screenshots of the related Scope thread, Sharc seems to have a small module named 'control panel' (with a pink cable attached to the SS16) in his patch. I can't seem to find this, but seems not necessary for the patch to work...

User avatar
w_ellis
Posts: 630
Joined: Sat Apr 13, 2013 5:38 pm

Re: ScopeSync - Max For Live patches

Post by w_ellis » Mon Feb 24, 2014 7:45 am

Hi Borg,

Glad you're making some progress, even if it's not quite plain sailing! The "Optimised" ScopeSync patch I posted earlier was just an experimental version, which used a different approach to sending the control stream. It generated a loop of all of the current values of the control, which is why you see a constant output.

The patches downloadable from the original post are a bit safer in terms of your speakers and should perform slightly better, especially if only limited controls are being automated. These just send outputs when a control value changes.

Can you explain more about what happens when you lose sync? Have you changed values in Scope in the meantime?

Thanks,
Will

Post Reply