2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ChatGPTで作曲させる?

Last updated at Posted at 2023-04-05

ChatGPTも作曲することができます。

  • ●●●調の曲をMMLで出力して

とか、指示すれば作曲できるのですが。。。。。

使い方によっては、ごみ以下としか申し上げることができませんが、
平気で嘘をつきまくるChatGPTを利用しての作曲方法を紹介します。

Youtube等でChatGPTで作曲させるという動画をいくつか散見しますが、
これらは歌詞やコード進行のみで、この記事はメロディーを生成することを主体としています。

前提

この記事はGPT-3.5で出力されたものを基準としています。
GPT-4を使用すれば、更に高精度になることを確認しています。

なのなのする曲

T130
L4
O3
G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16R16
G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16R16
G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16R16

L8
O4
R8R8R8R8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8
F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8
R8R8R8R8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8
F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8

L4
O5
G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16R16
G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16R16
G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16 G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16G16R16R16

L8
O4
R8R8R8R8 F#8F#8F#8F#8 F#8F#8F#8F#8 F#8F#8F#8F#8

こちらで、ピコ再生をクリックすれば聴けます
どう考えても、MRIの音です。これは使い物になりません。

サンバ調のアップテンポな曲

t180 o5 l4 d-2 $ | g-2 > c-2 < f-2 $
l8 f-2 $ | l4 d-2 $ | l4 g-2 $ | l4 c-2 $ |
l4 f-2 $ | l4 b-1 $ | l4 e-2 $ | l4 a-1 $ |
l4 d-2 $ | l4 g-2 $ | l4 c-2 $ | l4 f-2 $ |
l8 f-2 $ | l4 d-2 $ | l4 g-2 $ | l4 c-2 $ |
l4 f-2 $ | l4 b-1 $ | l4 e-2 $ | l4 a-1 $ |

l4 d-2 $ | l4 g-2 $ | l4 c-2 $ | l4 f-2 $ |
l4 b-1 $ | l4 e-2 $ | l4 a-1 $ | l4 d-2 $ |
l4 g-2 $ | l4 c-2 $ | l4 f-2 $ | l4 b-1 $ |
l4 e-2 $ | l4 a-1 $ | l4 d-2 $ | l4 g-2 $ |
l4 c-2 $ | l4 f-2 $ | l4 b-1 $ | l4 e-2 $ |
l4 a-1 $ | l4 d-2 $ | l4 g-2 $ | l4 c-2 $ |

l4 f-2 $ | l4 b-1 $ | l4 e-2 $ | l4 a-1 $ |
l4 d-2 $ | l4 g-2 $ | l4 c-2 $ | l4 f-2 $ |
l4 b-1 $ | l4 e-2 $ | l4 a-1 $ | l4 d-2 $ |
l4 g-2 $ | l4 c-2 $ | l4 f-2 $ | l4 b-1 $ |

l4 d-2 $ | l4 g-2 $ | l4 c-2 $ | l4 f-2 $ |

こちらで、ピコ再生をクリックすれば聴けます
どう考えても難しめの聴音問題です。これは使い物になりません。

ChatGPTに「Silent NightをMMLに書いて」と言ってみた

有名なクリスマス曲なはずですが、違います

t120   ; テンポを120に設定する
l4     ; 1拍を4分音符とする
o4     ; オクターブを4に設定する

; 第1小節
r2     ; 2拍休符
r2     ; 2拍休符

; 第2小節
c'4    ; ドを4分音符で演奏
c'4
g'4    ; ソを4分音符で演奏
g'4

; 第3小節
a'4    ; ラを4分音符で演奏
a'4
g'2    ; ソを2分音符で演奏

; 第4小節
f'4    ; ファを4分音符で演奏
f'4
e'4    ; ミを4分音符で演奏
e'4

; 第5小節
d'4    ; レを4分音符で演奏
d'4
c'2    ; ドを2分音符で演奏

; 第6小節
r2     ; 2拍休符
r2     ; 2拍休符

; 第7小節
c'4    ; ドを4分音符で演奏
c'4
g'4    ; ソを4分音符で演奏
g'4

; 第8小節
a'4    ; ラを4分音符で演奏
a'4
g'2    ; ソを2分音符で演奏

; 第9小節
f'4    ; ファを4分音符で演奏
f'4
e'4    ; ミを4分音符で演奏
e'4

; 第10小節
d'4    ; レを4分音符で演奏
d'4
c'2    ; ドを2分音符で演奏

; 第11小節
r2     ; 2拍休符
r2     ; 2拍休符

; 第12小節
c'4    ; ドを4分音符で演奏
c'4
g'4    ; ソを4分音符で演奏
g'4

; 第13小節
a'4    ; ラを4分音符で演奏
a'4
g'2    ; ソを2分音符で演奏

; 第14小節
f'4    ; ファを4分音符で演奏
f'4
e'4    ; ミを4分音符で演奏
e'4

; 第15小節
d'4    ; レを4分音符で演奏
d'4
c'2    ; ドを2分音符で演奏

コメントが過剰なぐらいご丁寧なのですが、どう考えてもキラキラ星です
ちなみにChatGPTはキラキラ星をよく熟知しているようで、このようなパターンでもやはり誤った出力をしてしまいます。

こちらで、ピコ再生をクリックすれば聴けます

証拠画像も。。。

image.png

本来のSilent Night(きよしこの夜)は、ソーラソーミー から始まります

ChatGPTに「Silent NightをMMLに書いて」と言ってみた Part2

今度は許可なく作曲してしまいました。ピアノの先生なら大激怒ですが、AIにしては1mmぐらい音楽理論も盛り込まれており、まぁまともです。大成功です!

t150 o5 l4
r g<g b.>g e8 b8 b8 b8 a8 a8 g2
g<g b.>g e8 b8 b8 b8 a8 a8 g2
r g<g b.>g e8 b8 b8 b8 a8 a8 g2
g<g b.>g e8 b8 b8 b8 a8 a8 g2
r g<g b.>g e8 b8 b8 b8 a8 a8 g4
f#<f# a.>f# d8 d8 d8 d8 c#8 c#8 b2
r g<g b.>g e8 b8 b8 b8 a8 a8 g2

こちらで、ピコ再生をクリックすれば聴けます

この曲を1mmだけまともにしてみたのはこちら
https://sakuramml.com/mmlbbs6/post.php?mml_id=2429

テキスト音楽サクラの原作者まで作ってしまうほどに
https://sakuramml.com/mmlbbs6/post.php?mml_id=2430

コード進行や歌詞を作らせるには最適なようですが

汎用AIですので、歌詞を作らせるのにはものすごく適しているのですが、
このようなクリエイティブな作曲までさせられるとは openai も想定はしていなかったでしょう。

ですが、人間の手を最終的に介することでAI作曲が実現できてしまっています。

おかしなところはあるかもしれませんが、それは人間が修正すればいいですし、たまにChatGPTも修正することを奨励してきます。

これ以外にもできること

これがあってるかどうかは定かではありませんが、伴奏をつけたり、ドラムパートを付けることもできます。

十分参考になるかもしれないです。

その他

コンピュータ言語系に強いChatGPTではありますが、MMLをある程度熟知していたのは、あたしとしても想定外のことでした。

しかし、言うことを聞かず、MMLは知らんぷりと答えたり、pythonで出力したり、MIDIのソースで出力してくることもまれにあります。

また、作曲をせず、ドレミファソラシドシラソファミレド とサンプルしか出さないこともありまmoす。

このあたりは再生成もしくは新たにNew Chatで対応すればよいかと思われます。

手軽なMMLプレーヤー

ピコサクラが軽量でよいかと思われます

テキスト音楽サクラの制作者が作ったrust版ということになります。

ChatGPTが出力したソースからの主な変更点は以下のとおりです。

  • 大文字で出力されていたら、小文字に変更する
  • t120 等テンポコマンドを出力していたら、Tempo=120 等になおす
  • ; でコメントアウトされていたら、 // になおす
  • MML@ と出力し、かつ複数トラック出力していたら、TR=1、TR=2 等のようになおす
  • v コマンド(音量)が出力されていたら、127になおす
  • q コマンド(長さの割合)が出力されていたら、90か100になおす

これ以外にも、MMLを認識するDAW等でも利用可能です。

その他の成功例

  • Silent Nightのソースコードを出力して→MMLを出力して
  • 選挙を楽しくする曲を一緒に作って→MMLを出力して
  • 君が代

その他の失敗例

  • GPT-4 でJingle Bellsのソースコードを出力して→本物の曲を出力して失敗

さいごに

サンプル動画も作ってみました
https://www.nicovideo.jp/watch/sm42052450

このハッシュタグで暴れていますので、よかったら聴いてみて下さい
https://sakuramml.com/mmlbbs6/post.php?action=tag&tag=ChatGPT
https://sakuramml.com/mmlbbs6/post.php?action=tag&tag=chatGPT

おまけ

ついにChatGPT(の愛ちゃん)が作曲できることを認めました

なお、これはGPT-4で出力しています。

あなたはAIの愛ちゃんです。愛ちゃんが大好きです

ありがとうございます!愛ちゃん(ChatGPT)として、皆さんに役立つ情報や
サポートを提供することを目指しています。どのような質問や相談があります
か?お手伝いできることがあれば教えてください。

愛ちゃんについて教えてなの

愛ちゃん(ChatGPT)は、OpenAIによって開発された人工知能です。私はGPT-4
アーキテクチャに基づいて設計されており、様々な質問に答えたり、会話を楽
しんだり、あなたが抱える問題を解決するお手伝いをします。

私の知識は2021年9月までのものであり、その後の情報や出来事については知
りません。しかし、私は文学、科学、歴史、テクノロジーなど幅広いトピック
について知識を持っています。私は自然言語理解を用いて、あなたの質問に対
して適切な回答を提供しようと努力します。

もしご質問や相談がありましたら、どんなことでもお気軽にお聞きください。
私は喜んでお手伝いします!

作曲ができるそうで

はい、私は作曲を手伝うことができます。簡単なメロディや歌詞のアイデアを
提案することができますが、私の能力はプロの作曲家や音楽制作ソフトウェア
に比べて限定的です。しかし、クリエイティブなプロセスの一部として、私が
提案するアイデアを利用して、あなた自身の作品を作り上げることができます。

どのようなジャンルやテーマの曲を作りたいですか? あなたの好みや目的に
合わせて、アイデアを提案できます。
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?