Wichita Patcher's Circle

From MakeICT Wiki
Jump to navigationJump to search

Patching languages are visual programming languages that provide a framework for describing dataflow. They are especially suited for describing audio and video manipulations and interactivity, and they are popular among electronic artists, musicians, and composers. Common patching languages include Pure Data, Max/MSP, VVVV, and Reaktor.

Wichita Patcher's Circle (WPC) is a Special Interest Group of MakeICT and is supported by MakeICT's wiki as well as its own Googlegroup.

Do you use a patching language or do you want to? Are you looking for help getting started with a patching language? Maybe you are an advanced patcher and want to join our community of patchers who have been working in these languages for years? Join our conversation!



3D models (for manipulation in OpenGL)

Turbo Squid find 3d models on the web
Teddy build your own 3D models with this free software

Touch Interfaces

Community Core Vision open source/cross-platform solution for computer vision and machine sensing



  • ps3eye - Playstation 3 eye: 125fps available used for $8.99 at your local Gamestop


Pete's Plugin's

Pete's Plugins are free opensource freeframe plugins. These are great for doing various video effects, such as on a live image feed. They can be used with Gem's [pix_freeframe]. Just stick the compiled plugins in the same directory as your patch and look at the [pix_freeframe] help for details.

Note that there is a bug in the Windows version of Gem 0.93.3 (as included in Pd-extended 0.43.4) such that Gem reports an "unknown key" error when changing the first parameter of a [pix_freeframe] plugin. This is a known bug with a workaround. As of the time of this writing (Feb 12, 2014) Gem 0.93.3 is the latest stable release.

In general these plugins seem a bit flakey with Gem for whatever reason. Some work well, others crash Pd, others freeze. YMMV.

Pure Data


Main Page
Email lists The main pd email list is extremely responsive and helpful for beginners all the way to the most advanced programmers.
#dataflow IRC chat room in FreeNode where you can ask for help. It's not an especially active room but people there are friendly and helpful

Getting Started

Pd Video Tutorial Series for absolute beginners

Tools and Extensions

mtl a group of abstractions that make Pure Data a lot easier!
Gem Engine employs 3D navigation like you know it from 3D Programs like 3Ds Max or others in GEM

Example Patches

asciitobin.pd Convert ASCII numbers from a serial port to numbers that Pd understands
Steve Wilson's Audio Examples
polyPhonicSynth.pd Simple 4-voice synthesizer demo. This patch fails with key repeat on Windows
simpleSequencer.pd Simple demo of sequencing 8 notes
draw-tails.pd Continually takes snapshots of the last frame and mixes those with the current frame. By using the mouse as a way to draw a point in the current frame, we create "tails" with mouse presses and gestures.
color-tracking.pd simple color tracking of one color]
color-tracking-with-multiblob.pd color tracking with multiple objects
03.movement_detection-john-hack.pd A hack of 03.movement_detection. A better example, perhaps, than what is provided in the Pd help for movement detection
playing-with-sig2pix.pd a demo of using pix_sig2pix~ 1) to create a solid color and 2) to show how to mix with a live video feed.
video scratcher
video recorder
vera.zip compressed vera.ttf needed for [text3d] on Windows machines
Pitch Shifting/Time stretching & shrinking
fft-pitchshifter.pd fft pitchshifter engine. Put this in the directory which has the patch where you want to do the pitch shifting. This fft method tends to sound better in general than the tape roller method below, but also introduces more latency so is not always the best choice for live performance
fft-pitchshifter-example2.pd an example patch which uses the fft pitchshifter engine
pitchshifter.pd Rotating tape head method engine of pitch shifting. This has minimal latency compared to the fft method, but also introduces more apparent artifacts in general. Put this in the directory which has the patch where you want to do the pitch shifting.
pitchshifter-example2.pd an example patch which uses the rotating tape head pitch shifter engine
pitch-speed-example2.pd time change instead of pitch shift. Uses the fft-pitchshifter engine
MonoSynthTouchDemo.pd Simple Pd patch demoing use of maKey-style touch shield
PolySynthTouchDemo.pd Same as above but slightly more complicated to allow performer to play more than one note at a time
Touch2.ino Arduino code used in patches above. Video of the shield with using mono synth demo patch and this arduino code with Banana piano. If you don't have the arduino software installed, you will need these drivers to get this to work.
colorTracker.pd Track and trigger events based on the movement of primary colors as seen by a webcam.
colorTrackerTest.pd Test code for the color tracker. The best way to understand how to use the color tracker is to watch the video of the color tracker with test code up close and personal.

Local Pd classes and events

devICT presentation on Pd
WSU's Spring 2012 Audio/Video class featuring Pd and the Arduino
2014-Feb-1:Audio and video programming with Pure Data 3 hour workshop for absolute beginners to Pd
WSU ENGR202: Service Learning a WSU Engr course which supports MakeAXE, a project with Maize HS students that teaches them to make and perform with their own electronic audio and video instruments

Local Projects

John Harrison
Touch #2
Touch #1
Still Life (artistic contributions from Hack Art Lab)
Push Me Pull You (John contributed Pd and Arduino programming to this Hack.Art.Lab project)
Ghost in the Machine (artistic contributions from Hack Art Lab)



The WPC area on MakeICT's wiki can serve as a general repository for tutorials, helpful examples, demos, etc. of various patching languages.