bela.pd icon indicating copy to clipboard operation
bela.pd copied to clipboard

Library for working with PureData on the Bela Platform

Bela.pd

Library for working with PureData on the Bela Platform, enabling bidirectional communication between the same Pd patch running on Bela and a local machine. Half-live coding?

Objects

  • bela.comms: send and receive data to and from Bela
  • bela.send: send data to Bela
  • bela.receive: receive data from Bela
  • bela.name: name an item of data to be sent to Bela
  • bela.scope: easy access to the Bela oscilloscope

Example

  • sliders (video). Send and receive data to and from Bela, with the same patch running on Bela and local machine.

sliders

Installation

  • Download or clone this repository
  • Create a Bela Pure Data project called pd-externals, see this Wiki section for reference
  • Copy the externals in ./bela.pd/pd-externals to pd-externals to Bela, either by drag and drop via the IDE, or via the command-line:
scp /path/to/bela.pd/pd-externals/* [email protected]:/root/Bela/projects/pd-externals
  • Add /path/to/bela.pd/pd-externals to Pure Data's search path on your local machine

Usage

  • Add the ./bela.pd/render.cpp to your Pure Data projects
  • Run your project's _main.pd patch on Bela and your local machine at the same time
  • See the example in ./bela.pd/examples/sliders for more

Todo/ideas

  • Make comms work with non-static IP
  • Saving and managing state and parameters
  • A data logger on Bela
  • Integration with other libraries like ml.lib
  • Add more examples
  • Rebuild comms using send and receive? Or, have comms sit in the background and a bela.s and bela.r per item of data.
  • Add CV-MIDI converters?
  • bela.scope~ compatibility with expander capelets