VJ環境備忘録

# はじめに
hmznと申します。名古屋でたまにVJをやっています。最近機材構成が複雑化してきているので自分用のメモも兼ねて環境・機材構成をまとめておこうと思います。

# 全体構成
まず初めに全体構成を軽く解説します。最近使ってる環境の全体構成は下記の図のようになっています。PC2台でそれぞれPro DJ Linkに接続してCDJとのBPM同期やトラック情報の表示などいろいろやっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/8fb44ad1-e6e5-4a2c-9cc5-5620b731a16a.png)



## PC
利用するPCは2台で、2台目はもう一人のVJPCもしくは追加で1台持ち込んだものを使います。PCを2台に分けているのはBeatLinkTriggerとProlink toolsを併用したいというのが主な理由です。どちらのソフトもPro DJ Link接続用で同じポートを利用するため、1台のPCで起動しようとするとエラーが出るため2台に分けた構成になっています。PC2台目を持ち込む場合についてですが設営後は2台目のPCはほぼ触らないのでよけておけばそこまで邪魔にはならないかと思います。

## ネットワーク
ネットワーク構成は箱の環境次第ですが大まかに3種類のパターンに分けられます。
1. Pro DJ Linkのハブに繋げばインターネットにつながるパターン
1. Pro DJ Linkとは別にインターネット接続環境があるパターン
1. そもそも箱にインターネット接続環境がない

### 1.Pro DJ Linkのハブに繋げばインターネットにつながるパターン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/beb4f6c6-eb12-4edc-acaa-2f4ef68ea303.png)
このパターンは最高です。特に設定をいじらなくてもProLinkとインターネットの両方に接続できます。また、ルーターはだいたい無線LAN機能搭載なので情報表示用のiPadも接続できます。無線LANがない場合は市販の家庭用ルータをブリッジモードでハブに繋いで使うなどします。

### 2.Pro DJ Linkとは別にインターネット接続環境があるパターン
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/a983b6a1-e047-4832-8aea-9ecdd0c617ed.png)
このパターンが一番多いような気がします。たいていはLANでProLinkに接続した後Wi-Fiに接続するとProLinkとインターネット両方に接続できます。

### 3.そもそも箱にインターネット接続環境がない
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/3f40f390-678f-4599-8968-2794bd836db2.png)
この場合はモバイルルータやスマートフォンのテザリング機能を利用しインターネットに接続しています。ただし電波環境のいい箱ばかりとは限らないというか悪いところの方が多いのが難点。


# ハードウェア
使っている機材の紹介をします。
## PC

Stealth-15-A13VE-769JP
|パーツ|詳細|
|:--|:--|
|CPU|Core i7 13620H 10C16T|
|RAM|DDR5 32GB|
|GPU|NVIDIA GeForce RTX4050Laptop 6GB GDDR6|
|SSD|1TB|
|Display|4K 15.6inch|

TSUKUMOの展示処分品で安かった
GPUはこれくらいのスペックがあれば安心かなといったところです。


## MIDIコントローラ

#### Novation Launchpad Mini mk3
主にResolumeのレイヤー選択用に使っています。

https://novationmusic.com/products/launchpad-mini-mk3

#### KORG nanoKONTROL2
Resolumeの各レイヤー透過率のフェーダーに割り当てたりエフェクトのパラメータ調整に使っています。

https://www.korg.com/jp/products/computergear/nanokontrol2/

## ビデオスイッチャー

Roland V-1HD
ザ・定番のスイッチャーです。スイッチャー持ってる知り合いはだいたいこれ

https://proav.roland.com/jp/products/v-1hd/

家で使う時に邪魔になるので3Dプリンタで縦置きスタンドを自作して使っています。
現場でも使ってみましたが省スペースに設営できるのでけっこうよかったです。

https://x.com/himajin_psd/status/1899594061830570311

https://x.com/himajin_psd/status/1904099044148105605

##### **BOOTHで受注生産してます**

https://infinityfabric.booth.pm/items/6685920

# ソフトウェア

使用しているソフトウェアの解説をするにあたり構成図をもう一度貼っておきます。
Resolumeに各ソフトからの出力を取り込みエフェクトを描けるなりして、それをOBSに出力し再生中のトラック情報を合成したものをHDMIから出力しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/0ceba743-8b0f-4e7f-86e1-808c01e75469.png)

## BeatLinkTrigger

PioneerのDJ機器間の通信に利用されるPro DJ Linkという規格の通信を利用しDJ機材の様々な情報を取得することができるソフトウェアです。よく使われているのはPlayerStatusというCDJにロードされている楽曲の曲名・再生位置・BPM・残り時間・波形・キューなどの情報を表示する機能ですが、実際には情報の読み取りだけではなくCDJへの楽曲のロードやBPM変更などといった操作も行えるようです。

https://github.com/Deep-Symmetry/beat-link-trigger

利用している機能は下記の二つです。
- Player Status
- Ableton Link Carabiner Connection(BPM同期)

### Player Status
Pro DJ Linkに接続した状態でNetworkタブから起動できます。（下図赤枠）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/50a41932-41da-4d67-af6a-5a21e5a9e673.png)
ちゃんとしたスクショがありませんが以下の画像のような感じでCDJにロードされている楽曲の状態が確認できます。わざわざ覗きに行く必要がないのでとても便利。
また、BeatLinkTriggerにはWebサーバー機能があるため他の端末からPlayerStatusを確認することができます。iPadで確認できるようにしておくとVJ間で共有できるので便利です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/8a73d620-c6fe-427c-8555-a08c34f37bf0.png)


### Ableton Link Carabiner Connection
こちらはBeatLinkTriggerと他のソフトウェアをAbleton Linkで接続する機能です。主にCDJとResolumeのBPM同期に利用しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/5d42eebf-57d0-464a-9cfe-7e44b51c57df.png)

Networkタブから起動すると以下のようなウィンドウが表示され接続設定ができるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/f5a04929-c8f2-4aec-b087-35c93465aa14.png)
その後Resolumeの「リンク」ボタンを押し、表示が「n Link」(nは接続数)になったら接続完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/359bde37-332e-47c8-b11c-196fda1766a1.png)

接続完了後はDJのBPM操作に追従してResolumeのBPMも変化するためBPMシンク系のエフェクトを使う時に毎回調整する手間が省けます。

:::note warn
注意
同じネットワーク内でBeatLinkTriggerと他のPro DJ Linkを利用するソフトを同時起動するとPlayerStatusの表示が崩れます。今のところ対処方法は見つけられていません。
:::

## Prolink Tools
BeatLinkTriggerと同じくPro DJ Linkに接続し各種情報を取得するためのツールです。こちらは楽曲情報を表示するために利用しています。BeatLinkTriggerでも楽曲情報の表示機能がありますがトラックにロードされた瞬間表示されてし枚ネタバレになるのでこちらを使っています。（あとデザインもいい）イベントの特性にもよるかと思いますがボカクラ系のクラブだとわりと喜ばれます。

https://prolink.tools/

こんな感じに表示されます。

https://x.com/saltin_0017/status/1903359069915853098

また、前述したとおり、Pro DJ Linkに接続するソフトウェアを1台のPCで2つ起動しようとするとポートの競合を起こしてエラーが発生するため、Prolink Toolsは別PCで起動しています。楽曲情報を表示するためのオーバーレイですが、Prolink toolsを起動したPC内部のWebサーバーにOBSのブラウザソースでアクセスする形で取得しているためPC1,2間のネットワーク的な疎通性が必須です。

## Youtube to Spout

YoutubeにあるMVをSpoutでResolumeに飛ばすために利用しています。2重で起動して交互にMVをロードしてResolumeがわで透過率を操作し入れ替えるような感じです。
とても便利なソフトですがMidiやショートカットの割り当ては一切できないのでマウスが必須です。

https://booth.pm/ja/items/5382457

## Resolume

前述のY2Sから受け取ったMVや汎用素材を合成しエフェクトを掛けたりとシステムの基幹となるソフトウェアです。知り合いのVJの中でも使用率一位だと思います。

https://www.resolume.com/

レイヤー構成は以下の画像のようにしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/84bb22e9-7f02-4575-b17b-38f61d059266.png)
各レイヤーの用途は以下の通りです。(上から順、名前は不一致)
1. イベントロゴ
1. DJ名・アイコン
1. VJ名・アイコン
1. 演者紹介時の画像表示用
1. エフェクト
1. 画像ポン出し
1. 空き
1. 汎用素材
1. エフェクト
1. エフェクト
1. クリッピング素材用
1. クリッピング対象
1. 汎用素材(だいたいトンネル系)
1. Y2S Spout 1
1. Y2S Spout 2
1. 背景画像(イベントロゴ等)

５～８レイヤーあたりをLaunchPadのグリッドに割り当てて切り替えしています。
また各レイヤーの透過率スライダーはナノコンのフェーダーに割り当てしています。

最終的にResolumeからの出力映像は以下の画像のようになります。実際はこれにMVが合成されていたりします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242165/2be03cb5-4266-49e3-8423-7ad2dc791678.png)

## OBS
OBSではResolumeからSpoutで受け取った映像にDJが流している曲のトラック情報をオーバーレイで重ねる処理をしています。トラック情報のオーバーレイはProlink toolsで生成し、ブラウザソースとしてOBSで表示・合成しています。イベント中にスクショを取り忘れて画像がないですがResolumeの出力の右側にトラック情報を出しています。
最終的に、処理した映像はOBSの全画面プロジェクターからビデオスチッチャーに渡し、HDMI経由でスクリーンに投影されます。


# さいごに
長々といろいろ書いていますが正直こんな面倒な構成にする必要はないと思うので、紹介したものの中から使いたい機能だけ抜き出して使ってもらうのがいいと思います。