AIとの作曲をフリーソフトで試す

話題の
ChatGPTを
使って

AI作曲を
フリーソフトで
試してみる方法を
お伝えします。

お金が
かからない
方法なので

是非
気軽に
試してみて
くださいね。

AIとの作曲をフリーソフトで試す

それでは、行ってみましょう!

まずは
今日は
絵を
描いてみました。

*こちらを参考にさせていただきました。

それから
この
棒人間のイメージで
一曲
書いてみました。

//------------------------------------------------------------------------------
// テキスト音楽「サクラ」 Text Music Sakura Data(on macOS CUI v2.379)
//------------------------------------------------------------------------------
/*
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【Title】20230413
【Cpomposer】rana
【Date】2023/4/13
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
オルゴール音源です。
今日はAIは使わずに作曲。
「対話」のイメージで
棒人間のイラストを
描いてから
そのイメージで
書きました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
*/

//_00:Setup
TrackName     = {"20230413"}
Copyright     = {"rana"}
Tempo         = 60;
TimeSignature = 4,4;
ResetGS;ResetXG;ResetGM;
TrackSync;

//MML
//Melody
TR(1) l8  o6 @11 gab>c r <bag fefa r gfe
                gab>c r <b>cd efed rc<b>c

            o6    gab>c r <bag fefa r gfe
                gfed r efg ab>cd r c<b>cr
//Harmony
TR(2) o4 l2 @11 q100  [3 'fa>ce<' 'egb>d<']
                            'dfa>c<' 'gb>df<'

                            [2 'fa>ce<' 'egb>d<']

                             'dfa>c<' 'egb>d<'
                                'fa>ce<'  'gb>df<'

さて
先日の
ChatGPTに
MMLで
曲を書いてもらった記事が
よく読まれているようです。

chatGPT(GPT-4)にMMLで作曲させてみた

MMLというのは
MusicMacroLanguage
という方法で

文章を考えるように
文字を打って
作曲が楽しめる
という方法です。

こちらは
MML表記の
ほかにも

ひらがなで
どれみ
と打つと
そのまま
鳴る

ストトン表記
という仕組みが
あり

作曲を
やったことがない方でも
楽しめるという
方法になっています。

今回は

  • テキスト音楽「サクラ」
  • ChatGPT

この二つを
利用します。

環境の構築は
こちらの記事を
参考にしてみてください。

チャットGPT(ChatGPT)でAI作曲をするための準備

なお
記事では
ChatGPTは
GPT-3.5ではなく
GPT-4を
利用しています。

GPT-4には
有料の月額登録が
必要ですが

頑張れば
GPT-3.5でも
作成可能と
思いますので

参考にして
曲を
作ってみてください。

メロディーを考える

まずは
ピコサクラを
開きます。

ピコサクラ

ここに
どれみで
文字を打って
メロディーを
考えていきましょう。

鼻歌で
出てくる方は
実際に歌ってみたりして
それをどれみで
入力していきます。

入力した時に
自分の
イメージと
あわない
と感じた方は
以下の点に
気をつけてみてください。

  • 音の長さ
  • 音の高さ
  • 音色

まずは
音の長さを
整えます。

音価と
いいますが

音の長さが
4分音符なのか
8分音符なのか
もう一度
吟味しましょう。

よく
わからなく
なってきたら


4分音符で
手拍子を
しながら
メロディーを
歌ってみます。

4分音符の
どこにはまるか
考えながら
打ち込みをしていくと
スムーズに
打ち込むことができますよ。

作曲では
この
冒頭のメロディーが
とても大変です。

私が考えたメロディーは
以下の通りになりました。

ふぁみふぁみーれどれー

こちらの
どれみで書かれた
文字列を
先ほどの
ピコサクラに
コピペすると

曲がなって
確認することが
可能です。

でも
このままだと
ゆっくりなので

全体を
8分音符にします。

音符8 ふぁみふぁみーれどれー

これで一応の
メロディーが
できあがりました。

こちらの書き方は

ふぁ8み8ふぁ8み4れ8ど8れ4

これと
同じ鳴り方を
しますが

全部に
8分音符を
つけたい場合は

音符8

これで
その後の
音符の長さが
デフォルトで
8分音符に
なります。

AIからもらったメロディーを整える

さて
ここからやっと
ChatGPTの
出番です。

ChatGPTを
立ち上げましょう。

登録が
まだな方は
まずは
簡単ですので
登録してしまいましょう。

https://yakiimosan.com/openai-register/

こういった
ブログを
参考にしてみて
ください。

さて
準備が整ったら
ChatGPTを
立ち上げます。

以下のように
聞いてみましょう。

rana
rana

以下のMMLで書かれたメロディーにあうような和音を考え、MMLでコードを教えてください。

音符8 ふぁみふぁみーれどれー

このメロディーに合う和音は色々ありますが、以下のようなものが考えられます。

t120
cdefgab>c

g8g8g8g8g8g8g8g8

このMMLでは、120BPMで演奏することを指定しています。音程はCから始まり、順にC, D, E, F, G, A, Bを表します。”g8″は8分音符のGを表しています。このように、続けて同じ音程を演奏することで、”ふぁみふぁみーれどれー”のようなメロディーを表現することができます。

ChatGPT(Legacy GPT-3.5)より

何か
おかしいな?


思いましたが

GPT-3.5を
使っていました。

また
ストトン表記だと
現状は
AIが
うまく認識しないようで
ほかのものと
混ざってしまうようです。

そこで
MMLで考えなおして…

l8 fefe4dcd4

同じ質問を
GPT-4に
してみます。

rana
rana

以下のメロディーにあうような和音を考え、MMLでコードを教えてください。

l8 fefe4dcd4

このメロディーに合った和音をMML形式で提案します。以下のコードでは、メロディーに適した和音が含まれています。

l8
% メロディー
t120 v100 @0
% チャンネル1 (メロディー)
1 fefe4dcd4
% チャンネル2 (和音)
2 r
% 和音 1: Fメジャー
2 <a4.c4>f4
% 和音 2: Dm (Dマイナー)
2 <a4.f4>d4
% 和音 3: Bbメジャー
2 <d4.f4>a4
% 和音 4: Cメジャー
2 <c4.e4>g4

このコードは、次の和音を使用しています:

  1. Fメジャー
  2. Dマイナー
  3. Bbメジャー
  4. Cメジャー

各和音は、メロディーの音符に適したタイミングで配置されています。このコードを使って、MML対応の音楽ソフトウェアで再生してみてください。

ChatGPT(GPT-4)より

この
AIが
提案してくれた
MMLを
整えていきます。

まずは
メロディーから
やっていきます。

TR(1) TEMPO=120 v100 @0 l8 fefe4dcd4

このように
書き換えが
可能です。

順を追って
解説します。

まずは
AIくんが
提案してくれた
MMLですが…

l8
% メロディー
t120 v100 @0
% チャンネル1 (メロディー)
1 fefe4dcd4

このように
なっていましたね。

カタカナで
書かれている部分は
コメントアウトといって
音符には直接
関係ないところです。

解釈してみると

まずは
l8で全体的な
音符の長さを
8分音符に指定

次に
t120で
テンポを120に
指定しています

サクラでは
tで指定できなかった
はずなので

TEMPO=120


書き直して
あげましょう。

ボリュームを
v100に
音色を
@0
にしているようです。

下の
% チャンネル1 (メロディー)
のすぐ左に

1と
書かれていますが
こちらは
トラックの番号だと
思いますので

TR(1)
とします。

以上を
踏まえて
できたのが
先ほどの
MMLです。

TR(1) TEMPO=120 v100 @0 l8 fefe4dcd4

和音をもう一度考えてみる

先ほどの
AIからもらった
和音を
再掲してみます。

% チャンネル2 (和音)
2 r
% 和音 1: Fメジャー
2 <a4.c4>f4
% 和音 2: Dm (Dマイナー)
2 <a4.f4>d4
% 和音 3: Bbメジャー
2 <d4.f4>a4
% 和音 4: Cメジャー
2 <c4.e4>g4

一度
MMLを
整えてから
ピコサクラで
鳴らしてみても
良いと思いますが

よく
見ると

% 和音 3: Bbメジャー
2 <d4.f4>a4

ここが
B♭メジャーでは
ないように
見えます。

ちょっと
怪しいので

ChatGPTに
B♭メジャーについて
聞いてみましょう。

rana
rana

B♭メジャーについて教えてください。

B♭メジャーは、西洋音楽の調のひとつで、B♭(シ♭)が主音(トニック)となるメジャー調です。B♭メジャーは、次の音階で構成されています。

B♭ – C – D – E♭ – F – G – A – B♭

B♭メジャーのキー・シグネチャーは、2つのフラット記号(B♭とE♭)が含まれています。このため、楽譜では、各小節の先頭にBとEにフラット記号が書かれます。

B♭メジャーの三和音は以下のようになります。

  1. B♭メジャー (B♭ – D – F)
  2. Cマイナー (C – E♭ – G)
  3. Dマイナー (D – F – A)
  4. E♭メジャー (E♭ – G – B♭)
  5. Fメジャー (F – A – C)
  6. Gマイナー (G – B♭ – D)
  7. Aディミニッシュド (A – C – E♭)

B♭メジャー調の楽曲は、明るく落ち着いた印象を与えることが多く、多様なジャンルの音楽で使用されています。

ChatGPT(GPT-4)より

やっぱり
和音が
B♭-D-Fと
ならないと
いけないようです。

このように
AIくんは
よく和音を
間違えたりします。

何度か和音を提案してもらう

もう一度
聞き方を
変えて

和音を
提案して
もらいましょう。

rana
rana

以下のMMLで書かれたメロディーにあうようなコードを考え、MMLで和音を教えてください。TR(2)からコードの記述をはじめてください。

TR(1) TEMPO=120 v100 @0 l8 fefe4dcd4

TR(2)

このメロディーに合った和音をMML形式で提案します。以下のコードでは、メロディーに適した和音が含まれています。

% チャンネル1 (メロディー)
TR(1) TEMPO=120 v100 @0 l8 fefe4dcd4

% チャンネル2 (和音)
TR(2) v70 @0 l4

% 和音 1: Fメジャー
<acf>
% 和音 2: Dm (Dマイナー)
<adf>
% 和音 3: B♭メジャー
<dfb->
% 和音 4: Cメジャー
<ceg>

このコードは、次の和音を使用しています:

  1. Fメジャー
  2. Dマイナー
  3. B♭メジャー
  4. Cメジャー

各和音は、メロディーの音符に適したタイミングで配置されています。このコードを使って、MML対応の音楽ソフトウェアで再生してみてください。

だいたい
つかめて
きたので

提案された
コードを
元に
MMLを
整えてみます。

TR(1) TEMPO=120 v100 @0 l8 fefe4dcd4
TR(2) <acf> <adf> <dfb-> <ceg>

これだと
TR(2)が
三拍子に
なってしまうので

シングルクォーテーションで
囲って
和音にして
あげましょう。

パソコンの
キーボードの
shiftと7を
押すと

が出ますので
それを利用します。

TR(1) TEMPO=120 v100 @0 l8 fefe4dcd4
TR(2) '<acf>' '<adf>' '<dfb->' '<ceg>'

和音には
なりましたが

ちょっと
音の長さが
あわないので
調整しましょう。

TR(1) TEMPO=120 v100 @0 l8 fefe4dcd4
TR(2) l2 '<acf>' '<adf>' '<dfb->' '<ceg>'

やっと
良い感じに
なってきました。

まとめ

AI作曲は
この
繰り返しで
曲を作って
いきます。

ここから
メロディーの
続きを
考えて

また
コードを
AIに生成
してもらい

整えていくと
完成していきます。

今日は
冒頭の
メロディーと
和音だけに
なってしまいましたが

作業に
慣れてくると
はやく曲が
完成するように
なってきます。

あなたも
是非
試してみて
くださいね。

それでは、今日はこの辺で。
いつもお読みいただき
ありがとうございます。

また明日です!

2 COMMENTS

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

1718808959