GMU:Dataflow/dataflow, network: Difference between revisions

From Medien Wiki
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Dataflow==
"Traditionally, a program is modeled as a series of operations happening in a specific order; this may be referred to as sequential, procedural, Control flow (indicating that the program chooses a specific path), or imperative programming. The program focuses on commands, in line with the von Neumann vision of sequential programming, where data are normally "at rest"." (https://en.wikipedia.org/wiki/Dataflow_programming)
"In contrast, dataflow programming emphasizes the movement of data and models programs as a series of connections. Explicitly defined inputs and outputs connect operations, which function like black boxes. An operation runs as soon as all of its inputs become valid. Thus, dataflow languages are inherently parallel and can work well in large, decentralized systems." (https://en.wikipedia.org/wiki/Dataflow_programming)
"Dataflow programming was pioneered by Jack Dennis and his graduate students at MIT in the 1960s." (https://en.wikipedia.org/wiki/Dataflow_programming)
==Pure Data (Pd)==
"Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works." (https://en.wikipedia.org/wiki/Pure_Data)
==OSC protocol==
"Open Sound Control (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC's advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation." (http://opensoundcontrol.org/introduction-osc)
==syllabus==
==syllabus==
dataflow, network
dataflow, network
Line 59: Line 72:


==literature overview==
==literature overview==
*Bang, 2006, © by pd-graz Verein zur Förderung der Open Source Software Pure Data
*[https://puredata.info/groups/pd-graz/label/book/bangbook.pdf Bang, 2006, © by pd-graz Verein zur Förderung der Open Source Software Pure Data]
// historical overview, general notes, general media theory. This is if you do not want to become a pd patcher
// historical overview, general notes, general media theory. This is if you do not want to become a pd patcher


*Designing Sound, Andy Farnell
*Programming Electronic Music in Pd, Johannes Kreidler, http://www.pd-tutorial.com/
// a step by step web tutorial with the focus on sound
 
*[http://aspress.co.uk/ds/pdf/pd_intro.pdf Designing Sound, Andy Farnell]
// sound theory including physics, maths and psychology. Then - part on practice with Pd. For advanced users
// sound theory including physics, maths and psychology. Then - part on practice with Pd. For advanced users


*Multimedia Programming with Pure Data, Bryan WC Chung
*[https://www.packtpub.com/sites/default/files/9781782164647_Chapter_02.pdf Multimedia Programming with Pure Data, Bryan WC Chung]
// detailed step by step including 2d, 3d, and configuring Arduino
// detailed step by step including 2d, 3d, and configuring Arduino


*Programming Sound with Pure Data, Tony Hillerson
*Programming Sound with Pure Data, Tony Hillerson, (copy and paste the address in your browser)
http://www.electronicsandbooks.com/eab1/manual/!%20new%202/P/Programming%20Sound%20with%20Pure%20Data%20[DrLol].pdf
// digital sound design and effects. with some knowledge about sound. Step by Step sound design with Pd
// digital sound design and effects. with some knowledge about sound. Step by Step sound design with Pd


*The Theory and Technique of Electronic Music, Miller Puckette
*[http://msp.ucsd.edu/techniques/v0.11/book.pdf The Theory and Technique of Electronic Music, Miller Puckette]
// Author of Pd, learning how to use a general-purpose computer music environment. With sound theory for advanced patcher.
// Author of Pd, learning how to use a general-purpose computer music environment. With sound theory for advanced patcher.


*PURE DATA
*[https://flossmanuals.net/_booki/pure-data/pure-data.pdf PURE DATA]
// Step by step basics, sound, graphics, sensors
// Step by step basics, sound, graphics, sensors


*A Young Person's Guide to the Principles of Music Synthesis, Beau Sievers
*[https://www.uni-weimar.de/kunst-und-gestaltung/wiki/images/Young_Persons_Guide.pdf A Young Person's Guide to the Principles of Music Synthesis, Beau Sievers]
// basics of sound
// basics of sound


Line 88: Line 105:


==practical part: pd-extended installation and objects (bang, toggle, math, OSC)==
==practical part: pd-extended installation and objects (bang, toggle, math, OSC)==
 
*[[File:netsend-netreceive2.pd]]
==OSC protocol==
*[[File:hello-world2.pd]]
"Open Sound Control (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC's advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation." (http://opensoundcontrol.org/introduction-osc)
*[[File:udpsend-udpreceive2.pd]]


==setting up a network==
==setting up a network==

Latest revision as of 21:08, 30 November 2016

Dataflow

"Traditionally, a program is modeled as a series of operations happening in a specific order; this may be referred to as sequential, procedural, Control flow (indicating that the program chooses a specific path), or imperative programming. The program focuses on commands, in line with the von Neumann vision of sequential programming, where data are normally "at rest"." (https://en.wikipedia.org/wiki/Dataflow_programming)

"In contrast, dataflow programming emphasizes the movement of data and models programs as a series of connections. Explicitly defined inputs and outputs connect operations, which function like black boxes. An operation runs as soon as all of its inputs become valid. Thus, dataflow languages are inherently parallel and can work well in large, decentralized systems." (https://en.wikipedia.org/wiki/Dataflow_programming)

"Dataflow programming was pioneered by Jack Dennis and his graduate students at MIT in the 1960s." (https://en.wikipedia.org/wiki/Dataflow_programming)

Pure Data (Pd)

"Pure Data (Pd) is a visual programming language developed by Miller Puckette in the 1990s for creating interactive computer music and multimedia works." (https://en.wikipedia.org/wiki/Pure_Data)

OSC protocol

"Open Sound Control (OSC) is a protocol for communication among computers, sound synthesizers, and other multimedia devices that is optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC's advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation." (http://opensoundcontrol.org/introduction-osc)

syllabus

dataflow, network

  • intro
  • syllabus
  • literature overview
  • pd, pd-extended
  • OSC protocol
  • practical part: pd-extended installation and objects (bang, toggle, math, OSC)
  • setting up a network
  • homework: ideas for a networked patch

synthesizer

  • overview ideas and homework
  • sound. basics (pitch, waves, oscillators, volume, frequency)
  • objects (select, slider, metro, dsp control, canvas/array, tabread/tabwrite)
  • setting up a network
  • homework: sound control over network/local patches

gem, webcam

  • overview ideas and homework
  • graphics, video, mixer
  • objects (gemhead, gemwin)
  • setting up a network
  • homework: visuals control over network/local patches

software (pd, processing, max/msp)

  • overview ideas and homework
  • overview software, installation of pd
  • bridging software
  • setting up a network
  • homework: set up a communication platform between different software

mobmuplat (iOS, Android)

  • overview ideas and homework
  • mobmuplat
  • bridging devices
  • setting up a network
  • homework: set up a communication platform between different devices

arduino (photo sensor)

  • overview ideas and homework
  • Arduino
  • bridging devices, forms (arduino)
  • setting up a network
  • homework: set up a communication platform between sensors and patch

Performance platform DBL

  • overview ideas and homework
  • intro to performance platform and software
  • bridging performance platform, software and pd
  • setting up a network
  • homework: work on individual ideas and patches

Actor network

  • overview ideas and homework
  • Bruno Latour
  • bridging individual patches into the network
  • further development of individual patches

literature overview

// historical overview, general notes, general media theory. This is if you do not want to become a pd patcher

// a step by step web tutorial with the focus on sound

// sound theory including physics, maths and psychology. Then - part on practice with Pd. For advanced users

// detailed step by step including 2d, 3d, and configuring Arduino

  • Programming Sound with Pure Data, Tony Hillerson, (copy and paste the address in your browser)
http://www.electronicsandbooks.com/eab1/manual/!%20new%202/P/Programming%20Sound%20with%20Pure%20Data%20[DrLol].pdf

// digital sound design and effects. with some knowledge about sound. Step by Step sound design with Pd

// Author of Pd, learning how to use a general-purpose computer music environment. With sound theory for advanced patcher.

// Step by step basics, sound, graphics, sensors

// basics of sound

pd, pd-extended

  • Pd-extended

https://puredata.info/downloads/pd-extended

  • Pd

http://msp.ucsd.edu/software.html

practical part: pd-extended installation and objects (bang, toggle, math, OSC)

setting up a network

"A group of musicians operate a group of computers that are connected on a LAN. Each computer is somewhat independent (e.g., it produces sound in response to local input) yet the computers control each other in some ways (e.g., by sharing a global tempo clock or by controlling some of each others' parameters.) This is somewhat analogous to multi-player gaming." (http://opensoundcontrol.org/networked-lan-musical-performance)

homework: ideas for a networked patch