You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project provides Go bindings for Pure Data wrapper z_libpd.h — a Pure Data embeddable audio synthesis library.
All the binding code has automatically been generated with rules defined in core.yml. There is also a high-level
Go package libpd implemented over the core, it introduces threadsafe access to PD, some idiomatic helpers and allows to run multiple instances of PD.
Before start you must install libpd library. Don't worry, it installs fine and
that's the fastest way to begin using PD as an embedded DSP.
Usage
$ go get github.com/xlab/libpd-go/libpd
Demo
There is a minimal Pure Data player implemented in Go that can read patches, including extras, and play them via portaudio-go. It's about 100 lines of code. You will need to get PortAudio installed first.
$ brew install portaudio
$ go get github.com/xlab/libpd-go/cmd/pdplay
$ pdplay -h
Usage: pdplay [OPTIONS] PATCHDIR
A minimal PureData player implemented in Go.
Arguments:
PATCHDIR="" Path to the patch dir.
Options:
--name="main.pd" Name of the main file.
$ pdplay $GOPATH/src/github.com/xlab/libpd-go/assets/patch01
# an atmospheric meditation synthesis sound goes...# by freezemode - https://soundcloud.com/freezemode