VIZZIE Video Experiments Curriculum Outline

From Cycling '74 Wiki
Revision as of 18:24, 4 September 2013 by Darwin Grosse (Talk | contribs)

Jump to: navigation, search



  • An Overview of Vizzie
    • Max takes a different approach to programming.
    • You program using visible connections between objects rather than textual editing.
    • The basic paradigm is: create objects, then connect them with patchcords.
    • One way this changes things: You can run the program while editing it!
    • Another way it changes things: It preferences iterative (on-the-fly) programming.
    • One important aspect of Max is the creation of reusable systems based on existing objects.
    • Vizzie is a system of these "reusable modules", and is the system we will be using for our work.

  • How You Select Vizzie Modules
    • Vizzie is built with Max, and uses all of the strategies of Max programming.
    • Vizzie has a specific purpose: to allow us to have fun manipulating visuals while learning the Max development system.
    • You get to Vizzie modules in two ways:
      • You can use the contextual menu (my favorite).
      • You can select modules off the File Browser.

Create a Basic Movie Player

  • We will find all the modules in the PVR section (which stands for "Player/Viewer/Recorder")
    • The names of modules are "funny" - this is an attempt to avoid naming collisions.

  • Loading and manipulating the PLAYR
    • Load a PLAYR, and see how it reacts to clicks. (Editing Mode)
    • Lock the patcher and see how it now reacts to clicks. (Performance Mode)
    • Drag a movie file from your computer onto the PLAYR and see how it operates.
    • Run through the controls on the PLAYR, how to set them, and how to reset them.

  • Add a VIEWR to get a window
    • Unlock the patch and add a VIEWR. Connect the PLAYR to the VIEWR, lock the patch, and see how it operates.
    • Click on the FULL SCREEN button to see what happens, and how to return to the patch.
    • Save the patch, close the patch and reopen it. Discuss the state into which the patch return.

Adding Effects to the Movie Player

  • Add a ROTATR between the PLAYR and VIEWR
    • Unlock the patch and add a ROTATR module from the EFX menu section
    • Click on the patchcord connecting the PLAYR and VIEWR, note the handles on each end.
    • Use one of the handles to place the ROTATR between the previous two modules
    • Create another patchcord to connect the rest.
    • Start the PLAYR, move the controls of the ROTATR to see the activity.
    • Note the ability to disable the effect by clicking on the image.

  • Next, add a SLIDR after the ROTATR
    • Add another effect - the SLIDR - after the ROTATR.
    • Note the change to the image based on rotation and SLIDR settings.
    • Describe the serial nature of the data flow.

Using Generators to Alter the Effects

  • Creating an effects chain is fun, but it is even more fun if we have the system generate parameter changes for us!
    • This is done using "Generator" modules.
    • Add a TWIDDLR to the patch from the GEN folder.
    • The output of the TWIDDLR can be used on non-video input to control (or modulate) the control values.
    • You can tell which value will be controlled by hovering over the input - the modulation parameter will be displayed.
    • Connect the TWIDDLR output to one of the parameters and see how it modifies the controls on-the-fly.

  • There are several ways to temporarily turn off control of any of the Generator modules.
    • First, you can "mute" the output by clicking on the dot near the module outlet.
    • You can also "mute" any of the inputs by clicking on the dots near a connected input.
    • You can also turn off the Generator by turning its "power switch" off.

  • There are many different Generator modules available.
    • Try the WANDR for creating random effects changes.
    • Try the FLIPPR to swing between high and low values.
    • Try the STEPPR to create a stepped, sequenced set of value changes.

Create a Webcam Viewer as an alternative test system

  • A lot of time, it's more interesting to work with live video rather than movies.
    • Replace the PLAYR with a GRABR (found in PVR) to get live video from your webcam.
    • Connect it to the rest of your processing stream, then turn it on.
    • Assuming that your system is set up correctly, you should see live video processed through your effects chain.

  • Making the visuals more abstract means using some new effects.
    • The SKETCHR turns your video into line drawing-like video.
    • Smearing the SKETCHR output with the SLIDR, ROTATR and other effects provides complex, but abstract, results.

  • We can make an even more interesting display by generating a lot of on/off changes to the effects chain.
    • Use a FLIPPR on the SKETCHR, first, to turn the module on and off.
    • Add more FLIPPR modules to other effects, and have them change at different rates to create a generative flashy output.

Create a Video Mixer

  • If you've tried to have two effects or video streams running simultaneously, you will probably have found some problems (flashing).
    • In order to get multiple video streams running, we need to "mix" them.
    • The simplest mixer is the XFADR (found in EFX); it does a crossfade between any two video streams.
    • Add an XFADR from the EFX menu, then connect both a GRABR and PLAYR. Load the PLAYR with a movie, turn on the GRABR, then mix the two streams to see it in action.
    • You can create a generative mix by using a TWIDDLR to automate a fading system.
    • If you need to mix more than two streams, you can add another XFADR and PLAYR to make a more complex system

  • One of the downsides of the XFADR is that bringing up one video automatically reduces the other. What if you want to have more control?
    • Try a 4MIXR for more complexity and less "black out"
    • Each of the channels can be automated (WANDR or TWIDDLR again...) for generative results.
    • If you have "masked" video, you can combine them with the 4MIXR as well.

Create an Effects Switcher

  • Sometimes, we will want to actually make a system where we can alternate between effects streams.
    • Create a new patch, and start with a single PLAYR and VIEWR
    • Drop in a 2SWITCHR to create parallel effects paths.
    • Now, for each path, create an effects stream that contains one or more EFX modules.
    • Use the 2SWITCHR to choose which stream is active, or connect a WANDR to automate the switching.
    • You can also use a FLIPR to make it easier to switch between the streams in the heat of a show!

  • Note that you can have both of the effects streams go into a single VIEWR. Why doesn't this cause flashing?
    • The 2SWITCHR only sends video frames down one of the effects paths.
    • The effects that are not in the "active" path never receive video frames, so they never output anything.
    • Since only one of the paths is generating frames, no collisions occur - therefore, there is no flashing!

Recording the Output

  • We don't really have a simple way of "piping" the video to some recorded form, but it sure would be nice!
    • Add a RECORDR from the PVR section of the menu - this is our video recorder.
    • Connect it just like you would connect a VIEWR; it is just a tool to capture video frames that would otherwise be displayed.
    • You can play around with different codec and compression settings, but the defaults actually work pretty well.
    • When you are ready to record, just hit Record. When you are done, turn it off.
    • Where's the file? It's wherever you pointed (when you hit record), but by default is in the Cycling74 folder.
    • Now that you have a file, you can use it in a video editing program, or use it as new material for more Vizzie manipulation.

Document your Patch with Comments

Based on a workshop given at the MediaLive Festival in 2013 by Darwin Grosse