Personal tools
You are here: Home development Google Summer of Code Undead

Possible Mentors

  • Derek Holzer

  • Roman Haefeli


Unlike other patch-programming languages for sound such as Max/MSP or Reaktor, Pd's user-contributed library of performance-ready patches is quite small. While this generally reflects the way Pd is used by it's community (highly specialized tasks vs generalized performance tools), it does leave newcomers to Pd wondering where they can start. The "Undead" project proposes to write a live instrument for the looping of soundfiles or buffers captured by the soundcard, with the option of timestretching or pitch shifting them, possibly with marked loop points, to get them in sync with other loops. Undead should include a presets and soundfile management system, a Graphical User Interface which is intuitive enough for new users to perform with, and Open Sound Control and MIDI implementation to help this instrument be used in a "screen-free" performance environment. This instrument should be ready-to-use and kept current with the latest Pd-Extended so that new users won't have any configuration issues getting it to run.

Resources to start:

  • Particlechamber a 32-voice asynchronous granular synthesizer for real-time transformation of a soundfile. Could be used as basis of timestretch/pitchshift operations.

  • Loopool 63 a previous project to build a loop-based performance instrument.

  • RRADical an overview of Frank Barknecht's state-saving system for Pd

Required Skills

  • Solid knowledge of Pure Data syntax

  • Solid knowledge of table objects and how to use them for audio

  • Working familiarity with granular synthesis principles for independent manipulation of soundfile duration and pitch

  • Basic ideas of GUI construction and interface design

  • Understanding of MIDI + Open Sound Control


Basic implementation of granular soundfile manipulation should be fairly simple for any student who understands the required skills listed above. Similarly, a soundfile-management and state-saving system to save and reload stored soundfiles and presets at startup should be fairly simple for an experienced Pd programmer. More difficult is to package these granular abstractions into a streamlined, stable and USABLE performance tool.

Possible Breakdown of Steps

  • Development of granular looping abstractions

  • Soundfile management + state-saving functions

  • Open Sound Control + MIDI connections

  • Implementation of abstractions in performance interface

  • Testing "in the wild" (new Pd users)

  • Using testing feedback to improve instrument

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser