Bela
Real-time, ultra-low-latency audio and sensor processing system for BeagleBone Black
 All Classes Files Functions Variables Typedefs Macros Groups
multiplexer-spectrum/render.cpp

Display and sonify filtered signals from the multiplexer capelet

This sketch displays and sonifies the values of up to 64 analog inputs connected by the multiplexer capelet, after lowpass filtering. The capelet is a separate piece of hardware that attaches to the Bela cape.

This sketch demonstrates the use of frame-by-frame querying of the multiplexer capelet. When enabled, each analog frame represents a different multiplexer setting. This sketch checks each frame and assigns it to the correct filter.

As a demo, the amplitudes of each multiplexer input are used to control the amplitudes of a bank of harmonically-tuned oscillators. You can hear the effect by taking a wire connected to 5V or 3.3V, holding it in one hand while running your finger along the (otherwise unconnected) inputs to the multiplexer capelet. Alternatively, you can hook up each input to a separate control.

To run the sketch, the multiplexer capelet needs to be enabled using the IDE or with the -X command line option. The multiplexer capelet requires 8 analog inputs to work, and depending on the settings can use either 2, 4 or 8 multiplexer channels per analog input (for a total of 16, 32 or 64 inputs).

The sample rate for each multiplexed input will be 11.025kHz (16 inputs), 5.5kHz (32 inputs) or 2.75kHz (64 inputs).