Pd workshop log - Cairo 2010

From Giss
Revision as of 07:39, 15 January 2012 by Sevy (talk | contribs)

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

StopWatchGraphical.png

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

StopWatchGui.png

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

BasicSamplingGui.png


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

FishTank.png


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

ModelView.png

Day 10

 Combining Gem and PDP for video effects
 Simple tracking in pdp : pdp_shape...
 Video effects in Gem : colour keying, ...

PdpVideo.png


Day 11

 Choosing video input in pd
 OpenCV introduction : tracking with pix_opencv_camshift
 Detection of contours and connection to a sound processing unit

OpenCvContours.png


Day 12

 OpenCV : motion detection
 OpenCV : filtering noise for better tracking
 Use of infra-red cameras for more precise tracking
 Introduction to OSC

OpenCvMotion.png


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.

ArduinoMixer.png

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.

ArduinoSensors.png


Day 22

  Receiving sensor datas from Xbees.
  Use of an applicative protocol to distinguish sensors.
  Persistence Of Vision ( POV ) with Arduino and LEDS.

Zigbee.png