Bela and PI3


#1

well today is an exciting day if your into tiny computing power suitable for audio :smile:

2 things announced
a) Bela

basically provides low latency audio on a linux platform...
ok, your not getting the real time OS that axoloti has, or the patching etc etc, but its nice to have options.
Ive order one, as Ive been using a beaglebone black (BBB) for my controllers, they will form the brain of my system , with (4) Axoloti providing the sound and fx :smile:

b) Raspberry PI 3
big surprised (to me at least)
https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/
more power ... 1.2GHz 64-bit quad-core ARM Cortex-A53 CPU
again not instant on/RTOS of axoloti, but has the convenience of linux and quite some computing power.

both I think will be interesting to work alongside axoloti :smile:


Reflections on Pure Data
#2

Bela does not support Alsa applications and HDMI will be disabled...
And it looks like plugging a cable into the usb device port blocks access to the usb host port?
Bela makes a point of 0.5 milliseconds action-to-sound latency, great, Axoloti only does 1.2 milliseconds. That difference corresponds to 24 centimeters (~10 inch) distance of sound traveling through air. I think both are in safe territory for most demanding applications.
BBB has more computation power, but so far the Bela demos shown look well within reach of Axoloti too...
They claim everything open source, well, the Pd patch file converter called "Heavy" ain't, it's a cloud based service.

Of course I'm biased :wink:


#3

Yeah I was looking in to Heavy. While initially it seems interesting, their only opensource-bit is the issues-tracker on github.
No code anywhere unfortunately. (wasn't aware that it was cloud based)


#4

I view these things as complimentary ... each having its pros and cons, and uses.

Axoloti has the benefits of a proper RTOS, a dedicated device, instant startup , completely open source, great community :smile: .. and a patcher that supports all of this for all levels of user.

PI/Bela both have Linux and PD, sure you can argue the efficiency, but this is not always needed... and for example full usb support, and libusb is a big reason for me personally. ( I can't run my Push 2 on axoloti, even if I want too :smile: ) ... it cant replace axoloti, but its a great alternative to a laptop to complement it.

Heavy, yeah... not open source, but i use many commercial products, open source is not always a 'deal breaker' for me - perhaps heavy is useful, perhaps not... perhaps useful for some things and not others.
but Bela is NOT tied to PD/Heavy ... its got its own C interface, and even IDE, sure only useful if your a C/C++ developer, so OK for me.

Alsa, Bela true.. if you want his, get a PI ... but I think the point of Bela, is a direct low level interface, like axoloti an api close to the hardware, for efficiency. I don't think the difference to Axoloti 1.2 ms is massive, but the 20ms of the PI is significant.

Bela - usb port, yeah but supports a powered hub , and also ethernet... both very useful for me.
(i.e. my axolotl's will all be hosted by by it... and the usb hub will also power the BBB)

a great time for mobile/portable music making, many choices and cheap enough you can have a collection, and use the best of each of them.


#5

interesting updates to bela...
(more rewards/updates)

  • more audio inputs/outputs as an 'extra' - audio expander caplet, gives extra 4 channels for input and output
  • a multiplexing analog input with 64 channels :smile:

... and now not only C++ and PD (heavy) support , but they just added Faust


#6

They're using the SAR converter (rather than audio delta-sigma converters) of Bela to create extra audio in- and outputs, I'm not confident that approach results in hifi audio quality.


#7

yeah, they are being very open about that...
Im going to probably just grab one (and also the multiplexor) to play with, I don't expect much...
but perhaps its may be useable in some limited contexts.
(its 2 input/output are fine for normal use)


#8

My 2 bela boards and the input multiplexor have arrived...
initially impressions are pretty good. software/install is nice, but not as polished as axoloti was at 1.0.
out the box, Id say its pretty 'raw' compared to axoloti, unless you intend to use PD/Heavy*, which I don't.
very early days, most users only been getting their cape in last few weeks, but will be interesting to see how the community develops (which I believe is difficult, yet important)

(*there is also a python interface via libpyo, but I don't like Python much either)

anyone else dipped their toe into this pond?


#9

the following posts arose in a pure data, and started by discussing how to build an organelle alternative from a PI3 which inevitably leads to using bela as an alternative.

so this topic i'll now use for , comparisons of pi3/bela etc.


#10

I had planned to get an organelle but after wathcing some videos I realise that something even more powerful can be build for fraction of an Organelle's prize.

Anyone here build a Raspberry pi device, running PD?


#11

of course :slight_smile:
ive got pi3, connected to a 7" touch screen lcd which I'm going to be attaching a pisound hat too.
interestingly, today, ive been playing with the same oled display used by organelle, with both bela and the rpi3....

both are different approaches, but I can connect a keyboard to, and the oled...
rpi3 is more general purpose, bit less interfacing and higher latency (same as organelle)

bela lower latency , much lower than organelle... I'm thinking of using it with 6 audio I/O (via audio expander)... though, im thinking I will need to use a Arduino nano or something to interface the analog pots (since im using all the bela analog I/O for audio)


#12

but bela can only run certain patches, right? you have to compile them before use. expr~ for example seems still unavailable.

have you tried organelle? a friend of mine told me the latency was 1.3ms audio in to out with some effect patch in between, that sounds very good to me.


#13

compiling is not an issue, the issue is only if the object creates mode switches on the audio thread... something you don't want, as you loose the real time nature, so you potentially affect your latency.

1.3ms really? usually its around ~10ms, bela uses the BBB pru and rtos to ensure it can get to as little as 2 samples, ie. sub 1 ms... organelle is doesn't have either a rtos or the pru, so I cant see how it can be that low. how is your friend measuring it?

afaik, organelle has a similar latency to a PI with an adc.... id have to see how the adc is interfaced on organelle, probably SPI?


#14

he used a scope i believe. the organelle is far from a pi with a sound card. it uses xen or something similar to expose a core directly to the pd-process.

well, as long as certain objects i use frequently are not compilable then yes it is an issue. also from reading the pd-list it seems the compiler is not open source, so if discontinued it will not work anymore. i could be wrong on these things, i just remember it reading like this.


#15

but, i'm very intrigued by bela, can you shed some light on performance? how would you compare it to an axoloti performance wise? they are different i know.


#16

have you got some details .... id be interested to know...
(ive not heard/ seen evidence of any special pd interaction... its not in their GitHub repo, I'd assumed it was a standard alsa soundcard , since you don't have to use PD on organelle)

Ive been going thru the source code, and as far as I can tell its arch linux running on an arm 1ghz a9,512mb ram, single core (I was disappointed it wasn't dual) and uses an stm32f0 to interface to the oled/knobs etc but I cant find any information on the codec it uses.

I'm not saying its bad, even a PI that is setup well, can be a good audio processor (as I said, I've backed a pisound hat, ive also a HiFi berry ), but Ive not seen any claims its low latency platform (even from C&G ) - its designed as general purpose synth/fx box, which is cool enough....
the reason ive not bitten, is actually I don't like the keyboard, looks nice, but its clunky, and doesn't support velocity.

If you wish the difference is Axoloti and bela are designed to make instruments from (Organelle is already an instrument) so have to be low latency.

hard to compare...

bela is running linux (albeit real time, Xenomai) , whereas Axoloti has no overhead of a real OS

but the BBB has a 1ghz processor, so 5x more powerful. what I like about bela is it has 8 analog in and outs - and they are 5v tolerant (strictly 4v range).
if you need low latency (<1ms) and cpu grunt, bela is hard to beat, but its getting on 3 times the price (BBB + bela cape) of Axoloti , and more if you want the audio expander cape.

on the flip side, its lower level, so sure you can use SC/PD or C++ , but its not as easy as Axoloti to throw stuff together (hence my comments in this thread PD)

I guess i could run some benchmark tests, e.g. number of oscillators, filters, etc but wouldn't demonstrate much (as they wouldn't be exactly the same), but its also not that interesting (to me)

I look at these things differently... Axoloti and Bela (and the PI3 I have), i look at as projects, something I want to build an 'instruments' on top of, each provides potential to build something very unique/interesting/personal... (perhaps why i run cold on organelle, its a bit too finished in form/shape?), depending upon my ideas for the project, I'm might try to use Axoloti, or bela, or a pi3, whatever will do the job, I'm not really too worried which tech I use...

(which gets back on topic, using Pure Data vs Axoloti vs Supercollider vs C++... I'll use any, as long as i enjoy it :slight_smile: )


#17

Where did you get the pisound?

Form the crowd funding campaign? I was looking for one last night, with no luck. But found several others. But Pisound should work very easily with PD.

I think the screen is a little bit expensive. Can't I just connect a regular screen via the HDMI port on the Raspberry pi?


#18

Id like o add I think this is also about refections on Pure data so I think it is on topic still. Axoloti hardware can be modded. Pure data can be put on a PI that can be modded. This is also up for comparison.

But to be honest I think getting any USB audio interface might be an even better solution. And maybe you have one lying around all ready that can be used, so you dunt have to buy anything.

About the in/outs:

I found this yesterday that gives you 6 in and 8 out:


This pi/PD build is super awesome, "Organelle go home!":


#19

yeah, i will try to get in touch with him and ask about it. in the meantime i found evidence on the organelle forum that the default latency of pd is 4ms in organelle, but pd latency really does not mean anything...


#20

Yes, pisound from crowdfunding.
Yes any hdmi screen works,

My aim was for something small/portable driven from USB battery... hence screen, tiny qwerty keys, connected sound card, music controller wil probably be mainly my Eigenharp pico, but perhaps I'll get an xkey keyboard too?

That's the great thing about organelle, it's a very compact setup.

Anyway , all depends what you/your project dictates.