Difference between revisions of "Wichita Patcher's Circle"
(Undo revision 4225 by James Lancaster (talk) Accidentally clicked the wrong thing.) |
|||
(23 intermediate revisions by 3 users not shown) | |||
Line 24: | Line 24: | ||
==== Video ==== | ==== Video ==== | ||
− | + | * [[Ripping youtube video/audio for Pd using VLC]] | |
+ | ==== Webcam ==== | ||
+ | * [[ps3eye]] - Playstation 3 eye: 125fps available used for $8.99 at your local Gamestop | ||
+ | ==== Effects ==== | ||
+ | ===== 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 [http://sourceforge.net/p/pure-data/bugs/878/ 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. | ||
+ | |||
+ | * [http://petewarden.github.io/petesplugins/PluginHelp.htm Description of Plugins] | ||
+ | * [http://www.neuromixer.com/manuals/freeframe.php PC and Mac binaries] (tested working on Win7/64 bit) | ||
=== Pure Data === | === Pure Data === | ||
Line 59: | Line 71: | ||
==== Example Patches ==== | ==== Example Patches ==== | ||
+ | ===== General ===== | ||
{| class="wikitable" | {| class="wikitable" | ||
|[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/01/e8qs9-asciitobin.pd asciitobin.pd] | |[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/01/e8qs9-asciitobin.pd asciitobin.pd] | ||
|Convert ASCII numbers from a serial port to numbers that Pd understands | |Convert ASCII numbers from a serial port to numbers that Pd understands | ||
+ | |} | ||
+ | ===== Audio ===== | ||
+ | {| class="wikitable" | ||
+ | |[http://cratel.wichita.edu/cratel/StevePd Steve Wilson's Audio Examples] | ||
+ | | | ||
+ | |- | ||
+ | |[[Media:polyphonicSynth.pd|polyPhonicSynth.pd]] | ||
+ | |Simple 4-voice synthesizer demo. This patch fails with key repeat on Windows | ||
|- | |- | ||
+ | |[[Media:simpleSequencer.pd|simpleSequencer.pd]] | ||
+ | |Simple demo of sequencing 8 notes | ||
+ | |} | ||
+ | |||
+ | ===== Video ===== | ||
+ | {| class="wikitable" | ||
|[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/01/6iqwi-draw-tails.pd draw-tails.pd] | |[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/01/6iqwi-draw-tails.pd 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. | |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. | ||
Line 77: | Line 104: | ||
|[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/02/zb5xs-playing-with-sig2pix.pd playing-with-sig2pix.pd] | |[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/02/zb5xs-playing-with-sig2pix.pd 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. | |a demo of using pix_sig2pix~ 1) to create a solid color and 2) to show how to mix with a live video feed. | ||
+ | |- | ||
+ | |[http://cratel.wichita.edu/blogs/engr202spring2014/2014/02/11/space-command-central-video-scratcher/ video scratcher] | ||
+ | | | ||
+ | |- | ||
+ | |[http://cratel.wichita.edu/blogs/engr202spring2014/2014/02/11/space-command-central-video-audio-recorder/ video recorder] | ||
+ | | | ||
+ | |- | ||
+ | |[[Media:vera.zip|vera.zip]] | ||
+ | | compressed vera.ttf needed for [text3d] on Windows machines | ||
|} | |} | ||
Line 90: | Line 126: | ||
|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. | |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. | ||
|- | |- | ||
− | |[ | + | |[[Media:pitchshifter-example2.pd|pitchshifter-example2.pd]] |
|an example patch which uses the rotating tape head pitch shifter engine | |an example patch which uses the rotating tape head pitch shifter engine | ||
|- | |- | ||
|[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/03/pitch-speed-example2.pd pitch-speed-example2.pd] | |[http://cratel.wichita.edu/blogs/ee577aspring2012/files/2012/03/pitch-speed-example2.pd pitch-speed-example2.pd] | ||
|time change instead of pitch shift. Uses the fft-pitchshifter engine | |time change instead of pitch shift. Uses the fft-pitchshifter engine | ||
+ | |} | ||
+ | |||
+ | ===== Interfaces ===== | ||
+ | {| class="wikitable" | ||
+ | |[[Media:MonoSynthTouchDemo.pd|MonoSynthTouchDemo.pd]] | ||
+ | |Simple Pd patch demoing use of [http://store.linksprite.com/makey-makey-style-touch-usb-shield-for-arduino-pcduino/ maKey-style touch shield] | ||
+ | |- | ||
+ | |[[Media:PolySynthTouchDemo.pd|PolySynthTouchDemo.pd]] | ||
+ | |Same as above but slightly more complicated to allow performer to play more than one note at a time | ||
+ | |- | ||
+ | |[[Media:Touch2.ino|Touch2.ino]] | ||
+ | |Arduino code used in patches above. [http://www.youtube.com/watch?v=cKrgthuZoRk 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 [http://cratel.wichita.edu/cratel/temp?action=AttachFile&do=get&target=drivers.zip these drivers] to get this to work. | ||
+ | |- | ||
+ | |[[Media:colorTracker.pd|colorTracker.pd]] | ||
+ | |Track and trigger events based on the movement of primary colors as seen by a webcam. | ||
+ | |- | ||
+ | |[[Media:colorTrackerTest.pd|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 [http://www.youtube.com/watch?v=JbtypGkdRDY color tracker with test code up close and personal.] | ||
|} | |} | ||
==== Local Pd classes and events ==== | ==== Local Pd classes and events ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
+ | |[[DevICT_presentation_on_Pd|devICT presentation on Pd]] | ||
+ | | | ||
+ | |- | ||
|[http://cratel.wichita.edu/blogs/ee577aspring2012 WSU's Spring 2012 Audio/Video class] | |[http://cratel.wichita.edu/blogs/ee577aspring2012 WSU's Spring 2012 Audio/Video class] | ||
|featuring Pd and the Arduino | |featuring Pd and the Arduino | ||
Line 118: | Line 175: | ||
| | | | ||
|- | |- | ||
− | |Still Life | + | |[http://www.youtube.com/watch?v=M6nFzBvlHrA Still Life] |
|(artistic contributions from Hack Art Lab) | |(artistic contributions from Hack Art Lab) | ||
|- | |- | ||
Line 124: | Line 181: | ||
| (John contributed Pd and Arduino programming to this Hack.Art.Lab project) | | (John contributed Pd and Arduino programming to this Hack.Art.Lab project) | ||
|- | |- | ||
− | |Ghost in the Machine | + | |[https://www.youtube.com/watch?v=QzjhI5SDjnI&feature=youtu.be&t=1m38s Ghost in the Machine] |
|(artistic contributions from Hack Art Lab) | |(artistic contributions from Hack Art Lab) | ||
|} | |} |
Latest revision as of 19:51, 28 September 2016
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!
Resources
General
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 |
Video
Webcam
- ps3eye - Playstation 3 eye: 125fps available used for $8.99 at your local Gamestop
Effects
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.
- Description of Plugins
- PC and Mac binaries (tested working on Win7/64 bit)
Pure Data
Reference
Main Page | |
Email lists | The main pd email list is extremely responsive and helpful for beginners all the way to the most advanced programmers. |
Forum | |
#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
General
asciitobin.pd | Convert ASCII numbers from a serial port to numbers that Pd understands |
Audio
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 |
Video
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 |
Interfaces
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) |
Max/MSP
VVVV
The WPC area on MakeICT's wiki can serve as a general repository for tutorials, helpful examples, demos, etc. of various patching languages.