エディタの使い方

ToneBeyond Editor は資産管理・試聴・非破壊編集・バンクビルド・実機プロファイラを 1画面にまとめたデスクトップアプリです(macOS / Windows)。

エディタのメイン画面

インポート — 音を取り込む

手動の取込はすべて素材棚(検索・試聴用カタログ)へ入ります。ゲームのバンクに 入る経路は2つだけ — ①ゲームプロジェクトの「割当て / 差し替え」(探した音を入れる) ②監視フォルダ(Nuendo で作った完成音源が自動で入る)。どの方法も 元ファイルを一切変更しません

方法動作
ドラッグ&ドロップ(推奨)フォルダ / 音声ファイル → 素材棚へ登録
インポート欄 + ボタンパスを入力して「素材棚に登録」
監視(ウォッチフォルダ)「監視」ボタンで Nuendo の書き出し先を登録 → 以後、保存されたファイルを2秒以内に自動でゲーム行きに取込(ファイル名 = イベント名。 書き込み完了を待ってから取り込み)
コマンドラインtb_editor --import <path>(ゲーム行き)/ --import-lib <path>(素材棚)— スクリプト用

プロジェクトとライブラリの違い

プロジェクト = ゲームに入れる音(バンクに焼かれる)。 ライブラリ = 探して聴くための参照カタログ([lib] 表示、バンクには入らない)。 気に入ったライブラリの音は「プロジェクトに登録」ボタン、またはゲームプロジェクトの「選択中の音を割当て」で昇格します。

見つかったファイルはすべて登録されます(同名ファイルが別の場所に あるのは意味のある情報なので、自動では間引きません)。同じ音の重複登録が気になるときは 「重複を整理」ボタン(名前+サイズ一致を一括削除)か、行の右クリック → 「一覧から除外」で個別に外せます。右クリックでは「パスをコピー」もできます。 どちらも DB の登録が消えるだけで、ファイル自体には触れません。
ライブラリ取込はヘッダだけ読む高速スキャンなので、NAS (/Volumes/...)上の数千ファイルも一括登録できます。波形は初めて選択した 瞬間に生成・キャッシュされます。iCloud Drive のフォルダはファイルを一切開かずに登録され (尺が「-」表示)、選択したときに初めてその1ファイルだけダウンロードされます。

検索と試聴

一覧で名前が赤い場合は、同じイベント名がプロジェクト内に2つあります。 そのままビルドすると失敗するので、ファイル名を変えるか「削除」で片方を外してください (削除は登録の解除で、ファイルは消えません)。

音ごとの設定(左パネル)

設定使いどころ
ループBGM・環境音など繰り返す音
ストリーミング (BGM)長い曲。メモリに展開せずディスクから再生(3分の曲でも常駐約256KB)
圧縮 (QOA)容量を約1/10に。モバイルはほぼ常時ON推奨。ストリーミングと併用可
バスカテゴリ音量バス名(例: BGMSFX)。ゲーム側の setBusVolume("BGM", v) で「BGM だけ下げる」設定スライダーがそのまま作れます。 バリエーション(__vN)グループは __v0 に入力します
ループ開始 msループ有効時に表示。イントロの長さを入れると、 ループが先頭ではなくこの位置に巻き戻ります(イントロ1回 → 本体シームレスループ。BGM 用)
ラウドネス / ノーマライズ取込時に計測した LUFS(ITU-R BS.1770)を 表示。目標値(既定 -16 LUFS)を入れて「ノーマライズ」を押すと、不足分のゲインが 非破壊チェインに追加されます。ライブラリ素材の音量バラつきがワンクリックで揃います
優先度0〜100(既定50)。同時発音が上限を超えたとき、低い音から 順に消えて高い音が生き残ります(BGM=90、足音=20 など)。聞こえていない音は自動で 「仮想化」されて CPU も節約されます
ステートグループ / 値同じグループ名・別の値を持つ音は、ビルド時に 1つのミュージックスイッチになります(例: グループ Music_Stage01 に 値 NormalBoss)。ゲームはグループ名を1回 postEvent し、 setState("Music_Stage01", "Boss") でクロスフェード切替するだけです

ダッキング — 右下の「ダッキング」ボタンで「ソースバスの再生中はターゲット バスを自動で下げる」ルールを最大8本設定できます(dB / attack / release)。設定は バンクに焼かれ、ゲーム側のコードは不要です(例: Voice 再生中に BGM を -6dB)。

編集チェイン(非破壊)

素材棚の音にもそのまま使えます — 元ファイルには一切触れず、ゲームのイベントに 割当てるとチェインごと引き継がれるので、「見つけた場所でトリム/フェードを整えてから ゲーム行きにする」流れができます(波形の Shift+ドラッグ →「選択範囲でトリム」も同様)。

トリム / ゲイン / フェードイン / フェードアウト / リバースを順に並べます。 適用結果はアンバー色の波形で表示され、「再生(処理後)」で元と聴き比べできます。 設定は DB に保存され、ビルド時に焼き込まれるため、エディタで聴いた音と ゲームで鳴る音は必ず一致します。

バリエーション(同じイベントで毎回違う音)

足音や打撃音の「機械っぽさ」をなくす機能です。作り方は2通り:

ビルド時に1つのイベント footstep にまとまり、再生のたびに ランダム(直前と同じ音は選ばない)またはラウンドロビンで切り替わります。 モードは __v0 のアセットを選択すると出るコンボでも変更可能。 ゲーム側のコードは普通の postEvent のままです。

RTPC バインディング

「ゲームの連続値(例: 危険度 0..1)」が「この音の音量 / ピッチ」をどう動かすかを 折れ線カーブ(最大8点)で描きます。カーブはバンクに焼かれ、ゲーム側のコードは setParameter("Danger", 0.7) と値を渡すだけです。詳しい意味づけは API リファレンスへ。

ビルドとエクスポート(ウィンドウ右下)

出口工程のボタンはステータスバー右端にまとまっています。 ゲームの .tbb を更新したいときはここではなく、ゲームプロジェクトセクションの 「このバンクへ再ビルド」を使います(右下の「.tbb ビルド」は作業フォルダへの 汎用書き出しで、ゲーム内のバンクには触れません)。

ボタン出力
.tbb ビルドtb_bank_export.tbb — ゲームが読む唯一のファイル
bank.json 書き出しバンク定義のテキスト(CI で bankc に渡す・ 差分レビュー用)。音声パスは書き出し先からの相対パスになるので、リポジトリに コミットすればそのまま CI で焼けます
組み込みキットtb_integration_kit/ — iOS / Android のファサード + イベント定数 + README + ビルド済み .tbb(手順は組み込みページ

ゲームプロジェクト突合(発注書方式)

「ゲームプロジェクト」セクション(既定はウィンドウ下部、ヘッダクリックで開閉、 選んだフォルダは次回起動時に自動復元)でゲームのフォルダを選ぶと、コード側の発注書 tb_sound_requests.json と .tbb を突合し、 収録済み / 未制作 / 要求外を一覧表示します。さらに .swift / .kt / .m / .mm ソースを静的スキャンし、「コードから呼ばれているのに発注書に無いイベント」も ファイル名:行番号つきで検出します(発注書の書き忘れ防止)。サウンド制作の TODO リストが 常に自動で最新になります。

突合表示だけでなく、このパネルから制作を完結できます:

一覧の列はヘッダのドラッグで入れ替えられ、ヘッダの右クリックで列ごとの 表示/非表示を選べます(アセット一覧・発注一覧とも。配置は記憶されます)。 右側の情報欄(要求外イベント / コード参照 / RTPC パラメータ)は「情報欄」ボタンで まるごと隠せるので、発注一覧を全幅で見たいときに便利です。

表示はセクション右上の 下 / 右 / 別ウィンドウ ボタンで切り替えられます (選択は記憶されます): = ウィンドウ下部ドック(境界を上下ドラッグで高さ調整)、 = 右側カラム(境界を左右ドラッグで幅調整。縦長なので発注一覧が一度に多く見えます)、 別ウィンドウ = フローティングウィンドウ — メインウィンドウの外へドラッグすると 独立した OS ウィンドウになるので、2画面環境ではサブモニタに常駐させられます。

ゲームプロジェクトパネル

MIDI 雛形 — 発注から仮データ・DAW の土台まで

発注書の「尺・用途」に合わせた曲の立ち上げを自動化します。各行の「雛形」ボタンで ポップアップが開き、希望尺から BPM × 小節数の候補を自動計算します (ループは必ず小節境界に着地。「300〜800ms」のような ms 表記も解釈)。 ムードは発注の説明文から自動推定され(「ボス」「緊迫」→緊迫系 など6種)、 キー・イントロ1小節・ガイドアルペジオを選べます。生成される曲は 8小節以上で A/B 2セクション構成になり、ボイスリーディング・経過和音・ ベロシティのゆらぎ・ドラムフィル入り。「別テイク」で同じ設定のまま アレンジを何度でも引き直せます(テイク番号で完全再現)。

プラグイン音源 (AU)

ポップアップの「プラグイン音源 (AU)」を開くと、インストール済みの AudioUnit インストゥルメントをトラック別(コード/ベース/アルペジオ/ドラム)に 割り当てられます(既定は OS 内蔵 GM 音源)。GUI ボタンでプラグイン本来の画面が 開くので、Kontakt 等でパッチを読み込んでからレンダリングできます。 ファクトリープリセットの選択にも対応し、プラグインの状態(読み込んだ音色)は 保存されて次回起動時に復元されます。レンダリングは常にその時点のプラグイン状態を 使います。注意: プラグインはエディタと同一プロセスで動くため、不安定なプラグインは エディタごと落とすことがあります(DB は逐次保存なので作業は失われません)。

一括出力 → DAW → 一括差し替え

サマリ行のボタンで制作サイクル全体を回せます:

  1. 雛形を一括出力 — 未制作の全発注を {プロジェクト名}_{イベント名}_{尺}s.mid / .wav として雛形フォルダへ 書き出します(既定はゲームルートの tb_sketches/、「出力先...」で変更可。 曲はイベントごとに違うアレンジになります)。
  2. DAW で仕上げ — .mid を開いて本制作し、同名の .wav に上書き書き出し
  3. 雛形から一括割り当て — フォルダの wav をファイル名からイベントに自動マッチ して一括差し替え(発注書の loop/stream フラグ適用、原音バックアップなどの安全装置は 通常の割当てと同じ)。あとは「このバンクへ再ビルド」でゲームに反映されます。

Live Profiler

右下のパネルは普段は細いタブに畳まれていて、波形表示が全幅を使えます。 タブの「<」で開閉でき(境界の左右ドラッグで幅調整、状態は記憶)、ゲームが接続 してきた最初のパケットで自動的に開きます(接続中はタブが緑になります)。 パネルは UDP ポート 9990 で待ち受けています。ゲーム側(実機可)で プロファイラ送信を開始すると、LIVE 表示に変わり、同時発音数の履歴グラフ・ マスターレベル・RTPC の現在値・発火したイベント名が流れます。 「鳴らない原因」「カーブの効き具合」を見ながらチューニングしてください。

フィードバック

ウィンドウ右下の「フィードバック」ボタンを押すと、ブラウザで ToneBeyond のフィードバックフォームが開きます。トラッキングや解析 SDK は一切ありません。 まだ初リリースなので、使ってみての感想・要望・不具合をぜひお寄せください。

コマンドライン

tb_editor [--db <path>]              # 資産DBの場所(既定 tb_assets.db)
          [--import <file|folder>]   # プロジェクト取込
          [--import-lib <folder>]    # ライブラリ取込(高速スキャン)
          [--scan-project <dir>]     # ヘッドレス突合(CI向け、結果を表示して終了)
          [--selftest <wav>]         # ヘッドレス自己診断
          [--build-bank <out.tbb>]   # ヘッドレスでバンクをビルド(CI向け)
          [--diff-bank <old.tbb> <new.tbb>]  # バンク差分(追加/削除/変更)
          [--export-sketches <gameRoot> [outDir]]  # 雛形一括出力(GM音源固定)
          [--screenshot <png>]                   # 画面PNG保存