📄

パーカッション音の合成 - NEURAL PERCUSSIVE SYNTHESIS

Entry
パーカッション音の合成 - NEURAL PERCUSSIVE SYNTHESIS
Simple Title
Ramires, A., Chandna, P., Favory, X., Gómez, E., & Serra, X. (2019). Neural Percussive Synthesis Parameterised by High-Level Timbral Features. ICASSP, IEEE International Conference on Acoustics, Speech and Signal Processing - Proceedings, 2020-May, 786–790. Retrieved from http://arxiv.org/abs/1911.11853
Type
Paper
Year
2019
Posted at
June 4, 2021
Tags
sound
学習したモデルを利用するためのインタフェース
学習したモデルを利用するためのインタフェース

Overview - 何がすごい?

  • ユーザが直感的にコントロールできるドラム、パーカッション音の生成モデル
  • 学習用のデータセットも自前で準備
💾
1万以上のドラム、パーカッション音のデータセット — Freesound One-Shot Percussive Sounds

Abstract

We present a deep neural network-based methodology for synthesising percussive sounds with control over high-level timbral characteristics of the sounds. This approach allows for intuitive control of a synthesizer, enabling the user to shape sounds without extensive knowledge of signal process- ing. We use a feedforward convolutional neural network- based architecture, which is able to map input parameters to the corresponding waveform. We propose two datasets to evaluate our approach on both a restrictive context, and in one covering a broader spectrum of sounds. The timbral features used as parameters are taken from recent literature in signal processing. We also use these features for evaluation and validation of the presented model, to ensure that changing the input parameters produces a congruent waveform with the desired characteristics. Finally, we evaluate the quality of the output sound using a subjective listening test. We provide sound examples and the system’s source code for reproducibility. Index

Motivation

  • 深層学習ベースの音響合成モデルの研究は進んでいるがどれも出音を直感的にコントロールできない →  直感的なパラメータでコントロールできるモデルを作る!

Architecture

アーキテクチャ
アーキテクチャ

  • ツールを用いて抽出した次の8つの印象量を条件付けの入力として利用→目的のところで述べた直感的なコントロールを可能に
    • hardness
    • depth
    • warmth
  • brightness,
  • boominess
  • roughness
  • sharpness
インプットとアウトプットの例
インプットとアウトプットの例

ロス関数

次の三つを試す

WAVE: シンプルなreconstruction loss

Lrecon =E[x^x1]\mathcal{L}_{\text {recon }}=\mathbb{E}\left[\|\hat{x}-x\|_{1}\right]

HIGH: Short term Fourier transform (STFT)を組み合わせたロス

Lstft=E[STFT(x^)STFT(x)1]\mathcal{L}_{s t f t}=\mathbb{E}\left[\|S T F T(\hat{x})-S T F T(x)\|_{1}\right]

FULL: 二つの組み合わせ

Lfinal =Lrecon +λLstft \mathcal{L}_{\text {final }}=\mathcal{L}_{\text {recon }}+\lambda \mathcal{L}_{\text {stft }}

Dataset

  • この研究のために10000以上のドラム音からなるデータセットをFreesoundに上がっている音をベースに作る
  • 商用のライブラリのデータも含めた、バスドラムの音だけを自前で集めたデータセットも別途用意

Results

生成された音の例

オリジナル

生成 (二つのロスの組み合わせたロス FULL を使った場合)

  • 8つの印象量に対して、値が小さい場合 中くらいの場合、大きい場合それぞれの設定に対して、合成された音を解析した時に、正しく反映されているかを調べた (詳細は論文参照)
    • FULL のロス関数を使った時が一番精度が高い
    • HardnessやRoughness, Sharpnessといった高音、ノイズ成分を表す特徴を正しく再現するのが苦手...
ロス関数の設定による差
ロス関数の設定による差
特徴量ごとの反映のされ方
特徴量ごとの反映のされ方

Further Thoughts

  • 生成された音の高音、ノイズ成分の精度が総じてよくない → 単純に周波数 (F0)やzero-crossing を入力パラメータとしてとるようなモデルの作り方にしたら良いのではないか? 試してみる価値あり

  • ドラムの種類やピッチといった定量的な値ではなく、darkness, hardness, depthといった印象量で定量的に指定して生成できるのは面白い → ただし、狙った音を出しやすいかというとそうでもない.

  • やっぱりすぐにColabで試せるようになっているのは強い。

  • 本論文の続編 - 同様のアーキテクチャでドラムループを丸ごと生成する研究を合わせて読むこと → 内容的には素直に延長線上にある感じ

Links

本論文の続編 - 同様のアーキテクチャでドラムループを丸ごと生成する研究。

すぐに試せるGoogle Colabのノートブック