Bela購入。

音楽スループットがかなり早いデバイスを入手した。
IOプラットフォーム、という取り扱いみたいです。

Bela: The platform for beautiful interaction

特徴

  • BeagleBone用の拡張規格を用いて、オーディオのスループットを早くしている
  • DSP処理等の開発環境はWebブラウザからすべてアクセス可能
  • 外部IOも付属しているため、ボタンやダイヤルの追加が可能(どちらかというとBeagleBoneの特徴か)

感想

せっかく購入したので、少しお試しで弄ってみた。

  • オーディオのレンダリングはバッファ(ブロック)単位での処理になる
    つまり普通のPCと同様で、それを踏まえた処理が必要になる。
  • 開発はWebブラウザからすべて可能(プロジェクトファイルも管理可能)なので、開発環境を揃えるので困ることはない
  • 開発に利用する関数も専用のライブラリでラップされているため、処理の作り込みに注力できる
  • お試しで作成したランダムなサイン波を再生するプログラムでCPU使用率が15%。CPUの性能はそれほど高くない
    ただIOの速さが特徴なので楽器として作るのにそれほど気にすることもないかなと考える。
  • リアルタイムOSが動いてるらしく、スケジューリングも結構正確
  • ソフト側は開発環境でかなり作り込めるため、IOデバイスは別に考えればよく、ソフトとハードの切り分けがきれいに可能
  • WebベースのGUI環境も作成可能、こちらを利用した際もそれほどの処理の遅れがない
    なので、まずGUIはWebのほうで作って、あとで物理パーツに差し替えることも可能なんじゃないかと

今後の予定

  • 一度ボタン(まずはタクトスイッチ)とダイヤルを使ってみる
  • 小型ディスプレイを接続してみる
  • キースイッチ(PCキーボード用)を接続してみる
  • 試しにエフェクターを作ってみる
  • 試しにシンセサイザーを作ってみる

今後のためにやること

  • 回路図のお勉強
  • タクトスイッチかダイヤルをブレットボードに接続してみる
  • キー入力の接続をしてみる
  • 基板の発注・・・かな

参考資料

正直公式ページが一番の資料になる、他に参考資料が存在しないパターンって感じ。
(逆にForumや公式に情報が集まっているとも言うけど)

チュートリアル
Bela Tutorials – The Bela Knowledge Base

オンラインコース
BelaPlatform/bela-online-course: Assets and slides for the free YouTube course, C++ Real-time Audio Programming with Bela, released in Spring 2020. (github.com)