DevICT presentation on Pd

From MakeICT Wiki
Revision as of 10:48, 26 February 2015 by John Harrison (talk | contribs)
Jump to navigationJump to search

General Outline

Demo(s)

  • color tracker?
  • polysynth with Makey?
  • video scratcher?
  • Cyrille's stuff?
  • Marco's stuff?

What is Pd?

  • Dataflow
  • Created by mathematician/violinist: Miller Puckette
  • While the idea of dataflow was new, the language itself follows models of other languages intended for sound synth
  • Max/MSP is the big corporate cousin
  • Open Source/cross platform
  • Pd-vanilla vs. Pd-extended
    • Audio only vs. openGL (Gem) and friends
    • Matrix manipulation (iemmatrix)
    • Physical Modeling library (pmpd)
    • Careful: not everything in Pd follows the Pd-vanilla model. :-/
  • Another alternative: Pd-L2Ork
    • Actively developed
    • Linux only

Overview of Pd-extended:

I will sloppily use the terms 'Pd' and 'Pd-extended' interchangeably unless I don't

  • Pd is a dataflow language and uses the metaphor of connecting objects to each other.
  • Pd also uses the metaphor of an instrument
    • Edit and performance mode
      • Switching between the two modes (ctrl-e)
      • Know at any time which mode you are in by looking at the cursor.

Example1: audio

  • Build 'A' with [osc~] and [dac~]
    • Show canvas help, then interactive object help
    • talk about tilde
    • keyboard shortcuts
    • inlets, outlets, creation arguments
  • Add volume control *~, number box
  • line~, snapshot~
  • bang~
  • add freq slider with line~
  • make a note

Example2: audio

  • audio scratcher
    • arrays
      • use tabread and tabwrite to show that it really is an array
      • substitute [table]

Example: video

  • glxgears

Concepts

  • Hot and cold inlets
  • subpatches
  • abstractions
  • building your own objects

Going On

  • Wichita Patcher's Circle
  • Local demos
  • audio:
   osc~, array, volume, metro, bang
   video: 
       camera
       projector
       screen
       power
       [pix_film], [pix_video], pix_buffer read/write
   control stuff: a counter


   Pd examples at Wichita Patcher's Circle
   motion tracking
   color tracking
   pmpd
   interfacing with the arduino and friends
   Kinec
   Pitch shifting
   dynamic patching

Open Source Alternatives to Pd

  • Pd's community of developers is small
  • Pd performs well but there are more performant options if speed is critical
  • The programming style of Pd is unique. It makes for very fast prototyping. Still, you may hate it.

Processing

Open Frameworks

RTCMix