This guide is deprecated - please check the more up to date guide on the wiki, or view the slides from the latest Bela workshop [[https://goo.gl/59hShW]]
Compiling PureData patches for BeagleRT¶
Getting everything up and running¶
Follow the following steps to get everything up and running on your Beaglebone Black:
1. Download the heavy-beaglert archive from https://code.soundsoftware.ac.uk/attachments/download/1543/heavy-beaglert_2015-07-17.zip
- Extract the archive (and remember where you extracted it to)
2. Make sure python is installed:
- If you are on windows, you will need a tool that allows you to use ssh and some other basic shell tools. The shell scripts in this project have been tested with mingw (http://mingw.org) . You will want to note that in order to paste code on the terminal you have to right click on the terminal's title bar and navigate the menu to edit->paste
- If not on Windows, type `which python` in a terminal window. If not installed, follow instructions here: https://wiki.python.org/moin/BeginnersGuide/Download
- Install the most up-to-date version of the requests python package (version 2.7.0). You can get it from http://docs.python-requests.org/en/latest/user/install/
or typing the following in a terminal window (make sure it is not currently installed):On Linux/MacOS:
curl -OL https://github.com/kennethreitz/requests/zipball/master && unzip master && cd kenneth* && sudo python setup.py install
On Windows:
curl -OL https://github.com/kennethreitz/requests/zipball/master && unzip master && cd kenneth* && python setup.py install
3. Create an account on enzienaudio.com:
- Click Login on the top right corner of the page
- Create a new account
- Create a new patch and call it bbb (N.B. compiling won't work if you use a different name)
4. Make sure the Beaglebone is plugged in to laptop and open a terminal window:
- Navigate to the sh folder inside the heavy_beaglert folder you created earlier
cd /path/to/beaglert_heavy/sh
- If on OSX/Linux, run
./setup-ssh.sh
- Or on Windows:
./setup-ssh-windows.sh
- when prompted for password enter letter 'a' (no quotation marks)
./send-project.sh
5. Compile your first project!
./upload-and-compile.sh -f ../pd/hello-world/
6. Create a new pd project
- Create a new folder inside the /pd directory
- The pd patch must exist in its own folder and be named _main.pd. You can use abstractions if you like.
Using analog ins/outs¶
- You can directly address the analog ins and outs from within PD (note that you have to compile and run the patch onto the BeagleBone to receive the data)
- Use the [adc~] and [dac~] objects to receive and send the data
- [adc~ 3] refers to Analog Input 0 (first two channels of [adc~] are audio inputs), likewise for [dac~]
- These inputs are sampled at audio sampling rate, so handle them as you would audio signals. (Use [snapshot~] if you want to turn them into control-rate values)
- See the example patches in the /pd folder for more information
Important notes¶
- Make sure you aren't using any unsupported objects. For list of objects go to https://enzienaudio.com/docs/pdobjects.html
- Pd patch must exist in its own folder and be named _main.pd. You can use abstractions if you like.
- See example pd patches for more information.
Have fun!