Difference between revisions of "DevICT presentation on Pd"
From MakeICT Wiki
Jump to navigationJump to search(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | = Still need to prepare = |
− | = | + | * keyboard demo? |
− | * | + | * banana demo? |
+ | * color tracker demo? | ||
+ | |||
+ | = Bring = | ||
+ | * Amplified speakers | ||
+ | * Dongle for VGA | ||
+ | * Laptop and power supply | ||
+ | * Makey clone | ||
+ | * PS3eye | ||
+ | * power strip? | ||
+ | = Kick it off = | ||
+ | * [https://vimeo.com/tag:cyrille+henry/page:4 Cyrille video] | ||
* polysynth with Makey? | * polysynth with Makey? | ||
* video scratcher? | * video scratcher? | ||
− | + | = What is Pd? = | |
− | + | * Dataflow or patching language | |
− | + | * Created by mathematician/violinist: [http://en.wikipedia.org/wiki/Miller_Puckette Miller Puckette] | |
− | + | * While Miller can be credited for popularizing the idea of dataflow, Pd itself follows models of other languages intended for sound synth | |
− | * Dataflow | + | * [https://cycling74.com/products/max/ Max/MSP] is the big corporate cousin, actually the older brother |
− | * Created by mathematician/violinist: Miller Puckette | ||
− | * While the idea of dataflow | ||
− | * Max/MSP is the big corporate cousin | ||
* Open Source/cross platform | * Open Source/cross platform | ||
− | * Pd-vanilla vs. Pd-extended | + | * [http://puredata.info/ 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) | ||
Line 21: | Line 29: | ||
** Actively developed | ** Actively developed | ||
** Linux only | ** Linux only | ||
− | + | ||
+ | = 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'' | ||
* Pd is a dataflow language and uses the metaphor of connecting objects to each other. | * Pd is a dataflow language and uses the metaphor of connecting objects to each other. | ||
Line 27: | Line 36: | ||
** [http://www.weblogsinc.com/common/images/7291976986464054.JPG?0.6019339706458597 another modular synthesizer] | ** [http://www.weblogsinc.com/common/images/7291976986464054.JPG?0.6019339706458597 another modular synthesizer] | ||
* Pd also uses the metaphor of an instrument | * Pd also uses the metaphor of an instrument | ||
+ | ** Combining the [http://goodrichviolinshop.com/dave_0744adj.jpg instrument maker] and [http://www.newrepublic.com/sites/default/files/kid-violin.jpg instrument player] | ||
** Edit and performance mode | ** Edit and performance mode | ||
*** Switching between the two modes (ctrl-e) | *** Switching between the two modes (ctrl-e) | ||
*** Know at any time which mode you are in by looking at the cursor. | *** Know at any time which mode you are in by looking at the cursor. | ||
− | + | ||
+ | = Example1: audio = | ||
* Build 'A' with [osc~] and [dac~] | * Build 'A' with [osc~] and [dac~] | ||
** Show canvas help, then interactive object help | ** Show canvas help, then interactive object help | ||
Line 38: | Line 49: | ||
* 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~ | ||
* make a note | * make a note | ||
− | + | = Example2: audio = | |
* 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 = | |
− | * | + | 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 | * Hot and cold inlets | ||
+ | ** [+ 3] | ||
+ | ** feed one number to 2 [+] objects | ||
* subpatches | * subpatches | ||
* abstractions | * abstractions | ||
− | * | + | ** [s] and [r] (and [s~] and [r~]) |
− | + | ** numbers, sliders, etc. getting messages | |
− | * | + | * building your own objects in C |
− | * | + | * single threadedness [pd~], and [netsend] [netreceive] |
− | * | + | * cuda |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | = 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 | |
− | + | = Pd in the wild = | |
− | + | * Pd is really 2 separate programs | |
− | + | * libPd is the sound synthesizer separated from the interface | |
− | + | * libPd runs on iOS, Android. There's even [http://shop.oreilly.com/product/0636920022503.do a book] about using it on mobile devices. | |
− | = | + | * Pd vanilla is popular on rPi as an open-ended all-inclusive DIY effect box. [https://www.youtube.com/watch?v=NwJNeouLqgQ One example] |
− | * Pd | + | = Examples = |
− | * | + | * Steve's stuff |
− | * | + | = Resources for Going On = |
− | ==== | + | == The World == |
− | ==== Open Frameworks | + | * Reference help in Pd |
− | + | * http://msp.ucsd.edu/ Miller's resources] (especially the book) | |
+ | * Pd [http://puredata.info/community/lists email list] and [http://forum.pdpatchrepo.info/ forum] | ||
+ | * [http://pd.klingt.org/pd_ring/info.html The weird, old Pd ring] | ||
+ | == Local == | ||
+ | * [http://cratel.wichita.edu/cratel/PdVideoTutorial very basic video tutorials] by...wellll....modest forbids. | ||
+ | * [http://makeict.org/wichita-patchers-circle/ Wichita Patcher's Circle] and our email list | ||
+ | * [http://makeict.org/wiki/index.php/Wichita_Patcher%27s_Circle Local demos and resources from WPC] | ||
+ | * 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 | ||
+ | ** My own informal experience suggests this runs slower than Pd but I haven't verified this | ||
+ | * 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 | ||
+ | ** Written originally for OSX and popular with the Mac | ||
+ | * Csound | ||
+ | ** The grandaddy audio synthesis language | ||
+ | ** Supports some video with extensions. | ||
+ | ** If you miss the days of assembly language, this is your baby | ||
+ | * Open Frameworks | ||
+ | ** Probably the fastest execution? | ||
+ | ** Good developer community | ||
+ | ** Runs on everything including your phone | ||
+ | ** Open Source: runs on Linux |
Latest revision as of 13:37, 26 February 2015
Contents
Still need to prepare
- keyboard demo?
- banana demo?
- color tracker demo?
Bring
- Amplified speakers
- Dongle for VGA
- Laptop and power supply
- Makey clone
- PS3eye
- power strip?
Kick it off
- Cyrille video
- polysynth with Makey?
- video scratcher?
What is Pd?
- Dataflow or patching language
- Created by mathematician/violinist: Miller Puckette
- While Miller can be credited for popularizing the idea of dataflow, Pd itself follows models of other languages intended for sound synth
- Max/MSP is the big corporate cousin, actually the older brother
- 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
- Combining the instrument maker and instrument player
- 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~
- 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
- single threadedness [pd~], and [netsend] [netreceive]
- cuda
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
Pd in the wild
- Pd is really 2 separate programs
- libPd is the sound synthesizer separated from the interface
- libPd runs on iOS, Android. There's even a book about using it on mobile devices.
- Pd vanilla is popular on rPi as an open-ended all-inclusive DIY effect box. One example
Examples
- Steve's stuff
Resources for Going On
The World
- Reference help in Pd
- http://msp.ucsd.edu/ Miller's resources] (especially the book)
- Pd email list and forum
- The weird, old Pd ring
Local
- very basic video tutorials by...wellll....modest forbids.
- Wichita Patcher's Circle and our email list
- Local demos and resources from WPC
- 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
- My own informal experience suggests this runs slower than Pd but I haven't verified this
- 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
- Written originally for OSX and popular with the Mac
- Csound
- The grandaddy audio synthesis language
- Supports some video with extensions.
- If you miss the days of assembly language, this is your baby
- Open Frameworks
- Probably the fastest execution?
- Good developer community
- Runs on everything including your phone
- Open Source: runs on Linux