Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

歌声/楽曲分析・音源分離に使えるデータセット DSD100 について

f:id:Kurene:20220211162742p:plain
https://sigsep.github.io/datasets/dsd100.html より

楽曲分析や音源分離のアルゴリズムを開発・動作検証する際には、何らかの楽曲データセットが必要になります。

市販の楽曲データを利用する手もありますが、2Mix・マスタリングされた音源だけでは動作検証や改良が難しいことが多々あります。

従って、各パートだけの音源:ステムデータ(パラデータ)が含まれているデータセットがあると効率的に開発・動作検証ができます。

今回は、音源分離分野でよく利用される公開データセット DSD100 を紹介します。

DSD100 の概要

DSD100は以下のような特徴を持っています。

  • 全100曲
  • 市販楽曲と同じような品質の楽曲構成・品質
    • ステレオ 44.1kHz
    • 大衆向け音楽でよくある時間長(3~5分程度)
  • 2Mix音源と、各楽曲のステムデータが用意されている
  • 様々な音楽ジャンルの楽曲がある

ステムデータとしては、

  • ボーカル
  • ドラム
  • ベース
  • その他の音源]

の4つに分けれらており、これらを加算(同時に再生)することで2Mix音源を構成するようになっています。

なお、音楽ジャンルはDSD100 楽曲リストに掲載されており、98楽曲については以下のようにタグ付けされています*1

  • Pop/Rock 70曲
  • Heavy Metal 11曲
  • Rap 6曲
  • Electronic 6曲
  • Jazz 2曲
  • Reggae 2曲
  • Country 1曲

権利関係について

DSD100のWebページには、

DSD100のデータは、「MixingSecrets」の無料マルチトラックダウンロードライブラリから派生した100トラックで構成されています。 DSD100データの使用に関する権利に関する質問については、この元のリソースを参照してください。

と記載されています。

リンク先を見ると、元々はSound On Sound誌のミックススペシャリストMike Senior氏の著書「Mixing Secrets For The Small Studio」の読者や、音楽技術を学ぶ学生・教育関係者のために、ミキシング練習用に自由にダウンロードできるマルチトラックプロジェクトであると書かれています。

また、同Webページに書かれている権利関係に関する記載の翻訳が以下になります。

本サイトからダウンロードできる資料は、教育目的に限り無料で提供されるものであり、著作権者の明示的な許可なく、その中に含まれる資料を商業目的に使用することを禁じます。他のサイトでホストされているプロジェクトについては、その個別の使用条件を参照してください。ポートフォリオ、研究、広報、コンテスト、教材など、このライブラリーのコンテンツの具体的な使用方法については、使用に関するFAQをご参照ください。

試聴Webページ

DSD100 楽曲リスト で98曲の試聴ができます。

試聴Webページでは2mixデータと、ステムデータとして提供されるボーカル/ベース/ドラム/その他トラックを切り替えながら聞くことができます。

f:id:Kurene:20220211174952p:plain:w500
https://www.sisec17.audiolabs-erlangen.de/#/listen/1/REF より

ダウンロード方法

こちらのページからダウンロードできます。

  • Direct Download Full Dataset (14 GB Gb)
  • Direct Download Sample Data (120 MB)

の2つがありますが、1つ目の方が全データが含まれたデータセットになります。

データサイズが約 15 GBと大きいため、ダウンロードに数時間以上かかるかと思います。

なお、Full Dataset の方は Chromeではリンクをクリックしてもダウンロードされなかったため IE Edgeでダウンロードしました。

2つ目の方はサブセットであり、100曲の中から開発用として2曲、テスト用として2曲の2mix・ステムデータが含まれています。

フォルダ構成

フルデータセットでは、50曲で構成されるトレーニングセット「train」のフォルダと、50曲で構成されるテストセット「test」のフォルダの2つのフォルダーが含まれています。

その他

データセットの管理がしやすいように、Python およびMATLAB で書かれたデータセットパーサが配布されています。

例えば Pythonであれば、

pip install dsdtools

として簡単に導入することができます。

利用方法については、以下を参考にしてください。

github.com

まとめ

今回は、音源分離分野でよく利用される公開データセット DSD100 を紹介しました。

実際に楽曲を試聴したりデータセットを利用すると、

  • 音楽市場で流通している品質・長さ
  • 様々な音楽ジャンルの楽曲がある
  • ある程度の曲数がある

といった点がありがたいと感じます。

ボーカル/ベース/ドラムのステムデータがあるので、音源分離だけではなく、

  • 歌声の声質・メロディライン分析
  • 打楽器の音色の分析、ビート/テンポ分析、打楽器パートのみの分離
  • ベースライン分析

といったような音楽信号分析用途にも有用だと思います。

一方、デメリット/注意点としては、

  • 音楽ジャンルのデータ数がバラついている
  • 日本語歌詞の楽曲がない
  • 邦楽市場の曲調とは少し異なる
  • 大衆向け音楽である

が挙げられます。

従って、利用前に楽曲を聞いて曲調・楽曲構成を把握し、研究・開発している処理の対象となる楽曲かどうかをよく吟味する必要があると思います。

*1:Webのリストには43, 44曲目が掲載されていません。また、ダウンロードされたデータセットに含まれているcsvの楽曲リストの音楽ジャンルタグはより細かい粒度でタグ付けされています