大空あかりの「恋色エナジー」と「God Save The Girls」について
久々にニコ動に動画を上げたので、その解説。
いわゆる中の人つながりMADという奴です。
動機
初めて「恋色エナジー」を聞いた時、思った以上に大空あかりだったので、ずっと作りたいと思っていたのです。
みなさんご存知の通り、アイカツはCVと歌唱担当が別人です。世の中のキャラソンを聞くと、CVの人が歌ったものが必ずしもそのキャラに聞こえるとも限らないので、別人であるということ自体は良いとも悪いとも言えなくて、キャラごとに当たり外れがあるとしか言いようがないし、るかさんの大空あかりはもともとそんなに外れてないんですが(個人的にはひめ先輩の方が違和感がある)、「恋色エナジー」の下地さんに関しては、歌声と歌唱イメージがピッタリ大空あかりに一致しているので、「思った以上に大空あかりだった」としか言いようがないのです。
ということで、半年くらい前には作りたいと思って、アイカツ放送終了後に少し調べたものの、ぼちぼち構想を練り始めたのは8月くらいです。何が律速していたのかはお察しください。まあ一般ユーザなので、ニコ動に上げた時点で600kbpsなんですがね。
作成環境
作るのに使ったのは何の変哲もないWindows10マシンで、Core i7 6700KとGeForce GTX 960という組み合わせ。そんなに安くはないけれど、コスパは悪くない。ストレージはブートドライブ用のSSDとアプリケーション用のSSD、そしてデータ用のHDDをRAID1構成で積んでます。動画編集だと、むしろストレージが重要なんですが、データドライブがHDDのRAID1というのは動画向きではないです。まあ、Full HDのトラック二本までなら何とか同時再生に耐えます。
メインの動画編集環境はVegas Pro13を使っています。SONYが非常に残念なことになってしまっているので、このソフトの権利もSONY傘下からMAGIXへと売られてしまってそっちからすでに14が出てますが、13はソースネクストがキャンペーンでべらぼうに安く売っていたので買ったものです。以前使っていたのはVideo Studioですが、やっぱり最初から1万円程度のソフトと、もともとの定価が数万円のVegas Proとでは、全然使い勝手が違いますわね。
そのほか、素材の切り貼りにSONARとaviutl、加工にffmpegなどを使ってますが、この辺は適宜。
作成手順
調査
まずやるべきことは、「恋色エナジー」の分析です。この段階で考えるべきことは、長さとテンポです。長さは、とりあえずCD音源そのままの4分19秒というのは長すぎて素材が足りそうにないので、違和感のないところで切ることを検討しました。歌詞を検討した結果、一番のサビの15小節目で切って、二番のサビの15小節目とくっつけると違和感がないだろうということになりました。これでも長すぎるんですが、この時点で既に、歌詞のイメージから、間奏には回想シーン、リフレインのサビには手書きのラフアニメを入れることを想定していたので、まあ何とかなるべ、ということで見切り発車をしました。実際に切り詰めてみたら3分弱となっています。後に「God Save The Girls」を作ってみて実感しましたが、やっぱり1分半くらいがちょうどいい。
テンポも重要で、これを厳密に取っておかないといろいろ面倒です。つまり、
- Vegas Proのタイムカウンターに拍/小節が使えるので、それなりに便利
- 素材のBPMを曲に合わせておかないとタイミング調整が難しい
まあどうせBPM合わせた程度では合わないんですが。なお、私は昔からこの目的には「WaveTone」というフリーウェアを使っています。「テンポ解析」を使うと、自己相関のピークからテンポの値を推測してくれます。恋色エナジーは177.99BPMです。0.01BPMの違いなら178BPMと見なして問題ありませんが、0.1BPMくらい違うと一分で16分音符くらいズレるため結構馬鹿になりません。ちゃんと小数点以下まで合わせる必要があります。こうやって調べると、案外整数じゃない曲も多いです。
次に、アイカツ本編から使えそうなライブCGを洗い出すことです。「アイカツ!ステージビジュアルブック」ではなくて自分で調べたので見落としがあるかもしれないけれど、大空あかりのソロステージは以下の通り:
- 76話 アイドル活動
- 97話 ハートのメロディ
- 106話 永遠の灯
- 107話 du-du-wa do it!
- 116話 du-du-wa do it!
- 123話 blooming blooming
- 160話 blooming blooming
- 167話 blooming blooming
- 170話 start dash sensation
- 177話 start dash sensation
この中から結局選んだのは170話と177話のstart dash sensationです。主に二つの理由から:
- 両方とも全く同じコーデで、しかもカメラアングルが全く異なる
- テンポが近い(170.01BPM)
おそらく他の曲では素材のバリエーションが足りずに苦しいと思います。
下ごしらえ
使う曲が決まったら、素材を揃えます。今回は「恋色エナジー」をフルで使うわけではないので、この音声素材を切り詰めるところから始めます。私は操作に慣れているSONARを使いましたが、Vegas Proは音回りも非常に優秀なので、直接フルのwavファイルをオーディオトラックに貼りつけて、イベントの切り貼りとクロスフェードでも良さそうな気もします。まあでも、こういうのは先に切り詰めた素材を作ってしまった方がトラブルが少ない。
音声素材としてはこのほかに、ライブの出場時の歓声やSEを用意しておきます。
次に、動画素材を作ります。ここで考えておかないといけないのは、素材に使う動画フォーマットです。動画編集には、フレーム間依存のない動画形式でないといろいろと面倒なので、私としてはHuffhuvあたりがお気に入りなのですが、これはVegas Proでは使えません。無圧縮AVIの一部ならば食ってくれるようで、私はIntel YUV形式を選びました。これはYUV420Pのバリアントで(バイトオーダーが違うだけ)、もともとの動画ソースのエンコーディングがYUV420Pだったので、無劣化で行けるというメリットがありました。理想を言えばRGBとかYUV444あたりが一番いいんですが、むやみにディスク容量を使うのと、I/O帯域を食うので、「一番カタログスペックがいいもの」を選ぶのが良いとは限りません。実際、Full HD動画になると、CPU性能よりもI/O帯域のほうが問題で、たとえば二本の動画をクロスフェードしようとすると、上記環境(RAID1 SATA HDD)ではYUV420Pくらいが限界です。そういう意味で、Huffyuvみたいなフレームごとの可逆圧縮codecが一番使いやすいんですけどね。
というわけで、170話と177話のライブパートから、まずはHuffyuvなマトリョーシカ形式(.mkv)の2本の動画ファイルを作ったあと、AviUtlでカットごとに切り分けます。170話が46カット(ただし一か所クロスフェードがあるので動画ファイルとしては45個)、177話も46カットとなってます。これをカットごとに連番の動画ファイルとして保存します。この段階ではまだHuffyuvな.mkvにしています(AviUtlのffmpeg/auconvプラグインを使えば書き出せます)。
次に、これらの動画ファイルをAVIに変換します。この時に、同時にテンポも変換します。恋色エナジーが178BPM、start dash sensationが170BPMなので、1.0471倍にします。具体的にはこんな感じ:
ffmpeg -i $file.mkv -vcodec rawvideo -pix_fmt yuv420p -y -vf setpts=PTS/1.0471 $file.avi
これをシェルスクリプトで$fileを変えながら回すだけです。この手の自動処理では、私はケースバイケースでバッチファイルやmsys2のbashを使いました。
なお、「恋色エナジー」では、間奏の回想シーンと、リフレインのサビの手書きアニメ素材が必要ですが、これは後で用意しました。
動画編集
これをVegas Pro上で組み合わせていきます。もうこれは完全に試行錯誤でやるしかないです。最終的にこんなイメージ:
これは最終的なトラックビューなので以後の工程によって作ったクリップや、実験で作って結局採用しなかったトラックが出ていますが、この工程で作るのはトラック7のような並びです。プロジェクトメディアからクリップを一つ一つ見ながら、前後の関係などを見ながら貼りつけていくだけです。ノウハウとしては
- 場合によっては逆再生や左右反転が使える場合もある
- 細かくクリップを切って、ストレッチをすると良い場合もある
- 実際にはありえない動きでも、カットの境い目では違和感がない場合もある(カット間で右手と左手が入れ替わってても違和感がないなど)
- いざとなったら、パンやクロップ、デフォーカスやガウスブラーによる手ぶれ表現でごまかす
などがあります。なお、プロジェクト設定はFull HDの23.976fpsです。
ストレッチ
ストレッチしたクリップは、このままだとVegas Proがフレーム補間をするのですが、トゥーンライクなCGでこれをやると、輪郭が二重になってしまい気持ちが悪いので、補間をしない方が見た目が良いように思います。そこで、あらかじめストレッチしたAVIファイルを用意して、それで全クリップを差し替えました。
再生速度情報などを含んだクリップのリストは、エクスポートでEDLテキストファイルを作ると得られます。このうち、5桁目が再生速度、12桁目がファイル名なので、これをsedやらawkやらで加工して、5桁目が1.000ではないクリップをリストアップしてffmpegに渡すことで、ストレッチしたAVIファイルを自動生成しました。
これを後は手作業で置き換えました。これも自動化できそうな気もするんですけど、まあそれを考えるより手でやった方が早い。
間奏パート
間奏パートはVegas Proの別プロジェクトで作りました。「恋色エナジー」のイメージなので、いちごに恋するあかりというイメージ。瀬名ウイングは知らん。
これは76話から178話と劇場版をガーーーーーっと見て、それらしいところを切り出してきて、これをmkv→AVIと変換して作った素材をトラックに並べています。間奏は16小節しかないのにたくさん素材を取り出したので、切り出した素材の9割くらい無駄にしましたが。
これをレンダリングしてAVIファイルに落としておきます。Vegas ProのテンプレをいじってIYUV形式かつ音声なしのAVIで吐かせました。これに、フィルムエフェクトとセピアエフェクトをかけて、いかにもな感じに仕上げてます。
リフレインパート
昔書いた大空あかりのラフを流用してます。構想段階では、後半8小節は別アングルでもっと動くようにしようかとも思ったんですが、私、絵心ないのでちゃんとした絵が描けないの。
線画はKritaで描いてます。白い単色のレイヤの上に透明レイヤを重ねて、そこに線画を描くという、ごく普通の書き方ですが、こうしておくことで、後の作業もやりやすくなります。
まずは、リップシンクのタイミングを取る作業から行います。この絵の口を「あ、い、う、え、お」に変化させた画像を用意して、上の「ん」と合わせて6枚のポートレートを用意して.pngで保存しておきます。子音や中割りは考えませんでした。この段階で考えてもしょうがないのと、結果的にブラーで何とかするつもりだったので、一段変化で全部やってます。
Vegas Proでリフレイン部だけの別プロジェクトを作って、音に合わせてこれらの画像を貼りつけていきます。12fpsつまり二コマ打ちに揃えて貼り付けてますけど、まあ適当でも良さそう。
これは最終結果のトラックビューですが、この工程で作ったのはトラック5の部分です。最終的には使いませんが、プロジェクト中には残してあります。
こうして作ったリップシンクのタイミングを取り出すためには、「編集の詳細」ウィンドウで開いて、一番右のカラムをShift+クリックあたりで全選択し、Ctrl+Cでコピーしたあと、メモ帳かエディタか何かに貼り付けてテキスト形式に落としておくといいでしょう。トータルで580フレームとなりました。
次に、本番用のセル素材を作ります。次のようなパーツに分けてレイヤを作っています:
- 動かない部分
- 目(閉じ、半開き、開き)
- 口(あ、い、う、え、お、ん)
- ハッチング影(三種類)
これをOpenToonzに取り込んでシーンを作っていきます。まずは、シーンのCol1に、動かない部分を貼り付けて、580フレーム分に伸ばします。次に、Col2にハッチング影の3種類を2フレームずつ繰り返すようにして、580フレーム分反復します。線画なので、カラムの重ね合わせ順は考える必要がありません。そして、目と口を、先ほどのリップシンクタイミングのテキストファイルを見ながら貼り付けていきます。
こうして作ったアニメーションをAVIに出力します。どうもあまり良いCodecがないので、Lagarith 24bitで出力しておいて、ffmpegでIYUVに変換しています。Lagarithも非可逆圧縮で悪くないはずなのですが、どうもVegas Proで取り込むとあまり安定して動作しないので、こうしています。uncompressだと、I/O帯域的にきついのは前述した通り。
これを、Vegas Proに取り込んで、エフェクトを掛けます。が、どうも時間方向のブラーのエフェクトというのが見当たらないので、トラック3つ使って2フレームおよび4フレームズレたトラックを薄く重ねることによってブラーを作ったあと、まとめてフィルムエフェクトのノイズと、デフォーカスエフェクトのレンズブルームで、かすれた鉛筆アニメのような味に仕上げています。
仕上げ
これらを組み合わせて、レンダリングして完成です。
God Save The Girls
「恋色エナジー」で作った素材とノウハウがあったので、さっさと作ってしまいました。基本的に「恋色エナジー」と同じ方法ですが、短いぶんずっと楽でした。なお、アニメOPのGod Save The Girlsは170.31BPMという半端な値になっています。プロジェクト設定のテンポは正確にこの値にしないとダメですが、この程度ならばクリップのテンポを合わせておく必要はありません。なんでこんな中途半端な値なんだろ。OPに合わせて、ちょっとだけシュリンクかけたのかなあ。
なお、一つだけ「恋色エナジー」ではやらなかったことをちょっとだけやっています。
リップシンク書き換え(AviUtlとGIMPを使う方法)
「恋色エナジー」では動画ファイルを書き換えるということはしていないのですが、「God Save The Girls」では、リップシンクモーションの書き換えと2箇所と、ワイプによるリップシンクモーションの上書きを1箇所やっています。
このうち、AviUtlとGIMPを使う方法は、次のようにやっています。
- Vegas Proで書き換えたい位置を探し出す
- そのクリップをAviUtlで開く
- シークバーで書き換えたい位置へと移動する
- 編集-現在のフレームをクリップボードにコピー
- gimpでクリップボードから画像生成する
- 書き換えてpngでエクスポートする。この時、gimpのウィンドウは閉じないようにしておくと、9の作業が楽。
- Vegas Pro上の別トラックに当該のpngを貼り付けて、1フレーム置き換える
- 1-7を書き換えたいフレームの数だけ繰り返し、自然な動きかチェックする
- このままだと、カラープロファイルの違いからか、明るさが合わないので、すべてのフレーム画像をAviUtlの「現在のフレームにクリップボードから貼り付け」で戻し、別の名前のAVIファイルに書き出す
9の作業が不要になると、もう少し楽だったんですけどねえ。調べるより手を動かした方が早い、という判断。
リップシンク書き換え(ワイプによる方法)
曲の最後のロングトーンで、口が閉じるのが音よりも早かったので、ここは口だけワイプで乗せることでごまかしています。別のトラックに、少し遅らせたクリップ(こっちのクリップでは口が閉じるタイミングと声が消えるタイミングを合わせる)を乗せて、そのクリップのパン/クロップでパスによるマスクを掛けて口だけ取り出したうえで、トラックアニメーションで位置を微調整する、という力技です。
最後に
という感じで、2曲作ったんですが、どうにも同じ方法で作るためには素材となるライブシーンのバリエーションに難があるので、これ以上は難しい気がします。