らくとあいすの備忘録

twitter : lactoice251

Amebientの音楽体験設計 (導入編)

こんにちは。Amebient Advent Calendar 6日目の記事です。

もし、Amebientが何であるかがわからないという方は、先にVRChatで公開されているワールド と、phiさんの1日目の記事 を見て頂ければと思います。

さて先日、4日目の記事 で「Amebient」の音楽体験の設計の概要編を書きました。 今回からの記事は3回にわけて、「Amebientという楽曲」の「導入部」「展開部」「終末」を書いていきます。 今回は"導入編"と題しまして、ワールドにJoinしてから展開がはじまるまでの部分についての詳細を書いていきます。

今回からは、やや主観的な記述を増やして、自分から見た制作振り返り的な観点で書いていければと思っています。

雨部 作戦会議課への参加

私が雨部作戦会議課*1に参加した経緯を軽く書いてみようと思います。*2 VRAA02がスタートしてテーマが「Live/Frontier」と分かった日に、

と、思っていました。これは何かというと、Live/Frontierというテーマに対して、VR楽器を並べて自分で演奏したりする方向=ワールド(自分自身を含む) ではやれることがありそうと思い、かつめちゃくちゃ興味を持ちつつ、VRAA02のレギュレーションの範囲内では時間的にも能力的にも今回やれることはあんまりなさそうだなあ...というつぶやきでした。第一回の作戦会議

非メンバーとして見ていて、自分がやりそうな方向とすごく近かったのもあって、このレベルの構想がある中で個人力で何か出来るのか...みたいな気持ちがあったという背景もありましたしかし。しかし、2分後...

というエアリプを観測しまして、

と、参加する運びになったわけです。チョロいですね...。多分、内心めちゃくちゃ混ざりたかったんでしょうね...。

そして、雨部作戦会議課discordに参加します。

f:id:Raku_Phys:20201206182326p:plain

phiさんにこう言ってもらったことで、音を音楽にするのが自分のやることなのだと理解しました。それなら...と、前々から少し考えていたアイデアを共有してみました。

f:id:Raku_Phys:20201206183039p:plain

すると、ありがたいことに即時理解を得られたので、BGMだと思っていたものが、実は制御可能な環境音 (物理音) だったというスタート地点が決まりました。そして、まずはその曲を作ってみることろから始まることとなりました。

製作開始

「BGMだと思っていたものが、実は制御可能な環境音 (物理音) だった」というコンセプトを実現するための作曲にあたって、私はGLSL Sound LiveCodingをすることにしました。*3

f:id:Raku_Phys:20201206184150p:plain

画像内でも書いてますが、こうするのが今回の制作においてすごく素直な方法に思えたんですよね。ピアノでの作曲で行き詰った理由の大きな部分は、周期的な雨粒をメインとして制御する以上、ピアノのような表現力で曲を作ってしまうと、容易にものすごく不自然で大がかりなものになってしまいうるからです。作曲の段階から、雨粒が落ちるとか、それが色々な楽器に当たるみたいな構造をちゃんと入れてあげた方がやっぱり素直ですよね。加えて、各音サンプルについてもゆくゆく自作していこうと思っていたので、twiglで書いておくとサンプルの素材になりそうという算段もありました。ここから GLSLSoundで作られたAmebientのテーマを聴くことが出来ます。(実ははじめは、3拍子ではなかったのでこれは後の作業でちょっと修正されたものですが...。)

twiglにはせっかくライブ配信機能が備わっているので、phiさんとcapさんに見てもらっている中で、通話を繋ぎながらLiveCodingしていきました。これによって、リアルタイムで音色や曲のイメージのフィードバックしてもらいながら、コード上で微修正を加えていけるという理想的な環境が実現したわけです。

良い環境であったこともあって、1時間ほどで曲の第一案が出来ました。次は、このGLSLのコードをUnityでの実装をするphiさんに受け渡すため、雨粒の落下の構造への変換を含んだ譜面に落とし込むことにしました。

f:id:Raku_Phys:20201206190003j:plain

楽譜にあるように、曲は4つのパートからなります。楽譜を読める方だと分かるかもしれませんが、最終的なAmebientのテーマとはちょっと違いますが、第一案は譜面にあるような4拍子の曲でした。譜面中に書き込まれている青い丸は、別の音符と繋がっているのがわかると思います。これは、"1周"の中で2回出てくる音符です。つまり、雨粒を使うことを考えるとこの青い音符に対応する雨粒は、1/2の周期で落ちることになります。一方、赤い音符は、1周の中に1回出てくる音符です。この青い音符がなるべく多くなるようにしつつ曲を作っていくことで、雨粒の発生ポイント (それを受ける楽器) をなるべく少なくしつつメロディーを作っていくことが出来ます。

4拍子から3拍子へ

glslで作った音と、楽譜を使ってphiさんにワールドに組み込んでテストを行ったのが、制作開始から6日目のことです (すごくすんなり進んでいきましたね...)

この頃は、ネタバレを避ける意味もあって、"Part3"と"Part4の一部"のみを流していましたが、楽譜と見比べると対応が分かるのではと思います。

この時、実際に触ってみた感触でphiさんとこの次の展開を考えていました。 そこでわかってきたのが、メロディーに合わせて落下する雨音そのものを使って入れ替えて曲を作っていったりするのはなかなか難しそうという話です。 それよりは、比較的規則的に落下する、たとえば横並びに雨粒落下点が用意されていて左から順番に1拍おきに落ちていくなどすると演奏しやすそうだよねという話になりました。

そこで、空間を2つに分けて、Amebientのテーマが鳴っている入口付近と、その後の展開のための雨粒が配置されている外側の領域を用意することになりました。 この時、外側のリズムはもっとリズミカルにテンポ良くしたいと思ったわけですが、単純に速度を2倍にしてしまうとそれはそれで速すぎてしまうという問題にあたります。 この理由から、4日目の記事でも書いたようにAmebientのテーマを3拍子にして、Metric modulationを活用してテンポアップしようということに決まりました。

そうこうして、最終的に出来たの譜面がこんな感じになりました。

この時はもう、雨粒の構造をちゃんと考慮して作った曲のアレンジ (4拍子から3拍子) だけで良かったので、さくっと譜面を書いてしまいました。 また、このあたりで、音色は実収録音を使いたいなあと思い始めます...*4

まとめと告知

前回よりは、ちょっと軽めの記事になりましたが導入編以上になります。今回の話のポイントは、

  • BGMを制御可能なワールドのギミックで作るにあたっての作曲方法 (glsl sound/twiglは便利)
  • ワールド/体験の要件に合わせたアレンジ

あたりですかね。次回は、この先の展開部について書きたいと思いますので、よろしくお願いします。

*1:Amebientの制作チーム名。VRAA用に作ったものの認知率は低そう。

*2:phiさんの1日目の記事でも書いてありますね。

*3:GLSL Soundについては、前の記事を読んでもらえるとある程度わかるかと思いますhttps://raku-phys.hatenablog.com/entry/2020/04/19/002400

*4:詳細は12/23のAdvent calendarに書きます