💾

synth1B1 - 10億以上のシンセ音と、そのパラメータがペアになったデータセット

Entry

synth1B1 - 10億以上のシンセ音と、そのパラメータがペアになったデータセット

Simple Title

Turian, J., Shier, J., Tzanetakis, G., McNally, K., & Henry, M. (2021). One Billion Audio Sounds from GPU-enabled Modular Synthesis.

Description

なんと総時間は約126年分!! データセットを生成するためにpytorch上に実装された、GPUに最適化されたモジュラーシンセ torchsynthも合わせて公開。

Type
Dataset
Year

2021

Posted at
July 23, 2021
Tags
soundmusic

Overview

  • 10億の4秒間のシンセサイズされた音とシンセのパラメータの情報がペアになったデータセット synth1B1 + このデータセットを生成するためにPyTorch上に実装されたGPUに最適化されたモジュラーシンセ torchsynth
  • まだまだ音楽/音色のデータセットは十分な量がない → 生成した方が早い → 普通のCPUベースのシンセサイザーだと生成するのに時間がかかる (40億秒 = 126年! ) うえに、音色の多様性をコントロールするのも難しい → 微分可能な(=ニューラルネットワークで最適化可能)なGPUに最適化されたシンセサイザを作ろう! という流れ
We release synth1B1, a multi-modal audio corpus consisting of 1 billion 4-second synthesized sounds, paired with the synthesis pa- rameters used to generate them. The dataset is 100x larger than any audio dataset in the literature. We also introduce torchsynth, an open source modular synthesizer that generates the synth1B1 samples on-the-fly at 16200x faster than real-time (714MHz) on a single GPU. Finally, we release two new audio datasets: FM synth timbre and subtractive synth pitch. Using these datasets, we demonstrate new rank-based evaluation criteria for existing audio representations. Finally, we propose a novel approach to synthe- sizer hyperparameter optimization.

Data

  • 10億の4秒間の音のサンプル + その音を合成するために使ったシンセ(torchsynth)のパラメータ → 実際にはデータをダウンロードするよりも、生成した方が早いので生成用のスクリプトが公開されていて、自分で生成してね、というかたちになっている。
  • サンプル (下)からも多様な音が生成されているのがわかる。

Tool

  • サンプル音を合成するために、GPUに最適化されたソフトウェアシンセサイザーを PyTorch上に実装。
  • torchsynthはv100 GPUでリアルタイムの 16200倍のスピードで生成できる (126年分が2.8日に)
  • シンセシスのパイプラインが微分可能なオペレーションで実装されている → Backpropagationでパラメータを最適化するこも可能!
  • 生成された音の多様性について、他の音のデータセットとの比較も行なっている。
torchsynthのアーキテクチャ
torchsynthのアーキテクチャ
データセット間の「距離」
データセット間の「距離」

MMD(X,Y)=1nni,j=0n2d(xi,yj)d(xi,xj)d(yi,yj)\operatorname{MMD}(X, Y)=\frac{1}{n n} \sum_{i, j=0}^{n} 2 \cdot d\left(x_{i}, y_{j}\right)-d\left(x_{i}, x_{j}\right)-d\left(y_{i}, y_{j}\right)

  • このMMDのしきを評価関数として、1. torchsynthのデータセット内の多様性が増す (torchsynthのデータセット間の距離が遠くなる) 2. 他のデータセットの音の分布を近似する、の二つの目的に対して、Optunaを用いてハイパーパラメータを調整することも試した。

Applications

  • 音色 → シンセのパラメータの予測
  • オーディオ → MIDIの変換
  • 音色の認知に関する研究
  • オーディオのより効率的な埋め込み表現 などなど...

Further Thoughts

  • わりと一般的なシンセサイザーの構造を利用しているので、この仕組みを使って推定したパラメータを本物のモジュラーシンセで使ってみても面白いかも
  • 埋め込み表現を得るためのモデルOpenL3は色々な場面で使えそう!

Links

比較のために作った二つのデータセット

FMシンセ(Yamaha DX7のクローン)のパラメータと音色

すぐに試せるGoogle Colab

Optuna - ハイパーパラメータの最適化のためのフレームワーク