自分の VDMX プロジェクトファイルについて (主に NumFX使ったやつの解説)
改めまして、明けましておめでとうございます。無事大晦日から元旦にかけての Weekend Ravers NYE も VJ をやりきることができました。
さて、以前 VJ さんのお宅で開催された VJ 会議 feat. 寿司 にお邪魔した際に、僕の VDMX のプロジェクトファイルを見ていただき思いの外反響 (?) があったので、 その中でも目立つ箇所とその実装方法的なのを紹介しようと思います。
この記事での前提と準備
基本的に操作は KORG の nanoKontrol2 (以下、ナノコン) で行うものとします。
フェーダー・ノブ・ボタン S
M
R
の 1セットで 1つのレイヤー操作します。
また、左から順にレイヤー1, 2, 3... を操作するものとします。
これは僕のやり方に近いというだけなので、もし参考にされる場合は各自の方法 (お持ちの MIDI コンや VDMX の Control Surface 等) に落とし込んでいただければと思います。
では説明していくにあたって、とりあえずレイヤーをいくつかとそれぞれのプレビューを用意しておきましょう。
そして、それぞれの Layer Opacity
にナノコンの縦フェーダーを割り当てておきましょう。それでは解説に入ります。
ミュート機能
ちょうど「Mute」の頭文字なので、ナノコンの M
ボタンを押したらそのレイヤーがミュートされる、つまり Layer Opacity
が強制的に 0.00
になるようにします。仕様は以下の通りです。
- 1回
M
ボタンを押すとミュートが有効になる - もう 1回
M
ボタンを押すとミュートが解除される
これを Number FX の機能を使って用意します。今回の状況で言えば縦フェーダーの値で Layer Opacity
を弄っているわけですが、その縦フェーダーの値に エフェクト をかけることができます。
例えばレイヤー2の UI Inspector を開いてみましょう。下の方に Edit Num FX Chain
ボタンがあるのでクリックします。
すると、Number FX Chain Inspector
というウィンドウが出てくると思います。
では、右上の Add Asset:
から FX > Multiply
を選びましょう。
なんとなく想像つく方もいらっしゃると思いますが、これでナノコンの縦フェーダーの値にある数を掛け算した結果を Layer Opacity
として使うことができます。初期値では 1.25
なので、縦フェーダーの値 x 1.25 が Opacity として使われます。もし Multiplier
に 2.00
を与えておけば、縦フェーダーを半分程度上げただけで Layer Opacity
は 1.00
になっていますし、逆に Multiplier
に 0.50
を与えると、縦フェーダーを全部上げても Layer Opacity
は 0.50
までしか上がりません。
また VDMX の通常のエフェクトと同じく右上の On
Off
ボタンを押すと、NumFX の有効無効を切り替えられます。
前置きが長くなってしまいましたが、僕のミュートの実装方法は NumFX Multiply を用意して 値を 0 にし、ナノコンの M
で On Off を切り替える というものです。最終的に出来上がったものが以下のようになります。
ソロ機能
すみません近日中に書きます。(2018.01.01現在)
ということで
Number FX で楽しい VDMX ライフを!
余談
パーティー中に他の方の VDMX を見てふと思い立って増築した自分のプロジェクトファイルがこちらになります。
そして増築直後
できるVJなので画面にメニューバーが出た瞬間を逃さなかった pic.twitter.com/uVppcLBxPh
— zukutya (@zukutya) 2017年12月31日
ごめんなさい、僕でした。 https://t.co/PzuYieClfz
— VJメニューバー (@yadex205_vj) 2017年12月31日
VJ中にメニューバーがでても気にならないように音に反応してメニューバーが上下するクソquartz composer作りました!!!! pic.twitter.com/ethrj5wJur
— VDJ:gekko限定美嘉爆死 (@gekko_vdj) 2018年1月1日
今年は荒れそうです。本当にメニューバー出さないよう気をつけます・・・。
2018年明けましておめでとうございます。
明けましておめでとうございます。Yadex205 です。
昨年 2017年は大学院中退や VJ チーム SabaLeoN に所属したこともあり、結果として VJ させて頂ける機会が増えました。 本当にありがたいことですし、出演させて頂けて本当に楽しい時間を何度も過ごすことができました。 繋がりも増え機材も増え、楽しい経験も増え人生で一番充実していた 1年だったと思います。
アルバイトの方では Ruby on Rails に触れてウェブアプリケーションやプログラミングについての知識も身についたと思います。 ISUCON 予選にも参加し、自分の技術がまだ未熟なのを実感しつつ、知らない世界を覗けたことも大変大きかったです。
今年ももちろん VJ をより一層頑張っていきたいのに加え、 4月から社会人になりますのでそちらでも成長していきたいと思います。
2017 年度お世話になったイベント
日付 | イベント名 or ハッシュタグ | 会場 | 出演形態 |
---|---|---|---|
1/22 | 良い曲 | 早稲田 茶箱 | 個人 |
1/25 | アイドルVJ | 渋谷 Camelot | 個人 |
5/6 | Happiness | 武蔵小杉 AlphaCross | 個人 |
5/27 | #アジアニ 3 | 渋谷 Clubasia | 個人 |
6/10 | #揺らす | 中野 Heavysick Zero | 個人 |
7/22 | IMAP++ #imappp | 渋谷 WhiteSpaceLab | 個人 |
8/5 | アイドルVJ | 渋谷 Camelot | 個人 |
9/10 | VJ体験交流会 | 東心斎橋 Libera | 客 |
9/24 | #NNG01 | 青山 fai | 個人 |
10/07 | DefDistortion 42 | 渋谷 R-Lounge | SabaLeoN として |
10/09 | アイドルVJ | 渋谷 Camelot | 個人 |
10/27 | #アジアニ 4 | 渋谷 Clubasia | 個人 |
11/3 | DefDistortion #43 | 渋谷 R-Lounge | SabaLeoN として |
11/3 | GOTTA VISION #ごった | 新大久保 UniqueLaboratory | 個人 |
11/4 | #しなすたリリパ | 渋谷 nagomix | SabaLeoN として |
11/9 | #アパチュナ | 渋谷 nagomix | 個人 |
11/11 | BunGeee☆ 50 | 京橋 Beronica | 個人(飛び入り) |
11/22 | Re:animation 11 | 新木場 STUDIO COAST (ageHa) | SabeLeoN として |
11/25 | #dolive 03 | 渋谷 LoungeNeo | 個人 |
11/26 | Supersonic | 渋谷 WOMB | SabaLeoN として |
12/02 | DefDistortion #44 | 渋谷 R-Lounge | SabaLeoN として |
12/10 | アイドルVJ | 渋谷 Camelot | 個人 |
12/16 | ravish 10 #ravish | 渋谷 R-Lounge | 個人 |
12/22 | Supersonic Next | 渋谷 R-Lounge | SabaLeoN として |
12/31 | Weekend Ravers NYE #wrnye | 渋谷 Clubasia | SabaLeoN として |
イベントの主催者様出演者様、スタッフ様お客様に大変お世話になりました。本当にありがとうございました。
2018年もどうぞよろしくお願いいたします! VJ オファーお待ちしております!
Case-sensitive な macOS 上で Cinder のビルドにコケた話
ご無沙汰しております。
最近 macOS 10.12 をクリーンインストールする機会があり、もちろん SSD も綺麗にフォーマットしたわけですが、 今まで見落としていたのか「Case-sensitive」(日本語: 大文字/小文字を区別) というものに興味を惹かれて有効にしてみました。
そしたらまさかの Adobe ソフトがインストールできないとまぁ大笑いだったわけですが。
「大文字と小文字が区別されるドライブへのインストールはサポートされていません」エラー
Mac で Illustrator が使えないのは辛いですね・・・。
Cinder のビルドができない
openFrameworks のライバル(?) である Cinder というものがあり、 公式サイトから既にビルド済みのパッケージをダウンロードすることができますが、 Github 上のリポジトリからソースコードをクローンしてきて CMake でビルドすることもできます。
ところがいざビルドしようとすると、CMake が以下のようなエラーを吐いて止まってしまいます。
CMake Error at proj/cmake/libcinder_target.cmake:14 (add_library): Cannot find source file: path-to-libcinder/src/AntTweakBar/TwOpenGl.cpp Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
src/AntTweakBar/TwOpenGl.app
が見つからないって言っていますね。
では src/AntTweakBar
ディレクトリを見てみましょう。
なんと TwOpenG"""L""".cpp
という名前で存在しています。
おそらく開発陣が CMake ファイルを作られた時に TwOpenG"""l""".cpp
と誤植 (と言えるのか) してしまったのかと思われますが、
普通の macOS なら Case-Insensitive (大文字/小文字を区別しない) 環境で動かしていると思いますし、
ビルドに失敗することもなかったのでしょう。実際僕も以前ビルドした時にはこんな問題は起こらなかったです。
Issue を書き込みました。
ぶっちゃけこれが言いたかっただけなのですが、この件は一応 Issue を投げました。
まぁファイル中の 1文字を直すだけなので、手元にクローンしたやつを書き換えるだけでとりあえず対応はできていますけどね。
まとめ
Case-sensitive なディスク上で macOS を動かすとたまに不便になります。
話が逸れますが、Docker for Mac で 大文字小文字の区別関連で苦労されてる方もいらっしゃるようですね。
こちらは Case-sensitive な方が良いというパターンですので、一概に Case-sensitive はダメ、とも言い切れないですね。
告知など
いつも通りの唐突な告知です。以下のイベントで VJ で出演いたします。
#アジア二 第4期
GOTTA VISION
また、この度 VJチーム SabaLeoN に所属することになりましたので、 SabaLeoN メンバーとしても各所に VJ しに行きます。
何卒よろしくお願いいたします。
Capistrano3 でリモート側の環境変数設定されてないなって思ったら
どうでも良いことで 2時間くらい食って悔しかったのと日本語記事がなかったように思えたので書きなぐりました。
症状
Capistrano でデプロイ先で、.bashrc
に書いた環境変数が設定されないまま処理が行われてしまう。
対処
以下の Stackoverflow に答えがありました。
デプロイ先の .bashrc
なりシェルの設定ファイルの先頭に
# If not running interactively, don't do anything
みたいなコメントと、その直後に return
してそうな箇所はありませんか?
Ubuntu など一部のディストリビューションのシェル設定ファイルの先頭には「インタラクティブシェルじゃないならこの後の設定は読み込まない」ような記述がされていることがあるため、その記述をコメントアウトするなりその記述の前に設定を書くなりの対策をとれば良い感じになると思います。
AmazonLinux だとそのような記述がなかったから完全に見逃してた・・・。
flycheck で走らせるプログラムを探すのに direnv に手伝わせる時の注意点
挨拶
またしても前回の投稿から間が空いてしまいましたが、なんと就活が終わっていたり 大学院を中退していたりと色んなことが起こりました。ひと段落したので VJや動画制作やWebデザインなど、もっと取り組んでいきたいと思います。
flycheck が使う文法チェック系プログラム
Emacs でリアルタイムに文法チェックを行うのに便利なのが flycheck
ですが、
flycheck
自体がコードを調査しているのではなく、rubocop
やら eslint
やらを
実行しているのはご存知かと思います。
それらのプログラムはどのように探されているかというと、シェルが $PATH
から
プログラムを探すように、Flycheck は Emacs 上の変数 exec-path
から探しています。
公式ドキュメントにその記述があります。
また、exec-path
の中身は
M-x describe-variable RET exec-path
で見ることができます。
direnv を使ってプロジェクト毎の文法チェックプログラムを探させる
少し話が逸れますが、eslint
だったり rubocop
と言った文法チェック系のプログラムは、
なるべくグローバルにではなくプロジェクトのディレクトリ内に置いときたい派です。
なんとなくなのでちゃんとした理由があるわけではないです。
なので、例えばNode.js 系のプロジェクトなら npm
で eslint
を導入すると、
node_modules/.bin
ディレクトリに実行ファイルが置かれるような状態です。
普通はそのようなディレクトリには $PATH
が通ってませんが、direnv
を使えば
プロジェクトのディレクトリ下に入った時だけ $PATH
にそれらを含めることができます。
.envrc
というテキストファイルをプロジェクトのルートディレクトリに置き
export PATH="node_modules/.bin:$PATH"
と記載してやると良い感じになります。細かい話などは割愛しますので調べてみてください。
そして、普通シェルから立ち上げた Emacs は $PATH
から exec-path
に値が丸写しされますし
(GUI の場合は exec-path-from-shell
というパッケージが要るそうです)、
direnv
管理下のファイルを Emacs で開けば .envrc
に書かれた内容も
もちろん exec-path
に反映されています。
.envrc での $PATH の追加の仕方に注意
ただし、上記の export PATH="bin:$PATH"
のように相対パスで指定すると、実はうまく動かない時が出てきます。
例えばファイル構成が以下の場合を想定します。
- /your/great/project/.envrc
- /your/great/project/node_modules/.bin/eslint
- /your/great/project/code1.js
- /your/great/project/nested/code2.js
.envrc
には
export PATH="node_modules/.bin:$PATH"
が記載されています。
このとき、Emacs で /code1.js
を編集しているときは $PATH
に従って /node_modules/.bin/eslint
を見つけにいきますが、/nested/code2.js
を編集しようとすると /nested/node_modules/.bin/eslint
を探しに行こうとして見つからずに失敗します(多分そうだと思います)。
なのでEmacs の flycheck を利用する場合は $PATH
は必ず絶対パスである必要があります。
PATH_add で楽して絶対パスを指定する
では .envrc
には必ず絶対パスを書く面倒なことをしなくちゃいけないのかというとそうではなく、
PATH_add
という便利機能が備わって要るので、それを使いましょう。
PATH_add node_modules/.bin
これによって $PATH
には /your/great/project/node_modules/.bin
のように
絶対パスで追加されます。
結論
プロジェクトディレクトリ以下に文法チェック系のプログラムがあり、
かつ flycheck
にそれを見つけさせるために direnv
を使う場合は、
PATH_add
を使った方が良いと思います。
告知
5月中に 2件VJやります。
初めて学外でVJやった 武蔵小杉アルファクロス 様でまたVJできるのとても楽しみです。 エイジアも2回目になります。前よりゴリゴリ視力削っていきたいです。
お時間あれば何卒よろしくお願いいたします。
MacBook Pro Late-2016の画面出力について
そろそろ収まってきた頃だと思いますが、MacBook Pro Late-2016、すごいTwitterとかで話題になりましたよね。 そんな TouchBar 付き MBP ですが、直前の記事に書いた通り先月購入し、VJ用に整えている最中です。
ですが、最近 USB-C → HDMI アダプタを使っての画面出力がどうにもうまくいかないので、 原因の特定には至ってませんが気になる英語の記事を見かけたので、軽くまとめます。
画面出力の不具合
僕が使っているのはこの ELECOM の製品なんですが、初めの頃は問題なかったのですが、 現在以下のような現象が起きています。
- プロジェクターに直接 HDMI を接続しても、Mac 側はプロジェクターを認識しているものの、プロジェクター側は「映像が来ていない」と思っている。
- HDMIを Blackmagic design Intensity Shuttle (HDMIキャプチャ) に接続させると、キャプチャ側で映像のサイズやフレームレートは認識できるのに青い画面しか見れない。
- 分かる人には分かる魔法 (Kanaan の HDMI スプリッター) を経由するとなぜかキャプチャ側で映像が映るようになる。
まさか常時 HDMI 出力に HDCP かかるようになりましたとか、そんなことはないですよね・・・。ていうかプロジェクター HDCP 対応してるでしょ(してた)。 そもそも、初めの頃普通に表示できていた理由もわかりません。
「Late-2016で USB-C to HDMI はやめとけ」という英語の記事
情報を探していましたが、直接の解決策となる情報は見つからず。 ただ、
こちらの記事に興味深い情報が書いてありました。要点をまとめると、
- サードパーティーの USB-C to HDMI はまともに動かない (ただし Mac はディスプレイを認識できている)
- そもそも Apple 純正の USB-C to HDMI すら動かない
- USB-C to DisplayPort はしっかり動くので、今は DisplayPort の方をつかうべき
ただ、この方は Radeon 入り 15インチ MacBook Pro なので、僕の13インチ内蔵フラフィックスとは状況が違うかもしれません。
結論
VJするには非常に面倒なマシン買っちゃったかも・・・。 原因がわからないのが辛いですが、前述の通りなぜか魔法を使うと映るので、しばらくはそれで対処しようと思います。
追記
この記事を書いた直後にこんな追記するものアレなのですが、以下の構成でふっつーに出力できました。まじなんなん・・・。
MacBook Pro → Elecom の USB-C to HDMI → HDMI to DVI ケーブル → BenQのディスプレイ (GL2250)
今後のVJ機器の構成を妄想
賀正
2017年
またしても前回の記事から時間が経ってしまい、気づいたら年が変わりました。 明けましておめでとうございます。 今後とも何卒よろしくお願いいたします。
大学院の方は相変わらずの進捗の悪さに定評がありますが、そろそろ覆したい気持ちです。
そしてVJですが、環境とか手元にあるリソースが大きく変わったので、 自分のやり方を維持しつつ構成をアップグレードしたいなという妄想をしたかっただけです。
ちなみにこの記事を書こうと思った発端は以下の通りです。
プロジェクター ← Resolume Arena (ThinkPad, Intensity Shuttle) ← V-1HD ← VDMX (MacBook) + VirtualDJ (ポンコツPC)
— Yadex205 (@yadex205_vj) 2017年1月5日
っていう頭悪い構成思いついてしまった
構成の妄想
実は1月2日にVJ新年会というとても楽しい会があって、その時にVDMXを買ってしまったのですが、 パッと見自分のやり方に実は合ってる気がしたので、極めようと思っています。
その上で、今まで VVVV + V-4 でやってきたのに近いプレイを MacBook Pro + VDMX でやろうと考えています。
ThinkPad の方では VirtualDJ をメインで動かそうと思います。 そしてVDMXとVirtualDJの出力をミキシングし、最終的なエフェクトをかけ、プロジェクションマッピングするソフトとして Resolume Arena は使っていきたいです。
ちなみに、MacBook Proの方でVDMXとArenaを両方起動したところVDMXがかなり怪しくなったので、 できることなら同時起動させたくないなと思いました。
自分のVJ環境の変化
一応参考程度に、覚えている範囲で。
大学サークルでVJ (2014年9月ごろ~)
軽音楽系のサークルで、先輩がDJしている隣でVJをはじめました。
PCは ThinkPad E430、完璧にエントリーモデルなノートパソコンです。 ソフトは Resolume Avenue をしばらく体験版状態で使い、 途中からちゃんと購入して使っていました。
コントローラーも途中からド定番 nanoKontroller2 と nanoPad2 を買って、今でも使っています。
学外でVJ活動開始当初 (2015年10月ごろ~)
ライセンスBANされた Resolume Avenue を1回だけ使い、 そのあとは VVVV を使ってでっち上げたVJソフトもどきで何とかしのいでいました。
結局ここから1年間くらい VVVV だけでVJしていました。(何回かElectronで作ったソフトも使いました)
なお、コントローラーも AKAI APC mini を新しく買いました。
V-4 入手 (2016年4月ごろ)
諸事情あって、夢の Roland V-4 を入手しました。
例のVJソフトもどきはエフェクトをかけられるように実装していなかったので、 V-4を使ってチカチカするようなVJができるようになってかなり楽しくなりました。
自分がプロフィールに書いてる「目に悪いVJをしています」感じのスタイルはこのあたりで出来てきたのだと思います。
Pioneer DDJ-RB, GoVJ 購入 (2016年8月ごろ)
ニコル君と話していたら気づいたら買っていました。
同時に、VirtualDJ と GrandVJ を組み合わせたようなソフトを作ってみたいと思うようになって、 Electron(Node.js)でVJソフトもどきを作り、DDJ-RB, nanoKontroller2に対応させました。
ちなみにソフトの完成度はファッキンと言ったレベルです。
また、GoVJという iOS 向けVJアプリを購入し、 ThinkPadで動いてるVJソフトが死んだときの応急処置として用意するようになりました。
Resolume Arena, VirtualDJ 購入 (2016年11月)
ブラックフライデーに合わせて、再び Resolume 製品を買ってしまいました、しかも Arena です。 買ってしまったというか、某VJさんにそそのかされて買いました。
また、それとは別に VirtualDJ を購入し、いわゆるアニソンVJのようなスタイルもできる準備はしました。
VVVVでやってた頃とは違ってスタイルがある程度制限されるようにはなりましたが、 やはり有償ソフトならではの安定さと、特に Resolume のエフェクトの豊富さは使っていて気持ちいいです。
MacBook Pro 購入 (2016年12月)
念願のMacBook Pro を購入しました。 ThinkPadを使っていた時よりは確実に性能が良くなりましたし、Syphonが使える強みもあります。
最後に
VJ新年会本当に面白くて、「V-4EXのなる木を育てたい」とか「粉チーズを肥料にしたらV-1HDが成る」みたいな話をしていました。
— Yadex205 (@yadex205_vj) 2017年1月3日
本年も、何卒よろしくお願いいたします。V-1HD欲しい。