フレームワーク
MetaBow Toolkit Frameworkは、Maxの初心者から上級者まで、Metabowをクリエイティブなプロジェクトに取り入れることができるように設計されています。 ツールキットで提供されるすべてのユーティリティは、(グラフィカルユーザーインターフェースを持つ)「bpatcher」として、またはプレーンオブジェクトとして使用できる抽象化されたものとして提示されています。 触って操作したい、スライダーやダイヤル、パネルを動かして設定したい、という方に最適なインターフェイスです。 プレーンなオブジェクトを使いこなす上級者にとっては、GUIは不要かもしれません。 とはいえ、抽象化はまったく同じように機能するので、これらのツールで快適に作業するために必要なインターフェースの種類を決めるのは、あなた次第です。
以下のように、加速度センサーのデータを処理するための同じ抽象関数「mb.accel」は、両方のフォーマットで実証されています。 どちらも全く同じ動作をしますが、GUIが隠されているため、多くのインスタンスを持っている場合、わずかなパフォーマンス向上が期待できます。

1.MUBU
MetaBowツールキットの一部は、IRCAMのMuBuパッケージの上に構築されています。 最新版は、Maxのパッケージマネージャまたは下記のリンクからインストールできます。 特に、ジェスチャー認識を利用するパッケージの構成要素に関連します。
https://forum.ircam.fr/projects/detail/mubu/
2.2.
MetaBowツールキットの一部は、IRCAMのAntescofoパッケージの上に構築されています。 以下のリンクからインストールすることができます。
https://github.com/nadirB/atom-antescofo
http://forumnet.ircam.fr/fr/produit/antescofo/

3.メッセージ
すべての抽象化は、メッセージによってプログラム的に設定することができます。 各抽象は、その状態を辞書として内部に保存し、後で読み込むために保存したり、適切と思われる目的のために抽出したりすることができます。 メッセージは、抽象的なものをシンプルかつ明確にコントロールします。 どのインレットがどのコントロールに属しているかを覚える必要はありません。

4.接続方法
Metabow Toolkitの抽象化された機能は、互いに接続できるように設計されています。 この規約は、センサー処理(抽出、サニタイズ、加工)のための実用的で一般的な戦略に従いつつ、データに対してやりたいことを何でもできる柔軟性を持たせています。 最も重要なことは、すべての情報は先頭に識別子を持つメッセージとして伝達されるということである。 つまり、「ルート」オブジェクトは、あなたの新しい親友なのです。

抽出器
MetaBowからのデータ受信を支援するために、「エクストラクタ」抽象化を導入しました。 これは、デバイスに接続し、接続の整合性の変化をリアルタイムで観察することを支援するものです。 このツールキットはMetaBoardで使用するように設計されていますが、他の抽出器(例えばBitalinoのr-IoTや木村のMugic)を提供し、異なるインターフェースを統合することができます。

センサーコントロール
センサーを扱う上で優先されるのは、コントローラーから受け取るデータを管理しやすくすることです。 これには、データを平滑化したり、ある数値範囲から別の数値範囲にスケーリングしたりすることが含まれます。 このように、「センサーコントロール」抽象化機能は、データを他のプロセスに送り、そこで分析したり、直接コントロールにマッピングしたりする前に、データを操作することを支援します。
1.加速度センサ
選択した抽出器から加速度計データを分離します。

2.磁力計
選択した抽出器から磁力計データを分離する。

3.ジャイロスコープ
選択した抽出器からジャイロスコープデータを分離する。

4.汎用的なマッピングとスケーリング
スケーリングは、入力の数値範囲を取得して出力の数値範囲にマッピングするのに便利です。 この抽象概念は、プログラムによってリアルタイムに変更することができ、また、再生モードに切り替えるまで、入力ストリームで受け取った最小値と最大値のメモリを保持する学習モードを備えています。 事前に設定する範囲がわからない場合に有効です。

加工方法
きれいで実用的なセンサーデータがあれば、それを分析する機会があります。 MetaBow Processingファミリーの抽象化機能は、このデータを使ってジェスチャー認識やジェスチャーマッピングなどのタスクを実行する役割を担っています。
1.連続的なジェスチャー認識
連続ジェスチャー認識は、どのジェスチャーが行われているのか、また、現在どの位置にいるのかを識別したい場合に有効です。 2つの異なる図形を描くことを想像してください。 そのために、手は時間をかけて2つのユニークなジェスチャーを行っています。 連続ジェスチャー認識は、どの図形を描いているかだけでなく、その図形のどこを描いているかを認識することができます。

2.静的ジェスチャー認識
静的ジェスチャー認識は、現在どのような「状態」であるかを識別したい場合に有効です。 状態」とは、手・弓・腕の位置、またはより一般的な動作やジェスチャーを指す場合があります。 ジェスチャーの「どこ」を気にしないのであれば、時には連続ジェスチャー認識よりも正確で堅牢なジェスチャーを実現することができます。

キャリブレーション
センサーやオーディオレベルは、場所やハードウェアなど、さまざまな要因で初期値が異なります。 キャリブレーションは、異なるシナリオでの作業の再現性を確保するために必要なステップです。 そのため、ご希望のセットアップに応じて、センサー、入力、オブジェクトをキャリブレーションする必要があります。
1. Antescofo
キャリブレーションメッセージの最初の引数はキャリブレーションレベルです(ここでは水色のフロナムおよびマルチスライダーで表示)。 音楽イベントを受信したときは0.75(>0.75)を超え、受信しないときは0.5(<0.5)を下回る必要があります(たとえば、背景ノイズを拾うだけです)。 キャリブレーションレベルが理想的でない場合、オーディオ入力レベルの調整が必要です。 一般に、調整はオーディオ・チェーンの先頭にできるだけ近いところで行うのが望ましいとされています。
キャリブレーションメッセージの第2引数はピッチキャリブレーションです(ここでは黄色のフローナムとスライダーで表示)。 アンテスコフォ~と楽器のチューニングを合わせることも重要です。 チューニングが正しければ、ピッチキャリブレーションは0.5に近づくはずです。 そうでない場合は、楽器かアンテスコフォ〜のどちらかをさらにチューニングする必要があります。
また、異なる基準ピッチでピッチキャリブレーションを行うことも可能です。antescofo‾に送るメッセージの第2引数として、対応するMIDIノートを指定するだけでよいのです。
