ITエンジニアっぽい手法で作曲を自動化してみた
この記事はニフクラ等を提供している、富士通クラウドテクノロジーズ Advent Calendar 2022の5日目の記事です。
昨日は@o108minminさんの 友誼食府 池袋店で買えるナイスな中華食材でした。
同氏が社内のSlackチャンネルに頻繁に投稿する「家にあるもので作った系中華レシピ」は、一見簡単そうに見えて「いや、その調味料(食材)、普通の家には無いから」と思っていましたが、友誼食府にいけば自炊が上手くなる可能性を少し感じました。
ところで、私はニフクラエンジニアミートアップの管理人でありながら、エンジニアではない法学部卒の「完全文系」です!
ど素人の「やってみた」記事とか読まないですよね?
今回は、皆さんがきっと日常的に役立つ技術である「作曲」について書いてみました!
って唐突ですか?
対象読者
・楽譜が読む気がない人
・楽器の練習をする気がない人
・数値化できない感性やセンスという言葉が苦手な人
・商用利用可能なBGMを動画に使いたい人(いきなり具体的)
なぜ作曲アプリを作らないのか?
「適当なパラメーターを入れたら曲ができるアプリとか作る話だよね?」
と思われた方もいらっしゃると思います。
仮に、素人が作曲アプリを作ったとしても、きっとゴミ曲が生成されるだけです。
私が目指すのは「作曲技術のコード化」です。
文系的な感性とかセンスに依存しない作曲技術ならば、冪等性が高いと考えたからです。
準備
・Macbook(ミュージシャンっぽいから)
・StudioOne(VSTプラグインが使える有償のArtist以上)
・EVAbeat Melody Sauce 2(メロディ自動生成プラグイン)
・モニターヘッドホン(SONY MDR-CD900ST)
・ミックスプラグインやマスタリング用プラグイン(できれば)
最低これだけの投資が必要です。
余計な選択肢は与えません。とにかく、これを揃えましょう。
ユーザーが少なくてネットに情報が少ない物を選択すると苦労します。
クラウドサービスでも同じことが言えるので、がんばるます(流行の語尾)。
要件定義
作曲を行うには、下記のような要件が必要です。
1.曲の長さ
2.曲の速度(BPM)
3.曲の構成(編成・何パート使うか)
4.曲の雰囲気(楽しい・悲しい・クール・怖いとか)
5.曲の移行性(PCやDAWの環境依存を極力少なくする)
今回は、「ニフクラのデモ動画に無難なフリー素材のBGMを入れたい!」という社内のニーズがあったため、そういった用途にあったものにします。
1.曲の長さ(20秒くらいのフレーズを呼び込み君のようにループ再生)
2.曲の速度(BPM=120BPM)
3.曲の構成(ドラムとベースとピアノの3パート)
4.曲の雰囲気(楽しいとクールの中間)
曲の速度(テンポとかBPMとか)は、基準はよくわかりませんが、たいていのDAWは立ち上げるとBPMが120になっていることが多いので、無難なBPM=120と判断。
曲の構成というか編成ですが、BGMとか昔のゲーム音楽では概ねドラム、ベース、メロディパートがあれば成立するので、最低3パートあれば良いような気がします。
さまざまなDAWのプリセット音源やVSTによって、極端に再現性が変わらないようにする意味もあり、ドラムとベースとピアノという編成を選択します。
曲の雰囲気は、クラウドサービスのデモ動画が過剰に楽しい必要はないと思うので、クールさも加味します。
環境構築
要件定義に基づいて環境構築をします。
StudioOneでは、インストゥルメントトラックという、いわゆるMIDIシーケンサー機能で使用するピアノロールでMIDIノートを入力するためのトラックを用意します。
トラック1=Dance Kit(ドラム)
トラック2=Dance Bass(ベース)
トラック3=Electric Piano(エレピ)
トラック4=Melody Sauce 2(フレーズ自動生成用のトラック)
各パートの音源(仮想楽器)は、どのDAWでも標準搭載していそうなものを選択します。
これによって、DAW移行時やデータ流用時の再現性が高まります。
そして、下記の設定を行います。
1.メトロノームをオンにする
2.ループ再生をオンにする
3.16秒(8小節)でループ再生するように設定

DAWの環境設定メニューで、ヘッドホン出力を選択するのを忘れないように。
「おいお前!オーディオインターフェースは使わないんですか?」
というツッコミを入れてくる人がいると思いますが、Macbookのヘッドホン出力回路は優秀なので、そのまま本体にヘッドホンを差しても差し支えないと思います。
各パートの入力
ここまでは、StudioOneの操作さえ間違わなければ誰でも再現できる操作です。
ドラムの入力
ドラムパートは、たくさんの太鼓とかシンバルがワンセットになっているものですが、基本はバスドラム(大太鼓)とスネアドラム(小太鼓)とハイハット(シンバル)の3つです。

ドラムセットには、基本的には「音階は無い」という割り切りのもと、通常の楽器と異なり、音階にドラムキットが割り振られています。
バスドラムから、入力します。バスドラムは、だいたいC1に割り振られています。
メトロノームの「カッ、カッ」という音と同時にバスドラムが鳴るようにノート(音のこと)を打ち込みます。
StudioOneのトラックの1小節目をダブルクリックすると、編集画面が現れるのでマウスでダブルクリックするとノート(青い横棒)が入力されます。
ノートを4回打ち込んだらハイハットD#2と、スネアD1は好みで適当に等間隔で打ち込んでおけば、間違いにはならない気がします。

あえて機械的にすることでクールさが演出できる副次的メリットもあります。
1小節入力できたら、次の小節の先頭にカーソルを合わせて7回コピペしてください。
8小節(16秒)の入力は完了です。
あっ、ドラムはStudioOne付属のループ素材で良かったのかもしれません。
ベースを入力
次にベースですが、なかなか難しいです。
音楽理論を理解していない人は苦労する部分です。私も全くわかりません。
ここで活躍するのがEVAbeat Melody Sauce 2(メロディ自動生成プラグイン)という、今流行りの、AI系自動生成ツールです。
このプラグインは、VST上で動作してとにかく気に入るメロディが出てくるまで何度でもリテイクができるという優れもの。
コレだ!というメロディが出てきたらトラックにコピペするだけで完成。
まず、Melody sause 2のトラックから、インストゥルメントエディターをクリックして設定画面を起動します。

下記の画面が出てきますので、とりあえず「STYLE」からそれっぽいのを選んでください。

そして、言われるがままに真ん中のボタンを押すだけ。


on.soundcloud.com勝手に、AIがそれっぽいフレーズを作ってくれたみたいですね。
ピアノを入力
ピアノはベースより難易度が高いですね。
どうすればいいんでしょうね。弾いたことないし。
ここで活躍するのがEVAbeat Melody Sauce 2(メロディ自動生成プラグイン)という、今流行りの、AI系自動生成ツールです(以下省略)
on.soundcloud.comベースと同じように、AIがいい感じのメロディを生成してくれます。
実際の手順は、YouTubeで「EVAbeat Melody Sauce 2」で検索すると、たくさん出てくるので、参考にしてください。
実際にこういう仕上がりになった。
ドラムを手動で入力した以外、ほとんど音楽的独自性を発揮していません。
最終的にミックスダウンとかマスタリングという作業を経て曲が完成しますが、すべてAIとか金で解決してしまえる気にさせるのが、ブラックフライデーです。


ドラム以外、感性とかセンス的なものは全く使わずにBGMが出来ました。
on.soundcloud.com
さらにエディットすれば何十倍もいいものができますが、何も考えずにやってここまでになるのは、AIの進化はすごいと言わざるを得ません。
「ちょw待って!最初に作曲技術のコード化って言ってなかった?」
と、鋭いツッコミが入ると思います。
はい、ただのMelody Sauce 2アフィリエイトブログ手順書です。
技術とか不要で、AIがいい感じにしてくれるから・・・
ローコードで作曲ツールとか作る話じゃなくてごめんな。
おまけですが、AI搭載のVOCALOID6も試してみました。今日の昼休みだけでこの仕上がりです。 歌詞は今日の寒さをそのまま垂れ流しただけです。
DAWのプロジェクトファイル管理問題
最後にDTMあるある話&エンジニアっぽい話です。
DAWのプロジェクトファイルが大量に存在して、バージョン管理ができていないDTMerは多いようですが、私もその一人です。
Gitを使ってプロジェクトファイルやMIDIファイルの管理をすること自体は、可能と思いますが、DAWから直接操作できるわけでないので、それほど便利ではないです。
以前、社内のHIPHOP好きで知られる@tilyさんが、テキストでMIDIデータを作成しているのをみて、「普通にDAWで入力すればよくね?」と聞いたところ「エンジニア的にはテキストで管理したい。差分管理もできるし、再利用とか修正もやりやすい」と言っていたのを思い出しました。
この分野は、課題が大ありなのでいつか研究してみたいですね。
この記事は富士通クラウドテクノロジーズ Advent Calendar 2022の5日目の記事でした。
明日は、 @herietさんがtrivy+conftestについて書いてくださるようです。コンテナイメージの脆弱性スキャンツールとかのお話ニフクラエンジニアミートアップでも聞いてみたいです。
それでは明日もお楽しみに!
気が向いたら…こちらも…