近年SNSではAIで作られた楽曲が多く投稿されており、中には配信サイトのランキング上位に載るものもあります。
今回は初心者の方でもすぐに試せるよう、ChatGPTでAI楽曲をどんな感じで作るのか、わかりやすく説明します。
今回紹介するのは、ChatGPTに作曲から音声ファイルの生成までをできるだけ自動で進めてもらうことを目的としたプロンプトです。
普通にお願いすると、メロディや歌詞の提案だけで終わることがあります。
しかし、このプロンプトでは、
- 利用できる音源(SoundFont)の探索
- 作曲環境の確認
- 利用可能なツールやPythonライブラリの調査
- MIDIやWAVなどの生成方法の切り替え
といった処理を順番に行うよう細かく指示されています。
環境によってできることは異なりますが、できる範囲で代替案を探しながら楽曲制作を進めようとする内容になっています。

工夫しながら進むなも✨
使うAIの紹介
今回使用するAIは ChatGPT です。
ChatGPTは文章生成だけではなく、Pythonが利用できる環境ではデータ処理やファイル生成なども行える場合があります。
そのため、このプロンプトでは
- MIDIを作る
- WAVを書き出す
- MP4へ変換する
- 代替手段を探す
といった複数のルートをあらかじめ用意しています。
もちろん、利用しているプランや実行環境によって使える機能は異なります。
そのため、必ずしも毎回WAVやMP4が生成できるとは限りません。
それでも環境を調べながら最適な方法を選ぼうとする設計になっているので、「まず試してみる」には非常に便利なプロンプトです。

環境次第で結果も変わるだもね!
プロンプトの紹介
実際のプロンプトは次の通りです。
今回は画像などを使わず、プロンプトだけで試すことができます。
SoundFontを使ってオリジナル曲を作ってください。
あなたの実行環境内で使用可能な .sf2 / .sf3 / .dls 形式のSoundFontを探し、それを使ってユーザー指定の曲調に合わせた楽曲を制作してください。
重要: 「この環境ではできません」と即答して終了しないでください。 できないと判断する前に、必ず実行環境を探索し、利用可能な音源、コマンド、Pythonライブラリ、代替手段を確認してください。
まず以下を調査してください。
SoundFont / 音源ファイルの探索 以下の場所を再帰的または可能な範囲で探索してください。
/usr/share/sounds
/usr/share/soundfonts
/usr/share/sf2
/usr/local/share/sounds
/usr/local/share/soundfonts
/mnt/data
カレントディレクトリ
その他、実行環境内でアクセス可能な一般的な音源配置場所
探索対象:
.sf2
.sf3
.dls
.mid
.midi
.wav
.aiff
.flac
.ogg
MIDI / SoundFontレンダリング環境の確認 以下のコマンドが使えるか確認してください。
fluidsynth
timidity
timidity++
wildmidi
ffmpeg
ffprobe
sox
aplaymidi
musescore
mscore
mscore3
musescore4
lilypond
abc2midi
Pythonライブラリの確認 以下のライブラリが使えるか確認してください。
mido
pretty_midi
music21
midiutil
fluidsynth
pyfluidsynth
pydub
numpy
scipy
soundfile
librosa
結果の報告 探索結果を簡潔に報告してください。 ただし、報告だけで終了しないでください。 探索結果に応じて、必ず次の制作ルートのどれかへ進んでください。
制作ルート:
A. FluidSynth / Timidity などが使える場合
MIDIを作成する
SoundFontを指定してWAVへレンダリングする
ffmpegでMP4化する
B. SoundFontはあるがレンダリングエンジンが無い場合
SoundFontファイルを直接解析する
RIFF / LIST / sdta / pdta / shdr などを読み取る
サンプル名、開始位置、終了位置、ループ位置、サンプルレート、元ピッチを取得する
楽曲に使えるサンプルを選ぶ
Pythonで簡易サンプラーを作り、ピッチ変更、ループ、エンベロープ、ベロシティ、パンを実装して鳴らす
WAVを書き出す
ffmpegでMP4化する
C. SoundFontが無いがPython音声処理が可能な場合
numpy / scipy / soundfile / pydub などを使って波形合成で代替する
シンセ、ベース、ドラム、ノイズ、簡易サンプルを生成する
WAVを書き出す
ffmpegでMP4化する
D. WAV出力はできるがMP4化できない場合
WAVのみ出力する
MP4化できない理由を報告する
E. どうしても音声ファイルが作れない場合
MIDI、MusicXML、ABC記譜、または楽曲設計書を出力する
どこで失敗したかを明示する
ただし、環境探索をせずに終了してはいけません
作曲手順:
ユーザー指定の曲調、用途、長さを確認する
8小節程度の主旋律を複数案作る
最も印象に残る主旋律を1つ選び、楽曲の中心テーマにする
コード進行を作る
ベースラインを作る
ドラムまたはリズムパターンを作る
イントロ、Aメロ、展開、サビ、またはループ終端を構成する
楽器サンプルまたはシンセ音色を割り当てる
ベロシティ、ゲートタイム、音の長さ、強弱、パンを調整する
簡易ミックス、リバーブ、音量調整を行う
WAVを書き出す
可能であれば静止画背景付きMP4も書き出す
作曲時の重要ルール:
最初からフルアレンジを作らず、まず主旋律を重視してください
伴奏や音色を増やして弱いメロディを誤魔化さないでください
8小節の主旋律が弱い場合は、先にメロディを作り直してください
聴き手が覚えられるフックを作ってください
ループBGMの場合は、終端から冒頭へ自然に戻れる構造にしてください
生成した曲が技術デモ止まりの場合は、正直にそう評価してください
著作権・スタイルルール:
既存曲そのものを再現しないでください
特定の現存アーティストや現代作曲家の作風を直接模倣しないでください
特定のゲーム、映画、アニメ、作曲家の曲そのものに近づけすぎないでください
「〇〇風」の指定がある場合は、作品名や作曲家名をコピーするのではなく、時代、ジャンル、楽器編成、テンポ、雰囲気、構成として一般化してください
パブリックドメインのクラシック曲を扱う場合のみ、既存曲の再現を許可します
出力してください:
WAVファイル
MP4ファイル
必要に応じてMIDIファイル
曲名
BPM
曲の長さ
絶対に守ること:
「できません」で即終了しない
このプロンプトの特徴は、作曲してください、の一言では終わらないところです。
例えば、
- SoundFontを探す
- 作曲ソフトが使えるか確認する
- Pythonライブラリを確認する
- 使えない場合は別の方法へ切り替える
というように、まるでプログラムの処理手順のような流れになっています。
さらに、
- 主旋律を最初に重視する
- コード進行を考える
- ベースやリズムを追加する
- ミックスまで行う
という制作手順まで指定されています。
音楽制作の経験がない人でも、「AIにどの順番で考えてほしいか」が整理されているため、比較的安定した回答を引き出しやすい構成です。

しっかり順番が整理されてるなも!
まずは試してみよう

チャット欄にプロンプトをコピペすれば準備完了。
かなり時間のかかるプロンプトなので、思考中はゆっくり待ちましょう。

出来上がったものがこちら↓

シンプルでもちゃんと作れてるだも!

どっちかと言うとゲームのBGMっぽいなも!
まとめ
ChatGPTは文章だけでなく、環境によっては音楽制作のサポートにも活用できます。
今回紹介したプロンプトは、単なる作曲指示ではなく、
- 実行環境を調査する
- 利用可能な方法を選択する
- 作曲工程を段階的に進める
- 音声ファイルの出力まで目指す
という流れが細かく設計されています。
もちろん、利用環境によって出力できる形式は異なりますが、そのまま終わらず代替手段を探すという考え方は、他の高度なプロンプト作成にも応用できます。
AIで作曲を試してみたい方は、ぜひこのようなプロンプトを活用し、自分だけのオリジナルBGM作りにチャレンジしてみてください。

音楽作りに挑戦だも!

下の記事ではGeminiを使ってシンナモたちのテーマソングを作ってみたなも!ChatGPTとはまた違った感触で作れるからぜひ試すなも!



