commit 647bd399628071656e240a62c9b701b92a88e90a parent 0d0a147613b2b7a58f85bd6e5b7150f4d52f3cf6 Author: minerva-jupiter <ryouturn@gmail.com> Date: Fri, 5 Jun 2026 19:21:20 +0900 docs: update documentation for ReaLearn and ZIM SIG setup - Corrected mermaid diagram syntax. - Updated setup instructions to reflect usage of ReaLearn instead of basic OSC Learn. - Updated documentation regarding sensor data input (Quaternion instead of Gyro). - Refined workflow description to better align with the actual development environment. Diffstat:
| M | README.md | | | 42 | +++++++++++++++++------------------------- |
1 file changed, 17 insertions(+), 25 deletions(-)
diff --git a/README.md b/README.md @@ -17,16 +17,15 @@ cargo xtask bundle geedback_clap --release 本システムは、ネットワーク処理をDAW側(REAPER)に委ねることで、プラグイン内部のオーディオスレッドのリアルタイム性と安全性を最大化する設計を採用する。 -```marmaid - +```mermaid graph TD - A[スマートフォン ZIG SIM等] -->|Wi-Fi / UDP / OSCプロトコル| B[PC: REAPER OSC受信・マッピング機能] + A[スマートフォン ZIG SIM等] -->|Wi-Fi / UDP / OSCプロトコル| B[PC: REAPER OSC受信・ReaLearn(helgobox)] B -->|CLAP Parameter Automation / Modulation| C[nih-plug Geedback コア音響合成処理] ``` ### 動作のフロー 1. スマートフォンアプリから、PCの特定ポートへ6軸のOSCパケットをUDP伝送。 -2. REAPERがOSCを受信し、「OSC Learn」機能によって各アドレスを本プラグインのCLAPパラメータへ直接マッピング。 +2. REAPERがOSCを受信し、ReaLearnによってOSCの/ZIMSIG/iPad/accelや/quaternionを本プラグインのCLAPパラメータへ直接マッピング。 3. `nih-plug` はDAWから高解像度なパラメータ変更イベント(`ParamValueEvent`)としてセンサー値を受け取り、音響合成ロジックへ供給。 --- @@ -46,9 +45,9 @@ graph TD | `accel_x` | Accel X | 加速度 X軸 | 内部エンベロープ/モジュレーションソース | | `accel_y` | Accel Y | 加速度 Y軸 | 内部エンベロープ/モジュレーションソース | | `accel_z` | Accel Z | 加速度 Z軸 | 内部エンベロープ/モジュレーションソース | -| `gyro_x` | Gyro X | ジャイロ X軸 | 内部エンベロープ/モジュレーションソース | -| `gyro_y` | Gyro Y | ジャイロ Y軸 | 内部エンベロープ/モジュレーションソース | -| `gyro_z` | Gyro Z | ジャイロ Z軸 | 内部エンベロープ/モジュレーションソース | +| `gyro_x` | Quaternion X | 回転 X軸 | 内部エンベロープ/モジュレーションソース | +| `gyro_y` | Quaternion Y | 回転 Y軸 | 内部エンベロープ/モジュレーションソース | +| `gyro_z` | Quaternion Z | 回転 Z軸 | 内部エンベロープ/モジュレーションソース | --- @@ -60,24 +59,17 @@ graph TD ### 3.2 音響合成ブロック (DSP Block) `ProcessHandler::process` 内において、平滑化された6軸の値を基準にエンベロープの形状やオシレーターの変調度をリアルタイムに書き換え、Geedbackの信号処理ロジックへとルーティングする。ネットワークソケット等のブロッキング処理は一切記述しない。 ---- - -## 4. 開発・検証ステップ - -### Step 1: `nih-plug` プロジェクトの雛形作成 -`cargo nih-plug` もしくは標準の `cargo new --lib` からCLAPプラグインの骨組みを生成し、上記6つの `FloatParam` を定義する。 +## 4. 使い方 +開発者の環境がReaper+ZIM SIGなため、使い方の説明もその環境で行います。他の環境での動作は保証しません。 -### Step 2: スマホアプリ(送信側)の設定 -1. スマートフォンに「ZIG SIM」等のOSC送信アプリをインストール。 -2. PCと同一のWi-Fiネットワークに接続。 -3. 送信先IPにPCのローカルIPを指定、ポート番号を `8000`(任意)に設定。 -4. 送信データとして「Accel」および「Gyro」を有効化し、ストリーミングを開始。 +### 4.1 送信側の準備 +Reaperを動かしているPCと同一のネットワーク内にZIM SIGをインストールしたスマートフォンやiPadを接続します。 +Zim SIGを起動したら、センサータブでACCELとQUATERNIONを有効化し、設定タブからMessage FormatをOSCに設定し、IPアドレスをReaper側のものにして、Startタブを押してストリーミングを開始します。 -### Step 3: REAPER(受信側)の設定 -1. `Preferences -> Control/OSC/web` からOSCデバイスを追加。 -2. 待機ポート(Mode: Local port)を `8000` に設定し、REAPERでOSCパケットの受信を開始。 +### 4.2 受信側の準備 +Reaperのトラックにhelgoboxを追加し、inputのところをクリックし、新しいOSCを追加するところで、PCのIPアドレスとZIMSIGで設定したポート番号、適当なデバイス名(ここでは例としてiPad)を設定します。 -### Step 4: OSC Learn による紐付け -1. REAPER上に本プラグイン(Geedback)をインサートする。 -2. 目的のパラメータのParamメニューから「Learn」を選択。 -3. スマホを傾け、OSCアドレスが自動で検出・マッピングされることを確認する。 +### 4.3 マッピング +helgoboxのmappingで、add oneをクリックし、sourceでOSCを選択してから、アドレスのところに/ZIMSIG/iPad/accelなどと入力します。 +accelの値は3次元のfloatベクトルとして渡されるので、それが何番目の値かを下で選択できます。 +次に、Targetをダミーと設定されている部分をFX Parameterに変更し、どのトラックのどのFXのどのパラメーターに突っ込むかを設定します。