メインコンテンツへスキップ

架空のK-POPグループのアルバムを生成AIで制作

sunoで架空のK-POPガールズグループLuminaのアルバムを作ってみた。

image

アルバムジャケットはGeminiで作成。ちょっとハードで良い雰囲気かな?

楽曲の作成は以下の流れで行った。

  1. 曲の大まかなコンセプトを決めて歌詞のテーマを日本語で書く
  2. ChatGPTへテーマを入力し、K-Popのガールズグループ向けの歌詞として英語で書いてもらう。ラップパートが欲しい場合、その旨も書く
  3. sunoに歌詞とプロンプトを渡し作曲してもらう。この際、曲調を変えるため以下のように基本プロンプトのの使い分けをした
  4. この基本プロンプトに5人組のガールズグループであることや、それぞれの楽曲の追加イメージ(この楽器を使うなどもいける)を伝えるテキストを加える
求めるスタイルプロンプト例イメージ
ガールクラッシュ系Girl Crush K-Pop, EDM hybrid, confident female vocals, powerful rap verse, heavy bass dropBLACKPINKや(G)I-DLEのような、強さのあるダンス曲。
キュート/バブルガム系Bubblegum K-Pop, bright synth-pop, high-pitched vocal harmonies, cute and bouncy rhythmTWICEやRed Velvet (Red side)のような、明るく楽しい曲。
フューチャリスティック/クール系Futuristic K-Pop, synthwave, dreamy atmosphere, sleek female vocals, deep pulsing bassaespaやLE SSERAFIMのような、未来的なコンセプトの曲。
R&B/グルーヴィー系K-Pop R&B, groovy bassline, smooth female vocals, chill vibe, light hip-hop elementsNewJeansやRed Velvet (Velvet side)のような、洗練されたR&B。

何曲か作っていると、似たような構成の曲が生成される確率が高くなってきたので、画面上部のCustomをクリックして、Advanced OptionWeirdnessStyle Infuluenceを調整しながら生成。1〜2曲を試しに作ってみるだけなら簡単だが、今回のように同じアーティストの複数楽曲を作るのは難しい。

ただ、アタマの中に明確に楽曲のイメージがあれば、それに合わせてプロンプトを個別に書けば良いのだろうが、今回は基本のプロンプト+αでsunoのランダム性に期待したため、そうなった可能性が高い。

一応、それなりにバリエーションに富んだ楽曲になったんじゃないだろうか。ここから聴けますので、よろしければ。

関連記事

Udioで架空のビジュアル系バンドの楽曲を作った

UdioとChatGPTで1990年代っぽい架空のビジュアル系バンドの楽曲を作ってみた。 ChatGPTでバンド名とビジュアルを決定 # ChatGPTで「日本で1990年代ごろに流行ったビジュアル系バンドっぽい」バンド名とアルバムジャケットを作った。 バンド名はCrimson Veil(深紅のベール)というミステリアスなものに決定。ジャケットはDALL-Eにお願いした。 それっぽいぞ。 ChatGPTで作詞 # 詞は ChatGPTに某ビジュアル系バンドの歌詞を入力し「この曲を歌うバンドの他の楽曲を作詞して」として作成。曲名はEternal Mirageで歌詞はこんな感じのものができ上がった。 失われた希望の残像 夢の欠片を追いかける 瞳の奥に秘めた炎が 闇を切り裂く刃となる 真実を求めて彷徨う心が 答えを探し続けている 揺れて揺れて今世界が 崩れ落ちてゆく中で 咲いていたのは my eternal flame 揺れて揺れてこの運命に 縛られたままでも 鮮やかに燃え尽きる 炎のように MIRAGE 夢見た君には MIRAGE 届かない MIRAGE 抱きしめられない MIRAGE 愛しすぎて I've burned my soul. 生まれた意味さえ知らずに ただ彷徨い続けていた 運命の渦に飲み込まれながら 何を信じていけばいいのか 始まりも終わりもないこの街に 存在するのは孤独と冷酷な現実 それでも光を探し求めて 自分の道を選び取る 揺れて揺れて今心が 何も信じられないまま 咲いていたのは my eternal flame 揺れて揺れてこの世界で 愛することも出来ぬまま はかなく散ってゆくのか 炎なのか MIRAGE 夢見た君には MIRAGE 届かない MIRAGE 抱きしめられない MIRAGE 自分さえも 揺れて揺れて今世界が 崩れ落ちてゆく中で 咲いていたのは my eternal flame 揺れて揺れてこの運命に 縛られたままでも 鮮やかに燃え尽きる 炎のように MIRAGE 夢見た君には MIRAGE 届かない MIRAGE 抱きしめられない MIRAGE 愛しすぎて I've burned my soul. Udioで作曲 # Udioへ歌詞とビジュアル系バンドっぽい楽曲になるよう、試行錯誤でプロンプトを作成し、最終的にこんな曲になった。

Hugoで楽譜を描画する(abcjs)

abcjsというABC記譜法で書いたテキストから楽譜を描画するライブラリを使って、Hugoで作成するページで楽譜を表示できるようにする。 music-abcを指定したコードブロックに対して処理するようにレンダーフックを定義する。 layouts/_default/_markup/render-codeblock-music-abc.html 1 2 3 4 5 6 7 8 9 10 {{- $src := .Inner | safeHTML }} {{- $uuid := md5 $src }} <div id="{{- $uuid }}"></div> <script> window.addEventListener('load', function(){ const src = `{{ $src}}`; ABCJS.renderAbc("{{- $uuid }}", src, { responsive: "resize" }); }); </script> {{ .Page.Store.Set "hasMusicAbc" true }} 楽譜を描画するエリア(<div id="{{- $uuid }}"></div>)のIDを決め打ちにしてしまうと、ノート内に複数のコードブロックを書けないのでMD5ハッシュを生成し、IDとして使用した。 layouts/partials/head.html 1 2 3 {{ if .Page.Store.Get "hasMusicAbc" }} <script src="https://cdnjs.cloudflare.com/ajax/libs/abcjs/6.1.7/abcjs-basic-min.js"></script> {{ end }} ヘッダにabcjsをロードする処理を追加。ページ内にmusic-abcを指定したコードブロックがある場合(hasMusicAbcがtrue)のみロードするようにした。 obsidian-plugin-abcjsに楽譜の表示例がある。

abcjs

abcjsはABC記譜法で書いたテキストからブラウザ上で楽譜を表示できるJavascriptのライブラリ Javascript library for inserting music in the browser. | abcjs Obsidianではobsidian-plugin-abcjsというプラグインがあり、ノート内で楽譜を表示することができる。

日付キーワードからフォーマットされた日付テキストを生成するAlfred Workflow

azooKeyという高精度なニューラルかな漢字変換エンジンをサポートしたiOS用キーボードアプリのmacOS版を試している。 ライブ変換もサポートしていて、標準のIMEより変換精度が高くて素晴らしい。問題なく常用できそうな感じ。 ただ、いくつかのIMEでサポートしている「きょう」で本日の日付に変換する機能がないんですよね。これはXでも話題になっていて、以下のような改善策も見つけました。 azooKey-Desktop で日付を入力する - terfnoのScrapbox しかし、個人的には「昨日」や「明日」「先週の金曜日」などの日付を得たいケースが多く、ChatGPTでAlfred用のワークフローを作成した。 動作イメージ # ワークフローを起動して、キーワードを入力すると対応するものがサジェストされる。 キーワードを決定すると、複数の日付フォーマットを選択できる。 対応キーワード # today:今日 yesterday:昨日 tomorrow:明日 dayaftertomorrow(略:dat):明後日 daybeforeyesterday(略:dby):一昨日 mon / tue / wed / thu / fri / sat / sun:各曜日 曜日を入力した場合は 「直近の過去の同曜日」「次に来る同曜日」を候補に表示 出力フォーマット # ISO形式:YYYY-MM-DD ISO + 曜日:YYYY-MM-DD(Fri) 日本語形式:YYYY年M月D日(金) 和暦形式(令和):令和X年M月D日(金) ダウンロード # 作成したワークフローを置いておきます。Alfred 5.7で動作確認しました。

フォトギャラリーサイトを立てた

いままでに撮ってきた写真をまとめたいと思いnicokaiser/hugo-theme-gallery: Gallery Theme for Hugoという、フォトギャラリー向けHugoのテーマを使ってフォトギャラリーサイトを立てた。 TAKEUCHI Hitoshi - Gallery Hugoの運用に慣れていれば使い方は簡単で、ただ写真を表示したいだけならフォルダへ写真をコピーするだけで良い。 写真に説明文を付けたい場合は、写真があるフォルダのindex.mdに書くか、Exifのタイトルを設定すればOK themes/gallery/exampleSite配下のサンプルを見れば雰囲気はわかると思う。 git pushすれば公開するGitHub Actionsを書いたので、簡単に公開できるようになったし、これからは撮りっぱなしにせず、ここへ少しずつまとめていきたい。 むかし撮った写真をあらためて眺めていると、その時の記憶がよみがえってきて楽しいですね。

iZotope RX9

iZotope RX 9 Standardは、音声修復・復元に特化したプロフェッショナル向けのオーディオ処理ソフトウェア。ノイズ除去、クリック音の修正、音声の復元など、様々な音声問題を解決するための強力なツールセットを提供している。 スタンドアロンアプリケーションとしても、DAWのプラグインとしても使用可能で、音楽制作、ポッドキャスト制作、映像制作、音声復元作業などの分野で広く活用されている。 iZotope RX 9 Standard プラグイン一覧 # プラグイン名 主な機能 用途の例 Breath Control 息継ぎ音の調整・除去 ボーカル録音の仕上げ、ナレーション品質向上、ポッドキャスト編集 Connect 他のiZotope製品との連携 Neutron、Ozone等との統合ワークフロー、プロジェクト間連携 De-click クリック音・ポップ音の除去 レコードのデジタル化、マイクの雑音除去、編集時のカットノイズ修正 De-clip クリッピング(音割れ)の修復 過入力で歪んだ録音の修正、ライブ録音の音割れ改善 De-crackle パチパチ音・ひび割れ音の除去 古いレコードの復元、テープ録音の修復、劣化した音源の改善 De-ess 歯擦音(S音)の軽減 ボーカル録音のサ行刺激音除去、ナレーション品質向上、過剰な高域成分軽減 De-hum ハム音・ブーン音の除去 電源ノイズの除去、グランドループノイズの修正、60Hz/50Hzハムの除去 De-plosive 破裂音(P音、B音)の軽減 マイク録音のポップ音除去、近接録音の改善、音声品質向上 De-reverb 不要なリバーブ・エコーの除去 部屋鳴りの軽減、録音環境の音響特性修正、ダイアログのクリアニング Guitar De-noise ギター特有ノイズの除去 エレキギター録音のハムノイズ除去、アンプノイズの軽減 Monitor リアルタイム音声モニタリング 録音中の問題検出、ライブ配信品質確認、音声レベル監視 Mouth De-click 口の音(舌打ち、唇音)の除去 ボーカリストの口音除去、ナレーター音声の改善、インタビュー音声修正 Music Rebalance 音楽要素の分離・調整 ボーカル抽出、楽器成分の分離、ステムトラック作成、ミックス調整 Spectral De-noise スペクトラム解析ノイズ除去 精密なノイズ除去、特定周波数の問題修正、高度な音質改善 Spectral Editor スペクトラム表示編集環境 視覚的音声編集、周波数ドメイン修正、精密な音声加工 Voice De-noise 音声に特化したノイズ除去 ボーカル録音のクリーニング、電話音声の改善、ナレーション音質向上