AIと二人三脚でユーロビートアルバムを作って配信するまでの全記録 —「RESTART ENGINE」制作記

「やる気が出ない日に、自分を再始動させる音楽が欲しい」

そんな思いつきから始まった個人プロジェクトが、10曲入りのオリジナル・ユーロビートアルバム「RESTART ENGINE」として、YouTube公開とストリーミング配信(Spotify / Apple Music / Amazon Musicほか)まで漕ぎ着けました。

音楽制作の経験はほぼゼロ。それでもAIアシスタント(Claude)をプロジェクトマネージャー役に据えて、Suno・Stable Diffusion・ffmpeg・DaVinci Resolveを繋いだパイプラインを組み、発案から配信入稿まで走り切ることができました。

この記事は、その全工程の記録です。同じことをやってみたい人の参考になれば嬉しいですし、何より自分自身の備忘録として残しておきます。長いです。お茶でも淹れてどうぞ。


🏁 作品はこちら

▶ YouTube(フルアルバム・ビジュアライザ付き)
https://youtu.be/LqDDuouAxpo

🎧 ストリーミング配信: 2026年8月3日リリース
Spotify / Apple Music / Amazon Music ほか主要サービスで配信予定です。
事前保存(Pre-Save)はこちらから:
https://distrokid.com/hyperfollow/tadanobu/restart-engine

記事を読む前でも後でも、作業のお供に流しながらどうぞ。


完成したもの

  • アルバム: RESTART ENGINE(全10曲・約26分46秒・インストゥルメンタル)
  • ジャンル: ユーロビート(一部シンセウェイブ/ハピコア)
  • YouTube: ビジュアライザ付きフルアルバム動画(1080p60)
  • 配信: DistroKid経由で主要ストリーミングサービスへ(リリース日設定済み)

使ったツール・環境:

役割 ツール 作曲 Suno(商用利用可プラン) 音声修復 iZotope RX マスタリング iZotope Ozone 12 + Logic Pro ジャケット/背景/サムネ Stable Diffusion(Animagine XL 4.0、Forge経由) ビジュアライザ ffmpeg(自作スクリプト、Claude Codeで実装) 動画合成 DaVinci Resolve 検品ツール 自作ラウドネスチェッカー(Python) 配信 DistroKid PM役 Claude(チャット3本ぶっ通し)

マシンはMac(音声作業)、Mac Studio(重いレンダリング)、Windows+GeForce RTX(画像生成と動画合成)の3台体制。NASを共有ストレージにして役割分担しました。


第1章: 発案 —「エビデンスに基づいた元気が出る音楽」

きっかけ

最初にClaudeに投げた相談はこうでした。

Sunoで曲を作成したいです。夜眠れるアルバムや元気が出るアルバム等をある程度エビデンスに基づいた物を作成したいです

返ってきた答えが正直で良かった。要約すると:

  • エビデンス→Sunoプロンプトへの翻訳は得意領域。ただしSunoは数値指定(BPMやキー)をかなり無視するので、プロンプト設計3割・ガチャと選別7割
  • 「睡眠用音楽」のエビデンスは世間で言われるほど強くない。バイノーラルビートや528Hzは根拠が薄いので避け、テンポ・音量エンベロープ・構造の単純さといった比較的堅い知見に寄せるのが誠実

この「できること・できないことを最初に言う」姿勢のおかげで、以降ずっと現実的な期待値で進められました。まず元気系アルバムから着手と決定。

要件定義

「元気が出る」を分解すると、覚醒系の研究知見の主軸は:

  • テンポ120〜140BPM(運動用なら〜150)
  • メジャーキー、明確な4つ打ち系リズム
  • そして意外にも「本人の好みとの一致」が効果の最大要因という研究が多い

用途は「やる気がない時に引き出す」。ジャンルはユーロビートを希望したところ、「理にかなっている」との評価。150〜160BPMの高テンポ・明確なビートで覚醒系の条件をほぼ満たし、しかも「やる気ゼロから引き上げる」用途には、じわじわ盛り上がるタイプより最初からフルスロットルの方が向いている、と。シンセ主体のジャンルはAI生成の粗が出にくいという相性の話もありました。

代替候補としてハピコア(「殴られて起きる」系)、シンセウェイブ、パワーメタルなども提示され、最終的に主軸ユーロビート+呼吸枠としてシンセウェイブ+山場にハピコアという混成構成に。同じ刺激は慣れて効かなくなるから、というのが理由です。


第2章: 曲名とアルバム名 —「起動から勝利までの一本道」

10曲の構成案は、プロンプトテンプレートを4種類(A: 王道ユーロビート / B: ギター熱血系 / C: シンセウェイブ / D: ハピコア)用意し、同じテンプレでもBPMとキーを散らして「全曲同じに聴こえる」事故を防ぐ設計になっていました。

曲名は「点火→全開→加速→燃焼→限界突破→息を吹き返す→疾走→限界破壊→電圧上昇→ウイニングラン」という物語で:

  1. Ignition — 点火
  2. Full Throttle — 全開
  3. Neon Accelerator — ネオンの加速装置
  4. Burning Heart Engine — 燃える心のエンジン
  5. Rising Voltage — 上昇する電圧
  6. Overdrive Zone — 限界超過領域
  7. Second Wind — 疲れた後にふっと楽になるあの現象
  8. Limit Breaker — 限界を壊す者
  9. Thunder Sprint — 雷の全力疾走
  10. Victory Lap — ウイニングラン

アルバム名は「IGNITION DRIVE」「MAX VOLTAGE」などの候補から RESTART ENGINE に決定。「元気な人がさらに上がる」じゃなく「動けない状態から再始動する」というコンセプトを一番正確に言い当てているから、という推薦理由に納得しました。

ちなみに「英語タイトルは和訳すると大体ダサくなるのがユーロビートの様式美なので、訳の格好悪さは気にしなくていい」という助言も貰いました。RESTART ENGINE=「エンジン再始動」。確かに地味。でも英語表記なら成立する。


第3章: 生成ガチャと選別

ここが工数の大半でした。1曲につき複数回生成してベストテイクを選ぶ、の繰り返し。

判断基準について良い助言があって、「数値の一致は合否基準にしなくていい」。SunoはBPM指定を平気で外すので、重要なのは「155〜165のレンジに入って疾走感があるか」と「曲同士でキーが被りすぎていないか」の2点だけ。良いテイクをBPMが3ずれているからと捨てるのは本末転倒、と。

BPM/キーの測定はTunebat(Web)で1曲ずつ。採用曲が揃った後、キーの半音衝突が起きないよう曲順を最適化しました。


第4章: マスタリング — 事件と教訓の宝庫

ワークフロー

方針は「基本は2mixのままOzone直行、バランスに明確な問題がある曲だけRXで外科手術」。全曲ステム分離は工数対効果が悪い(Sunoのステム分離はアーティファクトが残り、そこに強い処理をかけると悪化する)という判断です。

  • iZotope RX: 問題のある曲のみアーティファクト修復
  • Ozone 12: リファレンスカーブ方式で全曲を -13.5±0.25 LUFS に統一
  • Logic Pro: ギャップ方式で10曲を連結し、YouTube用のフルマスターWAVを作成

テールクリップ事件

途中、バウンス設定で「オーディオテールを含める」を入れ忘れ、複数曲の末尾が切れるミスが発生。再バウンスで対処しましたが、この事件をきっかけに自作のラウドネスチェックツールにテールクリップ検出機能を追加しました。同じミスを二度と人力で見つけなくて済むように、です。

このツール(Python製、CLI版とGUI版)はClaude Codeに指示書を書いて実装してもらったもので、最終的に「全10曲のLUFSと末尾を一括検品して合否を出す」品質ゲートとして機能しました。配信入稿前の最終検品でもこれが効きました。

細かい学び

  • Ozoneの複数トラック挿入はトラックインスペクタではなくミキサー画面(Xキー)から
  • Bluetoothヘッドホンはプラグイン多用セッションでOzoneをフリーズさせる。有線推奨
  • 連結マスターは -13.58 LUFS で検品合格

第5章: ビジュアライザ開発 — ffmpegという選択

方式選定

動画のビジュアライザ(音に合わせて動くスペクトラムバー)をどう作るか。選択肢は3つありました。

  1. DaVinci ResolveのFusion+無料プラグイン → 35分尺だと書き出しが苦行になるリスク
  2. 有料プラグイン($5) → Fusion内で完結するが調整の再現性が低い
  3. ffmpegで事前レンダリング→Resolveで合成 → タイムラインが軽く、パラメータがスクリプトで再現可能、次回作で使い回せる

3を採用。「一枚絵が主役、ビジュアライザは画面が生きてる感を出す脇役」という設計なら、ffmpegの素朴な表現でも質は全く問題にならない、という見立てでした。実際そのとおりになりました。

Claude Codeでの実装

仕様は「スペクトラムバー(L1)と波形ライン(L2)の2レイヤーを、黒背景・1920×1080・60fpsで別々に書き出し、後でScreen合成する」というもの。色はマゼンタ→シアンの縦グラデーション、ネオン風グロー付き。

Claude(チャット側)がタスク指示書を書き、Claude Code(実装側)がシェルスクリプトとして実装、という分業です。受け入れ基準(拍同期しているか、変数変更が反映されるか等)を指示書に明記しておくことで、実装側が自分でテストして合否を報告してくれる。この「指示書駆動」の開発は個人プロジェクトでもかなり有効でした。

実装中にはffmpegの罠も踏みました。フォーマット自動変換でblendがYUV色空間で走って画面全体が紫になる問題を、全ブレンド段のrgb24固定で解消——といった報告が実装側から上がってきて、チャット側のPMが「正しい対処」とレビューする、という流れ。

チューニング — 「黒浮き」の発見

実際の楽曲でテストレンダしたところ、①波形のギザギザが強い、②スペクトラムに「もや」がかかっている、という不満が出ました。

ここで面白かったのが、テスト出力ファイルをチャットに渡して数値検品してもらったこと。すると見た目の問題とは別に、スペクトラム層だけ黒レベルが浮いている(輝度最小値が15〜16。本来は0であるべき)ことが発覚。TVレンジ(limited)で書き出されている疑いがあり、Screen合成では黒が透過の要なので、このままだと背景がうっすらグレーに濁る。「もや」の体感の一因はグローの広がりと黒浮きの複合だった、という診断です。

修正タスクをまとめて発注:

  • 波形: ローパスフィルタ+半解像度生成→lanczos拡大で平滑化
  • スペクトラム: colorlevelsで暗部カット、グロー半径と輝度を減量
  • 黒レベル: 全フレームで輝度最小値0、color_range=pcをメタデータ明示
  • 減衰速度をレイヤー別に分離

フルレンダと「静かに死んでいた」バグ

いよいよ26分46秒のフルレンダ——のはずが、最初の実行はexit 0なのに出力が生成されないという不気味な失敗。原因はmacOS標準のbash 3.2における空配列展開の挙動で、teeを挟んだパイプが本当の異常終了を隠していました。古いbashを使うMacあるあるです。修正後、74分48秒で4ファイル(2レイヤー×ProRes/H.264、計20.5GB)のレンダが完走。

検品は機械チェック(長さ±0.03秒以内、全フレーム黒レベル、カラーレンジ、音声仕様、ログエラーゼロ)を全部通しました。


第6章: 画像素材 — ガチャは音楽だけじゃなかった

ジャケット・動画背景・サムネイルの3点はStable Diffusion(Animagine XL 4.0)で生成。こちらもガチャです。

  • 動画背景: 暗い山岳道路の風景。ビジュアライザを乗せる前提なので「静かでミニマル」な絵を選定。Hires fixで2016×1152に拡大
  • ジャケット: 正方形ネイティブで生成した「光の門」的な構図をアップスケール→Photopeaで3000×3000に整形(配信サービスの規定サイズ)
  • サムネイル: アンバーの炎の渦の画像に、Archivo Blackフォントでタイトル文字を右上配置

サムネの文字色は白/アンバー/シアンの比較シートを作ってもらい、理屈では「小サイズでの視認性から白推奨」だったのですが、原寸プレビューを見てアンバーの104pxを採用。「渦への掠りは実物だと気にならず、炎が文字になったような一体感が出ている」という結果に。比較シートを面倒がらずに作って、実物を見てから決める——この往復が品質そのものだったと思います。


第7章: DaVinci Resolveでの合成

構成はシンプルで、V1=背景静止画(26:46に延長)、V2=スペクトラム層をScreen合成、V3=波形層をScreen合成、A1=マスターWAV。

ここでもいくつか罠がありました。

  • ProResのデータレベル: movファイルはData Levels=Fullに設定しないと黒が浮く(せっかくスクリプト側で潰した黒浮きがNLE側で復活するところでした)
  • 背景下部の減光: 道路のハイライトがスペクトラムバーと喧嘩したので、カラーページのウィンドウマスク+ゲイン0.75で下1/3を減光。この作業中、ビューポートのバイパスを誤爆(Shift+D)して「調整が効かない!」と混乱したり、マスクが画面外に飛んだりと、Resolve初心者洗礼をひととおり受けました
  • 先頭1フレームの化け: 両レイヤーのフレーム0だけ、フィルタバッファ初期化前の生グラデーションが露出する現象を発見。再レンダせずResolveで1フレームトリムして対処(根治はv2の宿題)

書き出しは1080p60、品質最高設定。26分46秒が5分弱で焼き上がるのは、事前レンダ方式でタイムラインが軽いおかげです。ファイルサイズは推定4.7GBに対して実際は7.5GB——VBRがバーの激しい動きにビットを注ぎ込んだ結果で、品質的にはむしろ贅沢な仕上がり。


第8章: YouTube — 「15分の壁」と限定公開

アップロードでいきなり躓きました。15分を超える動画は電話番号認証(アカウント確認)を済ませないとアップロードできない仕様。新規チャンネルが最初に踏む定番の関門だそうで、SMS認証5分で解決。ついでにカスタムサムネイル機能も解禁されるので、どのみち必須の関門でした。

設定まわりのポイント:

  • 概要欄に0:00始まりのタイムスタンプを書くとチャプターが自動生成される
  • AI生成コンテンツの開示質問は、厳密には「現実と誤認させるコンテンツ」向けの制度なので抽象ビジュアライザ+AI音楽は該当しないが、概要欄でAI制作を明記した上で開示「はい」を選択(誠実側に倒す)
  • まず限定公開でアップして検品→公開は配信リリースに合わせて判断

アップ後の検品でチャプターの1箇所(2曲目の開始時刻)が1秒ずれていたのを修正。著作権の申し立てもなし。これで「他人に見せられるURL」が初めて存在する状態になりました。


第9章: DistroKid入稿 — ラスボスは入力フォームだった

最終章です。ストリーミング配信の入稿は、想像以上に「決めることと入力すること」が多かった。

入稿前の下ごしらえ

まず、マスターフォルダに同名曲の別ファイルが紛れ込んでいる問題(修正版と旧版の混在)があったので、最終10本を入稿専用フォルダに隔離→自作ラウドネスチェッカーで一括検品。全曲 -13.5±0.25 LUFS圏内で合格を確認してから入稿に入りました。「間違ったファイルを世界配信する」事故を構造的に消す、という考え方です。

決めた項目たち

  • アーティスト名義は既存プロフィールに紐付け(Spotify / Apple Music / YouTube Musicの過去作と統合)
  • リリース日、レーベル名、価格、言語、ジャンル(ダンス/エレクトロニック+ハードダンス)
  • Songwriterは本名表記(ストア規定)を全曲コピー
  • ISRCは全曲自動発番
  • AI申告: 「この楽曲にはAIによって生成された音楽が含まれますか?」→ はい、「作曲」+「音声すべて(AIによる演奏)」を申告。アーティスト自体は「人間のアーティスト」(AIツールを使う実在の人間、という区分)。ちなみに「AIを使ったマスタリングやミキシングはここでは考慮されません」という注記があり、Ozoneのアシスタント機能は申告対象外でした

予想外だった要件: Apple Musicクレジット

入稿の途中、「Apple Musicに配信するには各トラックに演奏者とプロデューサーをクレジットする必要があります」という追加要件が出現。元々「リリース後にやる」予定だった作業が前倒しで要求された形ですが、演奏者=シンセサイザー、プロデューサー、として全曲に一括コピーで対応。後工程が1つ消えたので結果オーライでした。

デフォルトの演奏者役割が「ボーカル」になっていて、インスト作品と矛盾するので「シンセサイザー」に直してからコピー——という細かい罠もありました。

最大の罠: 「コピーされない項目」

トラック1で設定した項目の多くは「全トラックにコピー」機能で複製できるのですが、「歌もの/インストの区分」にはコピー機能がなく、トラック2〜10がデフォルトの「歌もの」のまま残っていました。

これに気づけたのは、送信直前にページ全体のスクリーンショットを撮ってClaudeに検品してもらったから。分割拡大して1項目ずつ照合した結果、9箇所の修正漏れを送信前に発見・修正できました。10曲分のフォームを人力だけで完璧にやるのは、正直無理だったと思います。

断ったもの

送信までの道中には課金オプションの誘惑が並んでいます。今回全部OFFにしたもの:

  • 各種プロテクション/データベース登録/自動配信系のオプション
  • 月額のDJストア配信、ミュージックビデオ配信
  • 音量正規化オプション — 自前でマスタリング済み・検品済みなので触らせない方が安全
  • SNS収益化パック(YouTube Content ID等) — これが最重要。自分のYouTubeチャンネルに同じ音源の動画を上げているので、Content IDに登録すると自分の動画に自分から著作権の申し立てが飛ぶ事故になります。AI音楽を自分のチャンネルでも使う人は要注意ポイント
  • 送信直後に出てくる自動マスタリングのアップセル画面(約80ドル) — 完成品を持ち込んでいるので当然スルー。「アップロードしたバージョンを使用」を選択

合計0ドルで送信完了。「おめでとうございます。音楽が配信されます!」の画面に到達しました。


第10章: 仕上げ — 概要欄の国際化

配信入稿が済むと、各ストアへのリンクをまとめたプレセーブページ(HyperFollow)が自動生成されます。これをYouTubeの概要欄に追加し、リリース日の告知と合わせて英語行も追記。ユーロビートは日本発カルチャーとして海外にコアなファン層がいるので、日本語主体+英語併記の二段構えにしました。

タイトルも「【作業用BGM】〜やる気が出るユーロビートMix」という日本語検索向けの資産を残しつつ、末尾に「AI Eurobeat Full Album」の英語ブロックを足す形に。

最後にYouTubeの外部リンク有効化(こちらはビデオ通話での本人確認が必要でした。時代……)を申請して、動画を公開。あとはリリース日を待つだけです。


学んだこと

AIをPMにする働き方について

3本のチャットを通して確立したのは、「Claudeチャット=PM、Claude Code=実装、自分=意思決定と手作業」という分業です。

  • チャット側が受け入れ基準付きのタスク指示書を書く
  • Code側が実装してテスト結果を報告する
  • チャット側がレビューし、成果物ファイルを渡せば数値検品までする
  • 自分は判断と、GUIしかない作業(Logic、Resolve、Webフォーム)を担当

特に効いたのはスクリーンショット検品。DistroKidの入力フォームやResolveの設定画面を1画面ずつ見せて確認してもらう方式は、一見まどろっこしいのに、結果的に「インスト区分の9箇所修正漏れ」「黒浮き」「チャプターの1秒ずれ」といった事故を全部送信前・公開前に捕まえました。

AIの間違いも込みで運用する

正直に書くと、PM側も間違えます。調整前のファイルを「改善されてますね」と誤読したり、Resolveの操作値を2回誤案内したり。でも「見てから決める」「実物で確認する」を徹底していれば、間違いはその場で修正されます。理屈の推奨(サムネは白文字)を実物を見て覆した判断(アンバー採用)が良い結果になったことも2回ありました。AIの提案は仮説、確定は実物で、が今のところの最適解です。

技術的な教訓トップ5

  1. Screen合成は黒レベルが命。カラーレンジ(full/limited)の不整合は「なんかもやっとする」という体感になって現れる
  2. macOS標準のbash 3.2は現役の罠。空配列展開で静かに死ぬ。パイプのteeはexit codeを隠す
  3. バウンス設定の「テールを含める」を忘れると曲の末尾が切れる。検品ツールに自動検出を入れて再発防止
  4. 配信フォームの「全曲コピー」機能には対象外の項目がある。送信前の全画面検品は必須
  5. 自分のチャンネルで使う音源をContent IDに登録してはいけない

これから

  • 2026年8月3日、各ストアで配信開始 → YouTube概要欄を「配信中」に更新
  • v2バックログ: 曲名テロップの自動描画(ffmpeg drawtext)、先頭フレームバグの根治、レイヤー並列レンダで74分→40分への短縮、設定のプリセット化……次回作はもっと速く作れるはず
  • そして睡眠アルバム構想が最初の相談に残っている。エンジンを再始動したら、次は静かに眠る番かもしれません

やる気が出ないから「やる気が出るアルバム」を作る、という自家発電みたいなプロジェクトでしたが、RESTART ENGINEというタイトルの作品を作る過程そのものが、一番のエンジン再始動になりました。

ここまで読んでいただきありがとうございました。アルバムはYouTubeで今すぐ、各ストリーミングサービスでは8月3日から聴けます。作業のお供に、ドライブのお供に、そして「今日はエンジンがかからないな」という朝に。

▶ YouTube: https://youtu.be/LqDDuouAxpo
🎧 Pre-Save / 配信ページ: https://distrokid.com/hyperfollow/tadanobu/restart-engine

🏁