EXAMPLES
記述例
「これはどう書くのか」に答えるページです。図の下にケーブル表と部材表を出しているものがあります。表に何が出るかが答えそのものである例が多く、そこが読めないと書き分けた意味がわかりません。
01カメラをスイッチャーにつなぐ
ポートを宣言して、つなぐ。最小の1枚はこれだけです。
機材に口を宣言して、口と口をつなぎます。out SDI : sdi は「SDI という名前の出力が1つあり、そこを通るのは SDI 信号」という意味です。
device cam "カメラ" as camera { out SDI : sdi }
device sw "スイッチャー" as switcher { in 1 : sdi }
cam.SDI -> sw.1 : sdicam sw SDI 1 は自分で決める名前です。camera switcher sdi は決められた語から選びます。どちらがどちらかは下の「自由に決める語と、選ぶ語」にまとめてあります。
ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| — | カメラ | スイッチャー | SDI | — | — | — |
長さもケーブル番号も書いていないので、表の該当欄は空です。何も書いていないことと未定と書いたことは別で、その区別は下の「長さがまだわからない」にあります。
02長さ・ケーブル番号・被覆の色を書く
信号名のうしろに、長さ、番号、色の順で足します。
結線に足せるものは決まった順に並びます。長さ、"番号"、[color=…]。どれも省けます。
device cam "カメラ" as camera { out SDI : sdi }
device sw "スイッチャー" as switcher { in 1 : sdi out PGM : sdi }
device rec "レコーダー" as recorder { in SDI : sdi }
cam.SDI -> sw.1 : sdi 30m "V-01" [color=青]
sw.PGM -> rec.SDI : sdi 2m "V-10"ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| V-01 | カメラ | スイッチャー | SDI | 30m | — | — |
| V-10 | スイッチャー | レコーダー | SDI | 2m | — | — |
番号は現場で読み上げるものなので、そのまま表の1列目になります。色は図の線の色になり、白黒で刷るときは theme: mono にすると色ではなく線種で描き分けます。
03長さがまだわからない
?m と書きます。空欄のままにするのとは別の意味になります。
長さを省くことは元からできました。ただその空欄は2つの意味を同時に持っていました。「まだ測っていない」と「誰も考えていない」です。van に積む人が見る表では、片方だけが残っている仕事です。
device dk "卓" as mixer { out L, R, SUB : xlr }
device sp1 "SP1" as speaker { in IN : xlr }
device sp2 "SP2" as speaker { in IN : xlr }
device sub "サブ" as speaker { in IN : xlr }
dk.L -> sp1.IN : xlr 15m "A-01" # 測った
dk.R -> sp2.IN : xlr ?m "A-02" # ケーブルは要る。長さはこれから
dk.SUB -> sub.IN : xlr "A-03" # 長さについて何も言っていないケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| A-01 | 卓 | SP1 | XLR | 15m | — | — |
| A-02 | 卓 | SP2 | XLR | ?m | — | — |
| A-03 | 卓 | サブ | XLR | — | — | — |
?m は表に ?m と出ます。単位は書きます。どの単位で測るかは未定の対象ではないからです。?m ?ft など、この言語が知っている単位すべてが使えます。
?m も長さなので、長さとして扱われます。無線区間には書けませんし、adapter の端に書けばその端はソケットになります(下の「変換ケーブルと変換アダプタ」)。
04同じつなぎ方を何本もまとめて書く
宣言では 1..4、結線では (1, 2, 3, 4) です。
口の宣言は範囲で書けます。in 1..4 : sdi は4つの入力です。in CH[1..16] : xlr のように接頭辞つきでも書けます。
device sw "スイッチャー" as switcher { out 1..4 : sdi }
device rec "レコーダー" as recorder { in 1..4 : sdi }
sw.(1, 2, 3, 4) -> rec.(1, 2, 3, 4) : sdi 5mケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| — | スイッチャー | レコーダー | SDI | 5m | — | — |
| — | スイッチャー | レコーダー | SDI | 5m | — | — |
| — | スイッチャー | レコーダー | SDI | 5m | — | — |
| — | スイッチャー | レコーダー | SDI | 5m | — | — |
結線側は括弧に並べます。左右の数が揃っていれば順に結ばれ、4本の別々の結線になります。表も4行です。
結線では sw.(1..4) という範囲の書き方は使えません。これは意図的です。 口の並びは連番であることが多いので宣言では範囲が便利ですが、結線を範囲で書くと、片側の口が1つずれただけで黙って全部が1つずれた結線になります。図は正しく描かれ、表も正しく出て、現場で挿すまで誰も気づきません。並べて書けば、数が合わないことがその場でわかります。
05変換ケーブル1本ですませる(HDMI-DVI など)
via で結線に添えます。1本のケーブルなので1行です。
HDMI-DVI のケーブルは、切れ目のない1本です。途中に止まる場所はありません。だからこれは結線に添える情報で、via で書きます。
device pc "PC" as computer { out HDMI : hdmi }
device mon "モニター" as display { in DVI : dvi }
pc.HDMI -> mon.DVI : hdmi 2m "V-01" via "HDMI-DVI変換ケーブル"ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| V-01 | PC | モニター | HDMI | 2m | — | — |
部材表
(空)
ケーブル表に1行、部材表は空です。1個の物は1行になります。これを adapter で書くと図の途中に箱が立ち、1本のケーブルが2本に見えてしまいます。
06片側がケーブル一体の変換アダプタ(USB-HDMI など)
端の数ではなく、どの端がソケットかで決まります。
USB-HDMI の変換は端が2つですが、これは分岐点です。USB 側は生えていて、HDMI 側はソケットで、そこに届くケーブルは誰かが持っていく1本だからです。前項の HDMI-DVI ケーブルも端は2つで、こちらは1本です。端の数では区別できません。
結線は、長さかケーブル番号が書かれていなければ一体です。 この1つの規則が表を決めます。
device pc "ノートPC" as computer { out USB : usb }
adapter dg "USB-HDMI変換" { in USB : usb
out HDMI : hdmi }
device pj "プロジェクター" as projector { in HDMI : hdmi }
pc.USB -> dg.USB : usb # 一体。ケーブル表に出ない
dg.HDMI -> pj.HDMI : hdmi 5m "V-01" # ソケット。持っていくケーブル1本ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| V-01 | USB-HDMI変換 | プロジェクター | HDMI | 5m | — | — |
部材表
| 部材 | 数 | つながる先 |
|---|---|---|
| USB-HDMI変換 | 1 | ノートPC / プロジェクター |
USB 側には何も書いていないので一体と読まれ、ケーブル表に出ません。HDMI 側には 5m "V-01" があるのでソケットと読まれ、持っていくケーブルとして1行出ます。変換器そのものは部材表に1個。現場で必要なものと過不足なく一致します。
07分配パネルのように、口が全部ソケットのもの
差し込む先の数だけケーブルが要ります。
同じ adapter でも、口が全部ソケットならケーブルはその数だけ要ります。前項との違いは書き方ではなく、それぞれの結線に長さと番号を書いたかどうかだけです。
device dk "卓" as mixer { out MAIN : xlr }
adapter pp "分配パネル" { in IN : xlr
out A : xlr
out B : xlr }
device sp1 "SP1" as speaker { in IN : xlr }
device sp2 "SP2" as speaker { in IN : xlr }
dk.MAIN -> pp.IN : xlr 10m "A-01"
pp.A -> sp1.IN : xlr 5m "A-02"
pp.B -> sp2.IN : xlr 5m "A-03"ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| A-01 | 卓 | 分配パネル | XLR | 10m | — | — |
| A-02 | 分配パネル | SP1 | XLR | 5m | — | — |
| A-03 | 分配パネル | SP2 | XLR | 5m | — | — |
部材表
| 部材 | 数 | つながる先 |
|---|---|---|
| 分配パネル | 1 | 卓 / SP1 / SP2 |
3本と、パネル1枚。端がいくつあっても規則は同じです。
08成型の分岐ケーブル(4分岐など)
as cable を足すと、部材ではなくケーブル表に出ます。
尻尾が全部成型された分岐ケーブルは、部材であると同時にケーブルです。van に積まれ、番号が振られ、積む人が見るのはケーブル表です。部材表にだけ載せると、その人の見る紙に載りません。
device dk "卓" as mixer { out MAIN : xlr }
adapter fan "XLR4分岐ケーブル" as cable 5m "C-01" {
in IN : xlr
out A : xlr
out B : xlr
}
device sp1 "SP1" as speaker { in IN : xlr }
device sp2 "SP2" as speaker { in IN : xlr }
dk.MAIN -> fan.IN : xlr
fan.A -> sp1.IN : xlr
fan.B -> sp2.IN : xlrケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| C-01 | XLR4分岐ケーブル | 卓 / SP1 / SP2 | XLR | 5m | — | — |
部材表
(空)
1個の物が1行です。プラグごとに3行にはなりません。届く先はまとめて並びます。部材表からは外れるので、二重に数えられません。
as cable のうしろには結線と同じように長さとケーブル番号を書けます。書くものが同じなのは、指しているものが同じ誰かが探して測って番号を振るケーブルだからです。
09TRRS を TRS 2本に分ける
同じ形の物が2通りあります。分かれ目は結線に長さを書いたかどうかだけです。
1本のケーブルとして書く場合。ヘッドセット分岐のように、TRRS のプラグから2本の尻尾が生えている物です。
device pc "ノートPC" as computer { io HS : trrs35 }
adapter sp "TRRS→TRS×2 分岐ケーブル" as cable 0.2m "A-01" {
io IN : trrs35
out MIC : trs35
out HP : trs35
}
device mic "マイク" as microphone { in PLUG : trs35 }
device hp "ヘッドホン" as speaker { in PLUG : trs35 }
pc.HS -> sp.IN : trrs35 # 生えている
sp.MIC -> mic.PLUG : trs35 # 生えている
sp.HP -> hp.PLUG : trs35 # 生えているケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| A-01 | TRRS→TRS×2 分岐ケーブル | ノートPC / マイク / ヘッドホン | TRRS 3.5mm | 0.2m | — | — |
部材表
(空)
結線には何も書きません。 : trrs35 : trs35 だけです。長さもケーブル番号も付けない。書いた瞬間そこはソケットになり、「別途ケーブルが要る」という意味に変わります。1本なので書きません。長さと番号は as cable のうしろに、物として1つだけ付けます。
次は差し込み口がある分岐アダプタとして書く場合。宣言はほとんど同じです。
device pc "ノートPC" as computer { io HS : trrs35 }
adapter sp "TRRS分岐アダプタ" {
io IN : trrs35
out MIC : trs35
out HP : trs35
}
device mic "コンデンサマイク" as microphone { in IN : trs35 }
device amp "アンプ" as amplifier { in IN : trs35 }
pc.HS -> sp.IN : trrs35 # 生えている
sp.MIC -> mic.IN : trs35 2m "A-01" # ソケット
sp.HP -> amp.IN : trs35 3m "A-02" # ソケットケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| A-01 | TRRS分岐アダプタ | コンデンサマイク | TRS 3.5mm | 2m | — | — |
| A-02 | TRRS分岐アダプタ | アンプ | TRS 3.5mm | 3m | — | — |
部材表
| 部材 | 数 | つながる先 |
|---|---|---|
| TRRS分岐アダプタ | 1 | ノートPC / コンデンサマイク / アンプ |
| 1本のケーブル | 分岐アダプタ | |
|---|---|---|
as cable "A-01" | 付ける | 付けない |
| 各結線の長さ・番号 | 書かない | 書く |
| ケーブル表 | 1行 | 2行 |
| 部材表 | 空 | 1個 |
変えたのは2か所だけです。どちらも PC 側には何も書いていないので、TRRS のプラグが生えている点は共通しています。分岐アダプタの側で部材表の「つながる先」にノートPC が入っているのはそのためです。
現場での判断はこれだけです — その口に別のケーブルを挿すか。挿すなら長さか番号を書く、挿さないなら書かない。
10ワイヤレスマイクを書く
無線の信号型を使えば、線ではなく波として描かれます。
uhf のような無線の信号型はコネクタを持ちません。長さも書けません。代わりに [ch=…] でチャンネルを書きます。
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"ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| A-01 | 受信機 | 卓 | XLR | 3m | — | — |
無線表
| 番号 | 送出 | 受け | 信号 | 乗り物 | チャンネル |
|---|---|---|---|---|---|
| — | ワイヤレスマイク | 受信機 | ワイヤレス (UHF) | — | ch 38 |
2枚に分かれます。 ケーブル表に出るのは受信機から卓までの XLR 1本だけで、電波の区間は無線表です。長さもコネクタも巻くものも無い行がケーブル表にあると、測り忘れたケーブルに見えてしまうためです。
2枚は別の人が別のものを探して読みます。届く長さがあるかと、同じチャンネルが2系統で重なっていないかです。
11無線 LAN 経由の NDI のように、何かに乗っている信号
over で「中身」と「乗り物」を分けて書きます。
NDI は映像ですが、流れているのは Ethernet です。無線 LAN なら電波です。図が語りたいのは NDI で、物理を決めるのは Ethernet や WiFi です。over はこの2つを分けます。
device cam "中継カメラ" as camera { out WIFI : ndi }
device ap "アクセスポイント" as router { io WIFI : ndi
out LAN : ndi }
device pc "収録PC" as recorder { in LAN : ndi }
cam.WIFI -> ap.WIFI : ndi over wifi [ch=36]
ap.LAN -> pc.LAN : ndi over lan 20m "N-01"ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| N-01 | アクセスポイント | 収録PC | NDI | 20m | — | — |
無線表
| 番号 | 送出 | 受け | 信号 | 乗り物 | チャンネル |
|---|---|---|---|---|---|
| — | 中継カメラ | アクセスポイント | NDI | Wi-Fi | ch 36 |
乗り物が物理を決めます。 同じ NDI が2枚に分かれました。over wifi の区間は無線表で、コネクタを持たずチャンネルを持ちます。over lan の区間はケーブル表で、RJ45 と長さと番号を持ちます。中身が同じでも乗り物で行き先が変わるのが、over の効き方そのものです。
無線表の乗り物の欄には Wi-Fi が入ります。名前は中身のもの、周波数は乗り物のものなので、列が分かれています。前の項のワイヤレスマイクではこの欄が空でした。uhf は自分自身の乗り物で、「UHF が UHF に乗っている」とは書く意味がないからです。
over を書かなければ、信号は自分自身の乗り物です。これまでどおりの動きになります。
12同じ LAN に Dante と NDI が同居する
乗り物が同じでも、中身が違えば別の線として描かれます。
1本の Cat ケーブルに何が乗っているかは、現場では別々の関心事です。over で書き分ければ、同じ RJ45 でも図の上では別の系統として読めます。
device dk "卓" as mixer { io DANTE : dante }
device sw "L2スイッチ" as router { io 1 : dante io 2 : ndi }
device pc "配信PC" as computer { io LAN : ndi }
dk.DANTE -> sw.1 : dante over lan 15m "N-01"
sw.2 -> pc.LAN : ndi over lan 10m "N-02"ケーブル表
| 番号 | 送出 | 受け | 信号 | 長さ | 送出端 | 受け端 |
|---|---|---|---|---|---|---|
| N-01 | 卓 | L2スイッチ | Dante | 15m | — | — |
| N-02 | L2スイッチ | 配信PC | NDI | 10m | — | — |
13場所ごとにまとめる
group で囲むと、図でも囲まれます。
ステージ、ラック、調整室。置き場所が違うものは違う場所に描かれてほしいので、group で囲みます。
diagram "会場" { direction: LR }
group stage "ステージ" {
device cam1 "FX3" as camera { out SDI : sdi }
device mic1 "SM58" as microphone { out OUT : xlr }
}
group rack "ラック" {
device sw "ATEM" as switcher { in 1..2 : sdi out PGM : sdi }
device mixer "DM3" as mixer { in CH[1..2] : xlr out L, R : xlr }
}
cam1.SDI -> sw.1 : sdi 30m "V-01"
mic1.OUT -> mixer.CH1 : xlr 20m "A-01"機材表
| 機器 | 種別 | 設置 | ポート数 |
|---|---|---|---|
| FX3 | camera | ステージ | 1 |
| SM58 | microphone | ステージ | 1 |
| ATEM | switcher | ラック | 3 |
| DM3 | mixer | ラック | 4 |
機材表にはグループが列として出ます。diagram "会場" { direction: LR } で向きを変えられます。
14口の並びに切れ目を入れる
gap は実物のパネルの余白です。
実物のパネルには区切りがあります。図がそれと違う並びだと、図を見ながら現物を触る人が数え間違えます。gap はその余白です。gap 2 で2つぶん空きます。
device sw "ATEM Mini Extreme" as switcher {
in 1..4 : hdmi
gap
in 5..8 : sdi
gap 2
in AUDIO_L, AUDIO_R : trs
out PGM : sdi
gap
out STREAM : lan
}15同じ機材を何台も置く
model で一度書いて、from で呼びます。
同じ卓を2台置くとき、口の一覧を2回書く必要はありません。model に書いて device … from … で呼びます。名前だけ変えられます。
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 "モニター卓"@vendor "Yamaha" のような注記も付けられます。機材表に出ます。
16挿さらない組み合わせを見つけてもらう
コネクタが同じでも通らないものを指摘します。
形が合うことと通ることは別です。HDBaseT は Cat ケーブルと RJ45 を使いますが Ethernet ではないので、スイッチには挿せません。SDI と同期基準は BNC を共有しますが、映像を入れてもロックしません。
device ext "HDBaseT受信器" as interface { out CAT : hdbaset }
device netsw "L2スイッチ" as router { in 1 : lan }
device cam "カメラ" as camera { out SDI : sdi }
device fs "フレームシンクロナイザ" as generic { in REF : genlock }
ext.CAT -> netsw.1 : hdbaset 20m "N-01"
cam.SDI -> fs.REF : sdi 5m "V-90"- warning
signal-mismatchext.CAT → netsw.1: HDBaseT は Cat ケーブルと RJ45 を使うが Ethernet ではない。スイッチには挿せない - warning
signal-mismatchcam.SDI → fs.REF: BNC を共有するだけ。同期基準入力に映像を入れてもロックしない
これはこのページのビルドが実際に出した文言です。警告は既定ではビルドを止めません。止めたいときは --strict を付けます。
17白黒で刷る
theme: mono にすると色ではなく線種で描き分けます。
現場に持っていく紙は白黒のことがあります。色だけで描き分けた図は、刷った瞬間に読めなくなります。
diagram "白黒印刷用" { theme: mono }
device cam "カメラ" as camera { out SDI : sdi }
device sw "スイッチャー" as switcher { in 1 : sdi out PGM : sdi }
device rec "レコーダー" as recorder { in SDI : sdi }
cam.SDI -> sw.1 : sdi 30m "V-01" [color=青]
sw.PGM -> rec.SDI : sdi 2m "V-10"[color=青] はそのまま残しておいて構いません。mono のときは線種に置き換えられます。選べるテーマは次のとおりです。
lightdarkmonoblueprint18自由に決める語と、選ぶ語
名前は自分で決め、種別と信号型は一覧から選びます。
どの語を自分で決められて、どの語が決まっているのかがわかりにくい、というのはもっともです。分かれ目は1つです。あなたの現場を指す語は自由、この言語が意味を知っている語は一覧から。
| 書く場所 | どちらか | 例 |
|---|---|---|
機材の id(device の直後) | 自由 | cam1 foh sw |
表示名("…") | 自由 | "FX3" "モニター卓" |
| ポート名 | 自由 | SDI 1..4 CH[1..16] |
ケーブル番号("…") | 自由 | "V-01" "A-12" |
注記(@…) | 自由 | @vendor "Yamaha" |
機材種別(as …) | 一覧から | camera mixer router |
信号型(: …) | 一覧から | sdi xlr dante |
| 単位 | 一覧から | m cm ft |
色([color=…]) | 一覧から | 青 blue |
| テーマ | 一覧から | light mono |
一覧にない信号型が要るときは signal で自分で定義できます。一覧は閉じてはいません。以下はすべて公開済みパッケージから読み出したもので、手で書き写したものではありません。
機材種別 — as のうしろに書きます。
cameraswitchermixerrecorderplayerdisplayprojectorspeakermicrophoneamplifiercomputerconvertertransmitterreceivermatrixpatchbayrouterinterfacegeneric単位
mmcmminft色 — 日本語と英語のどちらでも書けます。
red赤blue青green緑yellow黄orange橙purple紫black黒white白graygrey灰brown茶pink桃信号型 — : のうしろに書きます。コネクタも載せてあります。コネクタなしは無線です。
映像
componentComponentBNC / RCAcompositeCompositeBNC / RCAdpDisplayPortDisplayPort / DisplayPort MinidviDVIDVI-D / DVI-IfiberFiberLC / SC / OpticalCONhdbasetHDBaseTRJ45hdmiHDMIHDMI / HDMI Mini / HDMI MicrondiNDIRJ45sdiSDIBNC / DIN 1.0/2.3st2110ST 2110RJ45 / SFPvgaVGAD-sub 15wireless-video無線映像コネクタなし音声
adatADATTOSLINKaesAES/EBUXLR / BNCdanteDanteRJ45iemIEMコネクタなしmadiMADIBNC / SCopticalOpticalTOSLINKrcaRCARCAspdifS/PDIFRCA / TOSLINKspeakonSpeakonNL4 / NL8trrsTRRS 1/4"TRRS 1/4"trrs35TRRS 3.5mmTRRS 3.5mmtrsTRS 1/4"TRS 1/4"trs35TRS 3.5mmTRS 3.5mmuhfワイヤレス (UHF)コネクタなしxlrXLRXLR-M / XLR-F / Mini XLR-M / Mini XLR-F / Mini XLR-4M / Mini XLR-4F制御
dmxDMXXLR-5 / XLR-3gpioGPIOTerminal / D-subirIRコネクタなしmidiMIDIDIN-5 / TRS 3.5mmrs232RS-232D-sub 9rs422RS-422D-sub 9rs485RS-485D-sub 9 / XLRwireless-dmx無線 DMXコネクタなしネットワーク
bluetoothBluetoothコネクタなしlanLANRJ45usbUSBUSB-A / USB-B / USB-C / USB Micro-B / USB Mini-BwifiWi-Fiコネクタなし電源
acACIEC C13 / IEC C14 / NEMAdcDCBarrel / XLR-4poePoERJ45usbpdUSB PDUSB-C同期
genlockGenlockBNCtimecodeTimecodeBNC / XLRwordclockWord ClockBNC汎用
generic