인터액티브 오디오용 임베디드 플랫폼 Bela Cape
(Bela Cape)
개요
- 본 제품은 인터액티브 오디오용 임베디드 플랫폼 Bela Cape입니다.
- 센서 및 사운드를 연결하여 아릅답게 인터액티브한 프로젝트를 만들기 위해 디자인된 익터액티브 오디오용 임베디드 플랫폼입니다.
- 비글본 블랙과 결합하여 사용할 수 있는 제품으로, 8 16 비트 아날로그 I/O, 16 디지털 I/O에 센서와 여러 장치를 연결하고 Bela의 브라우저 기반 IDE에서 프로그래밍을 할 수 있습니다.
특징
-
What’s included
The Bela Cape comes with 2 stereo audio adapter cables. The Bela Cape is an add-on for the BeagleBone Black (not included).
The hardware
Bela's hardware features make it ideal for connecting to sensors and devices, as well as connecting to audio sources and outputs:
- 2 audio input channels
- 2 audio output channels
- 16 digital I/O
- 8 analog inputs (16-bit)
- 8 analog outputs (16-bit)
- 2 speaker amplifiers
Bela is compatible with a range of products, including the Multiplexer and Audio Expander capelets, the PEPPER DIY synth module, the CTAG multichannel series, and all Trill sensors.
문서
- https://learn.bela.io/
- https://github.com/BelaPlatform/Bela/wiki/Hardware-explained
- Advanced Audio Effects with a BeagleBone Black and Bela Part 1: Getting Up and Running
-
The software
Plug your assembled Bela unit into your laptop and access our browser-based IDE, and start coding with C++, Pure Data, Supercollider, Csound and more using our dozens of on-board examples covering everything from synthesis to sensors.
The Bela IDE also features an in-browser oscilloscope for visualising, examining and understanding your sensor signals, and GUI functionality via p5.js so you can create on-screen controls for your Bela system, or control on-screen visuals using Bela's analog data or audio output.
-
What is Bela?
Bela is an embedded computing platform developed for high quality, ultra-low latency interactive audio. Bela provides stereo audio, analogue and digital I/O in a single self-contained package. It combines the processing power of the BeagleBone Black embedded computer with the timing precision and connectivity of a microcontroller.
Bela features an on-board, browser-based IDE, making it easy to get up and running without requiring any additional software. The end result: digital instruments and interactive objects that are faster to develop and more responsive to use.
A dedicated hardware and software environment provides hard real-time performance with 1ms latency while retaining the capabilities and power of a 1GHz embedded computer running Linux.
Use Bela's stereo audio input and output to create musical instruments and audio effects. Connect to the physical world with Bela's 8 analogue inputs, 8 analogue outputs and 16 digital I/O pins. You can also use ethernet, USB (including MIDI), SD card storage and other features of the BeagleBone Black.
Bela's compact form factor means that it easily integrates into portable interactive objects. It's a self-contained processing platform that eliminates the need for a laptop. It's also easily battery powered so completely mobile.
Get started in minutes - plug in Bela, launch the on-board IDE, and start coding and compiling in C++. Alternatively you can run patches developed for Bela using the graphical computer music language Pure Data, and compiled with the Heavy audio tools.
Who is Bela for?
Bela is for anyone who wishes to develop powerful and responsive embedded interactive audio applications. It is particularly suited to electronic musicians and instrument designers, but is also useful for artists, makers and other embedded hardware programmers who want to take advantage of its ultra-low latency audio and sensor processing capabilities.
Performance
Bela is designed with audio in mind. It uses the BeagleBone Black single-board computer which features a 1GHz ARM Cortex-A8 processor and 512MB of RAM. It runs a custom Linux audio environment that gives you buffer sizes as small as 2 samples, producing latency as low as 1 millisecond from audio in to audio out, or even down to 100 microseconds from analogue in to analogue out. What's more, every analog and digital pin is automatically sampled at audio rate, providing precise, jitter-free alignment between audio and sensors.
What this means for you is that your digital musical instruments and interactive hardware just got a lot more responsive and expressive: Bela's speed and timing precision allow for natural, intuitive and immediate gestural control. Digital instrument design has never been this elegant.
Using Bela
Connect Bela to your laptop via USB, bring up the dedicated on-board IDE in your browser and you can start coding right away in C++. Custom developer toolchains are also supported through a set of build scripts. Bela supports a lightweight and simple Arduino-like API that allows you to focus on the core functionality of your code. The IDE also includes a browser-based oscilloscope to visualise and debug your sensor and audio data in real time.
Alternatively, build patches for Bela in the powerful computer music programming environment Pure Data. We use Heavy Audio Tools from Enzien Audio to convert your Pd patch into optimised C code which is compiled to run natively on Bela.
When you are done developing you can unplug Bela from your laptop, power it with a battery, and embed it in your project, be it a musical instrument, interactive installation or kinetic sculpture. No laptop required.
The Hardware
- Audio: 16-bit stereo audio I/O at 44.1kHz
- Audio power output: 2x 1W 8ohm speaker amplifiers (available when powered from DC jack)
- Analogue In: 8x 16-bit analogue inputs at 22.05kHz
- Analogue Out: 8x 16-bit analogue outputs at 22.05kHz
- Digital channels: 16x digital GPIO at 44.1kHz or 88.2kHz
- Analogue I/O is also software configurable to give 4 channels at 44.1kHz or 2 channels at 88.1kHz
The Software
Bela runs a custom audio processing environment based on the Xenomai real-time Linux extensions. Your audio code runs in hard real-time, bypassing the entire operating system to go straight to the hardware. We have written a custom audio driver using the Programmable Realtime Unit (PRU), a microcontroller on the same chip as the BeagleBone Black CPU. This driver is capable of buffer sizes as small as 2 audio samples for very low latency, and its performance is not affected by other system load. No other embedded Linux platform can match this performance.
The Bela C++ API gives you a clean and lightweight way to write audio code. Fill in three functions: setup() runs at the beginning; render() runs once for each new audio buffer; cleanup() runs once at the end. All the analogue and digital pins are sampled automatically at audio rate, so sensor signals can be treated the same way as audio in your code. You can write your code using the browser-based IDE, or alternatively a set of build scripts let you use an editor of your choice and then compile the code on the board.
Comparison to other tools
Bela combines the low-latency real-time performance of microcontrollers with the power and connectivity of embedded Linux computers. Through Bela's dedicated design we can achieve audio latency lower than even a high-end laptop.
Demos
Liam demonstrates Bela's IDE, with in-browser oscilloscope: Tank Wars, a game made with Bela and played on an oscilloscope: Robbie and Chris from the Augmented Instruments Lab turned poster tubes into light sabers using Bela and Pd, and explain how they did it: