On Bela, you can use C++, PureData, Max's rnbo~, Supercollider, Csound or Faust. Audio devices are not exposed through ALSA, but through a custom low-latency driver. The good thing is that you don't need to know anything about such driver or the fact that audio ADCs and DACs are connected via I2S/TDM and the analog inputs via SPI.
Getting started guide for each program is here. You'll see how, for most languages, you don't need many changes with respect to their normal operation (for Instance, in Pd you have inputs (audio and sensors) as [adc~] and audio outputs as [dac~]).
I haven't used Cardinal with it, but as it runs as an LV2 plugin, it should hopefully run with little troubles via our lv2 host: https://github.com/giuliomoro/lv2host . I'll see if I can give it a try in the next few days.
Non-audio DACs tend to be pretty expensive and their specs underused. The AD5668 that we used in the first Bela cape is a $20 part with 500ksps and 8x 16-bit channels over SPI, which we sampled at audio rate via our custom driver. People would rarely care about its capabilities and just use it to drive LEDs or use it for audio output, which is just not great at. We are now using an audio DAC (ES9080Q) for which we expose the DC-coupled output. The noise performance is much better (as it's sigma-delta) and it's best suited for many of the applications our users have in mind. The DC accuracy is worse out of the box, but as we also provide 8 SAR ADC channels (the "analog inputs", which use an ADS8166), an automated calibration routine can be used to accurately tune each channel, so overall it's an excellent choice for CV outputs.
can it handle audio-rate modulation?
Audio and digital I/O run at audio rate. Analog inputs run at 0.25, 0.5, 1.0 or 2.0 x audio rate, depending on number of channels selected.
rthorntn I've googled around a bit, I see a Bela GSoC proposal for an ES9080Q (TDM) ALSA driver but no info on whether the driver was completed.
Funny that of the plethora of information available out there you'd stumble across a work-in-progress to provide an ALSA driver for the GemMulti as an alternative to our low-latency core. Still working on that, hopefully it will be done by the time the boards ship, but it's not required.