Difference between revisions of "DevICT presentation on Pd"

From MakeICT Wiki
Jump to navigationJump to search
Line 14: Line 14:
 
* Open Source/cross platform
 
* Open Source/cross platform
 
* Pd-vanilla vs. Pd-extended
 
* Pd-vanilla vs. Pd-extended
** Audio only vs. openGl (Gem) and friends
+
** Audio only vs. openGL (Gem) and friends
 
** Matrix manipulation (iemmatrix)
 
** Matrix manipulation (iemmatrix)
 
** Physical Modeling library  (pmpd)
 
** Physical Modeling library  (pmpd)
 
** Careful: not everything in Pd follows the Pd-vanilla model. :-/
 
** Careful: not everything in Pd follows the Pd-vanilla model. :-/
 +
* Another alternative: [http://l2ork.music.vt.edu/main/?page_id=56 Pd-L2Ork]
 +
** Actively developed
 +
** Linux only
 
=== Overview of Pd-extended: ===
 
=== Overview of Pd-extended: ===
 
''I will sloppily use the terms 'Pd' and 'Pd-extended' interchangeably unless I don't''
 
''I will sloppily use the terms 'Pd' and 'Pd-extended' interchangeably unless I don't''
Line 41: Line 44:
 
* audio scratcher
 
* audio scratcher
 
** arrays
 
** arrays
 +
*** use tabread and tabwrite to show that it really is an array
 +
*** substitute [table]
 
=== Example: video ===
 
=== Example: video ===
 +
* glxgears
  
=== Example: video ===
 
=== Example: audio scratcher ===
 
 
=== Concepts ===
 
=== Concepts ===
 
* Hot and cold inlets
 
* Hot and cold inlets

Revision as of 09:48, 26 February 2015

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