OtoMotion マニュアル

版 1.4(2026-10-01)/対象: OtoMotion 1.x、Ross XPression 12.5

1. OtoMotion とは

正式名は DBT OtoMotion です。

ライン入力の音声を放送規格(ITU-R BS.1770-4 / EBU R128 / ARIB TR-B32)どおりにラウドネス計測し、その数値を XPression の DataLinq へ毎秒最大 60 回送るアプリです。XPression 側で数値やバーをデザインすれば、会場ビジョンにラウドメーターを出せます。同時に、計測 PC のブラウザにも監視画面が出るので、ミキサー担当はそこで値を見られます。

オーディオ IFライン入力 OtoMotion系統ごとに計測(1〜8)M / S / I / LRA / True Peakバーの値(0〜1)を計算 DataLinq ServerTCP 7327 / JSON XPression会場ビジョン 監視画面ブラウザ(同じ PC) 60 回/秒
図 1: 信号の流れ。OtoMotion は XPression と同じ PC でも、別の PC でも動きます。

できること

2. 用語

用語意味使いどころ
Momentary(M)直近 0.4 秒の平均ラウドネス「今」の音量。バーの動きに使う
Short-term(S)直近 3 秒の平均ラウドネス少し落ち着いた値。補正の基準もこれ
Integrated(I)計測を開始してからの平均。無音やごく小さい区間は自動で除外(ゲート)番組全体が基準に収まっているかを見る
LRA(Loudness Range)音量の幅。静かな場面と大きい場面の差(LU)ダイナミクスの目安。大きいほど差が激しい
True Peak(TP)サンプルの間も含めた本当のピーク(dBTP)クリップの警告。上限(初期値 −1 dBTP)を超えると「TP 超過」
LKFS / LUFSラウドネスの単位。同じもの(LKFS は ITU / ARIB、LUFS は EBU の呼び方)基準値は日本の放送で −24 LKFS
LUラウドネスの差の単位。1 LU = 1 dB「基準より +2.0 LU」など
dBFSデジタルのフルスケールを 0 とした音量ピークバーの目盛り
基準値目標のラウドネス。初期値 −24 LKFS(ARIB TR-B32)。EBU は −23メーターの M / S のバーに引いた白い縦線。差(diff)の基準
系統ステレオの入力ペア 1 組。「メイン」「会場 PA」のように名前を付けて並べるオーディオ IF の何チャンネル目を使うかを系統ごとに決める
DataLinqXPression に外部データを流し込む仕組み。DataLinq Server が受け取り、XPression がひも付けるOtoMotion は JSON を TCP で送る

3. インストール

Windows

  1. 展開する前に、ダウンロードした zip を右クリック → プロパティ → 下の「セキュリティ」の 許可する にチェック → OK。インターネットから入れたファイルに出る Windows の確認が、まとめて出なくなります(先に展開してしまったときは、展開したフォルダを消し、zip でこの手順をしてから展開し直します)
  2. ダウンロードした zip を右クリック → すべて展開 し、中の OtoMotion フォルダ(OtoMotion.exe と OtoMotion を起動する.bat が入っています)を、PC の好きな場所に置きます(例: C:\OtoMotion)。zip のままでは起動できません
  3. OtoMotion を起動する.bat をダブルクリック。10 秒ほどで Edge のアプリ風の窓に監視画面が開きます
  4. 最初の起動ではライセンスの画面が出ます。メールに添付してお送りした license.json をデスクトップかダウンロードに保存しておくと一覧に出るので、読み込む を押します(17. ライセンス)
  5. 最初の手順(許可する)をしていないと、Windows の確認が出ます。「発行元を確認できませんでした」は 実行、「Windows によって PC が保護されました」は 詳細情報 → 実行 で進めます
  6. 設定・ログ・プリセットは %APPDATA%\OtoMotion(C:\Users\ユーザー名\AppData\Roaming\OtoMotion)に保存されます。配布フォルダを移動しても設定は残ります
Python などの追加インストールは不要です。Edge が無い PC では既定のブラウザで開きます。

Mac

  1. お送りした zip を開いて出てくる OtoMotion.app を、「アプリケーション」など好きな場所に置きます(Apple Silicon 用。Intel Mac では動きません。macOS 14 以上)
  2. ダブルクリックで起動。Chrome があればアプリ風の窓、無ければ既定のブラウザで監視画面が開きます
  3. 最初の起動では、デスクトップ・ダウンロード・USB などのリムーバブルボリューム・マイクへのアクセスを尋ねる画面が続けて何回か出ます。すべて「OK」「許可」を押してください。ここで「許可しない」を押すと、デスクトップやダウンロードに保存したライセンスが候補に出ない、または音が拾えなくなります(気付いたら システム設定 › プライバシーとセキュリティ › ファイルとフォルダ/マイク で OtoMotion をオンにし、OtoMotion を再起動してください)
  4. 最初の起動ではライセンスの画面が出ます。メールに添付してお送りした license.json をデスクトップかダウンロードに保存しておくと一覧に出るので、読み込む を押します(17. ライセンス)
  5. デバイスを選んで 設定を反映して保存 を押したとき(設定済みなら起動したとき)に「マイクへのアクセス」を求められるので、許可 してください。初めて起動した直後(デバイスをまだ選んでいない)は聞かれません。拒否すると無音(−∞)のままになり、エラーは出ません。あとから変えるときは システム設定 → プライバシーとセキュリティ → マイク。macOS 27 では「"OtoMotion"にマイクへのアクセスを許可しますか?」と出ます。新しい版に入れ替えて初めて起動したときなどは、この問いに答えるまで監視画面が開きません(開かないときは、ほかの窓の後ろに隠れていないか見てください)
  6. ダウンロードや AirDrop で受け取った .app は、初回に「開けません」と出ることがあります。そのときは システム設定 → プライバシーとセキュリティ → 「このまま開く」。またはターミナルで xattr -dr com.apple.quarantine OtoMotion.app
  7. 設定・ログ・プリセットは ~/Library/Application Support/OtoMotion

確認済みの環境: MacBook Pro(Apple M1、メモリ 8 GB)・macOS 26.5.2(2026-09-27)。監視画面の Chrome は OtoMotion 専用のプロファイル(~/Library/Application Support/OtoMotion/browser)で開くので、普段の Chrome の設定や拡張機能には触れません。

Mac では、使っている入力デバイスが抜けると macOS が内蔵マイクに切り替えますが、OtoMotion は内蔵マイクの音を使わず、赤帯で知らせて取り込みを止めます(挿し直すと自動で戻ります)。
Mac では Dock にアイコンが出ません(裏で動きます)。終了は監視画面のいちばん上、タブの並び(ヘルプの右)の「終了」ボタンです。画面を閉じてしまったら Chrome で http://127.0.0.1:8830/ を開き直してください(ブックマーク推奨)。

会場の音のもらい方(おすすめ)

スタジアムやアリーナでは、OtoMotion 用に専用の小さなオーディオインターフェイスを用意して、音響チームから2 チャンネル(会場のメインのミックス、または客席マイクのミックス)をもらう形をおすすめします。

音のもらい方使うものOtoMotion で
卓のライン出力(アナログ・AES など)2 入力以上の USB オーディオインターフェイスそのまま使えます
Dante のネットワークDante の USB アダプター(例: Audinate の Dante AVIO USB)Windows からはふつうの USB の機材に見えるので、そのまま使えます
Dante Virtual Soundcard・多チャンネルのカードドライバーの設定次第Windows の「サウンド › 入力」に出れば使えます。ASIO のモードだけのときは使えません

専用にする理由: ほかのソフト(XPression、配信ソフトなど)と機材を取り合いません。音響チームにも「OtoMotion 用に 2 チャンネルください」と頼みやすく、本番中にほかの機材の設定を変えても影響を受けません。

頼み方の例: 「会場のメインのミックス(または客席マイクのミックス)を、ラインで 2 チャンネルください。本番中にレベルが変わらない送り(マトリクスや AUX の固定の送り)だと助かります」。レベルが本番中に動くと、盛り上がり度の数字もそれにつられて動きます。

Windows の OtoMotion は、Windows の標準の音声(WASAPI の共有モード)で取り込みます。ASIO だけのドライバーの機材は一覧に出ません。見分け方: Windows の設定 › システム › サウンド › 入力 に出ている機材なら使えます。Mac は Core Audio で取り込むので、Mac が認識している入力はすべて出ます。

4. 画面の見方

監視画面は、ヘッダーの 4 つのタブで切り替えます。TOP(起動したときに開く画面)、ライブ(本番中に見る画面)、設定(6 章)、プリセット(8 章)です。起動すると(新しいウィンドウで開くと)TOP が開きます。同じウィンドウで再読み込みしたときは、そのとき開いていたタブのままです。タブを切り替えても計測・送信は止まらず、設定タブで入力中の値も消えません。

4.1 TOP

TOP
図 2: TOP。上にロゴと見出し、中ほどに用途のカード 3 枚、下に今の状態の帯(入力・XPression・系統・プリセット)

起動すると最初に出る画面です。背景の波と下端の帯、カードの中の図は、入ってきている音(系統 1 の音量や BPM)に合わせて動きます。

本番中はライブタブを開いておきます(TOP を開いている間だけ背景を描くので、ライブタブでは余計な負荷がかかりません)。

ライブタブの全体
図 3: ライブタブ(系統 2 つ、計測中)。左に系統のカード、右にレール(INTEGRATED 計測・BPM・会場プリセット)

4.2 ヘッダー

ヘッダー
図 4: ヘッダー。左からロゴ、タブ 4 つ、ヘルプ、状態 3 つ、経過時間、EN
表示意味
TOP / ライブ / 設定 / プリセットタブ。選んでいるタブが明るくなります。設定タブに未保存の変更があると「設定」の右に黄色い点が付きます(6 章)
ヘルプこのマニュアルを画面内のパネルで開く(Esc で閉じる)
入力: (デバイス名) 48kHzオーディオ IF が開けていて、音声が届いている状態。緑
入力: テスト信号(正弦波 997 Hz)デバイスの代わりにテスト信号を流している。黄色。ヘッダーの下にも黄色の帯が出ます(6.2。本番前に必ずオフ)
入力: 無信号デバイスが開けない、または 0.5 秒以上音声が来ない。赤。2 秒ごとに自動で開き直します
入力: (デバイス名)(見つかりません)選んだデバイスが PC の一覧から消えた(抜けた)。赤。取り込みを止めて、挿し直すのを待ちます(2 秒ごとに自動でつなぎ直します)
XPression: 接続中DataLinq Server に TCP でつながっている。緑
XPression: 未接続つながっていない。赤。1 秒ごとに再接続します。計測は止まりません
送信: 実測 60 / 設定 60 回/秒実際に送れている回数と、設定した回数。未接続のときは実測 0
00:12:34計測時間(開始してから積み上げた時間。停止中は止まる)。右レールの大きな時計と同じ値
EN / JA画面の言語を切り替える(ボタン参照)

ヘッダーの下に赤い帯が出たら警告です(例: 「入力デバイスを開けません」「入力が無い系統: 5, 6, 7, 8(このデバイスは 4ch。…)」)。帯は 1 行で、長い文は末尾が「…」で省略されます(帯にマウスを乗せると全文が出ます)。トラブルと対処を参照してください。テスト信号を流している間は、その下に黄色の帯「テスト信号を流しています」が出ます。どちらの帯もどのタブでも見えます。

4.3 ライブタブ: 系統のカード

系統ごとに 1 枚のカードが 2 列で並びます(系統が 1 つのときは横いっぱいに 1 枚)。

系統のカード
図 5: 系統 1 つ分のカード(この例では True Peak が上限を超えて「TP 超過」が出ている)
部分意味
名前カード左上。系統の名前(設定タブの系統の表で変更。空欄なら既定名)
帯域のバッジ名前の右。全帯域はグレー、帯域を絞った系統は「低域」「高域」などが明るい紺のバッジで出ます(演出用の値で、規格のラウドネスではない印)
L / R のバッジその系統が使っているオーディオ IF の入力(例: L1 / R2)。保存済みの設定の値です
今を基準にカード右上。今の音に合わせて入力補正を自動設定(ボタン参照)
M のバーと数値Momentary。オレンジのバー、右端の数値が LUFS
S のバーと数値Short-term。薄いオレンジのバー
白い縦線(M・S の行)基準値の位置(初期値 −24)
L / R のバー左右それぞれのサンプルピーク(dBFS)。黄色。R の行の太い白線はピークホールド(直近の最大を 1.5 秒保持)
R の右の数値True Peak(dBTP)
INTEGRATED計測開始からの平均。右の小さな数字は基準値との差(例: +0.6 は基準より 0.6 LU 大きい)
LRA音量の幅(LU)
TP 最大計測中の True Peak の最大値。リセットで消える
TP 超過(赤いバッジ)True Peak が上限(初期値 −1 dBTP)を超えた。3 秒間表示。超えていないときは何も出ません
「−∞」は無音(−70 LUFS 未満)の表示です。デバイスが開けていないときも −∞ になります。表記は設定タブの「表示・言語」の「無音の表記」で変えられます。

入力が無い系統はカードが薄くなります(系統の L ch / R ch がデバイスのチャンネル数を超えているときなど。ヘッダーの下の赤い帯に系統の番号が出ます)。

系統が 5 つ以上のときは、カードを詰めた表示になります(バーを細く、数字を少し小さく)。1280×800 の画面なら 8 系統がスクロールせずに収まります。それより小さい画面では、系統のカードの領域だけがスクロールし、右レール(開始・停止・BPM)はいつも見えたままです。

8 系統のライブタブ
図 6: 8 系統のとき(詰めた表示)。この例はデバイスが 4ch なので、系統 5〜8 は入力が無く薄く表示され、赤い帯に「入力が無い系統: 5, 6, 7, 8」が出ている

4.4 ライブタブ: 右レール

画面の右側に、上から INTEGRATED 計測・BPM・会場プリセット が並びます。

INTEGRATED 計測
図 7: INTEGRATED 計測。計測時間、開始・停止・リセット、基準値と TP 上限
部分意味
大きな時計計測時間(ヘッダーの時計と同じ)
開始 / 停止 / リセットIntegrated の計測の操作。オレンジになっているボタンが「今の状態」です(計測中なら「停止」がオレンジ)。詳しくは ボタンのすべて
基準 −24.0 LKFS · TP 上限 −1.0 dBTP保存済みの基準値と TP 上限(設定タブの「基準値・TP」)

その下の BPM のカードは、テンポと拍の表示、TAP・同期などです。16 章を参照してください。

会場プリセット
図 8: 会場プリセット。最後に呼び出した(または保存した)プリセットの名前

会場プリセットのカードには、最後に呼び出した(または保存した)プリセットの名前が出ます(まだ無いときは「—」)。プリセットを開く でプリセットタブへ移ります(8 章)。アプリの終了は、画面のいちばん上のタブの並び(ヘルプの右)の 終了 です。どのタブを開いていても押せます。

5. 最初の設定(5 分)

  1. オーディオ IF を PC につなぎ、OtoMotion を起動します
  2. ヘッダーの 設定 タブを開き、左のレールの デバイスと系統 を選びます。デバイス でオーディオ IF を選びます(例: Komplete Audio 2 (2ch))
  3. 系統の数 を決めます。ステレオ 1 本なら 1。メインと会場 PA を分けて測るなら 2
  4. 系統の表で、系統ごとに 名前、L ch、R ch(オーディオ IF の何番の入力か)を入れます。初期値は系統 1 が 1/2、系統 2 が 3/4 … です
  5. 画面下の 設定を反映して保存 を押します。ヘッダーが「入力: (デバイス名)」になり、ライブ タブで音を入れるとバーが動きます
  6. 卓からテストトーン(例: 1 kHz −20 dBFS)を出し、ライブタブの系統のカードの 今を基準に を押します。M / S が −24.0 になり、白い縦線(基準値)に乗ります(卓の基準に合わせるための補正が自動で入ります)
  7. XPression 側の準備(9 章)ができていれば、ヘッダーが「XPression: 接続中」になります
  8. プリセット タブでこの設定に名前を付けて保存しておくと、次回はプリセットを呼び出すだけで済みます

6. 設定項目のすべて

ヘッダーの 設定 タブを開くと、左のレールに 7 つの項目が並びます。項目を選ぶと右にそのページが出ます(最後に開いていたページは次回も開きます)。

設定タブ
図 9: 設定タブ。左のレールで項目を選び、右のページで値を変え、下の保存バーで反映する
レールの項目内容反映
デバイスと系統(右の数字は系統の数)オーディオ IF、系統の数、系統の表(6.1)保存で反映
テスト信号アプリの中で作った音を流す(6.2)すぐ反映
基準値・TP基準値、TP 上限、起動時に自動で開始(6.3)保存で反映
バーの動きバーの範囲と動きの速さ(6.4)保存で反映
BPM検出に使う系統、beat の長さ、beat_hit の減衰(6.5)すぐ反映
XPression へ送る(右の点は接続の状態。緑 = 接続中、赤 = 未接続)送り先 IP、ポート、回数/秒、区切り文字(6.6)保存で反映
表示・言語画面の言語、無音の表記、軽量モード(6.7)保存で反映(言語はすぐ切り替わる。軽量モードはすぐ反映・保存)

「保存で反映」の項目は、画面下の 設定を反映して保存 を押した時点で反映・保存されます(押すまでは変わりません)。値を変えると、保存ボタンが黄色の「未保存の変更があります — 設定を反映して保存」になり、右に「● 未保存の変更があります」、ヘッダーの「設定」タブに黄色い点が付きます。ほかのタブに移っても入力中の値は消えません。元に戻す を押すと、保存済みの値に戻ります(6.8)。保存後は再起動不要で、次回起動時もその設定で立ち上がります。

テスト信号のページと、BPM のページの 3 つの欄、表示・言語のページの軽量モード、ライブタブの BPM のカードの拍子と自動追従は、変えた時点ですぐ反映・保存されます。これらを変えても「未保存」の表示にはなりません。

6.1 デバイスと系統

上のカードでデバイスと系統の数、下のカードの系統の表で系統ごとの設定をします(図 9)。表の列は、#(系統の番号)、名前、L ch、R ch、補正 dB、帯域(カスタムのときは右に下限・上限 Hz の欄が出ます)、今を基準に です。表の 今を基準に はライブタブのカードのボタンと同じ動きです。系統の数を増やしてまだ保存していない行では押せません(「保存してから使えます」)。

デバイス(プルダウン)

意味
音声を取り込むオーディオインターフェイス。PC が認識している入力デバイスが「名前 (チャンネル数ch)」の形で並びます。Windows は WASAPI、Mac は Core Audio のデバイスだけが出ます(ASIO だけのドライバーの機材は出ません。会場の音のもらい方)
選択肢
選んでください: まだ選んでいない状態(起動直後)。各デバイス: 括弧内はそのデバイスの入力チャンネル数。例えば「(4ch)」なら L ch / R ch に 1〜4 が指定できます。NDI や Web カメラのマイクも出ることがあります
初期値
なし(未選択)
変えると
デバイスを開き直します。Integrated・LRA・TP 最大・計測時間はリセットされます
注意
抜き差ししたデバイスや後から挿したデバイスは、一覧を開き直すと出ます(ストリームを開いていない間に更新)。出ないときは設定でほかのデバイスを選んでから戻すか、再起動

系統の数(プルダウン 1〜8)

意味
同時に計測するステレオの系統の数。数だけ、系統の表に行が出て、保存するとライブタブのカードも増えます
初期値
1
変えると
増やした分の系統は新しく計測を始めます(既存の系統の Integrated はそのまま)。減らした系統の設定は消えず、数を戻せば復活します。XPression には常に 8 系統分のキーが送られ、使っていない系統は gN › on が 0 になります

系統の行: 名前

意味
その系統の表示名。ライブタブのカードの名前と、XPression の gN › name に出ます。日本語可。空欄のあいだは欄に既定名が薄く表示され、その既定名が使われます
初期値
空欄。空欄のままなら、日本語では「メイン」「系統 N」(系統 1 が「メイン」、2 以降は「系統 2」「系統 3」…)、英語では Main / Group N を使います(gN › name は保存した設定の言語で決まり、言語を「自動」のままなら日本語)。名前を入れれば、どの言語でもその名前がそのまま使われます
変えると
表示だけ変わります。計測はリセットされません

系統の行: L ch / R ch

意味
オーディオ IF の何番の入力を左 / 右として使うか(1 から数える)。同じ入力を複数の系統で使っても構いません
初期値
系統 N は 2N−1 / 2N(1/2、3/4、5/6 …)
範囲
1〜64。デバイスのチャンネル数を超える番号を入れると、警告を出して 1/2 で動きます(落ちません)
変えると
その系統だけ入力の割り当てを差し替えます。Integrated は保持されます

系統の行: 補正 dB

意味
その系統の入力に掛けるゲイン(dB)。オーディオ IF の入力レベルや卓の基準の違いを吸収して、卓のメーターと OtoMotion の値を合わせるための値。計測のすべての値(M/S/I/LRA/TP/バー)に効きます
初期値
0.0
範囲
−40〜+40
決め方
手で入れるより、テストトーンを流して 今を基準に を押すのが確実です(自動で計算されてこの欄に入ります)
変えると
その系統の値がすぐに変わります。Integrated は保持されます(補正後の値で続きます)

系統の行: 帯域(プルダウン)

意味
その系統の入力を周波数の帯域で絞ります(演出用)。会場ビジョンで「低音でドンと動く」「高音でキラッと動く」バーを作るためのものです。メーター(M/S/I/LRA)も True Peak もバーも、絞ったあとの信号で計算します
選択肢
全帯域: 絞らない。規格どおりのラウドネス計測です。低域 20–250 Hz: キックやベースの帯域。低音に反応するバーに。中域 250–4k Hz: 声や楽器の中心の帯域。高域 4k–20k Hz: シンバルや歓声のきらめき。高音に反応するバーに。カスタム: 下限 Hz・上限 Hz の欄が出て、自分で決められます(10〜24000、下限 < 上限。正しくない値は 20 / 20000 に戻ります)
初期値
全帯域
変えると
その系統だけフィルタを差し替え、その系統の Integrated・LRA・TP 最大・計測時間はリセットされます(計測の意味が変わるため)。ほかの系統はそのままです。ライブタブのカードの名前の右に「低域」のようなバッジが付き、XPression には gN › band(full / low / mid / high / custom)で届きます
注意
絞った系統は規格のラウドネスではありません。−24 の判定(基準値との比較)には全帯域の系統を使ってください。絞った系統で「今を基準に」を押すと、その帯域の音量を基準値に合わせる補正になります。フィルタはバターワース 4 次のバンドパス(上限はサンプルレートの半分の 95% まで)

6.2 テスト信号

テスト信号のページ
図 10: テスト信号のページ(種類が正弦波のとき。種類によって出る欄が変わる)

卓やケーブルが無い場所でも、帯域フィルタ・BPM の検出・XPression のシーンを確かめられるように、アプリの中で作った音をオーディオ IF の代わりに流します。オンのあいだはすべての系統が同じステレオ信号を測ります(系統の L ch / R ch の設定は無視して 1/2 として扱うので、「入力 3/4 はありません」の警告も出ません。補正 dB と帯域はそのまま効きます)。スピーカーからは鳴りません。

このページは変えた時点ですぐ反映・保存されます(設定を反映して保存 は不要。押してもテスト信号は変わりません)。オンのあいだはヘッダーの入力表示が黄色で「入力: テスト信号(正弦波 997 Hz)」のようになり、ヘッダーのすぐ下に黄色の帯「テスト信号を流しています」が出ます。帯はライブ・設定・プリセットのどのタブでも見えます。

本番前に必ずオフにしてください。オフにすると、設定のデバイスを開き直して元の入力に戻ります。OtoMotion を起動したときは必ずオフで始まり(前回オンのまま終了しても)、会場プリセットにもオン/オフは入りません(種類・周波数などは入ります)。

テスト信号を使う(チェック)

意味
オンで、デバイスの代わりにテスト信号を流します。オフで、設定のデバイスに戻ります
初期値
オフ(起動時は必ずオフ)
変えると
入力を開き直すので、Integrated・LRA・TP 最大・計測時間はリセットされ、BPM の検出も最初からやり直しになります

種類(プルダウン)

意味
流す音の種類
選択肢
正弦波: 一定の高さの音(既定 997 Hz)。レベルどおりの値が出るかの確認、XPression のバーや数値の確認に。997 Hz・−23 dBFS なら M / S / I は −23.0 LUFS になります。スイープ: 20 Hz から 20 kHz まで、対数で「スイープ 秒」かけて高くなる音をくり返します。帯域を絞った系統が、それぞれ自分の帯域のところで大きくなるのを確かめるのに。キック(BPM 検出用): 「キック BPM」の間隔で鳴る 60 Hz の短い(60 ms)減衰音。間は小さなピンクノイズ(−40 dBFS)です。BPM の検出と低域のバーの確認に。ピンクノイズ: 全帯域に同じくらい(オクターブごとに同じエネルギー)の音が入ったノイズ。帯域ごとのバーの長さのバランスを見るのに。無音: 何も入っていない信号(すべて −∞ になるか、XPression 側で 0 のときの見え方の確認に)
初期値
正弦波

周波数 Hz(正弦波のとき)

範囲
20〜20000
初期値
997(EBU の適合テストと同じ。1 kHz ちょうどを避けた値)

レベル dBFS

意味
正弦波・スイープ・キックは振幅(ピーク)、ピンクノイズは RMS の大きさ。無音のときは出ません
範囲
−60〜0
初期値
−23.0

スイープ 秒(スイープのとき)

意味
20 Hz から 20 kHz まで上がるのにかける時間。上がりきったら 20 Hz に戻ってくり返します
範囲
1〜60
初期値
10

キック BPM(キックのとき)

意味
キックの間隔(1 分あたりの回数)。オンにした瞬間が 1 つ目のキックです
範囲
30〜300
初期値
120

6.3 基準値・TP

基準値・TP のページ
図 11: 基準値・TP のページ

基準値 LKFS

意味
目標のラウドネス。カードの白い縦線の位置、Integrated の右の差、右レールの「基準 −24.0 LKFS」、XPression の target / gN › diff_i / gN › diff_s、「今を基準に」の合わせ先、すべてこの値を使います
初期値
−24.0(ARIB TR-B32、日本の放送)
よく使う値
−23.0(EBU R128、ヨーロッパ)、−24.0(ATSC A/85、アメリカ)。配信向けなら −14〜−16 を使うこともあります
範囲
−40〜0

TP 上限 dBTP

意味
True Peak がこの値を超えると「TP 超過」の警告を出し、XPression の gN › tpover が 1 になります
初期値
−1.0(ARIB / EBU の上限)
範囲
−20〜+3
補足
警告は瞬時の TP で判定し、3 秒間表示します(計測を開始していなくても出ます)。「TP 最大」の数値は計測中だけ更新されます
「無音の表記」は「表示・言語」のページに移りました(6.7)。

起動時に自動で開始(チェック)

意味
オンにすると、起動した瞬間から Integrated の計測が始まります(「開始」を押した状態)
初期値
オフ(起動直後は停止中。M / S / TP は常に動きます)
使いどころ
本番で「開始」を押し忘れる心配があるとき。ただし本番の頭でリセットする運用なら、オフのまま本番直前に「開始」を押すほうが Integrated がきれいに取れます

6.4 バーの動き

バーの動きのページ
図 12: バーの動きのページ。ここは見た目だけの設定で、数値(M/S/I など)には影響しません

バーの長さは OtoMotion 側で 0〜1 に正規化して XPression に送ります。ここで決めた範囲と動きは、監視画面と XPression のバーの両方に同じように効きます。

ラウドネス 下限 / 上限

意味
M / S バーの目盛りの範囲(LUFS)。下限でバーが 0、上限でバーがいっぱいになります
初期値
−60 / 0
例
基準値付近を大きく見せたいなら −36 / −12。下限 ≧ 上限にすると初期値に戻ります

ピーク 下限 / 上限

意味
L / R のピークバーとホールドの目盛りの範囲(dBFS)
初期値
−60 / 0

平滑化 ms

意味
M / S バーの動きをなめらかにする一次遅れの時定数(ミリ秒)。大きいほどゆっくり追従します。上昇・下降の両方に効きます(「下降の遅さ」を設定した場合は上昇だけ)
初期値
100
範囲
0〜5000。0 で平滑化なし

下降の遅さ ms

意味
M / S バーが下がるときだけの時定数。音が止まったあとバーがすぐ落ちず、余韻を残したいときに使います。数値には影響しません
初期値
0(平滑化 ms と同じ動き)
例
1000 にすると約 1 秒かけて落ちます。会場ビジョンで「動きが忙しい」と感じたら 500〜1500 あたりから試してください

下降 dB/秒

意味
ピークバー(L / R)が落ちる速さ。上昇は瞬時、下降はこの速さで一定に落ちます(PPM のような動き)
初期値
20
範囲
1〜200。小さいほどゆっくり

ホールド 秒

意味
ピークホールド(R の行の白い線、XPression の gN › pkhold)が直近の最大を保持する時間。保持のあとは「下降 dB/秒」の速さで落ちます
初期値
1.5
範囲
0〜30

6.5 BPM

BPM のページ
図 13: BPM のページ。ここの 3 つの欄は変えた時点ですぐ反映・保存される

検出に使う系統・beat の長さ ms・beat_hit の減衰 ms の 3 つです。どれも選んだ(入力した)時点ですぐ反映・保存され、「未保存」の表示にはなりません。それぞれの意味は 16.3 を参照してください。BPM の値そのもの・拍子・自動追従は、ライブタブの BPM のカードで操作します。

6.6 XPression へ送る

XPression へ送るのページ
図 14: XPression へ送るのページ。XPression 側の DataLinq ソースの設定と合わせます

送り先 IP

意味
DataLinq Server が動いている PC の IP アドレス
初期値
127.0.0.1(OtoMotion と同じ PC で DataLinq Server が動いている場合)
別 PC のとき
その PC の IP(例: 192.168.1.20)。ホスト名は使えません(IP のみ。不正な値は 127.0.0.1 に戻ります)。別の PC に送る参照

ポート

意味
DataLinq Server の XML/JSON TCP ソースに設定した TCP Port
初期値
7327(XPression 側の初期値と同じ)
範囲
1〜65535

回数/秒

意味
1 秒間に何回 JSON を送るか。XPression の描画は約 60 コマ/秒なので、60 にすると毎コマ更新になります
初期値
60
範囲
10〜60。送信中に変えてもすぐ反映されます
目安
10 だとバーがカクつきます。20 でほぼ滑らか。XPression 12.5 の実機で 60 回/秒でも取りこぼしがないことを確認済みです。XPression の PC が重いときは 30 に下げてください

Start of Message(プルダウン)

意味
1 通の JSON の前に付ける制御文字。XPression の「Start of Message」と同じものを選びます
選択肢
なし: 何も付けない(XPression の初期値 <none> に対応)。STX: 0x02(Start of Text)。SOH: 0x01(Start of Header)
初期値
なし

End of Message(プルダウン)

意味
1 通の JSON の終わりに付ける制御文字。XPression がここで区切って 1 通ずつ読みます。XPression の「End of Message」と同じものを選びます
選択肢
NULL: 0x00(XPression の初期値)。ETX: 0x03(End of Text)。LF: 改行 0x0A。CR: 復帰 0x0D。CRLF: 0x0D 0x0A。EOT: 0x04(End of Transmission)
初期値
NULL
注意
XPression 側と食い違うと、値が一度も更新されないか、ずっと古い値のままになります。迷ったら両方とも初期値(なし / NULL)のままにしてください

XPression へ送る JSON は常に階層(ツリー)構造で、root の下に系統ごとのフォルダ(g1〜g8)、拍のフォルダ(beat)、MIDI の枠のフォルダ(midi)が並びます(例: g1 › mbar、beat › bpm、midi › s1)。値の意味や型は変わらず、キーの置き場所だけがこの形になります。キーは全部で 181 個です(11 章)。XPression 12.5 の Browse DataLinq でこのツリーが表示されることを実機で確認済みです(2026-09-26 に確認。midi の枝は 18 章 の実機確認で見ます)。

6.7 表示・言語

表示・言語のページ
図 15: 表示・言語のページ

言語(プルダウン)

意味
画面の言語(日本語 / English)。ヘッダーの EN / JA と同じで、選んだ時点で切り替わります
保存
設定を反映して保存 を押すと設定にも保存され、ブラウザの記憶が消えても次回その言語で開きます

無音の表記

意味
−70 LUFS 未満(無音)のときに、数値の代わりに出す文字。監視画面と XPression の両方に使われます
初期値
-∞
例
XPression のフォントに「∞」が無いときは --- や空欄にします。空欄にすると XPression 側の文字が消えます

軽量モード(非力な PC 向け)(チェックボックス)

意味
監視画面の描画を軽くします。変わるのは画面だけで、XPression へ送る値・回数には影響しません。オンにすると次のようになります
  • メーターなどの描き直しを 30 回/秒から 15 回/秒に減らす(値の受け取りは今までどおり)
  • TOP の背景を動かさず、止まった絵にする(カードの中の絵は音に合わせて動きます)
  • カードやボタンの光(影)を消す
  • ヘッダーの時計の左に「軽量」の印が出る
初期値
オフ
いつ使う
タスク マネージャーでブラウザの CPU が高いと感じたとき。XPression と同じ PC で OtoMotion を動かすとき(XPression に CPU を残すため)
保存
チェックを変えた時点ですぐ反映・保存されます(設定を反映して保存 は不要。ほかの欄の未保存の変更は一緒に保存されません)。PC ごとの設定なので会場プリセットには入らず、プリセットを呼び出しても今のまま変わりません

6.8 設定を反映して保存・元に戻す(保存バー)

未保存の変更があるときの保存バー
図 16: 未保存の変更があるときの保存バー。保存ボタンが黄色になり、右に「● 未保存の変更があります」が出る

設定タブの下の保存バーには 2 つのボタンがあります。

7. ボタンのすべて

開始・停止・リセットはライブタブの右レールの「INTEGRATED 計測」、終了は画面のいちばん上のタブの並び(ヘルプの右)にあります。

ボタン何が起きるか使う場面
ライブ / 設定 / プリセット(タブ)表示するタブを切り替えます。計測・送信・入力中の設定はそのまま—
開始Integrated・LRA・TP 最大・計測時間の積み上げを始めます。停止からの開始は続きから(値はリセットされません)。M / S / TP / バーは開始していなくても常に動いています本番の頭、コーナーの頭
停止積み上げを一時停止。値は保持されたまま止まりますCM や休憩を Integrated に含めたくないとき
リセットIntegrated・LRA・TP 最大・計測時間をゼロに戻します。計測中なら計測中のまま、停止中なら停止中のまま。M / S / TP は影響なし番組の切り替わり
終了アプリを終了します。XPression には「status = offline、バーは 0」の最後の 1 通を送ってから切ります(会場ビジョンのバーが伸びたまま残らないように)。確認ダイアログが出ます撤収
今を基準に(系統ごと)その系統の Short-term(直近 3 秒)が基準値になるように「補正 dB」を計算して保存します(今の補正 + (基準値 − S))。ライブタブのカードの右上と、設定タブの系統の表の各行にあり、どちらも同じ動きです。押すと 3 秒間は「補正 −4.0 dB」のように結果を表示し、その系統のボタンは(カード・表の両方とも)押せません。無音のときは「音が入っていません」と出て何もしません。表の行のボタンは、系統の数を増やしてまだ保存していない行では押せません本番前、卓からテストトーンを流しているとき。同じトーンで何度押しても同じ値に落ち着きます
EN / JA画面の言語を切り替えます。ブラウザに記憶され、次回も同じ言語で開きます。XPression に送る内容は変わりません—
ヘルプこのマニュアルを画面内のパネルで開きます—
設定を反映して保存設定タブの変更を反映して保存します(6.8)。未保存の変更があるあいだは黄色設定を変えたあと
元に戻す保存していない設定の変更を捨てて、保存済みの値に戻します変更をやめたいとき
プリセットを開く(右レール)プリセットタブに移ります—
この設定を保存(プリセット)今の設定に名前を付けて保存します会場ごと
呼び出し(プリセット)選んだプリセットを現在の設定にします(反映・保存まで行います)会場に着いたとき
削除(プリセット)選んだプリセットを消します—
TAP / 同期 / ÷2 / ×2 / 設定 / 採用(BPM)BPM と拍の位置を決めます(16.2)曲ごと

各設定の説明はこのマニュアルの「6. 設定項目のすべて」にまとめています。ヘッダーのヘルプボタンを押すと画面内のパネルでこのマニュアルが開き、パネル上部の「別ウィンドウで開く」からは通常のページとして別のタブでも開けます。

ヘルプのパネル
図 17: ヘルプのパネル。画面の右側にこのマニュアルが開く(右上の「別ウィンドウで開く」で別のタブ、× か Esc で閉じる)
今を基準にを押した直後のカード
図 18: 「今を基準に」を押した直後のカード。3 秒間、決まった補正(「補正 +5.4 dB」など)がボタンに表示されます

8. 会場プリセット

ヘッダーの プリセット タブ(またはライブタブの右レールの プリセットを開く)で操作します。

プリセットタブ
図 19: プリセットタブ。上の行で保存、下の行で呼び出し・削除

プリセットは設定タブの内容すべて(デバイス、系統、基準値、バー、送り先…)のスナップショットです(軽量モードは PC ごとの設定なので入りません)。

  1. 設定タブで設定を整えて 設定を反映して保存
  2. プリセットタブの「プリセット名」に会場名(例: ○○アリーナ 本番)を入れて この設定を保存
  3. 次回は一覧から選んで 呼び出し。呼び出しはすぐ反映・保存されます。デバイスが同じ名前で見つかれば、そのまま計測が始まります
  4. 要らなくなったプリセットは一覧から選んで 削除

最後に呼び出した(または保存した)プリセットの名前は、ライブタブの右レールの「会場プリセット」に出ます(図 8)。今どの会場の設定で動いているかの目印になります(名前はこのブラウザに記憶されます。削除したプリセットは表示から外れます)。

プリセットのファイルは presets\ フォルダの JSON です。別の PC に持っていくときはこのフォルダごとコピーできます。同じ名前で保存すると上書きされます。

9. XPression 側の準備

1 台の XPression につき 1 回だけ行います。

9.1 DataLinq Server にソースを追加する

  1. XPression DataLinq Server を起動します(スタートメニュー → XPression → XPression DataLinq Server)
  2. Add New → XML/JSON TCP DataLinq Source を選んで OK
  3. 次の画面で設定します
XML/JSON TCP DataLinq Setup
図 20: XML/JSON TCP DataLinq Setup。TCP Server・ポート 7327・Start <none>・End NULL のまま、Format を JSON にするところだけ変えます
項目設定説明
Network SettingsTCP ServerDataLinq Server が待ち受け、OtoMotion が接続しに行く形。TCP Client / UDP は使いません
TCP Port7327(初期値)OtoMotion の「ポート」と同じ番号にします
IP Address空欄TCP Client のときだけ使う欄
Start of Message<none>(初期値)OtoMotion の Start of Message「なし」に対応
End of MessageNULL(初期値)OtoMotion の End of Message「NULL」に対応
Use Table Presets / Wrap Indices / Enable Command Parsing / Enable Logging / Save Last MessageすべてオフSave Last Message をオンにすると DataLinq Server 再起動後も最後の値が復元されますが、古いバーが出るので推奨しません
FormatJSON ← ここだけ変更OtoMotion は JSON を送ります
Encoding / XSLT File触らないXML のときだけの設定

OK を押すとソースが追加されます。名前は分かりやすく「OtoMotion」などにしてください。

9.2 XPression を DataLinq Server につなぐ

  1. XPression の Project → DataLinq Manager を開き、Add
  2. Host Address に localhost(DataLinq Server が XPression と同じ PC のとき)、Port に 8888(DataLinq Server の初期値)を入れて OK
  3. Available DataLinq Sources に 9.1 で作ったソースが出ていれば OK
ポートは 2 種類あります。7327 は OtoMotion → DataLinq Server、8888 は DataLinq Server → XPression です。

9.3 値が届いているか確認する

OtoMotion を起動して「XPression: 接続中」になったら、XPression 側でテキストオブジェクトの Data Source → DataLinq → Browse を開くと、root の下に g1〜g8・beat のフォルダが木構造で見えます。g1 を開いて name を選ぶと「メイン」、g2 を開いて m を選ぶと「-∞」などが見えます。

Browse DataLinq(g1 と beat を開いた状態)
図 21: Browse DataLinq。root の直下に共通のキー、g1〜g8 と beat がフォルダとして並びます(ここでは g1 と beat を開いています)
フォルダの中のキーの並び順は XPression が決めるので、送った順とは違いバラバラに見えます(XPression の仕様)。名前で探してください。Refresh で値が更新されます。

10. シーンの作り方

OtoMotion は計算を全部済ませて送るので、XPression 側は「値を出す」「バーの長さに使う」だけです。

10.1 数値をテキストに出す

  1. テキストオブジェクトを置き、Object Inspector の Data Source タブで DataLinq を選び Set
  2. Set DataLinq Properties の画面で Enabled をオン、DataLinq で OtoMotion のソースを選び、Browse... を押します
  3. Select DataLinq Field の画面で g1 のフォルダを開き、m を選んで OK。Column に g1(フォルダの名前)、Row に m(キーの名前)が入ります。手で打ち込んでもかまいません(beat の値なら Column に beat、Row に bpm など)。root の直下にある共通のキー(elapsed・status など)は、Column を空欄のまま、Row にキーの名前を入れます
  4. Live Update を必ずオンにします(オフだと値が更新されません)
Select DataLinq Field で g1 の m を選んだところ
図 22: Select DataLinq Field。g1 を開いて m を選ぶと、上の Selection に Column: g1 / Row: m と出ます
Set DataLinq Properties。Column に g1、Row に m
図 23: Set DataLinq Properties。Column が g1、Row が m。Live Update はオン

よく使うキー: g1 › m(Momentary)、g1 › s(Short-term)、g1 › i(Integrated)、g1 › lra、g1 › tp(True Peak)、g1 › tpmax、g1 › diff_i(基準との差、+0.6 の形)、elapsed(計測時間、共通キーなので root 直下)。小数 1 桁の文字列で届くので、そのまま表示できます。

10.2 バーを動かす(スクリプト)

バーの長さは g1 › mbar(0〜1)で届きます。これをテキストオブジェクト(非表示でよい)で受け、スクリプトで四角の scaleX に入れます。スクリプトは、そのテキストオブジェクトの Script Editor の OnSetText イベントに書きます(値が届くたびに実行されます)。

' g1 › mbar を受けているテキストオブジェクトのスクリプト
dim bar as xpBaseObject
dim v as Double
Scene.GetObjectByName("Bar1", bar)
v = text / 1                 ' 文字列を数値に
bar.scaleX = v               ' 0〜1 をそのまま横方向のスケールに
bar.Visible = (v > 0)        ' 0 のときは消す(細い幅が残らないように)
Script Editor の OnSetText にバーのスクリプトを書いたところ
図 24: Script Editor。左の Events で OnSetText を選んで書きます。下の Messages に「Compiled successfully.」と出れば OK
テストシーン
図 25: テストシーン。上から順に数値のテキスト 4 つ、バー 2 本。バーは値に応じて伸び縮みします

10.3 系統の出し分け

gN › on は系統が有効なら 1、使っていなければ 0 です。系統 2 のグループ(テキストとバー一式)の Visible をこれで切り替えると、会場によって系統が 1 つでも 2 つでも同じシーンで済みます。

' g2 › on を受けているテキストオブジェクトのスクリプト
dim grp as xpBaseObject
Scene.GetObjectByName("Group2", grp)
grp.Visible = (text / 1 > 0)

10.4 TP 超過の警告

g1 › tpover が 1 のあいだ(超えてから 3 秒)、赤いマークを出します。上と同じく Visible に入れるだけです。

10.5 帯域ごとのバーの作り方

同じ入力を複数の系統で使い、系統ごとに帯域を変えると、「全体」「低音」「高音」で別々に動くバーが作れます。

  1. 系統の数 を 3 にします
  2. 3 つの系統とも L ch / R ch を同じ入力(例: 1 / 2)にします
  3. 名前と帯域を、系統 1 =「全体」・全帯域、系統 2 =「低音」・低域、系統 3 =「高音」・高域 にして 設定を反映して保存
  4. XPression では g1 › mbar・g2 › mbar・g3 › mbar をそれぞれのバーに入れます(10.2 と同じスクリプト)。低音のバーはキックやベースで、高音のバーはシンバルや歓声で大きく動きます

テスト信号のキックで確かめる手順: 卓の音が無くても、6.2 テスト信号で帯域ごとのバーの動きを確かめられます。上の 3 系統を作ったら、テスト信号の種類を キック(BPM 検出用)、レベルを −12 dBFS にして「テスト信号を使う」をオンにします(テスト信号は全系統に同じ音を流すので、L ch / R ch は何でも構いません)。キックごとに「全体」と「低音」のバーが跳ね、「高音」のバーはほとんど動かなければ正しく分かれています。続けて種類を スイープ にすると、音が低い方から高い方へ上がるにつれて「低音」→「高音」の順にバーが伸びます。XPression のシーンも同じ信号で動きを見られます。確かめ終わったら必ずオフに戻してください。

10.6 あると便利なキー

キー使い方
statusok = 正常、nosignal = 入力デバイスが無い、offline = OtoMotion が終了した。ok 以外のときメーター全体を隠すと、壊れた表示を出さずに済みます
seq送信の通し番号。増えていなければ OtoMotion が落ちています(DataLinq Server は最後の値を保持し続けるため、バーが伸びたまま固まります)。運用としては「OtoMotion が落ちたらシーンをテイクアウト」で対応します
runningIntegrated を計測中なら 1。「REC」のようなマークに
target基準値(数値)。テキストに「基準 −24」と出すときに

10.7 サンプルシーン(そのまま作れる一式)

ラウドネスメーター・帯域別のバー・拍の丸をまとめたサンプルです。背景画像・ガイド・テクスチャ・スクリプトを同梱しているので、同じものを XPression で組めます。

OtoMotion の監視画面と、XPression の出力のサンプルシーンを並べたところ
図 26: 左が OtoMotion の監視画面、右が XPression の出力(サンプルシーン)。系統 1 のメーターと数値、BPM と拍、帯域を絞った系統 2〜4 の縦バーが、OtoMotion の値のとおりに動きます

いちばん早い方法: プロジェクトを開く

  1. OtoMotion_sample_scene.xpp(XPression のパッケージ)を、XPression の PC に保存します
  2. 保存した .xpp をダブルクリックします。XPression(12.5 以降)が起動し、パッケージの展開を案内してくれるので、画面の指示に従います。背景画像もパッケージに入っています。文字は Windows 標準の Arial です
  3. Project → DataLinq Manager で、サーバー(初期値 localhost・ポート 8888)と、DataLinq DataLinq1 が 9.1 で作った OtoMotion のソースを指しているかを確認します。DataLinq Server が別の PC なら Host Address を変えます
  4. OtoMotion を 4 系統・帯域 低域 / 中域 / 高域 にして(下の「5. OtoMotion 側の設定」)、監視画面で「開始」を押します

自分で組みたいとき・中身を知りたいときは、以下の手順とスクリプトを参照してください。

同梱ファイル(この画面から開けます)

考え方: 表示用のテキストと「ドライバー」

数値はテキストにひも付けるだけで出ます。バーや丸(四角)は DataLinq を受け取れないので、値を受ける見えないテキスト(ドライバー)を置き、その OnSetText のスクリプトで四角を動かします(10.2 と同じ仕組み)。ドライバーは Alpha を 0 にして隠します(Visible をオフにすると更新されないことがあります)。

Object Manager。表示用のテキスト、四角、ドライバーが並んでいる
図 27: サンプルシーンのオブジェクト。上から表示用のテキスト、四角(バー・TP OVER・拍の丸)、下の S 印の付いたものがドライバー

1. 表示用のテキスト(ひも付けだけ)

オブジェクトColumnRow出るもの
g1_nameg1name系統の名前
g1_m / g1_sg1m / sMomentary / Short-term
g1_tpg1tpTrue Peak(今)
g1_i / g1_diff_ig1i / diff_iIntegrated と基準との差(計測を開始してから)
g1_lra / g1_tpmaxg1lra / tpmaxLRA / True Peak の最大(計測を開始してから)
g1_s_bigg1sShort-term を大きく
bpmbeatbpmBPM
elapsed(空欄)elapsed計測時間(共通キーは Column を空欄)

2. ドライバーと動かす四角

ドライバーColumnRow動かす四角四角の原点
g1_mbar / g1_sbarg1mbar / sbarM / S(横バー)左端
g1_pk_l / g1_pk_rg1pk_l / pk_rPK_L / PK_R(横バー)左端
g1_tpoverg1tpoverTP OVER(表示・非表示)—
g2_mbar / g3_mbar / g4_mbarg2 / g3 / g4mbarLOW / MID / HIGH(縦バー)下端
beat_countbeatbeat_countdot_1〜dot_4(今の拍だけ表示)—

横バーは四角の幅を溝の幅に、縦バーは高さを溝の高さにしておきます。そうすれば値 1 で溝いっぱい、0.5 で半分になります。

3. スクリプト(各ドライバーの OnSetText)

横バー(g1_mbar の例。ほかは "M" を "S"・"PK_L"・"PK_R" に変える):

dim bar as xpBaseObject
dim v as Double
Scene.GetObjectByName("M", bar)
v = text / 1
bar.scaleX = v
bar.Visible = (v > 0)

縦バー(g2_mbar の例): 上と同じで、"M" を "LOW"(g3 は "MID"、g4 は "HIGH")に、scaleX を scaleY に変えます。

TP OVER(g1_tpover):

dim box as xpBaseObject
Scene.GetObjectByName("TP OVER", box)
box.Visible = (text = "1")

拍の丸(beat_count)。今の拍の丸だけ表示し、ほかは背景に描いた暗い枠が見えます:

dim d1 as xpBaseObject
dim d2 as xpBaseObject
dim d3 as xpBaseObject
dim d4 as xpBaseObject
Scene.GetObjectByName("dot_1", d1)
Scene.GetObjectByName("dot_2", d2)
Scene.GetObjectByName("dot_3", d3)
Scene.GetObjectByName("dot_4", d4)
d1.Visible = (text = "1")
d2.Visible = (text = "2")
d3.Visible = (text = "3")
d4.Visible = (text = "4")

4. 色(OtoMotion の画面と同じにする場合)

M #F24028、S #FF8A70、PK #FFD23F、LOW / MID / HIGH #B04DFF、TP OVER #D9202A、拍の丸 #F24028。グラデーションにするときは同梱の textures をマテリアルのテクスチャに使います(バーと一緒に縮むので、完成イメージと同じ見え方になります)。

5. OtoMotion 側の設定

系統の数を 4 にし、系統 2〜4 の入力(L ch / R ch)を系統 1 と同じにして、帯域をそれぞれ 低域・中域・高域 にします(6.1)。モノラルのマイク 1 本なら、全系統を L1 / R1 にすると PK L と PK R が同じ動きになります。Integrated・LRA・TP MAX・基準との差は、監視画面で「開始」を押してから入ります。

動かないとき

10.8 CROWD POWER(会場向け 盛り上がりメーター)

サンプルパッケージ OtoMotion_sample_scene.xpp(XPression 12.5)には、これまでのラウドネスメーターのシーンに加えて、会場の大画面向けの「盛り上がり度」を出す 4 つのシーンが入っています。

CROWD POWER シーン A(縦ゲージ)
図 28: シーン A(縦ゲージ)。24 段のセグメントと段階の言葉、BEST の点線
CROWD POWER シーン B(ダイヤル)
図 29: シーン B(ダイヤル)。30 個の目盛りと針、下に段階の言葉
CROWD POWER シーン A と B の横並び
図 30: A(左)と B(右)を横並びにしたシーン
CROWD POWER シーン C(LED イコライザーウォール)
図 31: シーン C。LOW・MID・HIGH の帯域ごとにバーの色が分かれた LED ウォール、中央に大きな数字

盛り上がり度の決まり方

盛り上がり度(CROWD POWER)は 系統 1 のバーの値(g1 › mbar)× 100 です。会場の歓声が大きいほど数値が上がります。

OtoMotion 側の設定: バーの動き

設定タブ → バーの動き(6.4)を、会場の歓声に合わせて次のように変えます。

項目値
ラウドネス 下限−35
ラウドネス 上限−3
平滑化 ms100
下降の遅さ ms800
これらの値はバーの動きのページの設定なので、ラウドネスメーターなどほかのシーンの見た目にも影響します。CROWD POWER 用に変えたら、会場プリセットに「CROWD POWER」のような名前で保存しておくと、元の設定とすぐ切り替えられます。

調整の目安: 静かな客席で 20〜30、いちばん大きな歓声で 85〜95 くらいになるのがちょうどよい状態です。ずっと 100 に張り付くときは上限をゆるめます(例: −3 → 0)。盛り上がっても数値が上がらないときは上限を下げます。系統 1 の 補正 dB は、よほど合わないとき以外は 0 のままにしてください。

シーン C に必要な 4 系統

シーン C は帯域ごとに色分けしたバーを動かすため、系統を 4 つ使います(設定タブ → デバイスと系統)。

系統帯域使いみち
系統 1全帯域盛り上がり度の計算、中央の数字
系統 2低域LOW(青)のバー
系統 3中域MID(紫)のバー
系統 4高域HIGH(赤)のバー

歓声は高い音の成分が少なく、HIGH のバーだけ低くなりがちです。ほかの色に比べて 1 色だけ短いときは、その系統の補正 dBを上げます(HIGH なら +6 dB あたりから試してください)。

DataLinq のひも付け

4 つのシーンとも、ドライバーのテキストオブジェクトは 9 章で作った DataLinq ソース「OtoMotion」(XML/JSON TCP ソース、TCP Server、ポート 7327)にひも付けてあります。DataLinq Server 側でソース名を OtoMotion にしておくか、名前が違う場合は各ドライバーの DataLinq のプロパティでソースを選び直してください。主なドライバーは drv_level(g1 › mbar)、drv_elapsed(elapsed)、シーン C はさらに drv_low(g2 › mbar)・drv_mid(g3 › mbar)・drv_high(g4 › mbar)です。

フォント

数字の表示にはフリーフォント Teko(Bold / SemiBold、SIL Open Font License 1.1)を使っています。XPression の PC に Teko-Bold.ttf と Teko-SemiBold.ttf をインストールしてから、シーンを開いてください(ライセンス: OFL_Teko.txt)。背景画像にはタイトルや項目名がすでに描き込んであるので、ほかのフォントは不要です。

隠しテキストとスクリプト

非表示のテキストオブジェクト var_best・var_rec・var_frame・var_armed・var_elapsed は、記録やタイマーを覚えておくための入れ物です。削除しないでください。中身は空のままにしておきます(値を入れる必要はありません)。スクリプトはテキストファイルでも同梱しています: crowd_power_scripts.txt(A / B / 横並び用)、crowd_power_c_scripts.txt(C 用。帯域ごとの 3 本のスクリプトを含む)。XPression のスクリプトは VB.NET で、オブジェクトは名前で探します(seg_01…、tick_01…、bar_01…、needle、best_marker_b、tierA_*、tierB_*、flash、new_record、num_a / num_b / num_c、best_a / best_b / best_c_num など)。

11. JSON キー一覧(181 個)

OtoMotion は毎回 同じ 181 個のキーを送ります(系統の数に関係なく 8 系統分、MIDI の枠は割り当てが無くても 16 個)。だから XPression のひも付けは会場が変わっても壊れません。型は「表示用は文字列、バーとフラグは数値」で固定です。JSON は常に階層(ツリー)構造で、次のように root の下に系統ごとのフォルダ、拍のフォルダ、MIDI の枠のフォルダが並びます。

root
├ seq, time, status, running, elapsed, target          (共通キー。名前は今までどおり)
├ g1 … g8   各: on, name, m, s, i, lra, tp, tpmax, diff_i, diff_s, mbar, sbar, pkbar, pkhold, pk_l, pk_r, tpover, band
├ beat      : bpm, beats_per_bar, beat, beat_phase, beat_tri, beat_sine, beat_hit, beat_square, beat_count, downbeat, bar_phase, half_phase, double_phase, bpm_detected, bpm_confidence
└ midi      : s1 … s16   (MIDI コントローラーの値をそのまま送る枠。2026-09-30 に追加。18 章)

共通(6、root 直下)

XPression でひも付けるときは Column を空欄、Row にキーの名前(例: Row elapsed)。

キー型例内容
seq数値12345送信の通し番号
time文字列12:34:56.789送信時刻
status文字列okok / nosignal / offline
running数値1計測中 1、停止中 0
elapsed文字列00:12:34計測時間
target数値-24.0基準値

系統ごと(g1〜g8 フォルダ、18 キー × 8。N は 1〜8)

キー型例内容
gN › on数値1有効な系統なら 1。使っていなければ 0(以下のキーは空文字と 0)
gN › name文字列メイン系統名
gN › m / gN › s / gN › i文字列-23.4Momentary / Short-term / Integrated(小数 1 桁)。無音は無音の表記
gN › lra文字列6.2LRA(LU)
gN › tp / gN › tpmax文字列-3.1 / +0.5True Peak と計測中の最大(dBTP)。0 以上は + 付き
gN › diff_i / gN › diff_s文字列+0.6 / -1.2Integrated / Short-term と基準値の差。符号付き。元が無音なら空
gN › mbar / gN › sbar数値0.62M / S バーの長さ(0〜1)
gN › pkbar / gN › pkhold数値0.71L/R まとめのピークバーと、ピークホールドの位置(0〜1)
gN › pk_l / gN › pk_r数値0.65L / R 別のピークバー(0〜1)
gN › tpover数値1TP 超過の警告(3 秒保持)
gN › band文字列low帯域(full / low / mid / high / custom)。full 以外は演出用の値。使っていない系統は空

拍(beat フォルダ、15 キー)

すべて数値です。拍の値は送るたびに PC の時計から計算するので、音が無くても動き続けます。終了時の最終フレームでは beat › bpm と beat › beats_per_bar が設定値、他は 0 です。

キー型例内容
beat › bpm数値128今の BPM(30〜300)
beat › beats_per_bar数値4拍子(1 小節の拍の数: 2 / 3 / 4 / 6。キー名 beats_per_bar はそのまま)
beat › beat数値1拍頭から「beat の長さ」(初期値 100 ms)のあいだ 1、それ以外 0
beat › beat_phase数値0.25拍の中の位置。拍頭 0 → 次の拍頭の直前 1 ののこぎり波
beat › beat_tri数値0.5拍の中で 0 → 1 → 0(三角波。拍の真ん中で 1)
beat › beat_sine数値0.5拍の中で 0 → 1 → 0(なめらかな正弦波。拍の真ん中で 1)
beat › beat_hit数値0.72拍頭で 1、そこから「beat_hit の減衰」(初期値 300 ms)の時定数で 0 に向かって減る
beat › beat_square数値1拍の前半 1、後半 0
beat › beat_count数値3小節の何拍目か(1〜拍子の数)
beat › downbeat数値0小節の頭(1 拍目)の beat › beat。1 拍目の拍頭だけ 1
beat › bar_phase数値0.625小節の中の位置(0 → 1)
beat › half_phase数値0.1252 拍で 0 → 1
beat › double_phase数値0.5半拍で 0 → 1
beat › bpm_detected数値127.9音から推定した BPM。まだ推定できていなければ 0
beat › bpm_confidence数値0.8推定の確からしさ(0〜1)。0.5 以上で自動追従が効きます

MIDI の枠(midi フォルダ、16 キー)

MIDI コントローラーのつまみ・ボタンの値を、OtoMotion の計測とは関係なく XPression にそのまま送る枠です(18 章)。割り当てが無い枠、終了時の最終フレーム、MIDI のライブラリが読めない PC では 0 です。

キー型例内容
midi › s1 〜 midi › s16数値0.6250〜1(小数 3 桁)。つまみなら割り当ての範囲(0〜1 の中)に割り付けた値、ボタンなら 0 か 1(「押している間だけ」なら押している間 1)
位置や波形のキー(beat › beat_phase など)は小数 4 桁、beat › bpm は小数 2 桁、beat › bpm_detected は 1 桁、beat › bpm_confidence は 3 桁に丸めて送ります。1 通は約 2.0 KB(8 系統で約 2.4 KB)。60 回/秒で約 140 KB/秒です。

12. 本番の流れ

前日〜当日の準備

  1. DataLinq Server の設定(9 章)が済んでいることを確認
  2. OtoMotion を起動 → プリセットタブで会場プリセットを呼び出す(初めての会場なら 5 章で設定して保存)
  3. 卓のテストトーンで 今を基準に → M / S が −24.0(基準値)に乗るのを確認
  4. ヘッダーが「入力: (デバイス名)」「XPression: 接続中」「送信: 実測 60」になっているのを確認
  5. XPression のシーンをプレビューに出し、バーと数値が動くのを確認。無音で −∞ になるのも確認
  6. ヘッダーの下に黄色の帯(テスト信号)が出ていないこと、「設定」タブに黄色い点(未保存の変更)が付いていないことを確認し、ライブタブにしておく

本番

  1. 番組の頭で リセット → 開始(「起動時に自動で開始」をオンにしていれば、リセットだけ)
  2. Integrated と基準との差(Integrated の右の小さな数字)を見ながら運用。TP 超過が頻発するなら卓のリミッターを確認
  3. CM や休憩を除外したいときは 停止 → 再開で 開始

撤収

  1. XPression のメーターシーンをテイクアウト
  2. OtoMotion の 終了(バーが 0 の最後の 1 通を送ってから終わります)
OtoMotion が途中で落ちた場合、XPression には最後の値が残ります(バーが伸びたまま)。先にシーンをテイクアウトしてから OtoMotion を起動し直してください。

13. 別の PC に送る

計測 PC(例: ノート)オーディオ IF → OtoMotion送り先 IP = 192.168.1.20 / ポート 7327 XPression PC(192.168.1.20)DataLinq Server(TCP Server 7327)→ XPressionファイアウォールで 7327 の受信を許可 LAN(TCP)
図 32: 計測 PC と XPression PC を分ける構成
  1. XPression の PC の IP アドレスを調べます(コマンドプロンプトで ipconfig)
  2. XPression の PC の Windows ファイアウォールで、TCP 7327 の受信を許可します(初めて DataLinq Server を起動したときに出る許可ダイアログで、「プライベート」と「パブリック」の両方にチェックを入れて許可します。会場のネットワークは Windows では「パブリック」扱いのことが多く、プライベートだけでは届きません)
  3. OtoMotion の設定タブ →「XPression へ送る」の「送り先 IP」にその IP を入れて 設定を反映して保存
  4. ヘッダーが「XPression: 接続中」になれば OK。ならないときは ping、ポート、ファイアウォールの順に確認

14. トラブルと対処

症状原因と対処
「入力: 無信号」、赤い帯「入力デバイスを開けません」デバイスが抜けている、別のアプリが占有している、または設定のデバイス名が違う。差し直せば 2 秒ごとの再接続で戻ります。戻らなければ設定タブの「デバイスと系統」でデバイスを選び直す
赤帯「入力デバイス(…)が見つかりません。挿し直すと自動でつなぎ直します」、ヘッダーが「入力: (デバイス名)(見つかりません)」選んだオーディオインターフェイスが抜けた(ケーブル、USB ハブの電源を確認)。取り込みは止まり、メーターは −∞、XPression の status は nosignal になります。挿し直せば数秒で自動で戻ります。戻らないときは設定タブの「デバイスと系統」でデバイスを選び直す。同じ名前のデバイスが 2 台つながっている場合は、片方が抜けても検知できません(名前で見分けているため)。設定タブのデバイス欄は「(見つかりません)デバイス名」のままなので、ほかの設定を変えて保存しても入力は変わりません
赤い帯「入力が無い系統: 5, 6, 7, 8(このデバイスは 4ch。系統ごとの L/R をデバイスのチャンネル数以内にしてください)」、その系統のカードが薄い帯に出た系統の L ch / R ch がデバイスのチャンネル数を超えている。その系統は 1/2 で動いています。設定タブの「デバイスと系統」の系統の表で直すか、系統の数を減らす
「XPression: 未接続」DataLinq Server が起動していない、ソースが TCP Server / 7327 になっていない、送り先 IP が違う、ファイアウォール。DataLinq Server を先に起動すれば 1 秒以内に自動でつながります
「XPression: 接続中」なのに XPression に値が出ない送り先のポートで別のソース(または別のアプリ)が待ち受けていないか。DataLinq Server のソースのポートと、OtoMotion の送り先ポートが同じか。1 つのポートは 1 つのソースしか使えません。2 台の OtoMotion が同じソースに送ると値が混ざります。DataLinq Server のソースは TCP Server(Client ではない)にします。「ポートが開いている」ことと「正しい相手が待っている」ことは別です
XPression に値は来るが更新されないテキストオブジェクトの Live Update がオフ。または Start / End of Message が OtoMotion と食い違っている
XPression のバーが 0 でも細く残るスクリプトに bar.Visible = (v > 0) を足す(10.2 参照)
値が卓のメーターと合わないテストトーンで 今を基準に。それでも合わないときは卓側の基準(−20 dBFS = 0 VU など)を確認
音が出ていない(卓や IF に何もつないでいない)のにバーが動く。ヘッダーの入力表示が黄色の「入力: テスト信号(…)」テスト信号がオンになっている(ヘッダーの下に黄色の帯「テスト信号を流しています」も出ます)。設定タブのテスト信号のページで「テスト信号を使う」を外すと元のデバイスに戻ります(起動し直しても自動でオフになります)
赤帯「音声が届いていません(デバイスが抜かれた可能性)。再接続を試みます」が出て、デバイスは抜いていないMac では、マイクの許可が外れている可能性があります。OtoMotion.app を入れ替えた・作り直したあとは、以前の許可が無効になります。ターミナルで tccutil reset Microphone com.dekobokotech.otomotion を実行してから OtoMotion を起動し直し、マイクへのアクセスを許可してください(システム設定 → プライバシーとセキュリティ → マイク でも確認できます)
すべて −∞ のまま入力が無音。デバイスのチャンネル指定(L ch / R ch)が空いている入力を指している。Mac ではマイクの許可を拒否している
バーがカクつく回数/秒が 10 になっている → 60 に。XPression の PC が重ければ 30。会場ビジョンで動きが忙しいなら「下降の遅さ」を 500〜1500
起動したのに画面が出ないすでに動いている(画面を閉じただけ)。もう一度 bat を実行すると動いている画面が開きます。Mac は Chrome で http://127.0.0.1:8830/
「すでに起動しています」2 つ目は起動できません。動いている画面を使ってください
起動できません(ログを確認)%APPDATA%\OtoMotion\logs\(Mac は ~/Library/Application Support/OtoMotion/logs/)の当日のログを開き、最後の数行を確認。設定ファイルが壊れていた場合は自動で初期設定に戻り、壊れたファイルは state.json.broken として残ります
CROWD POWER: NEW RECORD! が出ない/BEST が今の値のまま付いてくるvar_best・var_rec・var_frame・var_armed・var_elapsed の 5 つの隠しテキストが揃っていて、中身が空になっているか確認。最初の歓声ですでに 100 近くまで達していると更新の余地が無いので、バーの動きの上限をゆるめてください
OtoMotion が落ちて XPression のバーが伸びたままシーンをテイクアウト → OtoMotion を起動し直す。DataLinq Server は最後の値を保持し続ける仕様です
起動するとライセンスの画面だけが出る(「ライセンスが見つかりません」「ライセンスの期限が切れています(○○ まで)」「ライセンスのファイルが正しくありません」)有効なライセンスが無い状態です。計測も XPression への送信もしません。17.1 の手順でライセンスを読み込んでください。期限切れなら更新ファイル(メールの添付)を、見つからないならメールでお送りした license.json を読み込みます
ヘッダーに黄色で「ライセンス 残り N 日」期限の 30 日前からの予告です。更新ファイルが届いていれば 17.2 の手順で読み込みます。「ライセンス 今日まで」と出た日は、日付が変わってから再起動すると使えなくなります(動いている間は止まりません)
黄色の帯「この PC の日付がずれている可能性があります」PC の日付が、ライセンスの発行日か前回使った日より前です。使えますが、Windows / macOS の日付と時刻を確かめてください。直したあとに「ライセンスの期限が切れています(○○ まで)」と出たら、support@dekobokotech.com にライセンス ID を伝えてください(更新ファイルをお送りします)

15. 計測の仕様

項目内容
規格ITU-R BS.1770-4(K 特性フィルタ、ゲート付き Integrated、True Peak)、EBU Tech 3342(LRA)、ARIB TR-B32(基準 −24 LKFS)
処理単位10 ms ブロック。サンプルレートはデバイスに従う(44.1 / 48 / 96 kHz で確認)
Momentary / Short-term400 ms / 3 s の移動平均。10 ms ごとに更新
Integrated400 ms ブロック・75 % 重なり。絶対ゲート −70 LUFS、相対ゲート −10 LU。長時間でも処理時間が増えない実装(ヒストグラム)
LRAShort-term の分布の 10〜95 % 点の幅。絶対ゲート −70、相対ゲート −20 LU。1 秒ごとに更新
True Peak4 倍オーバーサンプリング(96 kHz 以上は 2 倍)。L / R の最大
確認済みの精度EBU Tech 3341 / 3342 の適合テスト信号で M / S / I ±0.1 LU、LRA ±1 LU、True Peak +0.2 / −0.4 dB
無音の扱い−70 LUFS 未満は −∞(表記は変更可)。バーは 0
送信TCP クライアント。JSON(UTF-8)+区切り文字。10〜60 回/秒。切断時は 1 秒ごとに再接続。終了時に status=offline の 1 通を送る
監視画面127.0.0.1 のみ(他の PC からは見えません)。ポート 8830(使用中なら 8831 …)。DokoDoko・KoeBattle・DBTCODER と同じ PC で同時に動かしても番号はぶつかりません

16. BPM(拍に合わせる)

会場ビジョンの演出を曲の拍に合わせて動かすために、OtoMotion は BPM(テンポ)と拍の位置も XPression に送ります。拍の位置は PC の時計から計算するので、音が入っていなくても、デバイスが開けていなくても一定のテンポで動き続けます。BPM は 3 つの方法で決められます。

BPM のカード
図 33: ライブタブの右レールの BPM のカード。今の BPM と拍子、拍のインジケータ、TAP・同期・÷2・×2、手入力、検出値・採用・自動追従

16.1 BPM のカードの見方

ライブタブの右レール、「INTEGRATED 計測」のすぐ下にあります。大きな数字の右のプルダウンが拍子です。

部分意味
大きな数字今の BPM(XPression に送っている beat › bpm と同じ)
丸(拍子の数だけ)今の拍が光ります。1 拍目(小節の頭)は濃いオレンジで光の輪が付き、他は明るいオレンジ。拍頭で明るく、次の拍に向けて暗くなります(beat › beat_hit と同じ動き)
検出 127.9 · 信頼 0.8音から推定した BPM と、その確からしさ(0〜1)。まだ推定できていないときは「検出 —」。信頼が 0.5 未満のあいだは薄く表示され、採用は押せません

16.2 ボタンとキー

ボタン何が起きるか
TAP(T キー)拍に合わせて 4 回ほど押します。2 回目から BPM が決まり、直近 8 回までの間隔の中央値で計算するので、1 回ずれても大きく乱れません。2 秒以上空けると最初から数え直します。TAP で決めたテンポは、今の拍の位置を保ったまま切り替わります(拍の頭を合わせるのは 同期)
同期(S キー)押した瞬間を 1 拍目(小節の頭)にします。曲の頭や小節の頭で押します
÷2 / ×2BPM を半分 / 2 倍にします(30〜300 を超える場合は何もしません)。自動検出や TAP が半分・倍の値になったときの修正に
設定左の欄に入れた BPM(30〜300)にします。欄で Enter を押しても同じ
採用「検出」の値を BPM にします(1 回だけ。以後は追従しません)。信頼が 0.5 以上のときだけ押せます
キーボードの T / S は、名前などの入力欄に文字を打っているあいだは効きません(入力欄の外をクリックしてから押します)。TAP・設定・×2 / ÷2・採用で決めた BPM は、その場で保存され、次回の起動でも同じテンポで始まります。
MIDI コントローラーのボタンに TAP・同期・×2・÷2・採用を、つまみに BPM の値を割り当てられます(18 章)。7 bit の CC だと 60〜180 で約 1 BPM 刻みなので、細かく合わせたいときはピッチベンドを割り当ててください。MIDI で動かした BPM も、TAP と同じくその場で保存されます(1 秒ほど動きが止まってから 1 回)。自動追従・拍子・検出に使う系統もボタンやつまみに割り当てられます(18 章)。

16.3 設定項目

次の項目は選んだ(入力した)時点ですぐ反映・保存されます(設定を反映して保存 を押す必要はなく、「未保存」の表示にもなりません)。拍子と自動追従はライブタブの BPM のカード、検出に使う系統・beat の長さ・beat_hit の減衰は設定タブの「BPM」のページ(6.5)にあります。自動追従のオン・オフも本番中にそのまま切り替えられます。

会場プリセットに入るのは 拍子・検出に使う系統・beat の長さ・beat_hit の減衰だけです。BPM と自動追従はプリセットに入りません(プリセットを呼び出しても、今のテンポと自動追従の状態はそのまま)。

拍子

意味
1 小節の拍の数。beat › beat_count が 1 からこの数まで数え、beat › downbeat と beat › bar_phase の区切りになります
選択肢
2/4(2 拍)・3/4(3 拍)・4/4(4 拍)・6/8(6 拍)
初期値
4/4

自動追従

意味
オンにすると、検出の信頼が 0.5 以上のとき 0.5 秒ごとに検出値を BPM として採用し、拍の位置も音の拍頭に寄せます(ずれが 1/4 拍以内なら少しずつ、それより大きければ一度で合わせ直します)
初期値
オフ
注意
オンのあいだは、TAP や手入力で決めた BPM も次の検出で上書きされます。曲が決まっている本番はオフにして、TAP か手入力で運用するのが確実です

検出に使う系統

意味
どの系統の音から BPM を推定するか。帯域フィルタの前の音(その系統の L / R をまとめたもの)を使います。有効な系統より後ろを選ぶと検出は止まります
初期値
系統 1
例
メインのミックスより、キックとベースがはっきり入っている系統(バンドのステムなど)のほうが安定します

beat の長さ ms

意味
beat › beat(と beat › downbeat)が拍頭から 1 でいる時間。BPM が高いときは半拍までに抑えます(1 のまま張り付かないように)
範囲
40〜500
初期値
100
注意
XPression が必ず 1 を受け取れるのは、この長さが「1000 ÷ 回数/秒 + 1 フレーム」以上のときだけです(60 回/秒なら約 50 ms、10〜20 回/秒なら 100 ms 以上)。短いと拍によっては 1 が届かず、点滅が抜けます

beat_hit の減衰 ms

意味
beat › beat_hit が拍頭の 1 から減っていく速さ(時定数)。この時間で約 0.37 まで下がります
範囲
20〜2000
初期値
300

16.4 自動検出のしくみと限界

選んだ系統の音から、低い音(20〜150 Hz。キックやベース)を重く見て「音が急に大きくなった瞬間」を拾い、直近 6 秒のくり返しの間隔から BPM を推定します。推定は 0.5 秒ごとに更新されます。

テスト信号のキックで確かめる手順: 音源が無くても、6.2 テスト信号で検出の動きを確かめられます。種類を キック(BPM 検出用)、キック BPM を例えば 128、レベルを −23 dBFS 以上(−12 dBFS なら確実)にして「テスト信号を使う」をオンにします。テスト信号は全系統に同じ音を流すので、検出に使う系統はどれでも構いません。6〜8 秒で「検出 127.7 · 信頼 0.8」のように出るので、採用 を押すか、自動追従をオンにして BPM が合うのを確かめます(検出は 0.1 BPM ほどずれることがあります)。キック BPM を変えると、入力を開き直して数秒後に新しいテンポに付いてきます。60〜90 BPM のようにゆっくりしたテンポは信頼が 0.5 に届きにくいので、100〜180 で試してください。確かめ終わったら必ずオフに戻してください。

16.5 XPression での使い方

拍のキーは全部数値で、60 回/秒で送られます(11 章の「拍(beat フォルダ、15 キー)」)。テキストオブジェクト(非表示でよい)でキーを受け、10.2 と同じ要領でスクリプトから動かします。

拍ごとに点滅(beat › beat → Visible)

' beat › beat を受けているテキストオブジェクトのスクリプト
dim lamp as xpBaseObject
Scene.GetObjectByName("BeatLamp", lamp)
lamp.Visible = (text / 1 > 0)      ' 拍頭から「beat の長さ」のあいだだけ出る

拍に合わせて回す(beat › beat_phase → 回転)

' beat › beat_phase(0→1 を 1 拍で繰り返す)を受けているテキストオブジェクトのスクリプト
dim star as xpBaseObject
Scene.GetObjectByName("Star", star)
star.rotationZ = (text / 1) * 360  ' 1 拍で 1 回転(1 小節で 1 回転なら beat › bar_phase)

拍頭でふくらませる(beat › beat_hit → 拡大)

' beat › beat_hit(拍頭で 1、だんだん 0 へ)を受けているテキストオブジェクトのスクリプト
dim logo as xpBaseObject
dim v as Double
Scene.GetObjectByName("Logo", logo)
v = 1 + 0.2 * (text / 1)           ' 拍頭で 1.2 倍 → 元の大きさへ
logo.scaleX = v
logo.scaleY = v

拍ごとに色を替える(beat › beat_count → 色)

' beat › beat_count(1〜拍子の数)を受けているテキストオブジェクトのスクリプト
' 色違いのオブジェクト Color1〜Color4 を重ねておき、今の拍の 1 つだけ出す
dim obj as xpBaseObject
dim n as Integer
dim i as Integer
n = text / 1
for i = 1 to 4
  Scene.GetObjectByName("Color" & i, obj)
  obj.Visible = (i = n)
next
scaleX と Visible は実機(XPression 12.5)で確認済みです。回転(rotationZ)と scaleY のプロパティ名は、お使いの版の Script Editor の補完で確かめてください。
キー向いている演出
beat › beat / beat › downbeat点滅・フラッシュ(小節の頭だけなら beat › downbeat)
beat › beat_hit拍頭で跳ねて余韻が残る動き(拡大・明るさ)
beat › beat_sine / beat › beat_tri拍に合わせた呼吸のようななめらかな往復(0→1→0)
beat › beat_phase / beat › half_phase / beat › double_phase / beat › bar_phase回転・横スクロールなど一定の速さで進む動き(1 拍・2 拍・半拍・1 小節で 1 周)
beat › beat_square拍の前半と後半で切り替える(左右に振るなど)
beat › beat_count拍ごとに違うものを出す(色替え・順番に光る)

17. ライセンス

OtoMotion は期間ライセンスで動きます。有効なライセンスのファイル(license.json)が無いと、起動はしますがライセンスの画面だけが出て、計測も XPression への送信もしません。ライセンスは PC ごとの縛りやインターネット接続を使いません。読み込んだファイルは設定と同じフォルダ(%APPDATA%\OtoMotion、Mac は ~/Library/Application Support/OtoMotion)に置かれ、アプリを入れ替えても残ります。

17.1 ライセンスを読み込む

  1. メールの添付 license.json(license.txt でも可)をデスクトップかダウンロードに保存します
  2. OtoMotion を起動します。ライセンスが無いときはライセンスの画面が出て、見つかったファイルが「置き場所・宛名・期限」の一覧で出ます
  3. 一覧の 読み込む を押します。読み込めると TOP 画面に進みます
  4. 一覧に出ないときは もう一度探す(ファイルを保存し直したあと)か、ファイルを選んで読み込む でファイルを直接選びます
探す場所は、アプリのフォルダとその 1 つ上、デスクトップ、ダウンロード、USB などのドライブの一番上です。3 秒で探しきれなかった場所は「探せなかった場所: ○○」として出ます。受け付けないファイルは灰色になり、理由(期限切れ・別の納品先のファイル・以前お送りしたもの など)が付きます。
Mac では、最初の起動でデスクトップ・ダウンロード・USB へのアクセスを尋ねる画面が出ます(この候補探しのためです)。「許可しない」を押すとデスクトップやダウンロードのライセンスが一覧に出ません。システム設定 › プライバシーとセキュリティ › ファイルとフォルダ で OtoMotion をオンにしてから、OtoMotion を再起動してください。

17.2 期限と更新

期限の 30 日前から、ヘッダーに黄色で「ライセンス 残り N 日」が出ます(押すと 設定 › ライセンス)。期限の当日いっぱいまで使え、翌日以降に起動するとライセンスの画面が出ます。動いている間は期限を越えても止まりません。

  1. 更新ファイル(メールの添付 license.json)をデスクトップに保存します
  2. 設定タブ › ライセンス を開き、一覧の 読み込む を押します(期限切れで起動したときは、最初に出るライセンスの画面で同じ操作)
  3. 「残り」が新しくなれば完了です。再起動は要りません

設定 › ライセンスには、宛名・ライセンス ID・種類(期間/買い切り)・期間・残り日数が出ます。お問い合わせのときはライセンス ID をお知らせください。

17.3 前のライセンスに戻す

取り違えて別のファイルを読み込んだときは、設定 › ライセンスの 前のライセンスに戻す で 1 世代前に戻せます(読み込みの直前のものだけ控えています)。今使えているライセンスより古い通番のものには戻せません。

17.4 困ったとき

症状対処
一覧に見つからないファイルの名前が license…json / license…txt か、置き場所がデスクトップ・ダウンロード・USB の一番上かを確かめる。ファイルを選んで読み込む なら場所を問いません
「ほかの製品(DokoDoko など)のライセンスです」同じ PC に挿さっている別の製品の USB のファイルを見つけただけです。その USB は挿したままで大丈夫です。OtoMotion のライセンスを選んで読み込んでください
「ほかの納品先のファイルか、書き換えられています」「文字コードが変わっています(メモ帳などで保存し直されたようです)」メモ帳などで開いて保存し直すと署名が合わなくなります。メールの添付をそのまま保存し直してください
黄色の帯「この PC の日付がずれている可能性があります」PC の日付と時刻を確かめてください。使えなくなることはありません
時計を直したあとに「ライセンスの期限が切れています(○○ まで)」と出る(期限切れと出るのに期限はまだ先)日付が未来にずれた状態で使ったため、前回使った日の記録が先に進んでいます。support@dekobokotech.com にライセンス ID を伝えてください。更新ファイルを読み込むと直ります
期限当日の深夜に再起動すると使えなくなる期限の当日いっぱいまで使えますが、日付が変わってから起動すると期限切れです。本番の前日までに更新ファイルを読み込んでおいてください
会場の PC がオフラインで、更新ファイルを受け取れないスマホでメールを受信して添付を保存し、USB か AirDrop(Mac)で PC に渡してください。USB の一番上に置けば一覧に出ます
Mac: 最初の起動のあと ライセンスが一覧に出ない/音が出ない最初の起動で出るアクセスの確認(デスクトップ・ダウンロード・USB・マイク)で「許可しない」を押した可能性があります。システム設定 › プライバシーとセキュリティ › ファイルとフォルダ(音が出ないときはマイクも)で OtoMotion をオンにしてから、OtoMotion を再起動してください

18. MIDI・OSC で操作する(MIDI コントローラー)

USB の MIDI コントローラー(つまみ・フェーダー・ボタン)で、本番中に OtoMotion のパラメーターを動かしたり、ボタンを押したり、XPression の演出を直接動かしたりできます。機種は決めていません。Resolume と同じく MIDI Learn で何でも割り当てられます。割り当ては midi.json(設定と同じフォルダ)に保存され、会場プリセットには入りません。OSC のアプリ(TouchOSC・Companion・Vertex など)からも同じ仕組みで操作できます(19 章)。

MIDI はアプリの本体が受けます。監視画面の窓を閉じていても効きます。MIDI の機器を抜いても、計測と XPression への送信は止まりません。

18.1 割り当てる

設定タブ › MIDI・OSC を開くと、割り当てられるパラメーターが一覧で並びます(18.2)。行から割り当てる手順は次の 3 つです。

  1. 触りたい行の 割り当てる を押します。行が黄色くなってボタンが「動かしてください」に変わり、画面の上に青い帯が出ます。割り当てが決まると、行に緑の「登録済み」と CC 21 · ch1 のような印が出ます
  2. コントローラーのつまみかボタンを動かします。その場で割り当てが決まり、保存されます。行に CC 21 · ch1 のようなラベルと機器の名前が付きます
  3. これで、そのつまみやボタンでパラメーターが動きます。ラベルの隣の 外す で 1 つずつ外せます
ラベルの見方: CC 21 · ch1 の CC はつまみ・フェーダーや一部のボタンが送ってくる番号(0〜127)、ch は MIDI のチャンネル(1〜16)です。Note 41 · ch1 の Note はパッドや鍵盤のことで、離すことを「ノートオフ」と呼びます。PB · ch1 はピッチベンド(ホイールやレバー)で、0〜16383 の細かい段階があります。

ライブ画面のボタン(開始・停止・TAP など)や設定タブの入力欄も、ヘッダーの MIDI を押してからクリックすると割り当てられます(割り当てられる項目が青く光ります。クリックしても本来の動き――ボタンを押す・欄を編集する――はしません)。タブや設定の左の一覧の切り替えはふつうにできます。Esc を押すと、割り当てを待っている最中ならその待ちだけを取り消し、待っていなければモードを抜けます。1 つのつまみを複数のパラメーターに割り当てても構いません(1 本のフェーダーで系統 1 と 2 の補正を同時に、など)。

待ち受けが始まると、画面の上に「MIDI の割り当て」という青い帯が出ます(どのタブに移っても出たままです)。今の段はこの 3 つです。

段表示
① まだ項目を選んでいない① 項目をクリック
② 項目を選んで待っている② コントローラー(MIDI・OSC)を動かしてください(割り当て先:〈パラメーター名〉)。流しっぱなしの OSC は止めてください
③ 割り当てたあと(3 秒ほど表示)③ 割り当てました:CC 21 · ch1 → 〈パラメーター名〉

③ は通常この例のように、動かした操作子とパラメーター名まで出ます。情報が無いときだけ見出しの「③ 割り当て完了」のままになります。帯の右には Esc で取り消し と出ます。ヘッダーの MIDI から始めたとき(ライブ画面のボタンや設定欄を割り当てるとき)だけ Esc で取り消し/もう一度 Esc で終わる になり、Esc をもう一度押すとモードごと抜けられます。

割り当てのある行では 割り当てる ボタンが無くなります。別のつまみやボタンに変えたいときは、先に 外す で今の割り当てを外してから、もう一度割り当ててください。行を押すと開く編集欄(つまみの最小・最大と反転、切り替え先のモード。18.5)も、割り当てのある行だけで開きます。一覧左上の「割り当て済みだけ」に切り替えると、割り当てのある行だけになります(ページを開き直しても覚えています)。

18.2 割り当てられるパラメーター

一覧は「音の大きさ → バーの動き → 基準値・TP → BPM・拍 → 計測・プリセット → テスト信号 → XPression に送る値」の順に並びます。系統の行は使っている系統の数だけ、プリセットの行は保存してある数だけ出ます。

まとまりパラメーター動き値の扱い
音の大きさ系統ごとの補正(例: 「メインの補正」「系統 2 の補正」)つまみその場だけ(18.4)
音の大きさ系統ごとの帯域(全帯域 → 低域 → 中域 → 高域)切り替え(18.5)その場だけ。切り替えた系統だけ Integrated・LRA・TP 最大がリセットされます。音は途切れません
バーの動きバーの下限・上限、平滑化、下降の遅さ、ピーク下限・上限、ピークの下降、ピークのホールドつまみその場だけ
基準値・TP基準値、TP 上限、TP 超過の表示を保つ時間つまみその場だけ(ライブ画面のバーの線と右レールの「基準値 / TP」は動かした値になります)
BPM・拍BPM の値、TAP・同期・×2・÷2・採用つまみ/ボタンTAP と同じく保存されます(16 章)
BPM・拍自動追従、拍子(2→3→4→6)、自動検出に使う系統(1→2→…)切り替え画面のボタンと同じく保存されます(1 秒ほど止めてから 1 回)
BPM・拍beat の長さ、beat_hit の減衰つまみその場だけ
計測・プリセット計測の開始・停止・リセット、系統の「今を基準に」、会場プリセットの呼び出しボタン画面のボタンと同じ
計測・プリセット起動時に自動で開始切り替え押したときに保存されます
テスト信号オン・オフ切り替え画面のチェックと同じく保存されます(18.5)
テスト信号種類(正弦波 → スイープ → キック → ピンクノイズ → 無音)、テスト信号の音量、テスト信号の周波数、テスト信号のキック BPM切り替え/つまみその場だけ。音は途切れません
XPression に送る値s1〜s16つまみでもボタンでも18.6

パラメーターの名前は単位を含みません。名前の下の小さな文字は、ボタンなら「ボタン」、切り替えなら「切り替え」、XPression に送る値なら枠の動き方(0〜1、0 / 1 など)、つまみで動かす数値ならその範囲と単位です。数値の範囲は、割り当てがちょうど 1 つのときはそのつまみの最小〜最大、それ以外は既定の範囲です(例: 補正は既定で −20〜+20 dB)。値の欄は、dB などの値(補正・バーやピークの上限・TP 上限)がプラスのときは + が付きます(例: +3.1 dB)。基準値やテスト信号の音量はマイナスの範囲しかないので、+ が付くことはありません。

使えない行(使っていない系統、無くなったプリセット、今の種類では意味の無い周波数・キック BPM)は灰色になって理由が出ますが、割り当ては消えません。外す で割り当てを消すこともできます。入力デバイス・チャンネル・系統の数・XPression の送り先・言語・ライセンスは MIDI では触れません(変えると音や接続が途切れるためです)。

18.3 今受けた信号

設定 › MIDI・OSC の上の帯に、直近に受けた 1 件が「機器 つまみ CC 16(ch1) 値 92 → バーの上限(ラウドネス):−1.2 dB」のように出ます(3 秒で薄くなります)。1 つのつまみやボタンを複数のパラメーターに割り当てているときは、先頭の 1 件のあとに「(ほか 1 件)」のように残りの数が付きます。どこにも割り当てていない信号は「まだどこにも割り当てられていません」、反映しなかったときはその理由(施錠中・系統を使っていない・プリセットが無い・今の種類では使わない・割り当てに使った)が出ます。動いたパラメーターの行は 1.5 秒黄色く光ります。

ボタンを離したとき(ノートオフなど)は、この表示を上書きしません(s1〜s16 の「押している間だけ」を除く)。押した瞬間の内容が表示されたまま残ります。「押している間だけ」で割り当てた s1〜s16 は例外で、離した瞬間に値 0 として表示が更新されます。

18.4 MIDI で動かした値の印(その場だけの値)

つまみで動かした補正やバーの範囲などは保存されません。設定タブの入力欄には保存してある値が出たままで、欄の隣に MIDI −12.0 のような印が付きます(帯域や種類のような選択肢は「MIDI 低域」のように文言で出ます)。一覧の「今の値」も黄色で出ます。印か行のボタンで 2 つ選べます。

ボタン何が起きるか
この値を保存MIDI の値を保存値に取り込んで保存し、印が消えます(欄の値も変わります)
消すMIDI の値を捨てて、保存してある値に戻します

MIDI の値は、会場プリセットの呼び出しとOtoMotion の再起動でも消えます(保存してある値に戻ります)。設定を反映して保存 では消えません(本番中に送り先などを直しても、つまみで合わせた値は戻りません)。印のある項目の欄を直して保存すると、保存値は変わりますが、効いているのは MIDI の値のままです(欄の値を効かせたいときは「消す」)。

「今を基準に」の直前 3 秒以内に補正のつまみを動かしていると、新旧の補正が混ざった値で計算されます。ボタンを押す前に 3 秒ほどつまみを止めてください。

18.5 切り替えの先、テスト信号と帯域

帯域・拍子・自動追従・検出の系統・自動開始・テスト信号のオン・オフと種類は「切り替え」です。割り当てのモードが 2 つあり、行を押すと開く編集欄で変えられます。

モード動き
押すたびに次へ(ノート・CC の既定。つまみに割り当てた CC も同じです)押すたびに次の選択肢へ進みます(最後の次は先頭。オン・オフは反転)
つまみで選ぶ(ピッチベンドはこのモードしかありません)つまみの位置を選択肢の数で等分して選びます(オン・オフは半分から上でオン)
CC はつまみだけでなく一部のボタンも送ってくるので、OtoMotion は区別できません。そのため CC は既定で「押すたびに次へ」になり、値が 64 未満から 64 以上に上がった瞬間だけ 1 回分と数えます(下げてからもう一度上げると次の 1 回)。帯域や自動追従のような切り替えをフェーダー(CC)で回しているときも、TAP・開始のようなボタン先に CC を割り当てたときも同じ扱いです。つまみの位置に合わせてそのまま選びたいときだけ、行の編集欄でモードを「つまみで選ぶ」に変えてください(ピッチベンドは位置がそのまま伝わるので、既定でなくこのモードしかありません)。
検出の系統と帯域はボタン(押すたびに次へ)がおすすめです。つまみで選ぶと、通り過ぎた系統・帯域ごとに検出のやり直しや計測のリセットが起きます(同じ段の中では起きません)。

18.6 XPression に送る値(midi › s1〜s16)

MIDI の値を OtoMotion の計測とは関係なく XPression にそのまま送る 16 個の値です。つまみなら 0〜1(割り当ての範囲を 0〜1 の中で狭めたり反転したりできます)、ボタンなら 0 か 1(「押している間だけ」なら押している間 1)。名前は付けません(XPression 側の用途はプロジェクトごとに違うため)。XPression では DataLinq で Column = midi、Row = s1〜s16 のように、ほかのキーと同じ要領でひも付けます(10 章)。設定 › MIDI・OSC の一覧の最後に、今の値がバーで見えます。

18.7 つないでいる機器

設定 › MIDI・OSC の一番下に、見つかった MIDI 入力の一覧が出ます。初めて見つけた機器は「受ける」がオンです。使わない機器はチェックを外すと、その機器の信号は無視されます(次回もオフのまま)。信号が来ると点が光ります。

状態意味
受けています(緑)この機器の信号を受けています
受けていません(チェックで受ける)「受ける」をオフにしています
つながっていない前に見つけた機器が今は見つかりません。挿し直したら、設定 › MIDI・OSC のページを開き直してください(この版では自動でつなぎ直しません)
別のアプリが使っていますWindows では MIDI の入力は 1 つのアプリしか開けません。DAW などを閉じてから、設定 › MIDI・OSC のページを開き直してください
同じ名前の機器を 2 台つないだときは区別しません(両方からの信号が同じ割り当てに効きます)。Windows では機器の名前の末尾に付く番号(nanoKONTROL2 1 の「1」)を無視するので、別の機器を先に挿しても割り当てはそのまま効きます。「受ける」をオンに戻した直後(0.2 秒ほど)の最初の 1 つは届かないことがあります。

18.8 補足

19. OSC(送る・受け取る)

OSC(Open Sound Control)は、映像・照明・操作用のアプリが LAN でやり取りする UDP のメッセージです。OtoMotion は 送る(XPression に送っているのと同じ計測値を Resolume・TouchDesigner・照明卓・Ross Vertex などへ)と、受け取る(TouchOSC・Bitfocus Companion・Vertex などから OtoMotion を操作する)の両方ができます。設定は osc.json(設定と同じフォルダ)に保存され、会場プリセットには入りません。XPression への送信とは別の出口で、互いに影響しません。

用語: アドレス(アドレス)は /otomotion/g1/mbar のような文字列の宛先、引数(アーギュメント)はアドレスと一緒に送る値(数や文字)、ポートは同じ IP の中でアプリを区別する番号(1〜65535)です。OSC は UDP という通信方式を使い、確認応答がありません。画面の「送信中」はこの PC から出ているという意味で、相手が受けたことまでは分かりません。相手が受けていないことが分かるのは、同じ LAN で相手のアプリが起動していない(ポートが閉じている)ときなど一部の場合だけです。

19.1 送る: 送り先を足す

  1. 設定タブ › OSC で送る で + 送り先を足す を押します(16 件まで)
  2. IP(IPv4 の数字だけ。ホスト名は使えません)とポート(Resolume の既定は 7000)を入れます。見出しの名前はクリックで変えられます(空なら IP:ポート が出ます)
  3. 1 秒に N 回(1〜60、既定 30)を決めます。Wi-Fi の iPad(TouchOSC)宛ては 15〜30 を勧めます
  4. 名前の左の送るにチェックを入れると送り始めます。変えた項目はすぐ保存されます。新しく足した送り先は「全部送る」が既定でオンなので、照明卓など「足したアドレス」だけを使いたいときはオフにしてください

送り先ごとに「全部送る」(決まった名前で全部。19.2)と「足したアドレス」(好きな値を好きなアドレス・範囲で。19.3)を持てます。ブロードキャスト(同じ区画=サブネットの機器全部に一度に届く特別な IP。192.168.1.255 なら 192.168.1.* の機器全部に届きます)も使えます。有線+Wi-Fi+仮想アダプターのように複数の口がある PC では 255.255.255.255 は 1 枚にしか出ないので、サブネット向けを使ってください。同じネットワークに OtoMotion の PC が 2 台あって同じ機器へ送るなら、「アドレスの頭」を PC ごとに変えます(/otomotion_a・/otomotion_b)。

19.2 「全部送る」のアドレスと値

アドレスは XPression の階層(11 章)と同じ並びで、頭(既定 /otomotion)の下に系統 g1〜g8、拍 beat、MIDI の枠 midi、共通(time・status・running・elapsed・target)が並びます。seq は送りません(180 個)。XPression では文字で送っている値(M・S・I・LRA・TP など)も、OSC では数で送ります。

アドレス型範囲・意味
/otomotion/g1/mbar ほかバー 6 つ小数0〜1
/otomotion/g1/m・s・i小数LUFS。−120 = 無音(−∞)
/otomotion/g1/tp・tpmax小数dBTP。−120 = 無音
/otomotion/g1/lra小数LU
/otomotion/g1/diff_i・diff_s小数基準値との差(LU)。I/S が無音なら −120
/otomotion/g1/on・tpover・/otomotion/running整数0/1
/otomotion/g1/name・band・/otomotion/status・time・elapsed文字文字(TouchDesigner では OSC In DAT で受けます)
/otomotion/beat/bpm ほか拍の 15 個小数 / 整数16 章と同じ。beat・beat_square・downbeat・beat_count・beats_per_bar は整数
/otomotion/midi/s1〜s16小数0〜1(18.6)
/otomotion/target小数基準値 LUFS(有効値)

送り方は変わったときだけ(ごくわずかな差、100 万分の 1 ぐらいより小さい差は同じ値とみなします)に加えて、全部のキーを 1 秒かけて少しずつ送り直します。相手をあとから立ち上げてもおおむね 1 秒で全部そろいます。使っていない系統は /gN/on(0)だけを送り、系統の数を減らした瞬間に 1 度だけその系統の値(バー 0・レベル −120・文字は空)を送ります。1 つの値が 1 通です(複数のメッセージをまとめる「バンドル」という送り方は使いません)。終了時には、送ると全部送るの両方がオンで IP も入っている送り先だけに、/otomotion/status "offline"・running 0・バー 6 つ 0・M・S・TP を −120・tpover 0・拍 4 つ 0・枠 16 個 0 を 1 回送ります(gN/on・BPM・I・LRA・TP 最大・名前・帯域・基準値・足したアドレスには送りません。施錠中は何も送りません)。

ページの下に「全部送る」で送るアドレスの一覧が、アドレスごとの コピー ボタン付きで出ます。XPression や他のアプリ側のひも付け作業に使えます。

19.3 足したアドレス: 好きな値を好きなアドレスへ

送り先の枠の表に行を足します(64 行まで)。値(数のキーだけ。「メイン › M のバー(0〜1)」のように元の範囲つき)、送るアドレス(/ で始まる任意のアドレス)、範囲(最小・最大。例 0〜1、0〜100、0〜255。最小 > 最大で向きの反転。最小と最大を同じ値にはできず、両方の欄が赤くなって保存されません)、型、送り方を決めます。元の範囲の外の値は端にそろえてから割り付けます。

型送るもの
小数float(OSC の小数の型)
整数int(OSC の整数の型。四捨五入。範囲の最小・最大は −2147483648〜2147483647 の中で)
数を文字に小数 2 桁の文字(Companion の /custom-variable/…/value が文字しか受けないとき)
決まった文字欄の文字をそのまま(grandMA3 の /gma3/cmd に Go+ Sequence 1 など。きっかけのときだけ)
値なし引数なしのメッセージ(Eos の /eos/key/go_0 は引数なしで「押して離す」。きっかけのときだけ)

例: Resolume のレイヤーの不透明度に M のバーを送るなら、値「メイン › M のバー」、アドレス /composition/layers/1/video/opacity、範囲 0〜1、小数、変わったとき。Eos のサブマスターなら /eos/sub/1、範囲 0〜1、小数(Eos の UDP は Setup › Show › Show Control の String RX/TX と、ECU の UDP Strings & OSC を有効に。ポートは 8000/8001 か 4703〜4727 が推奨)。grandMA3 のフェーダーなら /gma3/Page1/Fader201、範囲 0〜100、整数。Companion の変数なら送り先を Companion の IP:12321 にして /custom-variable/bpm/value(画面に出すなら「数を文字に」。小数でも受けますが、OSC の小数は 32 ビットなので 0.3561 が 0.3560999929904938 のように端数つきで見えます)。Vertex は OSC Receiver Device にアドレスを登録して小数で受けます(Vertex 宛ては「全部送る」をオフに。19.9)。

送り方: 「変わったとき」(既定)は割り付けた後の値が前と違うときだけ送り、1 秒ごとの送り直しはしません(照明卓で人が動かしたフェーダーを OtoMotion が戻さないように)。そのため相手をあとから立ち上げると、値が変わるまで届きません(g1/on や BPM など)。「毎回」は送り先の回数で毎回送ります。「きっかけ」は 19.4。自分の受け口(この PC の IP:8831)に向けると値が自分に戻るので避けてください。

形の違う値を入れると、その欄が赤くなって保存されず、下に「送った内容の形が違います(足したアドレス 2 行目 › 送るアドレス)」のように、どの送り先の何行目のどの欄かが出ます。送り先自体の IP・ポートなどの欄も同じ形で赤くなります。

19.4 きっかけ(拍の頭でクリップを打つ)

選んだ値が 0.5 未満から 0.5 以上に上がった瞬間だけ送ります(拍の頭 beat・小節の頭 downbeat・TP 超過 tpover など)。送り先の回数に関係なく 60 回/秒で見るので、回数を 10 以下にしても拍を取りこぼしません。

きっかけの形の欄があるのは型が小数・整数のときだけで、選べるのは次の 2 つです。

きっかけの形動き向く相手
1 を送ってすぐ 0(既定)上がった瞬間に最大を送り、次の刻み(約 17 ms 後)に最小を送るResolume の …/clips/1/connect(1 の後に 0 でマウスアップ相当)、grandMA3 のキー
1 だけ最大だけ送る自分でリセットする相手

決まった文字と値なしは「きっかけの形」ではなく型の選択肢(19.3)で、この 2 つを選んだ行は「きっかけの形」の欄が「—」になります。動きはどちらも同じで、上がった瞬間にその 1 通(決まった文字ならその文字、値なしなら引数なしのメッセージ)を送るだけで、あとに 0 は送りません(Eos の /eos/key/go_0 のような「押して離す」の相手向け)。

19.5 送り先の状態

表示意味
送っていません(灰)「送る」がオフ
送信中 N 回/秒 · M 通/秒(緑)この PC から出ている。回/秒は送る刻みの回数(設定の回数に近づく。7 のように 60 で割り切れない回数は少し揺れます)、通/秒は実際に出たメッセージの数
送れません(相手が受けていない)(赤)同じ LAN で相手のアプリが起動していない(ポートが閉じている)など。送り続けるので、相手を立ち上げれば直後の値から届きます
送れません(理由)(赤)ソケットのエラー・ブロードキャストの不許可など。1 秒後に作り直します

施錠中は画面がライセンスだけになり、OSC は送らず、受けても反映しません(決まったアドレスの /otomotion/clear/… だけは施錠中も効きます。19.7)。設定と割り当ては残り、ライセンスを読み込むと元どおりに動きます(18.8 と同じです)。

Mac(macOS 15 以降)では、LAN 宛ての送信に「ローカルネットワーク」の許可が要ります。初回に出るダイアログで許可してください。断ると、状態が「送れません(相手が受けていない) システム設定 › プライバシーとセキュリティ › ローカルネットワーク で OtoMotion を許可」になります。

19.6 受け取る: ポートと IP

設定タブ › MIDI・OSC の「OSC で受け取る」で受け取るにチェックを入れます。ポートは既定 8831(監視画面と同じ番号は不可。監視画面が 8831 なら初回は 8832)。アプリ側には「この PC の IP」と「ポート」を入れます(複数の IP が出るときは、相手と同じネットワークのものを選びます。仮想アダプターの IP が混ざることがあります)。

表示意味
受けていません(チェックで受ける)「受け取る」がオフ
受けています(ポート N)その番号で待ち受けています
ポート N はほかのアプリに使われていますそのポートはすでに別のアプリが使っています。番号を変えてください。そのアプリを閉じてポートが空いたら、「受け取る」のチェックを外して入れ直すと同じ番号でもう一度開きます(自動ではやり直しません)
受け口を開けません(理由)そのほかのエラー

施錠中は画面がライセンスだけになり、OSC は送らず、受けても反映しません(決まったアドレスの /otomotion/clear/… だけは施錠中も効きます。19.7)。設定と割り当ては残り、ライセンスを読み込むと元どおりに動きます(18.8 と同じです)。

受けた引数は 1 つ目だけを使います。ふつうのアプリが送る数・文字・ボタンはそのまま使えます(めったに使われない型は無視します)。複数のメッセージをまとめて送る「バンドル」という送り方も、中の 1 通ずつを別のメッセージとして扱います。アドレスは完全一致で、大文字・小文字も区別します(/otomotion/bpm/* のようなパターンは効きません)。

19.7 決まったアドレス(割り当てなしで効く)

受け取りがオンのとき、設定 › MIDI・OSC の一覧の各行にアドレスが出ます(コピーで写せます)。アプリにそのアドレスを入れれば、割り当てなしで効きます。

アドレス引数動き
/otomotion/control/start・stop・resetボタン計測の開始・停止・リセット
/otomotion/bpm/tap・sync・double・half・adoptボタンTAP・同期・×2・÷2・採用
/otomotion/bpm数 30〜300BPM の値(1 秒の間引きで保存)
/otomotion/bpm/auto1/0自動追従
/otomotion/bpm/bpb2・3・4・6拍子
/otomotion/bpm/source1〜系統の数自動検出に使う系統
/otomotion/set/g1/gain(g1〜g8)dB −40〜+40系統の補正(その場だけ。18.4)
/otomotion/set/g1/bandfull・low・mid・high、または 1〜4帯域(その場だけ)。文字を送れない Vertex は番号で
/otomotion/set/bars/lufs_lo など 8 項目単位どおりバーの動き(その場だけ)
/otomotion/set/meter/target_lufs・tp_limit_dbtp・tpover_hold_s単位どおり基準値・TP(その場だけ)
/otomotion/set/beat/beat_pulse_ms・hit_decay_msms拍の長さ・減衰(その場だけ)
/otomotion/set/test/kind・level_dbfs・freq_hz・kick_bpm種類は sine・sweep・kick・pink・silence か 1〜5、ほかは単位どおりテスト信号(その場だけ)
/otomotion/save/g1/gain など(set/ と同じ項目)ボタン[この値を保存]。重ねた値が無ければ「重ねた値がありません」
/otomotion/clear/g1/gain などボタン[消す](施錠中も効きます)
/otomotion/calibrate/1(1〜8)ボタン「今を基準に」。押す前に 3 秒ほど音を止めない。無音は「音が入っていません」
/otomotion/presetプリセットの名前(文字、完全一致)会場プリセットの呼び出し(音の入口を開き直すので本番中は注意)
/otomotion/preset/number1 から始まる番号プリセットの一覧の N 番目(追加・削除で番号がずれます)
/otomotion/test/enabled1/0テスト信号のオン・オフ(保存。音の入口を開き直します)
/otomotion/auto_start1/0起動時に自動で開始(保存)
/otomotion/slot/1(1〜16)0〜1XPression に送る値 midi › s1〜s16

ボタンは引数なし、または 0.5 以上の数で 1 回押したことにします(TouchOSC のボタンを離したときの 0 は何もしません)。1/0 は 0.5 以上でオン、未満でオフ(トグルではありません)。数は範囲の外なら何もせず、「今受けた信号」に「範囲外です(30〜300)」のように理由が出ます。数の代わりに文字を送ったときや、送られてきた値を数として読めないとき(壊れた小数など)も「形が違います」と出ます。整数のアドレスに 4.0 のような小数を送っても整数として受けます。文字は完全一致(Low は不可)です。動きは MIDI の割り当てで動かしたときと同じで、「今受けた信号」と「今動いた」も同じように出ます。

19.8 割り当て(MIDI と同じ[割り当てる])

決まったアドレスではなく、アプリの好きなコントロール(TouchOSC の /1/fader1 など)を使いたいときは、18.1 と同じ手順で割り当てます。行の 割り当てる → アプリのつまみを動かす → 最初に届いたアドレスが割り当てられ、一覧に紫の印「OSC /1/fader1」が付きます。

19.9 使い方の例

OtoMotion と相手のアプリを同じ Windows 11 の PC で動かして確かめた組み合わせです(2026 年 10 月。相手の版は見出しの括弧の中)。別の PC のときは 127.0.0.1 を相手(OtoMotion から送るとき)か OtoMotion(相手から送るとき)の PC の IP に読み替えます。

Resolume(Arena 7.28): 音の大きさでレイヤーの濃さを動かす

  1. Resolume: Arena › Preferences › OSC で OSC Input をオンにし、Incoming Port を 7000 にします
  2. OtoMotion: 設定 › OSC で送る で送り先 127.0.0.1・ポート 7000 を足し、送るにチェックを入れます
  3. 足したアドレスに 1 行足します: 値「(系統の名前)› M のバー」、送るアドレス /composition/layers/1/video/opacity、範囲 0〜1、型 小数、送り方 変わったとき

Layer 1 の不透明度(Opacity)が音に合わせて動きます。Resolume のアドレスは、Shortcuts › Edit OSC でパラメーターを選ぶと右下の Shortcuts の欄に出ます。Resolume 側の Learn(届いたアドレスを覚える)は、「全部送る」で 180 個のアドレスが流れていると何を覚えるか分からないので、このように OtoMotion から Resolume のアドレスへ直接送る形を勧めます。届いているアドレスと値は、Preferences › OSC の Monitor で見られます。

Resolume: 拍の頭でクリップを打つ

同じ送り先に 1 行足します: 値「拍 › 拍の頭」、送るアドレス /composition/layers/2/clips/1/connect、範囲 0〜1、型 整数、送り方 きっかけ、きっかけの形「1 を送ってすぐ 0」。拍の頭ごとに Layer 2 の 1 番目のクリップが頭から打ち直されます(19.4)。BPM が曲と合っているかを先に確かめてください(16 章)。

TouchDesigner: 計測値をチャンネルで受ける

  1. OtoMotion: 送り先 127.0.0.1・ポート 7000 を足し、全部送ると送るにチェックを入れます。文字の値も使うなら、ポート 7001 の送り先をもう 1 つ足します
  2. TouchDesigner: OSC In CHOP を置き、Network Port を 7000 にします
  3. 文字の値を使うときは OSC In DAT を置き、Network Port を 7001 にします

OSC In CHOP には数の値(otomotion/g1/mbar・otomotion/beat/beat_phase など)がチャンネルとして並びます。Select CHOP で要るものだけを選んで使ってください(Strip Name Prefix で /otomotion を削れます)。文字の値(time・status・elapsed・系統の名前・帯域)は、OSC In CHOP では 0 にもエラーにもならず黙って捨てられるので、OSC In DAT で読みます。1 つのポートは 1 つのオペレーターしか受けられないので、CHOP と DAT は別のポートにします。

Bitfocus Companion(v5.0.7): BPM をボタンに出す

  1. Companion: Settings › Protocols の OSC Listener をオンにします(ポート 12321)。Variables › Custom Variables で変数 bpm を作ります
  2. OtoMotion: 送り先 127.0.0.1・ポート 12321 を足し、全部送るのチェックを外して、送るにチェックを入れます
  3. 足したアドレスに 1 行足します: 値「拍 › BPM」、送るアドレス /custom-variable/bpm/value、範囲 30〜300、型 数を文字に、送り方 変わったとき

Companion の変数 $(custom:bpm) に BPM が入るので、ボタンの文字に使えます。範囲を既定の 0〜1 のままにすると、BPM の 30〜300 が 0〜1 に割り付けられて届きます(BPM の数のまま送るには、範囲を元の 30〜300 と同じにします)。型は「小数」でも受けますが、OSC の小数は 32 ビットなので端数つきで見えます。

Bitfocus Companion(v5.0.7): ボタンで OtoMotion を操作する

  1. OtoMotion: 設定 › MIDI・OSC の「OSC で受け取る」で受け取るにチェックを入れます(ポート 8831)。「受け付ける相手の IP」で絞るなら 127.0.0.1 を入れます
  2. Companion: Connections で Generic: OSC を足し、Target Hostname or IP に 127.0.0.1、Target Port に 8831、Protocol は UDP にします
  3. Companion のボタンの Press actions に、次のような動きを足します
Companion の動きOSC Path値OtoMotion で起きること
Send message without arguments/otomotion/bpm/tap—TAP(一定の間隔で押すと BPM が変わる)
Send integer/otomotion/bpm/bpb3拍子が 3/4 になる
Send string/otomotion/set/g1/bandlow系統 1 の帯域が低域になる(その場だけ)
Send message without arguments/otomotion/control/start—計測を始める

届いたかどうかは、OtoMotion の設定 › MIDI・OSC の上にある「今受けた信号」(例: OSC 127.0.0.1 /otomotion/bpm/bpb 3 → 拍子:3/4)と、「OSC で受け取る」の「最後に受けた送り元」で確かめられます。使えるアドレスの一覧は 19.7 です。

Ross Vertex(体験版 2026.02.23): 音の大きさでクリップの濃さを動かす

  1. Vertex: Project Explorer › Systems の System1 がつながっていることを確かめます(Disconnected のままだと OSC の機器が受けも送りもしません。つないでから使います)
  2. Vertex: Library › Devices で「OSC」と検索し、OSC Receiver Device を足します。Inspector で IP Port を 8000 にし、Values › Osc Address 1 の Address に /vertex/opacity を入れます
  3. OtoMotion: 送り先に Vertex の PC の IP・ポート 8000 を足し、全部送るのチェックを外して、送るにチェックを入れます
  4. OtoMotion: 足したアドレスに 1 行足します: 値「(系統の名前)› M のバー」、送るアドレス /vertex/opacity、範囲 0〜1、型 小数、送り方 変わったとき。Vertex の Osc Address 1 の Received Value に値が出れば届いています
  5. Vertex: タイムラインのクリップを右クリック › Pin to new Inspector › Clip を選び、クリップ専用の Inspector を開きます(画面の端に開くことがあります)
  6. そのクリップの Inspector の Opacity を、Device の Osc Address 1 の Source(市松模様の欄)へドラッグ&ドロップします

クリップの濃さが音に合わせて動きます。次の点に注意してください。

Ross Vertex(体験版 2026.02.23): Vertex から OtoMotion を切り替える

  1. OtoMotion: 設定 › MIDI・OSC で受け取るにチェックを入れます(ポート 8831)
  2. Vertex: Library › Devices で OSC Sender Device を足し、Inspector で IP Address に OtoMotion の PC の IP、IP Port に 8831 を入れます。Use Message Prefix はオフにします(オンだとアドレスの前に文字が付き、OtoMotion が受け付けません)
  3. Project Explorer で Sender を右クリック › Add Float Property で値を足し、Address に /otomotion/set/g1/band、Value に 2 を入れます

OtoMotion の系統 1 の帯域が低域になります(1 = 全帯域・2 = 低域・3 = 中域・4 = 高域)。Vertex は文字を送れないので、帯域・テスト信号の種類・プリセットは番号のアドレスで指定します(19.7)。値をタイムラインやキューに入れておけば、Vertex の演出の切り替えと一緒に OtoMotion の測り方を変えられます。

そのほかのアプリの設定のめやす

19.10 本番で期待される動きと補足

XPression・Vertex・Resolume・TouchDesigner・Bitfocus Companion・TouchOSC など、このマニュアルに出てくる会社名・製品名は、各社の商標または登録商標です。OtoMotion はこれらの会社とは関係のない独立した製品です。19.9 の手順は 2026 年 10 月に確かめた版のもので、相手のアプリの版が変わると画面の名前や手順が変わることがあります。

OtoMotion — dekobokotech.com