for news and upcoming events go to schedule
stay informed about netpd and subscribe to the newsletter
what is netpd?
netpd is a project based on the software puredata. its intention is to create an environment for electronic musicians and give them the opportunity to jam with each other in realtime, connected over the internet or a LAN.
netpd does not provide any software which produces sound, but an environment
to share client created patches and broadcast control data. it is important
to the idea of netpd not to prescribe a way how to make music. for this reason,
the users of netpd are asked to build their own patches and to play them in netpd,
which hopefully leads to a big variety of styles of creating music (or noise).
how does netpd work?
the topology of the netpd-system is basically a server with an arbitrary numbers of clients connected. the clients are represented by the netpd-users. the server is relatively stupid, since it just forwards the messages it receives. through this network, clients can share data, that is: patches and controller/state data.
the main principle behind this framework is to make sure, that every user hears/sees the same (or gets the same output in whatsoever format/medium) at any time, independently from the moment of joining the network.
translated into terms of pd, this means:
- every connected client should have the same patches open at any time (patch synchronisation)
- all loaded patches should have the same state on each client at any time (state synchronisation)
these principles are obtained by different parts of netpd:
chat
_chat.pd is somehow the root-patch of netpd. it establishes the connection to the server and it allows the user to talk with other connected clients. from chat, other basic netpd-patches can be launched, such as creator and logview.
creator
_creator.pd is used to load custom made [netpd-patches]? (e.g synthesizers, sequencers, gem-patches etc.), so that these can be played within netpd. whenever a client loads a patch, this patch gets loaded on every connected client as well. if this patch is not existent on a remote host, it gets uploaded. creator also provides a versioning system in order to make sure, that every connected client has the most recent version of a certain patch. further has creator the capability to resolve dependencies of abstractions used by [netpd-patches]? - in short: creator makes sure, that every client has the same set of patches open at anytime (patch synchronisation).
netpd-abstractions
netpd comes with a set of abstractions. the goal of these abstractions is to make it as easy as possible to turn an existing patch into a netpd-patch. basically these abstractions provide state synchronisation for certain sets of data, such as gui-objects, floats, lists, tables etc. - in short: the netpd-abstractions make sure, that a certain netpd-patch has the same state on each client at any time (state synchronization).
more about netpd
- download netpd
- installation and starting help on howto
- visit the community area for usefull notes and tips
- see/read/listen third party webresources about netpd