AI総合研究所

SHARE

X(twiiter)にポストFacebookに投稿はてなブックマークに登録URLをコピー

ChatGPTで作詞・作曲する方法とおすすめツールをわかりやすく解説

この記事のポイント

  • この記事は、AIを用いた音楽作成方法を具体的な例とともに解説しています。
  • ChatGPTなどのAIを活用することで、誰でも簡単にオリジナル曲を作曲することが可能です。
  • AI作曲による著作権問題に留意し、使用にあたってはそのリスクを考慮する必要があります。

監修者プロフィール

坂本 将磨

Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。

AI技術を用いた音楽制作の領域は、着実に進歩を遂げています。ChatGPTなどのAIモデルが作曲にどのように寄与できるのか、具体的な示例と共にわかりやすく解説することを目標にこの記事を構成しています。
例えば、AIが自動で作成した音楽をSunoAIを通じて楽しむ方法、Hugging Face上のAI jukeboxを使用する手順、そしてプログラミング言語であるPythonのMusic21ライブラリを活用した作曲の進め方を、それぞれ詳細に説明していきます。

これらの技術を使えば、誰もが簡単にオリジナルの楽曲を創造することが可能になります。しかし、AIによるコンテンツ生成には著作権の問題も関わってくるため、その点は使用にあたり十分に考慮する必要があります。

本記事を参考に、AIの可能性を音楽という形で表現してみませんか。

OpenAIが発表した最新のAIエージェント、「OpenAI Operator」についてはこちら⬇️
OpenAI Operatorとは?主要機能や使い方、安全性対策について徹底解説

ChatGPTによる作曲とは?

ChatGPTが普及していますが、ChatGPTが作曲に使えるか?と考えたことはないでしょうか。
ChatGPTは作曲面でも大きな効果を発揮し利用できます。

本記事では、ChatGPTなどのAI技術を使って作曲する方法と他のサービスを組み合わせることで音楽まで生成する方法を徹底的に解説していきます。

百聞は一見にしかず。さっそくですが、この曲を聴いてみてください!

https://suno.com/song/fed310fa-63e8-432c-a9b9-994699e72eachttps://suno.com/song/fed310fa-63e8-432c-a9b9-994699e72eac

この曲は全て、AIに歌詞を渡すだけで制作 されています。まるで本物の人間がレコーディングをした曲かのように聞こえてきませんか?

この後紹介しますが、この曲はChatGPTで作曲し、「SunoAI」というサービスで制作しました。

非常に精度高く良い曲が手軽にできますよね。
実際の事例を見たところで、さっそく楽曲生成をしていきましょう。ChatGPTと組み合わせた楽曲の作成方法にはいくつか種類がありますので、それぞれを順を追って説明していきます。


ChatGPTで作詞を行う

ではさっそく作詞をしていきます。
まずは以下のようにプロンプトを入れてみました。

エモくて富士山が出てくるクリスマスの曲を作詞してください

生成結果は以下のとおりです。

ChatGPTの作詞結果
ChatGPTの作詞結果

ChatGPTによると

この歌詞は、クリスマスの静寂な雰囲気と富士山の荘厳さをテーマにしたエモーショナルな内容です。日本ならではの景色を背景に、二人の愛が深まる瞬間を描いています。

と表現しています。
クリスマスの音が聞こえてきそうな良い歌詞ですね。


ChatGPTの歌詞を作曲に活かす方法

では作詞した後にどのように歌に落とし込んでいきましょうか

ChatGPTに楽譜を作ってもらう方法

ChatGPT上で流すことはできませんがメロディーや楽譜を作ってもらうことは可能です。以下のように聞いてみます。

ではこれに合う楽譜を作って

すると画像のように生成がされました。

楽譜︎(一部抜粋)
楽譜︎(一部抜粋)

このように生成することが可能です。

AI jukeboxを使う

「Hugging Face」は、Hugging Face社が提供する、AIや機械学習の学習用のデータセットが公開されたプラットフォームです。 登録なしで、無料で使用することができます。そんなプラットフォームに、AIが作曲をしてくれるモデルが公開されています。

https://huggingface.co/spaces/enzostvs/ai-jukeboxhttps://huggingface.co/spaces/enzostvs/ai-jukebox

AI jukeboxは、「①Prompt」「②Duration」「③Style」「④Mood」といった4つの構成要素から成り立ちます。
それぞれの項目が、ワンクリックで選択できるようになっており、非常に扱いやすいです。
Hugging1
AI jukeboxの操作画面.1
Hugging2
AI jukeboxの操作画面.2

「①Prompt」...曲の方向性の指示

「②Duration」...曲の長さを5秒〜30秒の間で指定できる

「③Style」...21種類あるスタイルの中から選択可能

「④Mood」...18種類あるムードの中から選択可能

また、「Prompt」の部分にあるサイコロのマークを選択すれば、ランダムで4種類の項目が選択されるようになっています。その際に、プロンプトは約3行に渡って曲の方向性を示しています。このような具体性をもって指示を出すことが自分好みの曲を生成するポイントともいえるでしょう。

4項目を選択した後、「Generate music」をクリックすれば、しばらくした後に音声ファイルが表示されます。

以下は、試しに生成してみた楽曲です。

https://youtu.be/Z5TAI99Q__E

クオリティもとても高いといえるのではないでしょうか。生成する度に、曲の雰囲気を踏まえた画像が生成されるのも魅力的です。

ただし、AI jukeboxで生成できるのは曲のみです。歌詞については、ChatGPTで必要な場合は、別で用意する必要があります。

Music21を使う方法

次に紹介するのはMusic21です。
Music21はPython(プログラミング言語)用のライブラリのことを指します。

このライブラリを用いることで、音楽の楽譜や音符、リズム、調性など、音楽のさまざまな要素をデジタルの形で表現し、操作することができます。
例えば、特定の曲の楽譜を読み込んで、その曲がどのような音符で構成されているかを分析したり、新しい曲を作成したり、音楽理論の規則に基づいて曲を分析したりすることが可能です。

実際の使い方

Music21を使うためにはPythonを動かす必要があります。Pythonを触ったことがない人もいるかもしれませんが、ここでは実際の使い方も含めて説明していきます。
難しい操作はほとんどありませんのでご安心ください。

まず、Pythonを実行するための基盤(=環境)を準備する必要があります。ここでは、使いやすさを考慮して、Google Colaboratoryを用いることにします。
Google Colaboratory、通称「Colab」とは、インターネット上で直接プログラムを書いたり実行したりできる無料のサービスです。

【❶Colobについて】

https://colab.research.google.com/drive/1YkA1cY4XSJmqKW_i9-5JyscKjeE762Ui?hl=ja#scrollTo=7Hkg3n49cvyFhttps://colab.research.google.com/drive/1YkA1cY4XSJmqKW_i9-5JyscKjeE762Ui?hl=ja#scrollTo=7Hkg3n49cvyF

上記のURLにアクセスし、画面右上にある「 + コード 」を選択します。
Colob_window1

すると、「コーディングを開始するか...」という箱が出てきます。(画像①の部分)

この箱の中にMusic21で動くプログラムを入力し、箱の横にある矢印(画像②の部分)を選択すれば、プログラムが実行され、音楽が生成されます。(ここでは、作曲するためのプロセスに絞って解説しているため、Colobの説明を最低限にとどめています。)

Colob_window2

それでは、Colobに入力するプログラムはどのようにして作るのでしょうか。ここでChatGPTを使います。

【❷ChatGPTを使ってコードを書く】

基本的には、ChatGPTに対して作曲の条件を伝え、曲調などを指定していきます。
(作曲の条件...「Google Colaboratoryで動かすこと」や「 Music21を使って作曲すること」など)

今回、より使い勝手がよくなるように、ChatGPTに入力する文章のテンプレートを用意しました。
こちらを使って作曲をしていきましょう。

#依頼
作曲のためのプログラムを記述してください。
その際に以下の条件群を満たしてください。

#条件群
##条件.1:
・音楽スタイルや要素の指定:XXX
・曲の雰囲気や感情を指定:XXX

##条件.2:Google Colob上で実行すること
##条件.3:コードブロックを1つにまとめること
##条件.4:以下の5つのプロセスをたどること
1. ライブラリのインストール:
    1. 「!apt update && apt install -y fluidsynth」で fluidsynth をインストールします。
    2. 「!pip install music21」でMusic21をインストールします
2. MIDIファイルの生成: music21 ライブラリを使って簡単なメロディを作成し、MIDIファイルとして保存します。
3. SoundFontファイルのダウンロード: FluidSynth で使用するSoundFontファイルをダウンロードします。
4. MIDIからオーディオへの変換: fluidsynth を使ってMIDIファイルをWAVフォーマットのオーディオファイルに変換します。
5. オーディオの再生: IPythonのAudio関数を使って生成されたオーディオファイルを再生します。


テンプレートは大きく「#依頼」と「#条件」の2要素で構成されています。
使用する際は「XXX」の部分に、作曲の要件を入力する必要があるのでご注意ください。

「音楽スタイルや要素の指定:」の部分には、目指すべき音楽スタイルや特定の音楽的要素(例:リズム、調性)を記述します。
例えば、「ジャズのスタンダード曲風のメロディ」といった内容などです。

そのほかにも、以下のような形で、スタイルを指定できます。参考程度にご覧ください。

音楽スタイル 要素
ジャズ インプロビゼーション
レゲエ オフビート
テクノ シンセサイザー
カントリー音楽 ペダル・スチール・ギター
フラメンコ 12拍子の複雑なリズム構造
クラシック音楽 動機的発展
アフロビート ポリリズム


「曲の雰囲気や感情を指定:」の部分には、曲の雰囲気や感情を記述します。
例えば、「落ち着いた雰囲気のメロディ」といった内容などです。

さて、ここまでで道具は揃いました。
先ほど紹介したテンプレートをアレンジしてChatGPTにプログラムを記述してもらい、それをColobで実行してみましょう。

以下は、実際にChatGPTに入力して、プログラムを生成させている画面です。
ChatGPT_music1
ChatGPTにテンプレートを入力する.1

ChatGPT_music2
ChatGPTにテンプレートを入力する.2

以下が、上記画像で生成されているプログラムです。これをコピーして、Colobに貼り付けて実行します。

# 1. ライブラリのインストール
!apt update && apt install -y fluidsynth
!pip install music21

# 2. MIDIファイルの生成
from music21 import stream, note, metadata, tempo

# 曲の基本情報と設定
score = stream.Score()
score.insert(0, metadata.Metadata())
score.metadata.title = "Baroque Contrapuntal Piece"
score.metadata.composer = 'ChatGPT'
part = stream.Part()
part.append(tempo.MetronomeMark(number=60))  # 1分間に60拍

# バロック音楽の対位法に基づいて簡単なメロディを生成
for i in range(16):
    n = note.Note()
    n.pitch.midi = 60 + (i % 4) * 2  # C4ベースのシンプルなパターン
    n.duration.quarterLength = 1  # 四分音符
    part.append(n)

score.insert(0, part)

# MIDIファイルとして保存
midi_path = "/content/sample_music.mid"
score.write('midi', fp=midi_path)

# 3. SoundFontファイルのダウンロード
!wget "https://gleitz.github.io/midi-js-soundfonts/FluidR3_GM/acoustic_grand_piano-mp3.js" -O "/content/soundfont.sf2"

# 4. MIDIからオーディオへの変換
!fluidsynth -ni soundfont.sf2 sample_music.mid -F output_audio.wav -r 44100

# 5. オーディオの再生
from IPython.display import Audio
Audio("output_audio.wav")

【❸ChatGPTで生成したコードをColobで実行する】

先ほど説明したように、Colobの箱にコピーしたプログラムをペーストします。
Colob_run1
矢印を選択して実行した後、少し待てば、以下のように音声ファイルが生成されています。
Colob_run2


SunoAIを使って楽曲生成をする

SunoAIを使うには、下記URLにアクセスし、アカウント登録をする必要があります。
https://suno.com/https://suno.com/

アカウント登録を済ませた後、画面左側にある「Create」を選択することで、楽曲制作ページへと遷移できます。
SunoAI_Create

遷移先のページにて、歌詞や曲風を入力し、「Create♬」を選択することで楽曲が生成されます。
SunoAI_Create2

以下の記事では「SunoAI」についてくわしく解説していますので、ぜひあわせてお読みください。

➡️SunoAIの使い方をわかりやすく解説!実際の使用例も紹介


AI駆動開発

まとめ

この記事では、ChatGPTを使って音楽を作る方法について、4種類の方法を紹介してきました。現状調べた範囲では、歌詞も含めて生成できるのはSunoAIのみのようです。しかし、HuggingfaceやMusic21などでも、作曲をすることはできました。どちらもAIの特徴を活かしていて、今すぐにでも実践できそうです。

しかし一方で、AIで生み出したコンテンツには常に著作権侵害の影が付きまといます。どのサービスも、基本的には作成したコンテンツの責任は使用者にあるとしているため、このような部分についてのリスクは常に念頭においておく必要があるでしょう。商用利用する場合は、必ず取引先にAIを使用していることを明言しておくことも、トラブル回避のためにできることです。

以上になります。それでは愉快なAI音楽ライフをお送りください♬

AI活用のノウハウ集「AI総合研究所」サービスご紹介資料

「AI総合研究所 サービス紹介資料」は、AI導入のノウハウがないというお客様にも使いやすい最先端のAI導入ノウハウを知れる資料です。

資料ダウンロード
監修者

坂本 将磨

Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。

関連記事

AI導入の最初の窓口。

お悩み・課題に合わせて活用方法をご案内いたします。
お気軽にお問合せください。

AI総合研究所 Bottom banner

ご相談
お問い合わせは
こちら!