~オーディオリアクティブの前に~楽曲の構成要素についての話【DTM】

2024年12月7日土曜日

VJソフト アイディア

t f B! P L


 〜本記事は#VJアドベントカレンダーに寄稿しています〜


お久しぶりの方はお久しぶり、初めましての方は初めまして。

神奈川在住のVJ:gekkoと申します。

DJやTrackmake方面で自分の名前をご存知の方は多いかもしれませんが、2013年に大学進学を機にVJを始めた11年目のVJでございます。

最初の5年はgrandVJを用いたhiphop like styleのVJを続けており、山梨大学DJサークルBouncYに所属、運営し[DJ転換のタイミングでジャンルや世界観が大きく変わる]ようなパーティで真価を発揮したり、自身がDJであることから[片手でDJ、もう片手でVJ]といったトンチキプレイで名を馳せていました。


社会人になったあたりからDJとして、Trackmakerとしての活動が活発になり、VJとして呼ばれなくなったので細々と活動しています。

その一環で、やはりDJとVJを一人で同時に行うことに限界を感じたため、サブで購入していたResolumeに本格シフトし、自分のDJ中の背中を任せられるような【完全自動オーディオリアクティブジェネレートVJ】を開始しました。

やってることの種明かしなんですが、音楽のBPMを解析して映像を操作したり、ResolumeのExternalFFT(外部音声取込)をして周波数帯域別にさまざまな映像の大きさや速度、透明度に割り当てているような感じです。

この辺りの自作プロジェクトはM3と呼ばれる同人即売会でResolumeのプロジェクトファイル毎頒布していますのでもしよろしければ次回をお楽しみください。

↓この前頒布したやつ



というわけで前置きが長くなってしまいましたが早速本題に入ります。

自分の機構を一から説明したらキリがないし、他のソフトに活かせるのかわからないので、まずはさわりとして今回は「楽曲の構成要素」について説明したいです。



第1章 楽器の種類について

ドラム
ドラムは打楽器で、音楽のリズムを司ることが多いです。

特にキック(ドッとかドンとかいうやつ)はかなり重要です。クラブで聴くと大抵はこれに合わせて体が揺れますよね?低音と一緒にメインのリズムはこれに該当することが多いです。
大体は曲に合わせて手拍子するときに重なるのがキックですしやはり重要でしょう。

また、キック以外はざっくりとパーカッションと分類させていただきます。
詳しくいうとハイハットやスネア、クラップなど色々あります。口で例えると「チキチキ」や「チキチー」とか「シャーン」などドラムの中でも中〜高音域に当たる部分です。
キックはメインのリズムですがパーカッション類は裏拍だったりとリズムに多様性を生み出すものです。


ベース
ベースはクラブやライブハウスくらいでないと認知するのは難しいですが、こちらはドラムのキックのように低音を司るものです。

曲全体の厚みを出し、キックと共に土台になるようなパートです。

メインメロディ(ボーカル、リード)
ボーカルはもちろん人間の声、リードはシンセやギターなど色々あります。
どちらも曲の中で印象的で口ずさむようなメインメロディに当たることが多いですね。


コード(和音)
ちょっと説明は難しいですが、ピアノやギター、シンセなどで複数の音を同時に出し響かせているものです。よく言われるものはド(C)&ミ(E)&ソ(G)で構成されるCコードでしょう。

説明は難しいのとあまり理解していないのでいないので気になったかたはぜひ調べてみてください。


他にもエフェクト等ありますが、ざっくりいうと上記のようなドラム、ベース、メインメロディ、コードの4種類の楽器があれば曲はできます。

次の章にて上記の4要素で曲がどのようにできているのかを示します。




第2章 楽曲のパートについて

それでは第1章にて説明した楽曲の構成要素に合わせて説明したいと思います。
下図をご覧ください。こちらはパート別にみた楽曲のタイムラインです。
※一部のパートが複数に分かれています。

また、上部に曲の盛り上がりを示した線も表示してみました。




更に、第一章では説明してないですが、楽曲にはFillやエフェクトなどの要素がありますので追加で3つ加えました。

Fill
セクションの切れ間に発生するものです。
Drumがそれまでと違って暴れるような動きをしたり、逆にClapだけ鳴っていたりとにかくそれまでと様子が違うものです。大抵はセクションの切れ間を示しています。

Build Up
これは盛り上がりのためにあるものです。
スネアロールがダカダカなったり、グイーンっていう音がどんどん高くなります。手拍子などして盛り上がるような音です。

Down Fill
こちらはFillの後に出てくる音です。Crashと呼ばれるシャーンとした高音だったり、Impactと呼ばれる「ドゥーン」といった低音だったり。
こちらもセクションの切れ間を演出するものですが、前のセクションの音数の多さから次のセクションの音数までなだらかにならすような役割を持っていたりします。



ジャンルや曲にもよりますがダンスミュージックはこのように進行することが多いです。
特徴としては下記が挙げられます。

①Dropが一番盛り上がり、最も楽器が使用されている。
(=盛り上がるところは音数が多い)
②DrumのPercussion 2はIntroやDrop、Outroの半分で足されるように使われる。
(=長めのセクションではPercussion 2を使ってノリを増強している)
③Fillが来たらセクションが切り替わる合図。


※もちろん上記はあくまで一例の曲タイムラインですので曲によったり、そもそも当てはまらないジャンルが出てきます。
しかし、曲というのはある程度人間が予測できるようにセクションの決まりみたいなものがふんわりとあるので自身で考えてみると面白いかもです!



補足章 ドラムの構成要素について

第2章にてパートを複数に分けましたが、曲中にて盛り上がりを増強するために小出ししているようなイメージです。
ドラムについてがわかりやすいかと思いましたし、次章の説明にも必要となっていますのでご紹介します。

下記に1小節中のドラムの典型的な配置を示します。

口で言うと「ドツチツタツチツドツチツタツチツ」って感じでしょう。
これを第2章のIntro、Drop、Outroで使っているように2分割します。

分かりやすく上下二つずつにすると前半は「ドッタンドッタン」で後半は前述のように「ドツチツタツチツ」って感じで音数が増えなんか何かがはじまりそうな予感がしますね。

場合によっては表拍にRideと呼ばれるHatを配置したり、別のドラムを叩くなどして3や4、下手したらそれ以上の小セクションへと分割します。

また、少し話は脱線しますが曲の低音成分は主にKickとBassが担っています。
KickとBassが同じタイミングで発音すると低音が混ざり音がヤバい事になるので大抵のベースは裏拍に配置したり、Kickの音量の逆を音量とします(これをダッキングだとかサイドチェインとか言います)
こうすることで低音が混ざらずに、それでいてスカスカにならないようにします。


第3章 マシンのパート判別方法

まず音楽は一つの例外なく音、つまり空気の振動です。ただし、人間の耳は能力が高いのでその音の振動が声なのか、ギターなのか、ベースなのか、ドラムなのかある程度程度聴き分けられることができます。すごいですね。ほんとすごいよ。

VJをしてるみなさんはその耳で音を聴き分けメロディやコードを感覚的に落とし込んだり、時には先の展開を予測して映像素材を選択し、フェーダーを上げていることかと思います。

最近でこそDeepLearningが発達してリアルタイム音声分離ができるようになりましたが、外部ツール(しかも十中八九有料)を導入しなきゃいけないですし、精度や分離した結果がどのようになるのかを指定できないのでまだ使い物にならないでしょう。

また、展開の予測も上記のような理由でまだ難しいと言えます。

(逆にいうと十分な教師データと実行に耐えるマシンスペックがあれば上記を実現した本格的な完全自動AIVJができると思っています)


そんなわけで本当に人間と同じような判断基準でVJをする完全自動VJの実現は難しいのでなんとか代替手段を用いてVJさせてみたいと思います。

音は周波数帯域があり、ざっくり低音、中音、高音に分けられます。
第二章で説明したパートを各帯域へ割り当てると下記のようになると考えています。

低音…キック、ベース
中音…ボーカル、リード、コード
高音…パーカッション

本当にざっくりとした区分けですが実際にどのようになるのか試してみましょう。
今回の例題としてgekkoが2019年に制作したNUDIE★ -7th Rainbow Mix-を用意しました。



ちなみにこの曲のパート、盛り上がり曲線はざっとこんな感じ。


Resolumeにて試してみた動画が下記になります。


低音…赤中音…緑高音…青色
の色をつけているのでわかりやすいかと思います。


例えば低音に対応する素材ではこんな感じでVideoのOpacityにCompositionFFT(Resolume全体から出る音声に反応するモード)をかけて、LMHのLを選択し、低音域のみに反応してON/OFFなるようになっています。



ついでにちょこっとだけオーディオリアクティブっぽいパラメータにしています。



結構適当に作ったんですがこんな感じでもいい感じに音に反応してそれっぽく動いてくれていますね。
サンプルプロジェクトを下記boothにて配布しますので参考にしてみてください。


また、gekkoが普段使いしているResolumeの素材のパラメータ入りプロジェクトと動画にエンコした素材が同梱されているプロジェクトファイルも販売しています。ここまで見た方は全員買いましょう。



今回は一例として音の周波数を動画のON/OFF、ちょっとした大きさ等の動きにあてはめただけですが、より複雑に意図的にパラメータを振ることで更に進化していきます。

プリレンダに比べて考えることが多く、超上級者向けのVJになりますが是非参考にしてみてください。
あと、今回の記事以上の魔法とも呼べるプロジェクトで普段VJをしています。お気軽にお声がけください。

gekkoDJ/VJ出演カレンダー

QooQ