作曲ソフトから音楽のビジュアライズにチャレンジする。その2
はじめに
前回はMIDI noteを使って外部のソフトにトリガーを送る方法でビジュアライズをやってみました。今回はDAWについているオートメーションの機能を使うことで時系列に合わせたパラメータの変化にチャレンジしてみたいと思います。
ビリーアイリッシュのトラックを借りてチャレンジだ!
アイキャッチに設定している画像にあるようにLogic Pro Xは2020年の春にバージョン10.5にメジャーアップデートをリリースした記念にビリーアイリッシュのOcean Eyesの楽曲プロジェクトを配布しています。これはフリートライアルのライセンスでも利用することができます。ありがたや!
プロジェクト作成の画面でデモプロジェクトから選択することで素材をDLすることができます。
今回は彼女が公開しているOcean Eyesのミュージックビデオに使われているエフェクトの再現に自分なりにチャレンジしてみました。
ミュージックビデオの1分40秒あたりからコーラスが始まる際にボーカルのレイヤーでたくさんのコーラスが使われます。この時にビデオの映像もそれに合わせて幾人かのビリーアイリッシュがレイヤーされるような作りになっています。このエフェクトをMAX8で真似してみようと思います。
使用環境
macOS Catalina 10.15.4
Logic Pro X 10.5.0 (TRIAL)
MAX8 (8.1.3)
今回できた成果物
・Logic_MIDI_CC_Sender.zip
・MidiCCReciever.maxpat
この二つのファイルが今回作ったサンプルです。
Logicのプロジェクトファイルはzipになっています。LogicのOcean Eyesのデータをそのまま再配布するのは権利上の問題が起きそうなので今回自分で作った外部連携用のトラックだけを切り出しています。
MidiCCReciever.maxpatではlogicのmidi ccを受け取ってVizzieのパラメータを動かすというような内容になっています。jsonファイルはMaxpatの中にあるvizzieのプリセットを呼び出すための設定ファイルとして用意しています。これらは同じフォルダの中に置いてあげる必要があります。
作ってみよう
・Logic側での作業
冒頭でも書きましたが今回はオートメーションという機能を使っていきます。これはLogic Pro Xに限らず主要なDAWであれば大体はついている機能です。オートメーションは時系列に沿って予め決めた数値を読み出したり、MIDIコントローラの操作を記録することができます。本来は楽器の演奏情報を操作したり記録するものですがこれはとても便利なので演奏用途以外に転用してみましょう!
まずは、Ocean EyesのデモトラックをDLしましょう。
次に、学習用に用意したサンプル(Logic_MIDI_CC_Sender)を開きます。新たにデータを開く際に今開いているプロジェクトを閉じるか確認されますが、いいえを選びます。
開くとこのような画面が展開されます。今回作ったデータでは、MIDI CCの値を線に沿って上下させています。これをMAX8で受信してパラメータを変化させようという意図です。このカーブにある点をマウスでドラッグすると線の流れや値を変化させることができます。是非ご自身でデータをいじってみてください。
では、このトラックをコピーし、先ほど開いたOcean Eyesのデータの一番下に追加します。貼り付ける際に、オートメーションも一緒にコピーするか聞かれますので、はいを選択します。
データの中身を詳しく見てみましょう。まずはオートメーションの機能です。これは、Logic Pro Xのメニュー画面から選択します。
左側の赤で囲ったボタンがオートメーションの機能です。ここをトグルにする事でオートメーションの表示、非表示を選択できます。そして右側のボタンはマウスのツール選択です。こちらをクリックすると編集画面で必要になる各ツールを選択できます。ここでは、オートメーション・カーブ・ツールというものを選択しています。
カーブツールを選択した状態でコマンドキーを押しながら線をドラッグすると綺麗なカーブを作ることができます。値を滑らかに変化させたい時に便利なので是非使ってみてください。
オートメーションによって動かすことができる値は赤枠で囲った部分から選択できるようになています。今回はMIDI CCの20番を使っていますが必要に応じて自分で別の値を追加してオートメーションさせることができます。
さて、これでLogic側の準備は完了です。
・MAX側での作業
これはサンプルのMIDI_CC_Recieverを開けばそのまま動くようにできています。
Vizzieのライブラリ群から今回はGrabberを使っています。ウェブカムの入力を映像用のディレイに流し込んでいるという仕組みです。動き回るとちょっと不思議な感覚になるので是非カメラの周りを歩いて遊んでみてください。
このmaxpatでは、MIDI CCとMIDI Noteを受信しています。[ctlin]ではMIDI CCのパラメータを受信し、[route]オブジェクトでそれぞれのアウトレットから値を取り出せるようにしています。Logicのトラックから送られてきたMIDI CC 20番の値を受け取り、0.0〜1.0に変換してMIXFADRに送っています。MIXFADRでは、ウェブカムから送られたそのままの映像とディレイがかかった映像をミックスしています。なのでLogic側で曲の進行に合わせてオートメーションされた値に合わせて映像がうつり変わっていきます。曲の1分40秒あたりから変化が分かるようになってくると思います。
[notein]のオブジェクトはFREEZRのオブジェクトをコントロールしています。これはトラック内でC1のノートがなっている間はDELAYRの映像を一時的にフリーズさせるようになっています。ディレイがかかった映像を一時的に止めることでエフェクトをわかりやすくするのが狙いです。
・MAXとLogicを同時に動かしてみる。
何かオフィシャルのミュージックビデオと程遠い何かが出来上がった気がします。
最後に
前回書いた記事とこの記事でお伝えしたかったのはDAWからのMIDIの出力を演奏以外に利用するという工夫です。フリーのDAWでもできそうな機能を使いそれなりに音楽を用いた表現ができるのではないかという仮説を検証するために色々と実験してみました。
他にも煩雑な手順で色々と実験してみたことがありますので機会を見つけてドキュメンテーションしていこうと思います。
ここまでお付き合いくださりありがとうございました。
この記事が気に入ったらサポートをしてみませんか?