音楽生成AI (Suno AIがすごい)

blog

昨年、OpenAIからChatGPTがリリースされ、生成AIが一気に注目されてきました。音楽生成AIもGoogleのMusicLMやFacebookのMusicGenなど、いろいろでてきています。そしてここ最近で、Suno AIという新たな音楽生成AIがでてきて、これが凄いので今日はSuno AIと音楽生成AIについてのご紹介です。

目次の前に、まずはSuno AIで試しに作ってみた曲です。

曲も歌詞もSuno AIが自動で作って、歌声もSuno AIの音声合成で歌ってくれています。すごいと思いました。

Suno AI

Suno AIは米国のAI専門家の会社で、2023年12月、Suno AI β版(https://app.suno.ai/)をリリースしました。Google, Microsoft, Discordアカウントでサインアップでき、無料でも何曲か試しに作れます。

このような画面で、左側に、Lyrics(歌詞)入力欄、Style of Music入力欄、Title入力欄、があります。歌詞はAIに任せて自動Random生成もできます。それぞれを入力して Createボタンを押せば1分ぐらいで曲ができあがります。

驚くべきところは、歌も音声合成で歌ってくれるところで、さらにこれがクオリティ高いです。これまでの音楽生成AIだとBGM的な曲でボーカルの入ってない曲は結構いい曲が作れていたと思いますが、このSuno AIはボーカル入りの曲前提で、その歌声がとても自然です。他の方々が作った曲も聞けて、AIが生成したとは思えないクオリティの曲や普通に売れるんじゃないかと思う曲がたくさんあります。

すごい時代になってきました。

Suno AIの仕組み

このサービスのコアとなっているAIモデルは、Sunoが開発したTransformerベースのText-to-AudioモデルのBarkです。Barkはオープンソースでgithubで公開されています。( https://github.com/suno-ai/bark )

Transformerとは、Googleが2017年に発表した論文 “Attention Is All You Need” で機械翻訳の性能をそれまでのLSTMベースの機械翻訳から一気に向上させたAIのアーキテクチャで、その後、機械翻訳だけでなく、画像処理や音楽生成などさまざまなタスクでも使われていくようになったものです。

近年話題になっているChatGPTも、Transformerの一種です。そもそもGPTが、Generative Pretrained Transformerの略なので、GPTがTransformerの一種です。(後ほど詳しく説明します。)

このBarkは、テキストを音声合成することはもちろん、テキストから音楽を生成したり、笑い声なども自然に入れられたりと、とにかくテキストから音声にするいろんなタスクができます。言語も他言語で日本語ももちろんできます。

pythonでしたら pip installして使えそうなので、これを使った面白いサービスなど考えられそうですが、ライセンスがCC-BY-NCなので商用利用はできなそうです。

TransformerとかGPTって何?

AIのニュース等でもTransformerとかGPTなんていう専門用語が飛び交うようになりました。ここでは少しだけイメージのお話をします。

まず、Transformerですが、DeepLearning(深層学習)のアーキテクチャのひとつで、機械翻訳を例にイメージ図を書きます。「”I like music”という英語を日本語に翻訳せよ」というタスクを例にします。

Transformerの基本形にはエンコーダと言われる左側部分とデコーダと言われる右側部分があります。エンコーダに”I like music”を入力すると、デコーダからその翻訳結果の「私は音楽が好き」がでてきます。

基本的には文章を単語単位に分割して入力し、翻訳結果も単語単位で出力されてきます。デコーダは1単語ごとに出力され、出力された単語は次の出力の計算に使われます。

つまり翻訳結果の単語生成には、入力された原文の全単語と、それまでに出力した翻訳結果の単語が複雑に計算されて、次に出す最適な単語を計算しているというイメージです。

次にGPTのイメージです。GPTもTransformerの一種なのですが、GPTはデコーダだけの構成になります。イメージ図を書きます。

よく、ChatGPTなどで何か質問をするとそれに答えてくれますが、あれは基本的には続きの文章を作っているような仕組みになっております。上の図で、「楽器の王様は?」と質問すると、そこまでの単語がデコーダに入力され、その続きを機械翻訳と同様に1単語ずつ生成していきます。続きの文は「ピアノです」となり、これが回答になります。(ものすごく簡略化したイメージなので、実際にはInstruct-GPTなどもっともっと複雑なことをしています)

では、音楽生成AIはどのようにTransformerやGPTを使っているかですが、単語の代わりに音声情報を入れられるようになっていて、翻訳を生成するかのように音楽の波形データを生成していきます。イメージ図を書きます。

これもものすごく簡略化したイメージなので、実際には前処理で音声をMFCCにしたり、後処理で波形を調整したりなど、複雑なことが行われてるはずです。

Suno AIはGPTモデルなので、デコーダだけで無から音楽を作れるモデルですが、デコーダに曲の特徴や歌詞のテキストも入れられるようにして、そのテキストから音楽を生成できるようになっています。

とにかく、このTransformerが世の中をTransform(変形)させてしまったということだけでも伝われば幸いです。

今後の生成AI

最近、GoogleがGeminiという新たな生成AIモデルを発表しました。Google版のチャットボットサービスがBardですが、このBardでもGeminiが使えるようになりました。Geminiの特徴はマルチモーダルです。当然のごとく音楽のタスクもできるとされています。作曲以外のいろんなこともできるかもしれません。

一方、OpenAI側もGPT5の開発が進められています。こちらはより生成能力が高められているらしいのですが、こちらも楽しみです。

これらふたつは超汎用的な大規模言語モデルである反面、なにかに特化したタスクとなると、今回のSuno AIのように専用モデルの方が上かもしれません。今のところ、楽曲生成においてはSuno AIがずば抜けていると思います。(2023年12月17日記載)