An implementation of random editing in Blender VSE

Recently I’ve been editing a couple of videos for the Telenoika cultural association. The assignment consisted in a series of videos that document one of the activities of the collective. For it’s implementation I’ve developed a random editing script.

Pessics Electrònics, vol.1 from Telenoika on Vimeo.

The ‘Pessics Electrònics’ (electronic pinches [sic]) are a set of sessions where different musicians or dj’s are invited to perform, in those sessions (whose attendance was free) besides of playing music we have also some vj’s who are members of the association, so they play along the performance with visuals.

Those sessions are recorded with a video camera, and afterwards those videos are edited down to 1 to 2 minutes videos, as a documentary archive. The problem that one encounters when facing this material is that most of the time the recordings are quite carless handled, with footage that can span inbetween 20 minutes to 2 hours in which the cmaera has been left still in order to record the whole event without that much care. From time to time someone might pick up the camera and record some extra shots, details here and there, but this is not common and most of the time is insuficcient in order to generate a minimal narrative.

This makes editting those videos a task somewhat tiresome. A part of the audio is choosen in order to use it as a musical basis, and the footage gets reviewed so all in all the whole footage is somewhat monotonous. The only salvation comes from carrying out an edit pretty much based on the rithm in the selected audio.

And here is where the random editting script plays it’s part. The premise is the following:

On one hand we need a tool that will allow us to speedy select the most interesting shots, and cataloge in somewhat way (e.g. separate wide shots, detail shots, or shots of the audicence dancing)

on the other hand, we need an audio sample for the movie, which in turn we will divide in diferent cuts adapted to the musical rithm. If every time the audio has an inflexion point we shift the shot, or maybe every time a beat strikes, then we will end up with a good chunk of the work done, a movie with the rithm of cuts in par with the music beats. Whenever the narrative fails rithm might come in handy.

And that’s basically it, on one hand it keeps randomly editing in the selected clips, and it sets them on par with the selected beat of the music.

The script though it’s not meant as a final artistic solution. But as a tool that allow us to work with the material with certain speed, maintaining the precision of the cuts while we are editing and averting all those dull moments of adjustments of frames so the shots maintain the rhythm, something that normally would takes us the major part of the editing time.


How the addon works:

First we create a scene in Blender in which we load up all the available footage (with help of the sequencer_extra_tools addon this can be achieved automatically) and with help of the markers we select the shots that we are interested in. By changeing the label of the markers, we gather the shots as we are interested in them, such as naming with the A letter all the shots of the musician, with the B alll the detail shots, and with the C all the shots of the audience dancing, I’ve referenced every collection of markers A, B, or C as a subsets in the addon.

Then we create a second scene, in which we’ll load up the selected audio track, and we will set the markers in every inflexion point, taking into account the rithm and the beat of the track. At this point we’ll devote some time in tune properly every marker at the prceise instant, for this the option the audio strip oprtion ‘draw waveform’ will come in handy. The more precise we carry out this task, the more speedy will become the rest of the work.

Once we’ve reached the goal of those two tasks in the two scenes we then proceed to load the addon as usual.

Note: the Original intend was to have the addon fetching the clips off the sequence editor in the first scene and palce them in the second scene, but I found some troubles at the time of copying from one scene to the other. Those problems might have a solution, but at the time, the addon uses a small hack. It consists in creating a meta with all the clips from the first scene, then copying this emta (with a classic copy-paste) and align it in the second scene, at the same frame as the original. At the moment, the addon is just abble to copy and cut metas, with the whole of it’s content, inside the same scene.

So, we end up with a audio strip, a meta strip which contains all the footage that we want to edit, and a set of markers that point the cut places that we are interested in, all in all in the second scene. And in the first scene, the same previous meta strip, along a series of markers labeled pointing out the shots that we want to use.

The addon has 3 options, the first option is a pure random edit, that doesn’t use any of the previous data, it merely generates a random edit based on the meta selected at the moment, with cuts that least the ammount of frames stated in the selector.


The second option and the third are variants on the same concept. Whenever we select the use_markers_subsets option we get some options else. In the selected_scene field we should input the name of the first scene (the one that contains all the footage as well as the subsets that we’ve created). When we create the Random Editor operator a random edit will be created, in which shots of the different subsets will be set in an alternating fashion.


If we uncheck the option use_all_subsets we get a new field in which we can specify what subsets we want to use, writting them down without spaces, by separating the names with comas (CSV, coma separated value).


Note: the three options need the existance of a specific marker labeled IN and another as OUT, and those markers define lenght in which the random editing will be generated. In order to easily create those markers you can use the Jump to Cut addon. Using it you can generate random edits for several parts of the movie.


download the script ————->

This article is also available in Spanish  and  Catalan in