Tags: posts polarity-music Bitwig Touch-Designer Video-Edit Visuals

Synchronize Video with Bitwig using Touch Designer

Tutorial | Oct 17, 2023

In this video, I demonstrate how to synchronize Bitwig Studio with a video file using Touch Designer. Although Bitwig Studio doesn't have a built-in video track, Touch Designer provides a solution by communicating over OSC. By connecting the transport position seconds parameter in Bitwig Studio with the video file in Touch Designer, you can achieve seamless synchronization between the two.

You can watch the Video on Youtube - support me on Patreon

Questions & Answers

Maybe you dont watch the video, here are some important takeaways:

How can I synchronize Bitwig Studio with a video file?

To synchronize Bitwig Studio with a video file, I recommend using TD Bitwig or Touch Designer. By setting up the Bitwig main node and Bitwig song object in Touch Designer, you can access the transport position seconds parameter from Bitwig and use it to specify the index of the video file. This allows for precise synchronization between the two.

What format should the video file be in?

You can use various video formats, but it's important to have enough frames in the video for high positioning precision. If you switch to a specific second in Bitwig Studio, having more frames per second (FPS) will help prevent ending up in between frames. MP4 is a common and suitable format to use for this synchronization process.

How do I connect Bitwig Studio with the video file in Touch Designer?

To connect Bitwig Studio with the video file in Touch Designer, you can use a select node. By filtering down to the transport position seconds parameter from Bitwig and connecting it to the index of the video file, you can ensure that the video plays at the corresponding frame based on the position in Bitwig Studio. This synchronization is powered by OSC communication between the two applications.

How can I view the synchronized video playback?

You can view the synchronized video playback by using a TOP (Texture Operator) and the "out" node in Touch Designer. By switching Touch Designer to perform mode, you can display the video on a separate screen or use a helper application to keep the Touch Designer window always on top. This allows you to see the video while working in Bitwig Studio without it being hidden in the background.


This is what im talking about in this video. The text is transcribed by AI, so it might not be perfect. If you find any mistakes, please let me know.
You can also click on the timestamps to jump to the right part of the video, which should be helpful.

[00:00:00] Hey folks, welcome back to another video.
[00:00:03] Today it's about synchronizing Bitwig Studio with a video file.
[00:00:08] And Bitwig Studio doesn't offer a video track as you probably all know.
[00:00:12] And there are already some different solutions on the market you can use.
[00:00:17] For instance, with Play is an option, it's a VST plug-in you can use to load in video
[00:00:22] files and then synchronize the video to your project.
[00:00:26] But I want to use TD Bitwig or Touch Designer because it's the new kit on the block, right?
[00:00:33] So I want to use that and also someone asked this under my last video about Touch Designer.
[00:00:40] So first step is to make sure we are still have here under controllers settings, controllers
[00:00:45] to Touch Designer, controller script running.
[00:00:50] It's enabled here.
[00:00:51] We have everything at default, which is nice.
[00:00:54] And this one then creates an UDP server to communicate over OSC.
[00:01:00] So the whole synchronization between video and Bitwig Studio is basically happening over
[00:01:05] OSC.
[00:01:07] That's maybe important to know.
[00:01:09] So we can close this down here and then we head over to Touch Designer.
[00:01:14] And in here, we need to create at least, like I said in the last video, a Bitwig main node.
[00:01:20] We can drag this in here from the left side, TD Bitwig, right?
[00:01:24] Bitwig main.
[00:01:25] You drag this in, you can see we have already here one connection happening.
[00:01:30] It's already connected.
[00:01:32] Nice.
[00:01:33] Can change some settings here in the inspector if you want to, but I leave everything as
[00:01:38] default here.
[00:01:40] So now that we have this, we need to drag in here a Bitwig song object.
[00:01:46] And this one is interesting because it gives us a lot of parameters about the current project
[00:01:51] of Bitwig Studio.
[00:01:53] And one parameter in particular is interesting for us.
[00:01:56] And that's here transport position seconds.
[00:02:00] So if we move this up here and I switch back to Bitwig Studio, you can see here the play
[00:02:07] head is at the moment at zero.
[00:02:09] If you switch here to 33, right, we get your position seconds 90 seconds.
[00:02:15] 65 180 seconds point seven into the project.
[00:02:21] So this already gives us here the right offset in seconds.
[00:02:26] We can use them for the video to head over to the right position.
[00:02:32] So that's the main idea about this.
[00:02:34] So we go back here to touch designer.
[00:02:37] All we have to do now is to drag in some kind of video file into touch designer into the
[00:02:42] empty canvas here.
[00:02:44] So I go here to my explorer and just drag here an MP4 file into the empty space.
[00:02:52] And you can see it's already playing here.
[00:02:54] And I think you can use all kinds of video formats.
[00:02:58] It's not really important what you use, but I use MP4 here.
[00:03:04] So something you have to know is that videos are usually consists of frames, right?
[00:03:12] You have multiple frames, one image after another image.
[00:03:15] And if you want to have high precision with your positioning, you probably need to read
[00:03:22] your file with a lot of FPS with a lot of frames.
[00:03:25] Because sometimes if you switch to a certain second in your project in Bitwig Studio, you
[00:03:31] can sometimes end up in between frames, right?
[00:03:36] So if you don't have enough frames, maybe 50 FPS also frames per second, then you can
[00:03:45] sometimes end up in between frames.
[00:03:47] So you just heard it, right?
[00:03:50] I want to go into much detail into that, but sometimes you have problems to position on
[00:03:56] certain frames.
[00:03:58] Okay, so now that we have the video in here and it's playing, we can select a node and
[00:04:05] we can head over to the inspector here on the right side and can switch the play mode
[00:04:09] to specify index.
[00:04:12] So we can specify an index down here where the video is at the moment, right?
[00:04:18] So we can see it's currently playing.
[00:04:20] And this one here is in frames.
[00:04:23] So the unit is frames.
[00:04:24] And we can select here instead of frames, we can select seconds.
[00:04:29] So this now is seconds.
[00:04:30] We can type in here, let's say 90 seconds and it gives us basically the frames at exactly
[00:04:36] 90 seconds of this video.
[00:04:39] It's perfect because we have also from Bitwig here to position in seconds.
[00:04:44] So all we have to do now is to connect Bitwig, the output of Bitwig with the video file.
[00:04:50] We do this by using here a job called select.
[00:04:56] And we did this also in the last video, I think.
[00:04:59] We use a select, connect here, all these parameters with select.
[00:05:06] And inside of the select here, we can now select or filter down to a certain data point.
[00:05:13] And I want to use, let's say transport, transport, transport slash position, position seconds,
[00:05:29] right?
[00:05:31] So we want to filter down to just this one transport position seconds entry here.
[00:05:40] So now that we have this, we switch this here to what's called viewer active mode.
[00:05:47] And we can drag this value out here with this small little triangle.
[00:05:52] So we have to select the video and then drag this, click and drag onto the index.
[00:05:59] And then use job reference.
[00:06:02] So now we have 90 seconds here from Bitwig and the player in the video is exactly at
[00:06:08] 90 seconds dot 352, right?
[00:06:12] So if you switch back to Bitwig now, we can go to zero, go to 33, which is group, go to
[00:06:21] 65 here, which is some robot feet.
[00:06:24] 33 is group again and in the beginning at zero, right?
[00:06:29] So it works as it's expected.
[00:06:31] You can switch around in your project in Bitwig studio and then can see the, accordingly,
[00:06:37] the right frame to this position.
[00:06:41] Can hit your app to play and then can see the videos playing back and switch back to 33.
[00:06:54] And switch back to the right frame and yeah.
[00:06:59] So you synchronize the video to position in Bitwig studio and it works really flawlessly.
[00:07:06] It's pretty much instant.
[00:07:07] You can see here can switch around in the in the Bitwig project and it's very fast.
[00:07:15] You don't have to wait for anything or something like that.
[00:07:18] It's really nice to use.
[00:07:20] And yeah, the next question is probably how, yeah, how do I get this video out of the small
[00:07:27] little note, right?
[00:07:28] So the best thing you can do is to use here.
[00:07:33] I mean, you can use here this kind of display mode to have it in the background of the canvas.
[00:07:39] But the better way of doing it would be to use here a new top and use out.
[00:07:47] That's how it's called.
[00:07:49] You can use these two and then you have basically some kind of out note and you can switch the
[00:07:53] touch designer into this perform mode, which is just your window, right?
[00:07:59] And then use this window, maybe on a different screen or maybe use something like always
[00:08:07] on top.
[00:08:08] There are some windows applications, helper applications that always put the window on
[00:08:13] top of every other windows.
[00:08:14] So don't switch us into the background when you select Bitwig Studio, right?
[00:08:19] Maybe I'll close this down here.
[00:08:21] So now we can play it back here and use and see what's going on in the video.
[00:08:29] Like I said, yeah, it's pretty fast.
[00:08:37] On top of that, of course, because it's touch designer and not only just, you know, a video
[00:08:44] player can do all kinds of funny things.
[00:08:48] You can also, of course, here take, for instance, some modulation values like I showed you in
[00:08:53] the last video and then insert here some video effects and do something on beat or you just
[00:09:03] insert here something like a mirror and then, yeah, let's say rotate 90 degrees, something
[00:09:17] like this, switch back to perform mode here.
[00:09:23] And then everything is mirrored here in the background.
[00:09:27] You can also offset then the video, maybe on beat.
[00:09:32] But I won't don't want to go into that with this video.
[00:09:35] Maybe rewatch my other videos on touch designer.
[00:09:38] I describe how to do that in the other video.
[00:09:40] Yeah, I just want to give you basically the X, yeah, an example of how you synchronize
[00:09:49] video playback with Bitwig Studio.
[00:09:52] And like I said, it works flawlessly and it also works with the free version of touch
[00:09:56] designer, which doesn't cost anything.
[00:09:59] You can just head over to the website, download it and do exactly that.
[00:10:04] It's completely free to use.
[00:10:06] So that's also a cool thing to know.
[00:10:09] It doesn't cost anything.
[00:10:11] And you have some options, of course, exporting this video, then it's maybe more of a problem.
[00:10:18] But I would say if you synchronize basically your project to this video, you can just export
[00:10:26] here from Bitwig the audio file.
[00:10:29] And then you can use the video in a video editor, maybe Da Vinci Resolve or something
[00:10:34] like that.
[00:10:35] And then it should be completely in sync.
[00:10:38] So you can lay out basically the video file on top of the audio file in Da Vinci and then
[00:10:43] everything is synchronized in place.
[00:10:46] That's done the final stage, basically to finalize the video.
[00:10:50] Okay, so I think that's it for this video.
[00:10:53] If you like the video, like it, subscribe to the channel, head over to the description
[00:10:59] and click on all the links and so on.
[00:11:02] Thanks for watching and I see you in the next video probably tomorrow.
[00:11:05] Bye.
[00:11:06] [BLANK_AUDIO]