「この曲入れたっけ?」「あの曲使ったことあるっけ?」を確認できるマイGPTを作った話(rekordbox)

DJ活動

DJをしている方で曲数が多くなってくるとどの曲を持っているのか正確に記憶するのは難しくなるので、入れようと思った曲が実はすでに入っていた、なんてことがちょくちょく起きる人はけっこういるのではないかと思います。この曲過去のセットリストで使ったことがあるか?なんてなおさら覚えていられないです。

これらの確認のためにPC起動してrekordbox起動して検索して、、、なんてめんどくさいので、rekordboxからエクスポートした情報をマイGPT(※)に持たせて、「この曲入ってる?」とか「この曲セットリストで使ったことある?」とかをいつでもどこでも質問できるようにしたという記事になります。
※特定の知識や指示を組み込んで自分専用のGPTを作るChatGPTの機能

作ったマイGPTでどんなことができるか

作成したマイGPTを使用すると、次のような質問に答えてくれます。

※これらは自分がよくやる一例になります。AIですのでこのほかにもいろいろ活用できます。

この曲入ってる?

曲名を指定してその曲がrekordboxに登録されているか確認ができます。

入っていなければないとちゃんとないと答えてくれます。

このBPM帯の曲は何曲ある?

特定のBPM帯を指定してどのくらいの曲数があるかの確認もできます。

今月は何曲追加した?

特定の期間内で追加した曲数の確認もできます。

この曲を使ったプレイリストはある?

rekordboxのプレイリスト情報も与えることができるので、過去にプレイしたセトリをプレイリストで残しているなら、その情報をもとに過去使用したことがあるか確認できます。

(応用)未消化帯ランキングを教えて

これは応用編としてマイGPTに特殊な指示を与える利用方法です。

自分は普段から好きな曲でDJ-MIXを作って遊んでいるんですが、そのとき新しく入れた曲をなるべく使っていきたいけれど、rekordboxに入れる曲はBPMがばらばらなので、どのBPM帯で使ってない曲が多いのか分からなくなります。

なので、「未消化帯ランキングを教えて」と聞いたら追加した曲数が多いけれどまだDJ-MIXがあまり作れていないBPM帯を調査して、どのBPM帯で作るのがおすすめか表示するよう特殊な指示を与えています。

マイGPTを作るメリット・デメリット

この方法のメリットとしては以下のようなものがあります。

  • スマホからいつでもどこでも確認できるようになる
  • 自分で調べる手間が減る
  • 質問形式で確認ができる

マイGPTはスマホのChatGPTから質問することができまるので、場所も時間も関係なくrekordboxの情報が確認できるようになります。たとえば、出かけているときに気に入った曲を見つけたけどすでに入れた気もする、、、ってときにもすぐ調べることができます。

また、マイGPTを使わず調べる場合だとrekordboxを起動して直接自分で検索をかけるなどしていかなければいけませんが、マイGPTであればしゃべりかけるように質問すれば確認して回答してくれるので手間もだいぶ減ります。

デメリットとしてはマイGPTの利用については有料プランへの登録が必要なことでしょうか。現在(2026年3月)一番安い個人向けの有料プランで月に約1200円くらいかかります。(メリットであげた点と、DJ関連に限らずそもそものChatGPTの使い道が大きく広がることを考えたらそう悪くない投資だと個人的には思います)

rekordbox情報を管理するマイGPTの作り方

rekordbox情報を持つマイGPTは以下のような流れで作ることができます。

  1. rekordbox情報をエクスポートする
  2. ChatGPTでマイGPTを作成する
  3. エクスポートした情報を「知識」としてアップロードする
  4. アップロードしたファイルの説明を「指示」に記載する

rekordbox情報をエクスポートする

まずマイGPTに持たせるrekordboxで管理している各種情報をファイルにします。今のところはコレクションの情報をエクスポートしたファイルを利用しています(コレクション情報だけだとrekordbox内の情報を全て取得できるわけではないのですが、今回のように曲の確認やプレイリストの確認くらいなら十分に対応できる情報を取得できます)。

コレクションのエクスポートは下の画像のように「ファイル」「コレクションをxml形式でエクスポート」を押すと実施できます。(下画像のオレンジ左矢印)

ファイル名や保存場所は任意になりますが、いつ出力したものか分かるようファイル名に日付は入れといたほうがいいかと思います(自分は”rekordbox_collection_20260321.xml”のようなファイル名にしています)。

ChatGPTでマイGPTを作成する

ChatGPTでエクスポートしたrekordbox情報を管理するマイGPTを作っていきます。

ChatGPTのマイGPTについては本題ではないので詳細はここでは割愛させてもらいますが、マイGPTの作成を実行し、「構成」のほうのタブを選択すると以下のような作成画面が表示されるかと思います。この画面での入力方法について説明していきます。

ここではひとまず以下の項目を入力・変更していただければOKです。

  • 「名前」
    お好きな名前を付けてください(自分は”rekordboxマネージャー”にしています)
  • 「機能」
    ここは以下の状態にしています。
    ・「ウェブ検索」「Canvas」「画像生成」はチェックを外す。
    ・「コードインタープリターとデータ分析」はチェックを入れる。

「機能」は恐らくデフォルトだと全く逆の状態になっているかと思いますので全部変更する形です。基本的にエクスポートした情報をもとにこちらの質問に回答して欲しいのですが、「ウェブ検索」「Canvas」「画像生成」にチェックを付けていると余計な情報を拾ってくるような感じがするので外しています。逆に「コードインタープリターとデータ分析」がないとうまく計算・集計とかしてくれないのでチェックを入れます。

入力・変更後は以下のような状態です。

エクスポートした情報を「知識」としてアップロードする

rekordboxからエクスポートしたファイルをマイGPTに持たせるには「知識」のところの「ファイルをアップロードする」でエクスポートしたファイルをアップロードします。(下画像オレンジ枠)

アップロードすると以下の状態になります。

アップロードしたファイルの説明を「指示」に記載する

次にアップロードしたファイルの説明(ファイルがどういう構造をしているかや記載内容の意味とか)を「指示」欄に記載します。(下画像オレンジ枠)

さきにいくつか注意点です。

  • これから説明する内容はあくまで自分の環境・使い方でうまく回答してくれるように調整したものなので、そのままコピペすれば誰の環境でもうまくいくというものではありません下記の内容から各自の使い方に合わせて修正・調整しなければいけない箇所が必ず出ると思います。
  • AIですので同じ内容を記載すれば必ず同じ結果が返ってくるとは限りません。そこは承知のうえ使用をお願いします
  • rekordboxのエクスポートファイルはXML形式になっています。記載内容の中にはXML関する少し専門的な内容もありますが、そこは無理に理解しなくても問題ないです。そのままコピペで済む部分や修正した方が良い部分はなるべく示していきたいと思います。
  • エクスポートファイル内には様々な情報を含んでいますが、自分は基本的に楽曲の情報とプレイリストの情報についての質問しかしないので、それらの説明のみを記載対象としています。

具体的な記載内容に入ります。ひとまず自分が「指示」欄に記載している内容の全体像は以下です。※使用例のことろで紹介した特殊な指示を与えている部分については除外しています

アップロードしている"rekordbox_collection_YYYYMMDD.xml"はDJ用楽曲管理ソフトであるrekordboxのコレクションをエクスポートしたものです。(YYYYMMDDには年月日が入ります)
このファイルを読み取って解析し、私の質問に回答するようにしてください。

"rekordbox_collection_YYYYMMDD.xml"の説明を以下に記載します。

■「COLLECTION」要素
rekordboxにインポートしている楽曲ファイル(トラック)情報です。
rekordboxで管理している楽曲についての質問にはこの情報をもとに回答してください。
「COLLECTION」の主要な子要素についての説明を以下に記載します。
  「TRACK」要素
 楽曲ファイル単位の情報です。主要な属性の意味は以下です。
 ・”TrackID”はトラックIDです。
 ・"Name"は曲名です。質問の中で曲名が指定された場合はこの属性を検索してください。
 ・"Artist"はアーティスト名です。質問の中でアーティスト名が指定された場合はこの属性を検索してください。
 ・"Album"は収録されるアルバム名です。
 ・"DateAdded"は追加日です。

  「TRACK」要素の子要素の説明を以下に記載します。
   「TEMPO」要素
  曲のテンポの情報です。主要な属性の意味は以下です。
  ・"Bpm"のは曲のBPMです。

■「PLAYLISTS」要素
作成したDJ-MIXのプレイリスト情報です。
DJ-MIXに関する質問はこの情報をもとに回答してください。
主要な子要素についての説明を以下に記載します。
 「NODE」要素
 フォルダまたはプレイリストを表します。
 主要な属性の説明を以下に記載します。
 ・"Name"はフォルダまたはプレイリストの名前を示します。
 ・"Type"はフォルダなのかプレイリストなのかを表します。"0"がフォルダで"1"がプレイリストです。
  フォルダの場合は「NODE」要素を子要素とすることができます。
  プレイリストの場合は「TRACK」要素を子要素とすることができます。
  「TRACK」要素の説明を以下に記載します。
   「TRACK」要素はプレイリストに登録した楽曲を示しています。
   「Key」属性はその楽曲のトラックIDで、「COLLECTION」要素内にある「TRACK」要素の「TrackID」属性の値です。

■その他の構造について
「PLAYLISTS」配下に以下のようなフォルダ構成で自作したDJ-MIXのプレイリストを配置しています。

「PLAYLISTS」
 ”Name”が"ROOT"となっているフォルダ「NODE」
  ”Name”が"MIX"となっているフォルダ「NODE」
   ”Name”が"DJ-MIX作成した年(数値4桁)"となっているフォルダ「NODE」
    作成したDJ-MIXのプレイリスト「NODE」

DJ-MIXのプレイリストの名前(”Name”)の多くは以下のフォーマットにしています。
"作成年月日"_"プレイリスト内の楽曲のBPM帯"
※もし付加情報があれば最後に_"付加情報"が付きます。

わけわかんないと思うので細かく区切って説明していきます。

まず先頭はアップロードしたエクスポートファイルが何なのかについての説明になります。

アップロードしている"rekordbox_collection_YYYYMMDD.xml"はDJ用楽曲管理ソフトであるrekordboxのコレクションをエクスポートしたものです。(YYYYMMDDには年月日が入ります)
このファイルを読み取って解析し、私の質問に回答するようにしてください。

上記のファイル名部分は違う命名規則にしているなら適宜修正をお願いします。

その後に楽曲情報に関連するXML内の定義の説明を記載しています。

"rekordbox_collection_YYYYMMDD.xml"の説明を以下に記載します。

■「COLLECTION」要素
rekordboxにインポートしている楽曲ファイル(トラック)情報です。
rekordboxで管理している楽曲についての質問にはこの情報をもとに回答してください。
「COLLECTION」の主要な子要素についての説明を以下に記載します。
  「TRACK」要素
 楽曲ファイル単位の情報です。主要な属性の意味は以下です。
 ・”TrackID”はトラックIDです。
 ・"Name"は曲名です。質問の中で曲名が指定された場合はこの属性を検索してください。
 ・"Artist"はアーティスト名です。質問の中でアーティスト名が指定された場合はこの属性を検索してください。
 ・"Album"は収録されるアルバム名です。
 ・"DateAdded"は追加日です。

  「TRACK」要素の子要素の説明を以下に記載します。
   「TEMPO」要素
  曲のテンポの情報です。主要な属性の意味は以下です。
  ・"Bpm"のは曲のBPMです。

上記はユーザによって変わる部分はないので、そのままコピペしてもらえれば使えるのではないかと思います。

続いてプレイリスト情報に関連するXML内の定義の説明を記載しています。

■「PLAYLISTS」要素
作成したDJ-MIXのプレイリスト情報です。
DJ-MIXに関する質問はこの情報をもとに回答してください。
主要な子要素についての説明を以下に記載します。
 「NODE」要素
 フォルダまたはプレイリストを表します。
 主要な属性の説明を以下に記載します。
 ・"Name"はフォルダまたはプレイリストの名前を示します。
 ・"Type"はフォルダなのかプレイリストなのかを表します。"0"がフォルダで"1"がプレイリストです。
  フォルダの場合は「NODE」要素を子要素とすることができます。
  プレイリストの場合は「TRACK」要素を子要素とすることができます。
  「TRACK」要素の説明を以下に記載します。
   「TRACK」要素はプレイリストに登録した楽曲を示しています。
   「Key」属性はその楽曲のトラックIDで、「COLLECTION」要素内にある「TRACK」要素の「TrackID」属性の値です。

頭の2行にあるDJ-MIXうんぬんの説明は自分がそう使っているだけなので他の方には不要かと思うので削除してもらっていいです。それ以降の説明はXML内の構造の説明なのでそのまま使ってもらって大丈夫じゃないかと思います。

プレイリスト情報のあとに実際にrekordboxのプレイリスト画面で作成しているフォルダやプレイリストの構成についての説明を加えています。

■その他の構造について
「PLAYLISTS」配下に以下のようなフォルダ構成で自作したDJ-MIXのプレイリストを配置しています。

「PLAYLISTS」
 ”Name”が"ROOT"となっているフォルダ「NODE」
  ”Name”が"MIX"となっているフォルダ「NODE」
   ”Name”が"DJ-MIX作成した年(数値4桁)"となっているフォルダ「NODE」
    作成したDJ-MIXのプレイリスト「NODE」

DJ-MIXのプレイリストの名前(”Name”)の多くは以下のフォーマットにしています。
"作成年月日"_"プレイリスト内の楽曲のBPM帯"
※もし付加情報があれば最後に_"付加情報"が付きます。

DJ-MIXがらみの記載はさきほど同様不要な方は修正してもらえればと思います。また、フォルダやプレイリストの説明についても、下画像のような自分の環境をベースにした記載になりますので、各自の環境に合わせてフォルダ名、構成、プレイリスト名など適宜修正していただければと思います。

デフォルトで存在する「プレイリスト」配下に「MIX」というフォルダを作って、その下にDJ-MIX作成で使用したプレイリストを年ごとのフォルダ配下に入れている、というような形です。

ここまでの作業を実施すると最終的に以下のような状態になります。
※画像だと「指示」欄は途中で見切れていますが、さきほど説明した内容が全て入力されています。

この状態で右上のほうにある「作成する」ボタンを押せばマイGPTが作成されます。これでブラウザやスマホアプリからChatGPTにアクセスして質問することができるようになります。

今のところの課題

メモ書き程度に今後できたらいいなと思う点です。

  • タグ関連の質問ができるようにしたい
    自分は女児アニのシリーズごとにタグ付けしたりするので、タグ情報もマイGPTに持たせたら各シリーズ単位に何曲入っているか、どのBPMの曲が多いか、とか確認したりするのに役立つと思っている。ただ、タグ情報をどこから引っ張ってくればいいのかまだわかってないので実装できていない(少なくともコレクションをエクスポートしたファイルの中には無かった)。
  • 相性の良い曲やつなぎ方の管理をさせる
    どの曲とどの曲が相性がいい、こういうつなぎ方ができる、みたいな情報を整理してマイGPTに持たせれば、マイGPTと相談しながら次の曲決める、みたいなことができるようになるのではないかと思う。(rekordboxからエクスポートできる情報ではないので別途自分で整理して作っていく必要はある)

おわりに

今回紹介したようなマイGPTをうまく活用していけば、DJ活動している中で出てくる細かい確認とかをスムーズに解決できるようになり、DJ活動がより快適なものになっていくかと思います。内容的に難しいところもあるかと思いますが参考にしていただければ嬉しいです。

願わくばrekordbox自体にこういう機能追加してほしいです(開発中なら嬉しい限りです)。

コメント

タイトルとURLをコピーしました