Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


is a CRNMME (Collaborative Realtime Networked Music Making Environment) written in Pure Data. It allows many users to have a real time jam sessions with each other, connected over the internet. Users might contribute their own netpdized patches a.k.a. instruments or use pre-existing ones. The set of instruments and the state of each one is synchronized between clients in order to provide identical experience for every connected user.

This repository contains only the netpd framework. The instruments are hosted separately on:

You may want to clone everything at once by doing:

git clone --recursive

supported platforms

netpd runs on any platform Pure Data runs on. This includes Linux, macOS, Windows.

For macOS and Windows there are batteries-included standalone apps available that should get you going quickly.


Before runnning netpd you need to install Pure Data (Pd) (>= 0.52.0) from here. You also need to install a few additional libraries. They can be installed from Pd through the menu Help -> Find externals. The following libraries need to be searched and installed:

  • iemlib
  • iemnet
  • osc
  • slip

NOTE: pd-l2ork is not supported (and support is not planned) because it has some incompatibilities with Pure Data.


  • Open netpd/main.pd with Pd.
    chat automatically connects to the server and you can now chat with other users currently online.
    Click list to get a list all connnected users.

  • Click the unpatch button in chat to launch the unpatch instrument manager. If there is already a session going on, the instruments used in the ongoing session are automatically loaded (they are first downloaded from other users, if necessary).

  • Load instruments into the current session by clicking on any of the instrument names in the upper scroll list.
    Alternatively, just type the name of the instrument (without the extension .pd) into the input box and hit enter.

  • Show an instrument's GUI by clicking on its name in unpatch's lower section. You can now manipulate the instrument's parameters. Any changes are instantaneously synchronized between clients. Anyone can manipulate anything, so please be cautious and considerate when joining an ongoing session.

If you're lucky, someone is online and might help you get started. This is the easiest and fastest way to get accustomed to all the instruments and how they interact with each other. Of course, you can explore the instruments on your own as well. Maybe start with master and sine.


For online jams, netpd needs to connect to a netpd-server. A public netpd-server is running at on port 3025. This is the default server in netpd's configuration. The netpd-server software is available here:


2008-2022, Roman Haefeli
Published under the GNU Public License (GPL-2)