Network Music Performance Workshop GAFFTA 2010

From CCRMA Wiki
Revision as of 23:38, 28 October 2010 by Carrlane (Talk | contribs) (JACK)

Jump to: navigation, search


This workshop is intended as a practical introduction to network music performance. Both technical and musical topics will be discussed, including: history of the field, Internet technologies for low-latency audio streaming, transcontinental high-quality network performance, performance issues like delay and presence, installations and synthesis in the network, future and potential as a compositional medium, programming techniques and software survey. We will discuss how to fine-tune the network and software specifically for musical purposes. The correlation of physical and acoustical distance in this medium and what it implies for musical performance/composition will be analyzed. We expect participants to leave with an embodied sense of network performance and ready to apply it in their art. This workshop was designed for Mac and Linux users (unfortunately some applications are not available on Windows).

This workshop is intended for musicians, composers, programmers and technologists interested in performing with distant musicians, designing systems for the medium or composing with the network in mind. No music theory or technical skills background necessary, the workshop will put emphasis on the participants’ particular interests and goals.



6-7:00 Introduction
Why standard teleconferencing doesn’t cut it for music.
QoS = QoResults.
Assumed knowledge.
Additional terminology.
Connection: performance.
7-8:30: Quick start lab
Example streaming apps / hardware (jackTrip, jack).
Takes two to tango, or just play together… (bi-directional streaming).
Software installation (cross-platform).
Wired network setup (IP addresses and ports).
Soundcard setup.
Path qualification (minimum bandwidth, jitter).
Running sessions.
Tuning the connection (sampling rate, frames per packet, audio channels, redundancy).
Audio pickup and monitoring (proximity, talkback).
Avoiding feedback.
Connecting multi-site (connect with external node).
8:30-9:00: Troubleshooting
Standard network tools (ping, iperf, traceroute).
Specialized tools, yet to come (QoScope, SoundWIRE).
Using your ears.
Host computer problems vs. network problems.


6-7:00: Technical issues and discussion
Wired vs. wireless.
Bridging firewalls.
Institutional firewall policies.
Auxiliary applications.
Video (Skype, iChat, DVTS, AccessGrid).
Recording, real-time plugins (efx) via jack.
7-8:30: Musical issues: discussion, demos (live remote connections)
Every millisecond counts.
Sound before video.
Options for conducting.
Self-delay pros and cons (demo).
Effect of delay on ensemble tempo and choice of music.
Only as good as the mics and loudspeakers.
Audio for monitoring vs. audio for recording.
The sound of conjoined stages.
Ambisonic ambient space display (demo)
Experiences with different styles (classical, jazz, electronic).
Common use cases (jamming, ensemble rehearsal, concerts).
Examples of composing for this new “stage.”
Other applications (new media installations, distance music teaching).
8:30-9:00: Conclusion
Alternative streaming apps / hardware.
Current research topics and speculations on future functionality.
Improvjam with CCRMA



The JACK Audio Connection Kit is system for handling real-time, low latency audio (and MIDI). Originally developed for Linux, JACK ensures the lowest latency possible through your audio interface, provides an easy way of routing audio streams between applications and network nodes using a JACK plugin called Jacktrip.

OS X Install

Download and install the version for your flavor of OS X here: If you already have an older version of JACK OS X installed, better to run the uninstall script that comes with it and trash/archive the old version of JackPilot, etc. before installing.

With Jack OS X you get two main components: jackdmp - the audio server daemon, which is JACK. It is multi-threaded and multi-processor. JackPilot is a user interface for JACK (or jackdmp). Rather than talk to JACK through the command line, JackPilot allow you to set sampling rates, buffer sizes, and make connections between JACK clients graphically, a big plus.