Pd workshop log - Cairo 2010
From Giss
Contents
- 1 Phase 1 : Pure Data : basic concepts and real-time processing
- 1.1 Day 1
- 1.2 Day 2
- 1.3 Day 3
- 1.4 Day 4
- 1.5 Phase 2 : Pure Data : sound processing and synthesis
- 1.6 Day 5
- 1.7 Day 6
- 1.8 Day 7
- 1.9 Phase 3 : Pure Data : extensions and specific processing : 3d, video processing, computer vision, physical modelling, ...
- 1.10 Day 8
- 1.11 Day 9
- 1.12 Day 10
- 1.13 Day 11
- 1.14 Day 12
- 1.15 Phase 4 : Electronics & Arduino: basic concepts, circuitry and programming...
- 1.16 Day 13
- 1.17 Day 14
- 1.18 Day 15
- 1.19 Day 16
- 1.20 Day 17
- 1.21 Phase 5 : Arduino & electronics : sensors, interfaces, extending arduino and advanced programming, ...
- 1.22 Day 18
- 1.23 Day 19
- 1.24 Day 20
- 1.25 Day 21
- 1.26 Day 22
Phase 1 : Pure Data : basic concepts and real-time processing
Duration : 4 days : 22-25/03
Day 1
General presentation of real-time programs for art : history and difference between Max/MSP and Pure Data Introduction to objects and connections Review of types of units : objects, messages, numbers, symbols and list A special message : bang ! Time and event processing Start of the first example : a stop watch in pd using metro
Day 2
Conditional processing Routing messages and process data First example complete : a stop watch in textual mode
Template:Start:2 - stop watch graphical.png?320x240
Day 3
Introduction to Gem library Transformation of the previous watch in a graphical mode Scaling data Second example : Stop watch in graphical mode
Day 4
Explaining gem chains and spaces ( rotation, translation ) Introduction of sub-patches Building an interface that everybody ( think about your mother ) can use Third example : control interface for the stop watch
Template:Start:3 - stop watch gui.png?320x240
Phase 2 : Pure Data : sound processing and synthesis
Duration : 3 days : 27-29/03
Day 5
Playing sound with tables ( tabxxx ) Recording sound Introduction of abstractions Start of fourth example : an 8 steps sound sequencer
Day 6
Finishing an abstraction ( the $0 trick in pd ) Building an interface using Graph On Parent feature Basics of sound synthesis ( waveforms, additive synthesis, ... ) Example of sound design by obiwannabe Finishing fourth example : an 8 steps sound sequencer
Template:Start:basic sampling gui.png?320x240
Day 7
Connecting sound processing to animations in Gem Creating a context in Gem Details about geometries and rendering Finishing fifth example : an animation connected with sound : the fish tank
Template:Start:6 - fish tank.png?320x240
Phase 3 : Pure Data : extensions and specific processing : 3d, video processing, computer vision, physical modelling, ...
Duration : 5 days : 31/03 :: 1,3-5/04
Day 8
Using textures and models in Gem Using gemlists and separators to sequence processing Starting seventh example : using models in Gem
Day 9
Mapping video on surfaces : curves3d, ... Using gemlists to create several models Finishing seventh example : a bowling game in pd
Template:Start:7 - model and view.png?320x240
Day 10
Combining Gem and PDP for video effects Simple tracking in pdp : pdp_shape... Video effects in Gem : colour keying, ...
Template:Start:9 - pdp and video.png?320x240
Day 11
Choosing video input in pd OpenCV introduction : tracking with pix_opencv_camshift Detection of contours and connection to a sound processing unit
Template:Start:11 - opencv contours.png?320x240
Day 12
OpenCV : motion detection OpenCV : filtering noise for better tracking Use of infra-red cameras for more precise tracking Introduction to OSC
Template:Start:12 - opencv motion.png?320x240
Phase 4 : Electronics & Arduino: basic concepts, circuitry and programming...
Duration : 5 days : 7-8,10-12/04
Day 13
Introduction to electricity. Static, current, voltage drop, intensity, resistance, Ohm's Law. Components: Resistor. Variable Resistor. Uses. Experiments. Components: Capacitor. Types. Uses. Experiments. Components: Coils. Transformers. Semiconductors. Silicon crystals. N and P Types. PN junction. Components: Diode. LED. Uses. Experiments. Components: Bipolar transistor. Transistor as a switch. Transistor as an amplifier. Experiments. Components: FET Transistor. MOSFET Transistor. Components: Integrated Circuits. Construction. Book : http://www.general-search.com/fileinfo/10996093
Day 14
Introduction to the arduino platform Arduino Board, main parts, connectors. Arduino IDE, installation, configuration... Hello world, LED blink. Arduino sketches, parts, setup() and loop() functions. Variables, types. Digital logic levels, true and false, high and low, 1 and 0. Digital output. LED blink, two LED's. Digital input. Push button. Analog input. ADC, Voltage divider, reading the input. Using the serial monitor.
Day 15
Sending data using the serial-usb port. Data as ascii and as raw bytes. Mapping ranges. Connecting Arduino to puredata, comport. Connecting Arduino to puredata, video mixer example. The amazing binary world. Introduction to binary numeral system. Introduction to binary arithmetics. Hexadecimal numeral system. More components. Motors: DC motors, servos and steppers.
Template:Start:15 - arduino mixer.png?320x240
Day 16
Arduino Programming Language Functions. Defining functions, calling them. Operators. Arithmetic, logic. Conditions. Loops. While, do..until, for. Conditionals. If, if...else, switch.
Day 17
Arduino Programming Language Control of RGB LEDS. Use of distance and/or pressure sensors to control LEDS.
Phase 5 : Arduino & electronics : sensors, interfaces, extending arduino and advanced programming, ...
Duration : 5 days : 14-15,17-19/04
Day 18
Arduino Programming Language. Arduino Libraries, importing, creating instances of objects, using objects in libraries. Servo Motors, types. Interfacing. Servo Library. Control of servo motors using sensors.
Day 19
Arduino Programming Language: Advanced digital output. Shifting bits. The 595 shift register. Pinout. Interfacing. LED Binary counter, a 595 example. 7 segments displays. Arrays.
Day 20
7 segments circuit with a 595. Programming of the 7 segments display with arduino. Use of arrays to control the 7 segments display. Sensors. Ultrasonic. LDR's. PDuino & Firmata.
Day 21
Treating sensor data : scaling. Mapping library in pd. XBee introduction : sending data from the computer.
Template:Start:16 - arduino sensors.png?320x240
Day 22
Receiving sensor datas from Xbees. Use of an applicative protocol to distinguish sensors. Persistence Of Vision ( POV ) with Arduino and LEDS.