DevICT presentation on Pd
From MakeICT Wiki
Revision as of 09:48, 26 February 2015 by John Harrison (talk | contribs)
Contents
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.
- Edit and performance mode
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]
- arrays
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.