No edit summary |
mNo edit summary |
||
Line 2: | Line 2: | ||
Submission for a workshop – Pure Data mini-Conference | Submission for a workshop – Pure Data mini-Conference | ||
Understanding and being creative | == Understanding and being creative with Pure Data’s data structures == | ||
with Pure Data’s data structures | |||
João Pais | * Instructor: João Pais | ||
<blockquote>“The original idea in developing Pd was to make a real-time computer music | |||
“The original idea in developing Pd was to make a real-time computer music | |||
performance environment like Max, but somehow to include also a facility for making | performance environment like Max, but somehow to include also a facility for making | ||
computer music scores with user-specifiable graphical representations. … Pd is | computer music scores with user-specifiable graphical representations. … Pd is | ||
designed to offer an extremely unstructured environment for describing data | designed to offer an extremely unstructured environment for describing data | ||
structures and their graphical appearance. The underlying idea is to allow the user to display any kind of data he or she wants to, associating it in any way with the display.” | structures and their graphical appearance. The underlying idea is to allow the user to display any kind of data he or she wants to, associating it in any way with the display.”</blockquote> | ||
Miller Puckette, Using Pd as a score language (2002). | Miller Puckette, Using Pd as a score language (2002). | ||
Line 27: | Line 18: | ||
complete collection of objects, as well as with the not very intuitive implementation in | complete collection of objects, as well as with the not very intuitive implementation in | ||
Pd’s language. In the end, this very powerful feature becomes (unnecessarily) too | Pd’s language. In the end, this very powerful feature becomes (unnecessarily) too | ||
complicated to use. | complicated to use.<br /> | ||
This workshop is dedicated to show the possibilities of Pd’s data structures as a | This workshop is dedicated to show the possibilities of Pd’s data structures as a | ||
fruitful companion to any Pd user interested in a closer and more flexible interaction | fruitful companion to any Pd user interested in a closer and more flexible interaction | ||
Line 44: | Line 35: | ||
to integrate them in your own patches. | to integrate them in your own patches. | ||
Technical requirements | Technical requirements | ||
* Stereo PA System | |||
* Video projector and projection canvas | |||
Data structures workshop – João Pais – 2 of 5 | Data structures workshop – João Pais – 2 of 5 | ||
“Understanding and being creative with Pure Data’s data structures” – | “Understanding and being creative with Pure Data’s data structures” – | ||
Workshop structure | Workshop structure | ||
Part 1 – Implementation of data structures in Pd | ===Part 1 – Implementation of data structures in Pd === | ||
* basics of the data structures implementation | |||
* list and categories of objects | |||
* how to create a structure and store data | |||
* how to display data | |||
* how to edit data | |||
* managing data: interaction techniques between storage, editing and display | |||
* modularity: dynamic patching, adapting to your needs | |||
* shortcomings of the current implementation of data structures, and techniques | |||
to surpass them | to surpass them | ||
Part 2 – Using data structures: analysis and expansion of several “real world” | ===Part 2 – Using data structures: analysis and expansion of several “real world” | ||
examples | examples === | ||
[The following list is a selection of an open list, which is in constant actualisation] | [The following list is a selection of an open list, which is in constant actualisation] | ||
Data structures as a control language | Data structures as a control language | ||
* Display of 1-dimensional parameters (midi faders, sliders, etc.) | |||
* Display of 2-dimensional parameters (space representation, etc.) | |||
* A step sequencer (e.g. for your Monome) | |||
* … | |||
Data structures as a GUI language | Data structures as a GUI language | ||
* Expanding your GUI atoms with data structures and GOP | |||
* J. Wilkes: ds-bns abstraction | |||
* J. Pais: A step-limited editable array | |||
* J. Pais: Bezier transform function | |||
* … | |||
Data structures as a score language and composition tool | Data structures as a score language and composition tool | ||
* J. Pais: temporal proportion display patch | |||
* M. Puckette: sequencer example patch | |||
* H.-C. Steiner: Solitude | |||
* G. Werner: Weird stave | |||
* J. Pais: Event recorder in score style | |||
* J. Pais: Score composition and performance patch | |||
* … | |||
Data structures workshop – João Pais – 3 of 5 | Data structures workshop – João Pais – 3 of 5 | ||
Teacher | Teacher | ||
Line 104: | Line 95: | ||
patch, Click Cracker, …). | patch, Click Cracker, …). | ||
Pais currently lives in Berlin. | Pais currently lives in Berlin. | ||
Links | === Links === | ||
* [http://puredata.info/Members/jmmmp Pais’ Pd page] | |||
* [http://puredata.info/Members/jmmmp/click-tracker Click Tracker software] | |||
Pd-berlin Users Group - http://puredata.info/community/organization/pd-berlin/pd- | Pd-berlin Users Group - http://puredata.info/community/organization/pd-berlin/pd- | ||
berlin-users-group | berlin-users-group |
Revision as of 14:37, 18 May 2011
Data structures workshop – João Pais – 1 of 5 Submission for a workshop – Pure Data mini-Conference
Understanding and being creative with Pure Data’s data structures
- Instructor: João Pais
“The original idea in developing Pd was to make a real-time computer music
performance environment like Max, but somehow to include also a facility for making computer music scores with user-specifiable graphical representations. … Pd is designed to offer an extremely unstructured environment for describing data
structures and their graphical appearance. The underlying idea is to allow the user to display any kind of data he or she wants to, associating it in any way with the display.”
Miller Puckette, Using Pd as a score language (2002).
Pure Data’s data structures are one of the few core features that distinguish Pd from
Max/MSP. Yet, they’re also one of the few libraries which are used solely by a small
group of users. The main reasons for this would be both the not yet very mature and
complete collection of objects, as well as with the not very intuitive implementation in
Pd’s language. In the end, this very powerful feature becomes (unnecessarily) too
complicated to use.
This workshop is dedicated to show the possibilities of Pd’s data structures as a
fruitful companion to any Pd user interested in a closer and more flexible interaction
with the graphical representation of data.
The workshop is divided in two parts. The first part is dedicated to explain how to
program with data structures (also covering some of the shortcomings of its
implementation). The second part goes through several examples of data structures
on “real life” situations, starting with simple display and control examples, and
ending with complex patches to control / generate music in realtime (thus fulfilling
the objective expressed by M. Puckette in the initial statement).
If time allows, an optional third part would be devoted to working hands-on with data
structures: either by adapting the given examples, or by implementing ideas brought
by the participants.
After attending this workshop, it should be clear for the participants on how to
program with data structures, and how to approach them in a personal way, in order
to integrate them in your own patches.
Technical requirements
- Stereo PA System
- Video projector and projection canvas
Data structures workshop – João Pais – 2 of 5 “Understanding and being creative with Pure Data’s data structures” – Workshop structure
Part 1 – Implementation of data structures in Pd
- basics of the data structures implementation
- list and categories of objects
- how to create a structure and store data
- how to display data
- how to edit data
- managing data: interaction techniques between storage, editing and display
- modularity: dynamic patching, adapting to your needs
- shortcomings of the current implementation of data structures, and techniques
to surpass them ===Part 2 – Using data structures: analysis and expansion of several “real world” examples === [The following list is a selection of an open list, which is in constant actualisation] Data structures as a control language
- Display of 1-dimensional parameters (midi faders, sliders, etc.)
- Display of 2-dimensional parameters (space representation, etc.)
- A step sequencer (e.g. for your Monome)
- …
Data structures as a GUI language
- Expanding your GUI atoms with data structures and GOP
- J. Wilkes: ds-bns abstraction
- J. Pais: A step-limited editable array
- J. Pais: Bezier transform function
- …
Data structures as a score language and composition tool
- J. Pais: temporal proportion display patch
- M. Puckette: sequencer example patch
- H.-C. Steiner: Solitude
- G. Werner: Weird stave
- J. Pais: Event recorder in score style
- J. Pais: Score composition and performance patch
- …
Data structures workshop – João Pais – 3 of 5 Teacher João Pais studied composition in Lisbon, London and Freiburg (m. spahlinger) as well as electronic music (Mesias Maiguashca and Orm Finnendahl). From 2003–05 he was a tutor in the electronic music studio in the Musikhochschule Freiburg. Pais has continued his education with courses in Lisbon (Emmanuel Nunes), Paris-IRCAM (Salvatore Sciarrino), and Darmstadt (Germany). Between 1997–2001, with colleagues Diana Ferreira and Luís Antunes Pena, Pais founded and directed the Jornadas Nova Música in Aveiro, Portugal, a festival dedicated to new music. With Alberto C. Bernal and Johannes Kreidler / Enrique Tomás, Pais plays in the electronic improvisation trio Endphase, which already presented itself in many countries in Europe and China. In the Endphase Workshops Pais uses Pure Data. Pais is a Pure Data user for many years, and is also active in the development – jmmmp abstractions, embedded in Pd-Extended –, in the documentation – FLOSS Manuals’ object list (among other chapters) –, and in the dissemination –through his Endphase workshops, and through the organisation of the Pd-Berlin user’s group – of Pure Data. Pais uses Pure Data for his performances, as well as for his everyday sound processing and composing work. Lately he is also involved in developing several tools for both electronic as well as acoustic musicians (audio tester, ardour+jack control patch, Click Cracker, …). Pais currently lives in Berlin.
Links
Pd-berlin Users Group - http://puredata.info/community/organization/pd-berlin/pd- berlin-users-group Endphase Laptop Trio - http://www.endphase.net/ Pure Data FLOSS Manual - http://en.flossmanuals.net/puredata FLOSS Manual object list - http://en.flossmanuals.net/PureData/ObjListIntroduction jmmmp abstractions – [pd]/extra/jmmmp in Pd-Extended, or https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk/abstractions/jmmmp/ Data structures workshop – João Pais – 4 of 5 Patch illustrations Here follows some pictures of my patches to be analysed: Slider display:
Bezier transform function
Color palette for data structures
Temporal proportion display patch
Data structures workshop – João Pais – 5 of 5 Swatch-style color selector
Event recorder in score style
Score composition and performance patch