Fable 5でFab 4楽曲ジェネレーターを作ってみた。ビートルズっぽい楽曲はAI学習を使わないアルゴリズムでもできる?(CloseBox)

テクノロジー AI
松尾公也

テクノエッジ編集部 シニアエディター / コミュニティストラテジスト @mazzo

特集

Claude Fable 5にアディショナルタイムが与えられました。この時間を活かして何かできないか。既存プロジェクトの改良とは別に、思いついたのが、作曲ソフトです。

作曲ならSunoを使えばいいじゃん。インストなら完全ローカル軽量なStable Audioもあるし。ではあるのですが、ちょっと思いついたことがありまして。

Paul McCartney & Wingsのアルバム「Venus and Mars」の中の1曲、「Love in Song」を聴いていたところ、ボーカルの歌い出し10音が全て同じ音だということに気づいたのです。ポールの曲には他にも同様の名曲がたくさんあります。例えば「Get Back」は最初の5音が、「心のラブソング」はなんと最初の12音までが同じ音高。なんという省エネ作曲法でしょう。


Venus And Mars
¥1,500
(価格・在庫状況は記事公開時点のものです)

このことをClaude Fable 5とチャットしていたら、次のような回答。

同音連打でコードだけ動くほうは「Got to Get You into My Life」のヴァースが分かりやすい例で、ほぼ一音で歌い続ける下でハーモニーがどんどん変わる。ソロ以降だと「My Love」のサビも同型です。メロディを固定するとコードの色彩変化そのものが前景化するので、和声感覚の強い作曲家ほど好む手法なんですよね。クラシックでいうペダルポイントの上下逆転版で、ポールの場合ベースラインも半音階で滑らかに動かすクリシェと組み合わせることが多いのも特徴です。
「Love in Song」はWings期のポールの中でもその両方の手法が濃く出ている曲だと思います。ヴァースのメロディがかなり静的で、ほぼ同じ高さに留まりながら、下のハーモニーがマイナー系とメジャー系の間を揺れ動いていく。あの浮遊感のある切なさは、メロディの動きではなくコードの色彩変化だけで作られているんですよね。
Venus and Marsの中では地味な扱いをされがちな曲ですが、ポール自身が半分寝ながら書いたと語っていたはずで、意識的な設計というより和声感覚が体に染みついているからこそ出てくるタイプの曲だと思います。12弦ギターのアルペジオも、コードの内声変化を際立たせるのに効いています。

他にも、「通常ならばメジャーコードに行くはずのところで、マイナーコードに行ったり、その逆だったり」というのがあります。Love in Songもそうですし、ビートルズ初期の「今日の誓い(Things We Said Today)」もそうです。これについても、

その感覚、理論的にもかなり的を射ています。ポールの特徴として指摘されるのはまさにその2つで、前者は「同主調からの借用和音(モーダル・インターチェンジ)」、後者は「メロディ側のペダルポイント(逆ペダル)」と呼ばれる手法です。
メジャー/マイナーの入れ替えの典型が「The Fool on the Hill」。ヴァースはDメジャーで牧歌的なのに、サビで突然Dマイナーに落ちて孤独感が出る。「Things We Said Today」は逆にAマイナーの暗いヴァースからブリッジでAメジャーにパッと開ける。「Penny Lane」もBメジャーの明るい進行の中に唐突にBマイナーが差し込まれて、あの独特のノスタルジーが生まれています。聴き手が「次はこっちだろう」と予測した和音を裏切る、期待の操作がポールは本能的にうまい。

この辺はすでに多くの研究がされていると思いますが、ここまで分析できるのならば、ポールの作曲手法を駆使してコード進行やメロディーを生成するアプリを作れるのではないか、そう考えました。楽曲の学習データを直接使わずに。

他にはポール特有の技法ある?

いくつかあります。まず有名なのが変則的なフレーズ長。「Yesterday」のヴァースは7小節で、普通なら8小節にするところを1小節分「食って」進む。本人は理論を知らないまま書いたわけですが、あの独特の切迫感はここから来ています。
次にベースラインの半音下降クリシェ。「Michelle」「For No One」「Golden Slumbers」など、コードのルートを半音ずつ滑らかに下げていく進行が多用されます。ベーシストとしての発想が作曲に直結していて、後期になるとベース自体が対旋律として歌う(「Something」のベースはジョージの曲なのにポールが主役級に動く)のも特徴です。
転調の大胆さも挙げられます。「Penny Lane」はヴァースがBメジャーでサビがAメジャー、「Here, There and Everywhere」はイントロとヴァースで調が違う。しかも聴感上はまったく不自然に聞こえない滑らかな接続をする。関係の遠い調へ「気づいたら移動している」のがポール流です。
あとはミクソリディアン的な♭VIIコードの多用。「Hey Jude」のコーダ(F→E♭→B♭)や「Lady Madonna」がそうで、ロックンロールやゴスペルの語彙をポップスの文脈に持ち込んだものです。それから跳躍の大きいメロディも特徴で、「Oh! Darling」や「Maybe I'm Amazed」ではオクターブ級の跳躍を平気で歌わせる。自分が歌えるから書けてしまう、という身体性込みの作曲ですね。
どれもジョンの「同音反復と半音の揺れ」型の作曲と対照的で、二人の違いを並べると面白いテーマです。

それだけパターンがあるのなら、作曲ソフトもできちゃうんじゃないの、ということで、Claude Fable 5に作ってもらいました。

伴奏パターンはピアノ、ギター、ベースというシンプルな編成で4パターン。

あっさりできてしまったうえに、なかなかそれっぽいコード進行とメロディーを作ってくれたので、WAVとMIDI(SMF)での書き出しもできるようにしました。

そして、ポールだけでなく、ジョン・レノン、ジョージ・ハリスンのそれぞれの特徴的なコード進行、メロディーのパターンを組み込み、VerseとChorusで組み合わせできるように。

これで保存したものはそのままLogic ProなどのDAWに取り込め、そこで編集できますし、SunoにWAVを取り込んで、Cover機能でボーカル入り楽曲にすることも可能です。

Sunoで、「あと1週間でお別れ」というテーマを入れて、そこから適当に歌詞を生成し、ビートルズ後期のサイケデリックサウンドを再現するプロンプトを追加したら、本当にありそうな、というか、ジェフ・リンあたりが過剰に演出したような似非ビートルズサウンドになりました。Tears for FearsやOasis風ともいう。

プロンプトはこんな感じです。

psychedelic rock, British Invasion, 118 BPM, heavy drumming, tom-heavy backbeat, slide guitar licks, fuzzed rhythm guitar, string quartet stabs, Mellotron chords, tape echo, spring reverb, overdriven bass, mono drum close-mic, analogue saturation, chorus lift, defiant release, ragged psych groove, phased outro, late-60s swagger

MIDIエクスポートすれば、譜面に起こすこともできます。

作曲したものを、コード進行とメロディーを見ながら、解説を見ていくためのビデオ出力機能もつけました。

ビートルズのメンバーが感覚的に掴んでいたやり方を音楽理論的に後付け解説するとこういうことなんだな、というのがある程度理解できるような気がします。

ビートルズをAIで学習して再現しようという試みは、2017年、ソニーのCSLが研究発表しています。現在はFlow Machinesというサービスでその成果が結実しているわけですが、その一方でAIでの学習に関し、Suno、Udioと係争中です。

今回のやり方は、あくまでもそれっぽい手法をいくつか組み合わせることで「らしさ」を出そうという、人間の学習者でもできること。そのアルゴリズムをFable 5に発見させ、組み込んだというわけです。

Sunoに直接プロンプト書けばいいだろうというご意見はあるでしょうが、偶然を待つのではなく、コード進行とメロディーラインだけは自分でコントロールしたいとか、ここは変えたいとかいろいろあるんですよ。完成品を作るのが目的ではなく、あくまでも補助的なものと考えています。

補助的なところでいうと、出来上がったメロディーに合わせた歌詞を考えるのも楽にやりたい。そんなニーズのために、仮の歌詞を自動生成する機能もつけました。YesterdayにおけるScrambled Eggsみたいなものですね。

ビートルズっぽいサウンドになるような音楽スタイルもいくつかコピペできるようにしておきました。

こんな、完全に個人的趣味で、一般公開することがない(できない)ようなソフトでも、気軽にできるのは嬉しいですね。

特に、Fable 5は最初に出てくるものの完成度が非常に高いので、脳がインタラプトされずに次々にアイデアが生まれてくるところがナイスです。

ふと思いついた疑問を、実際に検証してみるまでのステップが数分で済むところ。これまで思いついてもそのまま放置していたようなことを、自分とAIとで確かめることが可能になったのです。

同じシステムを使って、初期ユーミンっぽい切ないラブソングを作るには、どういう音楽的手法が使われているのかを確かめたくて、「黄昏バラード・ジェネレータ」なるものも作ってしまいました。名前はFable 5が勝手につけました。

歌詞も、いろいろな制約条件をつけて生成できるようにしましたが、こちらは上手くいかないですね。

それでもメロディーラインに不満が残ります。「ユーミンらしいメロディーの特徴の一つとして、朝陽の中で微笑んでみたいな、メロディーの跳躍があるような気がする。これをルールの一つとして組み込めないか」と聞いたところ、「フレーズ頭でふわっと上へ大きく飛んで、その後なだらかに降りてくる——順次進行主体の歌謡曲的メロディとの大きな違いで、跳躍の着地がコードトーンだけでなくテンションに乗る」と具体化してくれて、次のように実装されました。

跳躍の発生:フレーズ頭(コードの最初の音)で、直前の音から7~10半音上——短6度~短7度の幅——にあるコードトーンまたは9thを探し、見つかればそこへ跳びます。確率は通常のフレーズ頭で28%、サビ頭では95%。サビはⅣの和音で宙に浮く場所なので、そこへ大跳躍で入るとハーモニーとメロディの浮遊感が重なって、いちばんユーミンらしい瞬間になります。着地先に9thを含めているのが肝で、跳んだ先がコードに対して一音浮いている、あの感じが出ます。
跳躍後の処理:旋律法の定石どおり反行で受けます。跳躍直後の2音は強制的に下降方向にバイアスがかかり、大きく開いたあとなだらかに畳む「山型」のフレーズになります。従来入れていた跳躍抑制(9半音超をクランプ)は、意図的な跳躍のときだけバイパスします。
連動する表示と歌詞:フレーズ解析が跳躍位置も検出するようになり、Sunoパネルに「(↑3音目跳躍)」とオレンジで表示、歌詞プロンプトには「跳躍と記した音はフレーズの感情の頂点。核になる言葉の頭を開いた母音で置く」という指示が自動で入ります。ロングトーン=開母音のルールと合わせて、メロディの山と言葉の山を一致させる設計です。動画のピアノロールでも跳躍音にオレンジの枠が付くので、解説動画で「ここが跳躍」と視覚的にわかります。
Woman型転調と重ねると、マイナーの本編から転調と同時に大跳躍でサビに入る、かなり劇的な曲が出るはずです。

実際に試してみました。Sunoでボーカルの入ったバージョンも作ってみたのですが、どうしても跳躍するところで歌手が盛り上がって歌い上げてしまい、ユーミンっぽい抑えた感じにならないという弱点が見つかりました。なんでも歌い上げちゃうと、普通のJ-POPになっちゃう……。これは、ネガティブプロンプトを使ったり、その部分のLyricsにスタイルを書き込むしかなさそうです。

Claude Fable 5に、プロンプトを考えさせてやり直したら、かなりダウナーな歌い方に。極端ですが、好みではあります。

そんなわけで、サブスクが切れる当日の午前中、あと数時間を残すところで最後の追い込みにこんなことをやっていたのですが、さらに20日までサブスク提供が延長されたそうです。よかった! このままダラダラ行ってほしい。

《松尾公也》

Amazon売れ筋ランキング

松尾公也

テクノエッジ編集部 シニアエディター / コミュニティストラテジスト @mazzo

特集

BECOME A MEMBER

『テクノエッジ アルファ』会員募集中

最新テック・ガジェット情報コミュニティ『テクノエッジ アルファ』を開設しました。会員専用Discrodサーバ参加権やイベント招待、会員限定コンテンツなど特典多数です。