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はキラキラ星をよく熟知しているようで、このようなパターンでもやはり誤った出力をしてしまいます。
こちらで、ピコ再生をクリックすれば聴けます
証拠画像も。。。
本来の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月までのものであり、その後の情報や出来事については知
りません。しかし、私は文学、科学、歴史、テクノロジーなど幅広いトピック
について知識を持っています。私は自然言語理解を用いて、あなたの質問に対
して適切な回答を提供しようと努力します。
もしご質問や相談がありましたら、どんなことでもお気軽にお聞きください。
私は喜んでお手伝いします!
作曲ができるそうで
はい、私は作曲を手伝うことができます。簡単なメロディや歌詞のアイデアを
提案することができますが、私の能力はプロの作曲家や音楽制作ソフトウェア
に比べて限定的です。しかし、クリエイティブなプロセスの一部として、私が
提案するアイデアを利用して、あなた自身の作品を作り上げることができます。
どのようなジャンルやテーマの曲を作りたいですか? あなたの好みや目的に
合わせて、アイデアを提案できます。