Difference between revisions of "DevICT presentation on Pd"
From MakeICT Wiki
Jump to navigationJump to searchLine 38: | Line 38: | ||
* Add volume control *~, number box | * Add volume control *~, number box | ||
* line~, snapshot~ | * line~, snapshot~ | ||
+ | ** audio streams (sig~) vs. control | ||
* bang~ | * bang~ | ||
* add freq slider with line~ | * add freq slider with line~ | ||
Line 44: | Line 45: | ||
* audio scratcher | * audio scratcher | ||
** arrays | ** arrays | ||
− | *** use tabread and tabwrite to show that it really is an array | + | *** use [tabread] and [tabwrite] to show that it really is an array |
*** substitute [table] | *** substitute [table] | ||
=== Example: video === | === Example: video === | ||
− | + | vblank_mode=0 glxgears | |
+ | * Hello World video | ||
+ | * 60 fps (and prove it with toggle, then a counter) | ||
+ | * [fullscreen 1( | ||
+ | * add [osc~] and [snapshot~] | ||
=== Concepts === | === Concepts === | ||
* Hot and cold inlets | * Hot and cold inlets | ||
+ | ** [+ 3] | ||
+ | ** feed one number to 2 [+] objects | ||
* subpatches | * subpatches | ||
* abstractions | * abstractions | ||
− | * building your own objects | + | ** [s] and [r] (and [s~] and [r~]) |
+ | ** numbers, sliders, etc. getting messages | ||
+ | * building your own objects in C | ||
+ | === Fun Stuff === | ||
+ | * pmpd (47 scanned synth) | ||
+ | * interfacing with the arduino and friends | ||
+ | * dynamic patching: Manuals -> pd-msg -> 1.msg_and_patch -> 1.2 create_patch.pd | ||
+ | |||
+ | === Examples === | ||
+ | * Steve's stuff | ||
=== Going On === | === Going On === | ||
* Wichita Patcher's Circle | * Wichita Patcher's Circle | ||
Line 59: | Line 75: | ||
* audio: | * audio: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
pmpd | pmpd | ||
interfacing with the arduino and friends | interfacing with the arduino and friends | ||
− | |||
Pitch shifting | Pitch shifting | ||
dynamic patching | dynamic patching | ||
− | === | + | |
− | * Pd's | + | === Where to from here? === |
− | * Pd | + | * video tutorials |
− | * | + | * Reference help in Pd |
− | + | * Miller's book | |
− | + | * Pd list and forum | |
− | + | * local list | |
+ | * Wichita Patcher's Circle | ||
+ | * me me me (me) | ||
+ | === Alternatives to Pd === | ||
+ | ''not listed in any particular order'' | ||
+ | * [http://www.processing.org/ Processing]: | ||
+ | ** A text-based language based on Java. | ||
+ | ** This is great for visuals but its core does not support sound. | ||
+ | ** The tutorials and [http://www.processing.org/examples/ examples] are wonderful, with tons of interactive help | ||
+ | ** Open Source: runs on Linux | ||
+ | |||
+ | * Pure Data: | ||
+ | ** Graphically based | ||
+ | ** Draw a diagram of what you want | ||
+ | ** Data flow | ||
+ | ** Open Source: runs on Linux | ||
+ | ** Originally audio only. Supports video with extended library (Gem) | ||
+ | * Max/MSP | ||
+ | ** commercial cousin of Pure Data | ||
+ | ** Larger user base than Pure Data | ||
+ | ** Probably the documentation is better than with Pd | ||
+ | ** This is getting some attention at WSU School of Music (Aleks Sternfeld-Dunn) | ||
+ | ** will not run on Linux | ||
+ | * SuperCollider | ||
+ | ** Text based, powerful for sound | ||
+ | ** Not sure if it supports video | ||
+ | * Csound | ||
+ | ** The grandaddy audio synthesis language | ||
+ | ** Supports some video with extensions. | ||
+ | ** Not the best starter language? | ||
+ | * Open Frameworks | ||
+ | ** The fastest, bestest, and hardest | ||
+ | ** Usually overkill | ||
+ | ** Runs on everything including your phone | ||
+ | ** Open Source: runs on Linux |
Revision as of 11:37, 26 February 2015
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~
- audio streams (sig~) vs. control
- 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
vblank_mode=0 glxgears * Hello World video * 60 fps (and prove it with toggle, then a counter) * [fullscreen 1( * add [osc~] and [snapshot~]
Concepts
- Hot and cold inlets
- [+ 3]
- feed one number to 2 [+] objects
- subpatches
- abstractions
- [s] and [r] (and [s~] and [r~])
- numbers, sliders, etc. getting messages
- building your own objects in C
Fun Stuff
- pmpd (47 scanned synth)
- interfacing with the arduino and friends
- dynamic patching: Manuals -> pd-msg -> 1.msg_and_patch -> 1.2 create_patch.pd
Examples
- Steve's stuff
Going On
- Wichita Patcher's Circle
- Local demos
- audio:
pmpd interfacing with the arduino and friends Pitch shifting dynamic patching
Where to from here?
- video tutorials
- Reference help in Pd
- Miller's book
- Pd list and forum
- local list
- Wichita Patcher's Circle
- me me me (me)
Alternatives to Pd
not listed in any particular order
- Processing:
- A text-based language based on Java.
- This is great for visuals but its core does not support sound.
- The tutorials and examples are wonderful, with tons of interactive help
- Open Source: runs on Linux
- Pure Data:
- Graphically based
- Draw a diagram of what you want
- Data flow
- Open Source: runs on Linux
- Originally audio only. Supports video with extended library (Gem)
- Max/MSP
- commercial cousin of Pure Data
- Larger user base than Pure Data
- Probably the documentation is better than with Pd
- This is getting some attention at WSU School of Music (Aleks Sternfeld-Dunn)
- will not run on Linux
- SuperCollider
- Text based, powerful for sound
- Not sure if it supports video
- Csound
- The grandaddy audio synthesis language
- Supports some video with extensions.
- Not the best starter language?
- Open Frameworks
- The fastest, bestest, and hardest
- Usually overkill
- Runs on everything including your phone
- Open Source: runs on Linux