In the course of making my artwork I build tools that might be useful for others. Unless otherwise noted, they are all free and I invite you to distribute them however you like, in accordance with the license that is included in each download.
Video Trigger (Jan 11, 2009)
Video Trigger is a free motion detector application tailored for media artists.
Attach a camera and trigger sounds whenever occupancy is detected in six user-defined areas of the video image. You have complete control over the playback logic and signal routing. Surround is supported.
I designed Video Trigger for artists who want to experiment with interactivity without building custom hardware or software. It aims to answer the question that I hear from many of my students: "How do I make a sound play when somebody does ..."
The answer often involves analog electronics, micro-controllers (like Arduino), or software (like Processing, pd, vvvv, Lily, Isadora, or MAX/MSP/Jitter). In the long-run these options provide much greater rewards, but if you have modest needs, Video Trigger is a painless way to get started.
It works with any Quicktime video input device, like the Apple iSight, DV camcorders, and industrial cameras. Video Trigger can play up to six sound files (AIFF or WAV, 1-16 channels) through any Core Audio sound hardware (1-16 channels) with complete control over signal routing.
(NOTE: Video Trigger is not security software. It won't email you when somebody breaks into your house. There are plenty of other programs that do.)
Download Video Trigger v2009-01-10
(17MB, Mac OSX Universal) + source "patches" for MAX/MSP/Jitter 5
Read the release notes for full technical details about this version.
Changes in version 2009-01-10 --first release-- (Jan 11, 2009):
- Known Bugs:
- When you load a new sound file, the "Choose Outputs" screen will show no connections, but sometimes the old connections are still active. Choose new connections to override the old ones.
- Sometimes if you choose the "Resume Playing" option while a sound is playing, it might not resume properly on the next trigger. Choose "Start Playing" and trigger it once. Then you can choose "Resume Playing" when it's done.
- "Video Hardware Settings" might show irrelevant information, but it will still work.
Chroma Key Live (Nov 03, 2009)
Chroma Key Live is FREE realtime HD green-screen software (or realtime HD chroma key software if you want to get technical). It generates a live key on your computer screen while you shoot with an attached camera. I didn't want to buy Veescope, Wirecast, Visual Communicator, or BoinxTV, so I made my own solution. Version 09-11-03 has been completely redesigned with GPU acceleration and HD support.
In the days of analog video...
the camera's live signal was routed through a keyer in the control room and delivered back to an on-set monitor. This way, the production team could see exactly how the actor looked when composited over the background image. Of course, you needed an expensive studio or at least a video mixer.
Then came the DV era...
and editing software brought chroma keying to the masses, sort of. How do you plan a shot when all you see is an actor against a big green wall?
Now it's simple again...
Run the firewire output from your camera into a laptop running Chroma Key Live. Click on your background and it will disappear, revealing the movie or still image of your choice. Switch to full-screen and call "action!"
(Note: Chroma Key Live cannot record. It is strictly for on-set preview. You can do much better chroma keys in post-production software.)
Download Chroma Key Live v09-11-03
(16MB, Mac OSX Universal) + source "patches" for MAX/MSP/Jitter 5
Read the release notes for full technical details about this version.
Changes in version 09-11-03 (Nov 03, 2009):
- Changed to GPL 3.0 license
- Fixed: In fullscreen mode, aspect ratio of video is preserved
- Fixed: In fullscreen mode, menu bar is no longer displayed
- Fixed: Video input menu redesigned and clarified
- Added: GPU-accelerated, so frame-rate is much faster even at HD resolutions
- Added: HD support (see release notes for supported cameras)
- Added: background filename is now shown in main window
- Removed: Title Safe / Action Safe Guides because it's a pain to calculate them for each new resolution
Download Chroma Key Live v08-12-16
(16MB, Mac OSX Universal) + source "patches" for MAX/MSP/Jitter 5
Read the release notes for full technical details about this version.
Changes in version 08-12-16 (Dec 16, 2008):
- first release
MultiScreener (updated June 29, 2009)
Free Multi-Screen Playback
MultiScreener is a set of freeware applications that synchronize the playback of Quicktime movies on multiple computers, using a local network to tie them all together. (It can also sync multiple movies on the same computer using multiple monitors.)
It is intended for multi-channel video art, video walls, trade shows, and digital signage. I designed it as an artist-friendly low-budget alternative to the expensive combo of industrial DVD players (Pioneer DVD-V7400, DVD-V5000) and Dave Jones Design sync boxes. Those systems are fantastic, but MultiScreener provides synchronized multi-screen video playback using commodity hardware.
There is a Server and a Client. The server plays a movie and also sends position information over the network. Each client "listens" to the server and subtly adapts its movie playback speed to stay in sync. There is no limit to the number of clients.
MultiScreener was based on the implication that each client would run on its own machine, but you can also run multiple clients on the same computer, with each client feeding a different monitor. (See release notes.)
Looping and de-interlacing are available, and all settings are automatically saved for unattended startup. MultiScreener can output to the computer screen or external video devices (like DV cameras or decks). There is no native resolution or frame-rate, so all Quicktime video formats are supported. (See detailed SD and HD performance info in the release botes below.)
If MultiScreener isn't the multi-screen playback option for you:
- Modify it. The source code is included under a GPL license. You will need MAX/MSP/Jitter 5, which costs money, but there is a free 30-day demo.
- ygboX is a free and open source solution, based on Quartz Composer, which has deep hooks into the guts of Mac OS X so it plays back HD content with fewer dropped-frames than MultiScreener. There is one major caveat (as of Feb 2009): The server plays video and sound, but clients cannot play sound. (It's a limitation of Quartz Composer so the author can't do anything about it.)
- Most Pixels Ever (MPE) is a free, open source library for the Processing programming language that allows Processing sketches to run across multiple computers on a network. Processing is too slow to play broadcast-quality video but perfect for computer-generated graphics.
- The BrightSign HD210 is an inexpensive ($400) hardware HD player that can be synced over ethernet. I have never used one but they appear to be well-supported.
- Spend thousands of dollars on professional software like Dataton's Watchout, Renewed Vision's ProVideoPlayer, or Scalableplayer from Scalable Display Technologies.
Download MultiScreener 0.95 (Mac)
(24MB, Mac OSX Universal) + source "patches" for MAX/MSP/Jitter 5
Read the release notes for full technical details about this version.
Changes in version 0.95 (Feb 03, 2009):
- Changed to GPL 3.0 license
- Recompiled with MAX5
- Tested HD playback
- Fixed: Fixed error in client timing comparison (improved sync accuracy)
- Fixed: Fixed occasional loss or overwrite of xml preferences file
- Fixed: client sync meter was sometimes inaccurate
- Fixed: Simplified and optimized speed-control math
- Fixed: Simplified window-position save/recall at startup
- Fixed: Counters sometimes displayed wrong times
- Fixed: Now uses more conservative timing when entering/exiting fullscreen
- Fixed: Changed size of filename display to accommodate long filenames
- Fixed: changed "Way Off!" indicator into "Finding Frame" indicator
- Added: "Mute Sound" button added
- Added: "Hide Mouse in Full-Screen" button added
- Added: Client now indicates playback speed
- Added: Client now has user-settable frame offset
Download MultiScreener 0.95 (Windows - experimental build)
(17MB, no source patches included so use the ones from the Mac download above)
Many people have asked for a Windows build and I've told them to compile it themselves, using the free MAX5 demo for windows. Finally somebody did, so thank Jake Rugino for this. I haven't tested it because I don't have 2 Windows machines, so you're on your own.
Download MultiScreener 0.93
(18MB, Mac OSX Universal) + source "patches" for MAX/MSP/Jitter 4.6
Read the release notes for full technical details about this version.
Changes in version 0.93 (May 20, 2008):
- Added: Now supports multiple monitors (2 fullscreen movies on one machine)
- Added: Apps now remember their monitor position
- Added: Expanded README file with lots of new info
- Added: Applescripts are now included for unattended launching and multiple monitors
- Added: Movie timescale data is now displayed
- Fixed: Changed fullscreen startup delay to 5 seconds to help with slower machines
- Fixed: Settings are now saved immediately, not when app closes
Download MultiScreener 0.92
(18MB, Mac OSX Universal) + source "patches" for MAX/MSP/Jitter 4.6
Read the release notes for full technical details about this version.
Changes in version 0.92 (May 9, 2008):
- Fixed: reduced CPU load on client and server
- Fixed: The window in which normal tracking operates is now (+/-) 1/4 second, regardless of movie frame-rate or Quicktime time-units/second.
- Added: de-interlacing
- Added: Way Off! indicator to indicate sync mode
- Added: numerous advanced options are now acessible via XML prefs: (mute audio, change server transmit interval, etc.)
- Added: (Creative Commons Attribution Noncommercial Share Alike) license
Changes in version 0.7b (April 9, 2008):
- Bug: sometimes consumes too much CPU after several hours. (working on it!)
- Fixed: client wouldn't always enter fullscreen properly.
First Release 0.7 (April 8, 2008)
Film-O-Sync
Film-O-Sync synchronizes digital sound to 16mm projection. It requires modification to the projector, so I made an instructable to describe the process.
It requires a Mac (G3 400mHz or higher) with sound input and output. The modified projector feeds a tachometer signal to the computer, which plays the sound file in sync with the picture.
Download v. 0.5 (5MB, Mac PPC) with source "patch" for MAX 4.5
The Interactive Soundscapes Project
The Interactive Soundscape Designer was developed by N.B. Aldrich and myself as a computer interface for the Interactive Soundscapes project.
The software was designed as part of a larger effort to encourage investigation of the aural environment. It provides an intuitive interface to organize, mix, and alter sounds within an archive.
Full documentation of this ongoing project can be found here:
www.interactivesoundscapes.org
SingleFramer 2.4 (12-16-2007)
This is a frame-capture application developed in MAX/MSP/JITTER for students at the Cooper Union art school in NYC, USA.
It allows you to capture individual frames from a DV camera, either manually or automatically (time-lapse). You can use "onion-skinning" to see an overlay of your previous frame as you compose your shot. You can load an existing movie so you can match your setup from a previous day. (Useful if you need to break down borrowed equipment between shoots.)
Download SingleFramer 2.4 (8MB, Mac Universal)
Requires a DV camera (not a still camera). Supports PAL and NTSC video.
Changes in version 2.4 (December 2007):
- Fixed: keyboard wouldn't trigger grabbing if number boxes had been recently touched.
- Fixed: after canceling the creation of a movie, frames could still be grabbed.
- New disk image layout for easier installation.
Changes in version 2.3 (November 2007):
- Merged NTSC and PAL versions into one application (select at launch and it will be saved as default for next time)
- Added support for limited Applescript "UI Scripting" (the new menu items can be scripted)
- Added user setting for the number of frames to grab whenever spacebar is pressed (1-3)
- Refined and simplified the user-interface
- Onscreen video window now uses smoother interpolation (does not affect captures).
Changes in version 2.2 (October 2007):
- Now a Universal Binary! (works on Intel or PPC Macintosh)
- Fixed crashes with Quicktime 7, and frame-addressing issues when loading existing movies.
- Added user setting for the number of frames to grab whenever spacebar is pressed (1-3)
- The 1, 2, and 3 keys now grab that many frames respectively.
- Added a lockout so it's impossible to start a new movie while capturing (which would break your current movie.)
Pitch Playground
This software is a quick and dirty demonstrator for audio interference phenomena.
The five sine-wave oscillators can be tuned independently or linked via arbitrary or preset intervals. The amplitudes can also be independent or linked. A calculator keeps track of the ten possible beat-frequencies that are being generated by the interferance between the tones.
Download (8MB, Mac OSX Universal) + source "patch" for MAX 4.6
FrameSubtractor
FrameSubtractor is an application that removes background information from video images.
It compares each frame of the video to the previous frame, and only passes the pixels that have changed. So it reveals moving objects and makes stationary things disappear. (See README for more options.)
These techniques (sometimes called "background subtraction" or "frame differencing") are standard pre-processing stages for machine vision tasks, but they can be beautiful in their own right. I built this software for an artist, Laura Napier, who was investigating the formations of pedestrians on NYC sidewalks in 2007 but perhaps others might find it useful too.
Download (7MB, Mac OSX Universal) + source "patch" for MAX 4.6
