Posts Tagged ‘Video-SL’

Serato Video-SL + Quartz Composer

Monday, July 13th, 2009

I bought the Rane TTM 57SL mixer and Serato Video-SL a couple of weeks ago, because I wanted a good setup for AV mixing and scratching. I’ve had the Ms. Pinky vinyls for a long time. They are very nice, but the software just doesn’t cut it for my purposes.

Don’t get me wrong, I love my pink vinyls and the fact that I can do whatever I want with them using the Max/MSP patches. And the newest version of Maxi-Patch even has OSC output so it works very nicely together with VDMX. But I need something more advanced for the audio side and a rock solid system for doing AV.

I have to tell you, the 57 has now become my favourite mixer. The faders are perfect for turntablism, it feels very solid just like the 56 and the software integration works well. The only gripe I have with it, is that it uses some proprietary HID protocol to communicate with Serato Live. So I can’t use the hardware control with any other software. Hoping for a MIDI firmware update. Oh, and the other thing is that it’s only USB1.1. Haven’t had much problems with it, but I would feel more comfortable if it would be USB 2.0.

I have the M-Audio Torq and for DJ-stuff it would have been enough for me, but there was just no way to easily incorporate video for AV-sets. I was surprised how well the Serato Video-SL works. Just throw your video on the deck like you would do with an .mp3 file and you are good to go. Together with 57SL, it’s a system that “just works.” Very important for me since I’m always busy doing stuff on the turntables and want to keep my hands off the laptop as much as possible.

Now mixing videos with audio is cool by itself, but the biggest selling point for me was the Quartz Composer integration. This feature was just added in the latest Video-SL release so hopefully there will be improvements, but what they got going is pretty cool already.

You can load a .qtz file on a deck that is playing audio by dragging it on the corresponding video channel. Your basic QC files work just like that. The only special thing about it is that the patch time of your composition is being controlled by the the song position of the deck where you .qtz file is loaded. So if your composition has any some sort of animation on it (Interpolation, LFOs etc.) you can just start scratching and the animation will follow. If you don’t want this behavior (I usually don’t), just feed system time into any patch that depends on the patch time.

That’s fine for some basic stuff. But I want more control! Fortunately, Serato has included the ability to control .qtz files with all kinds of data from the Scratch Live software – needle velocity, song info etc. – and you also get some data from the hardware controls of the TTM 57SL mixer. However, this stuff is not really documented anywhere (except for a .pdf I found on the Video-SL Beta forum). So I’m gathering all the info that I know over here.

The way this works is the same way you always interact with Quartz Composer files in an external program. You publish inputs with certain names.

This image is from the .pdf I mentioned earlier. I don’t want to post it here since Serato hasn’t released it publicly and they might have a reason for that. You can find it on the forum if you are registered. The .zip also includes a bunch of sample compositions that show how the communication works.

There are 27 parameters that you can use to drive your compositions. And the input name always starts with kSSV_SeratoData. Now I could list all of theme here, but it would just make this already too long post even longer. So I’m doing something better.

I created these clips for myself to be able to easily add the Serato input splitters to my compositions without trying to remember the syntax exactly. And since I’m such a nice guy, I’m sharing them with you.

Download the clips.

Once downloaded, copy the .qtz files to this location:
~/Library/Application Support/Apple/Developer Tools/Quartz Composer/Clips (where /~ is your Home Folder).

The next time you launch Quartz Composer, search for Serato in the Patch Creator and double-click the clip that you want to use.

Connect the output to whatever you want to control. Remember to also publish the input of the Serato clip you have chosen by right clicking and choosing Published Inputs and the input name. Make sure you don’t change the name.

I think I haven’t tested all of them, but I know that there is at least one problem. The Serato Needle Position is not working at all. I’ve reported this to Serato, but haven’t received an answer yet. This has been fixed in Scratch Live 1.9.1. which is in public beta. You can use the song position also if you need position data. The Needle Position is the position from the beginning of your control vinyl.

Here is an example that I made pretty much the first day I got Video-SL running. It was inspired by the Visual Scratch project. The Needle Velocity controls the Y position and the fader controls the visibility of the line. It’s not perfect, but fun to mess with anyway. Sorry about the crappy scratching. I’m a bit rusty, because I didn’t have turntables in Montreal so I couldn’t practice for 9 months.

Music by the Finnish dubstep-superheroes Demonic 1 & Dr. Coil. The song is called Bottomless Pit and it’s from their Treblescience EP.

Download the .qtz file.

If you’ve been reading this blog for the past few days, you might have guessed that I’m working on some Serato + Animata stuff. I should have a video to show later this week. Stay tuned.