PDCON:Workshops/Data Structures: Difference between revisions

From Medien Wiki
No edit summary
 
(33 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Data structures workshop – João Pais – 1 of 5
== Understanding and being creative with Pure Data’s data structures ==
Submission for a workshop – Pure Data mini-Conference
   
   
Understanding and being creative 
Instructor: João Pais
with Pure Data’s data structures
   
   
João Pais
<blockquote>“The original idea in developing Pd was to make a real-time computer music  
Contact address:
João Pais
Friedenstr. 58
10249 Berlin
+49 30 42020091
jmmmp@gmx.net
www.endphase.net
“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.”<br />''Miller Puckette, Using Pd as a score language (2002)''</blockquote>
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.<br />
Pure Data’s data structures are one of the few core features that distinguish Pd from  
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. 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.
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  
The workshop is tailored for people with some knowledge in Pd - beginners can obviously attend, but some subjects won't be explained in full lenght, for time reasons.
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  
The workshop is divided in two parts, optionally three:
complicated to use.  
* The first part is dedicated to explain how to program with data structures (also covering some of the shortcomings of its implementation).  
This workshop is dedicated to show the possibilities of Pd’s data structures as a  
* 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).  
fruitful companion to any Pd user interested in a closer and more flexible interaction  
* An optional third part is be devoted to working hands-on with data structures: either by adapting the given examples, or by implementing ideas brought by the participants. For that, it is requested that you [[Special:EmailUser/Jmmmp|contact me]] and send either ideas, or patches that you want to adapt to data structures.
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  
===''Understanding and being creative with Pure Data’s data structure'' - Workshop structure===
implementation). The second part goes through several examples of data structures  
 
on “real life” situations, starting with simple display and control examples, and  
===Part 1 – Implementation of data structures in Pd ===
ending with complex patches to control / generate music in realtime (thus fulfilling  
* basics of the data structures implementation  
the objective expressed by M. Puckette in the initial statement).  
* list and categories of objects  
If time allows, an optional third part would be devoted to working hands-on with data  
* how to create a structure and store data  
structures: either by adapting the given examples, or by implementing ideas brought  
* how to display data  
by the participants.  
* how to edit data  
After attending this workshop, it should be clear for the participants on how to  
* managing data: interaction techniques between storage, editing and display  
program with data structures, and how to approach them in a personal way, in order
* modularity: dynamic patching, adapting to your needs  
to integrate them in your own patches.  
* shortcomings of the current implementation of data structures, and techniques to surpass them
Technical requirements
 
– Stereo PA System
===Part 2 – Using data structures: analysis and expansion of several “real world” examples ===
– Video projector and projection canvas
 
Data structures workshop – João Pais – 2 of 5
The following list is a selection of an open list, which is in constant actualisation. The subjects to analyse will be chosen considering available time and interest of the participants.
“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  
Data structures as a control language  
- Display of 1-dimensional parameters (midi faders, sliders, etc.)  
* Display of 1-dimensional parameters (midi faders, sliders, etc.)  
- Display of 2-dimensional parameters (space representation, etc.)  
* Display of 2-dimensional parameters (space representation, etc.)  
- A step sequencer (e.g. for your Monome)  
* 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  
* Expanding your GUI atoms with data structures and GOP  
- J. Wilkes: ds-bns abstraction  
* J. Wilkes: ds-bns abstraction  
- J. Pais: A step-limited editable array  
* J. Pais: A step-limited editable array  
- J. Pais: Bezier transform function  
* 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  
* J. Pais: temporal proportion display patch  
- M. Puckette: sequencer example patch  
* M. Puckette: sequencer example patch  
- H.-C. Steiner: Solitude  
* H.-C. Steiner: Solitude  
- G. Werner: Weird stave  
* G. Werner: Weird stave  
- J. Pais: Event recorder in score style  
* J. Pais: Event recorder in score style  
- J. Pais: Score composition and performance patch  
* J. Pais: Score composition and performance patch  
- …  
* …  
Data structures workshop – João Pais – 3 of 5
 
Teacher  
===Part 3 – Work on patches brought by the participans===
João Pais studied composition in Lisbon, London and Freiburg (m. spahlinger) as well  
* [[Special:EmailUser/Jmmmp|contact me]] and send either ideas, or patches that you want to adapt to data structures.
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  
===Teacher===
continued his education with courses in Lisbon (Emmanuel Nunes), Paris-IRCAM  
João Pais studied composition in Lisbon, London and Freiburg (m. spahlinger) as well s electronic music (Mesias Maiguashca). 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).  
(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.  
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  
With Alberto C. Bernal and Johannes Kreidler / Enrique Tomás, Pais plays in the  
electronic improvisation trio Endphase, which already presented itself in many  
electronic improvisation trio Endphase, which already presented itself in many  
countries in Europe and China. In the Endphase Workshops Pais uses Pure Data.  
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 –  
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  
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.  
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  
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  
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, [http://puredata.info/Members/jmmmp/click-tracker Click Tracker], …). Pais currently lives in Berlin.
for both electronic as well as acoustic musicians (audio tester, ardour+jack control  
 
patch, Click Cracker, …).  
=== Links ===
Pais currently lives in Berlin.  
* [http://puredata.info/Members/jmmmp Pais’ Pd page]
Links  
* [http://puredata.info/Members/jmmmp/click-tracker Click Tracker software]
Pais’ Pd page - http://puredata.info/Members/jmmmp  
* [http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/abstractions/jmmmp/ jmmmp abstractions] or /extra/jmmmp in Pd-Extended
Click Tracker software – http://puredata.info/Members/jmmmp/click-tracker  
Also at the Pd-Convention: [[PDCON:Concerts/Endphase: João Pais, Alberto C. Bernal, Enrique Tomás#Endphase|Endphase laptop trio performance]] and paper presentation [[PDCON:Conference/Click Tracker: Performance/composition tool for metrically complex scores|Click Tracker: Performance/composition tool for metrically complex scores]]
Pd-berlin Users Group - http://puredata.info/community/organization/pd-berlin/pd-
 
berlin-users-group
{{Template:PdCon11}}
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

Latest revision as of 13:35, 6 September 2012

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. 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.

The workshop is tailored for people with some knowledge in Pd - beginners can obviously attend, but some subjects won't be explained in full lenght, for time reasons.

The workshop is divided in two parts, optionally three:

  • 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).
  • An optional third part is be devoted to working hands-on with data structures: either by adapting the given examples, or by implementing ideas brought by the participants. For that, it is requested that you contact me and send either ideas, or patches that you want to adapt to data structures.


Understanding and being creative with Pure Data’s data structure - 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. The subjects to analyse will be chosen considering available time and interest of the participants.

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

Part 3 – Work on patches brought by the participans

  • contact me and send either ideas, or patches that you want to adapt to data structures.

Teacher

João Pais studied composition in Lisbon, London and Freiburg (m. spahlinger) as well s electronic music (Mesias Maiguashca). 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 Tracker, …). Pais currently lives in Berlin.

Links

Also at the Pd-Convention: Endphase laptop trio performance and paper presentation Click Tracker: Performance/composition tool for metrically complex scores


Kreativfonds Bauhaus-Univeristät WeimarElectronic Arts Blog für digitale SpielkulturThe Mozilla FoundationAllied Vision TechnologiesFreistaat ThüringenBauhaus-Universität WeimarHochschule für Musik Franz Liszt WeimarFraunhofer Institute for Digital Media Technology IDMTStadt WeimarKlassik Stiftung WeimarNKFaculty of MediaStudio for electro-acoustic MusicKulturTragWerk e.V.Elektronisches Studio der TU BerlinMaschinenraum Hackerspace WeimarRadio Lotte WeimarSponsors and partners of the 4th internationals Pure Data Convention in Weimar 2011

4th international Pure Data Convention 2011 Weimar ~ Berlin