AV SIGNAL FLOW · 系統図

系統図を、テキストで書く。

ポート単位で結線を書くと、SVG が出ます。図が描けるだけではありません。ケーブルは気持ちよく挿さるのに、何も通らない配線を、現場に着く前に指摘します。

38 signal types7 packagesMIT
studio.khmclean
device cam "SONY FX3"  as camera   { out SDI : sdi }
device sw  "ATEM Mini" as switcher { in 1..4 : sdi  out PGM : sdi }
device rec "HyperDeck" as recorder { in SDI : sdi }

cam.SDI -> sw.1    : sdi 30m "V-01" [color=青]
sw.PGM  -> rec.SDI : sdi 2m  "V-10"
output
V-01 30mV-10 2mSONY FX3SDIATEM Mini1234PGMHyperDeckSDI

WHAT IT CATCHES

挿さるのに、通らない。

検出する価値があるのは、プラグがぴたりと嵌まり、見た目には何もおかしくなく、そして何も出ない組み合わせです。判定には必ず理由が付き、その理由はケーブル表にも残ります。

warning ext.CAT → netsw.1HDBaseT は Cat ケーブルと RJ45 を使うが Ethernet ではない。スイッチには挿せない
warning cam.SDI → sync.REFBNC を共有するだけ。同期基準入力に映像を入れてもロックしない
warning cdp.ANALOG → dac.DIGITALRCA を共有するだけ。アナログ音声を S/PDIF 入力に入れても何も出ない
warning pc.HDMI → mon.DVIHDMI-DVI 変換ケーブルが必要。via で明示すると資材表に載る
warning desk.MAIN → amp.LINEバランス→アンバランス。レベルが下がりハムループに晒される

HOW IT READS

書いたものが、そのまま出る。

下の図はすべて、左のソースを公開済みのパッケージでビルド時にコンパイルした結果です。

ポートと範囲

CH[1..16] は16本に展開されます。宣言した順序がそのまま図に出るので、IN 1 が IN 2 の下に来ることはありません。

ports.khmclean
device mixer "Yamaha DM3" as mixer {
  in  CH[1..16] : xlr
  out L, R      : xlr
  io  DANTE     : dante
}
device amp "アンプ" as amplifier { in IN_L, IN_R : trs }

mixer.(L, R) -> amp.(IN_L, IN_R) : trs 3m "A-10"
output
A-10 3mA-10 3mYamaha DM3CH1CH2CH3CH4CH5CH6CH7CH8CH9CH10CH11CH12CH13CH14CH15CH16LRDANTEアンプIN_LIN_R

無線

無線区間はケーブルではないので、長さの代わりに周波数を持ちます。受信機を通さず卓へ直結すれば、そこで指摘が出ます。

wireless.khmclean
device mic "ワイヤレスマイク" as microphone { out RF : uhf }
device rx  "受信機"           as interface  {
  in  RF  : uhf
  out CH1 : xlr
}
device desk "卓" as mixer { in CH1 : xlr }

mic.RF -> rx.RF     : uhf [ch=38]
rx.CH1 -> desk.CH1  : xlr 3m "A-01"
output
ch 38A-01 3mワイヤレスマイクRF受信機RFCH1CH1

機材ライブラリ

卓の16chを図ごとに書き直す必要はありません。model で一度定義し、device … from で何台でも実体化します。

library.khmclean
model dm3 "Yamaha DM3" as mixer {
  in  CH[1..16] : xlr
  out L, R      : xlr
  @vendor "Yamaha"
}

device foh from dm3
device mon from dm3 "モニター卓"
output
Yamaha DM3CH1CH2CH3CH4CH5CH6CH7CH8CH9CH10CH11CH12CH13CH14CH15CH16LRモニター卓CH1CH2CH3CH4CH5CH6CH7CH8CH9CH10CH11CH12CH13CH14CH15CH16LR

LIVE

ここで書けます。

左に書くと右に出ます。診断をクリックすると該当行へ飛びます。

エディタを読み込んでいます…

INSTALL

入れて、書く。

terminal
# コマンドラインで使う
pnpm add -D @love-rox/kumihimo-cli

kumihimo build studio.khm -o studio.svg
kumihimo check studio.khm
kumihimo export studio.khm drawio
markdown
# Markdown に埋め込む
pnpm add @love-rox/kumihimo-rehype

```kumihimo
cam.SDI -> sw.1 : sdi 30m
```
@love-rox/kumihimo-clibuild / check / export / watch
@love-rox/kumihimo-coreパーサ・検証・レイアウト・SVG
@love-rox/kumihimo-editor埋め込み型ライブエディタ
@love-rox/kumihimo-rehypeMarkdown のコードフェンス
@love-rox/kumihimo-reactReact コンポーネント
@love-rox/kumihimo-vueVue 3 コンポーネント
@love-rox/kumihimo-astroAstro 統合