libpd-go

Package libpd provides an idiomatic Go-lang wrapper for Pure Data embeddable audio synthesis library.

  • 所有者: xlab/libpd-go
  • 平台:
  • 許可證:
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

libpd-go GoDoc

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 - http://soundcloud.com/freezemode

Try this patch for example too: PerotinusRandom on pdpatchrepo.info (also a precompiled version with freeverb~ extra for OS X 64-bit located here: PerotinusRandom.zip). Awesome chorus!

Rebuilding the package

You will need to get the cgogen tool installed first.

$ git clone https://github.com/xlab/libpd-go && cd libpd-go
$ make clean
$ make

主要指標

概覽
名稱與所有者xlab/libpd-go
主編程語言Go
編程語言Makefile (語言數: 4)
平台
許可證
所有者活动
創建於2016-08-19 21:03:31
推送於2016-09-22 20:20:14
最后一次提交2016-09-22 23:20:04
發布數0
用户参与
星數19
關注者數3
派生數1
提交數21
已啟用問題?
問題數1
打開的問題數1
拉請求數0
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?