GMU:Dataflow/dataflow, network

From Medien Wiki

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