はじめに
春休みってなんやねんって話ですが
春休みです。年度末なのであまりまくってる有休を使って一週間休みとってました。
そこでです、作ってみたものがあるので発表しようと思いました。
何作ったん?
Music Information Retrevalの一環として
LLMに音楽を聴かせるプロジェクトを個人的に推進してます。
公開はまだだよ。でもこういうアイデアがあるぜってのはとりあえず積極的に公開していくことでどこかの企業が特許を取ることを防ぐ、というのでみんながこの手法を使えるようにしてみる試み。(音響マルチモーダルモデルがなくても、それっぽくやれる手法の一つとして)
てか俺の代わりに誰か作ってくれればよかったんだよ。
動機
モチベーションはシンプルに、音楽を直感的に可視化したいから。
以上である。
音楽の「見えない構造」を可視化してみる
音楽の可視化
現在の MusicAnalyzer(仮称) は、1 曲の音声ファイルを入力として受け取り、以下の 3 つの異なる視点から解析を行います。
1. リズム構造の定量化
楽曲の時間軸に沿って、ビート(拍)とダウンビート(小節頭)を秒単位で検出します。また、テンポ(BPM)も複数候補として抽出され、最も信頼性の高い値が選択されます。
これにより、「曲の進行に伴いテンポが変わっているか」「どのタイミングで小節が変わるのか」といった、リズム構造に関する客観的なデータを得ることができます。
2. セクションごとの詳細な描写
楽曲は通常、イントロ・バース・コーラス・ブリッジなどのセクションに分割されます。MusicAnalyzer(仮称) は、各セクションを分析した後、さらに 10 秒程度のチャンクに細分化し、それぞれの音響特徴を自然言語で記述します。
こんな感じ。55秒くらいからChorus(サビ)だよっていうのが自動判定される。

そのうえで、例えば、「ソフトなアコースティックギターが鳴り響く」「ドラムとベースが加わりテンポが上がる」といった描写は、人間の聴覚分析を補完するデータとして機能します。
3. 曲全体への多角的評価
最後に、大規模言語モデル(LLM)を用いて、楽曲全体に対する多様な観点からの評価を行います。単なる「良い・悪い」ではなく、「メロディックな特徴」「リズムの複雑さ」「感情的なトーン」といった複数の軸で分析が行われます。
技術的なアプローチ:既存プロジェクトの統合
MusicAnalyzer(仮称) は、ゼロからすべてを構築するのではなく、すでに存在する 3 つのオープンソースプロジェクトを統合することで、効率的な音楽解析を実現しています。
- all-in-one: リズム構造(BPM、ビート、セクション)の検出
- lp-music-caps: セクションごとの音響キャプション生成
- MU-LLaMA: 曲全体に対する LLM による多角的評価
これらのプロジェクトをオーケストレーションし、1 つの構造化 JSON ファイルとして出力します。
これにより、各技術の専門性を活かしつつ、統合的な分析結果を得られました。
マジ先人の研究に大感謝。どれが欠けても無理だった。ガチで。
ちなみに1曲当たり1分~2分あれば分析できるよ。
BPMの倍・半分問題がなかなか解決しんどかったけど、何とかなりまして、結構高精度に特定できるようになりました。
なので、楽曲のメタ分析は全自動です。
今後の展望:可視化への道
現在、CLI ツールとして動作する MusicAnalyzer(仮称) ですが、将来的にはもうちょいインタラクティブにできたらいいなーと思ってます。
結び:音楽と AI の新しい関係性
MusicAnalyzer(仮称) は、単なるツールではありません。**「AI が音楽を理解する」**というプロセスそのものを可視化する実験でもあります。
私たちが何気なく聴いている楽曲が、実は複雑な構造と特徴に満ちていることを知ることで、音楽の楽しみ方が広がるかもしれません。
また、AI による分析結果を人間が検証・解釈し再分析しさらにAIに分析させるという相互作用により、新たな洞察が生まれる可能性もあります。
このプロジェクトを通じて、音楽と AI の新しい関係性の模索をする感じですよね。おもろいでしょこれ。どう感じるかは知らんけどw
一応動いているところ
なんでYOASOBI/アイドルなの?
ほかの楽曲もいろいろ分析してるけど、先人に感謝の意を込めてというやつ。
先人へのリスペクトってやつ
ほい、じゃ以上。
関連記事


