Vol.2018-MUS-119 No.43
Vol.2018-SLP-122 No.43
2018/6/17

情報処理学会研究報告
IPSJ SIG Technical Report

大域的構造を考慮したドラムパターンの差し替えシステム
澤田 隼1,a)深山

覚2

後藤 真孝2

平田 圭二3

概要：本稿では楽曲のドラムトラックを大域的構造を考慮しながら差し替えるシステムを提案する．典型的なドラムトラックは，一定のドラムパターン演奏を繰返すなかで繰返しの最後や楽曲構造のつなぎ目でパターンに変化を加えたり（フィルイン），A メロ，B メロなどの楽節ごとに異なるドラムパターンを叩いたり，大域的な構造に依存して演奏が変化する．しかし，ドラムトラックを小節毎に別のドラムパターンに置き換える従来のシステムでは，このような大域的な構造に依存した変化を実現することが難しかった．
そこで，本システムでは大域的構造に依存した複数のドラムパターンを楽曲から抽出し，その楽曲の持つコンテキストを保存しながらドラムパターンの差し替えを行う．まず，システムは A と B の 2 つの楽曲を入力として受け付け，各曲から複数の代表的なドラムパターンを各曲それぞれから抽出する．次に，楽曲 A と B の間でコンテキストにおける相対位置が類似しているドラムパターンのペアを作成し，対応する
ドラムパターン同士を置き換える．適切な対応ペアを見つけるために，まず抽出されたドラムパターン間の遷移確率分布によって，大域的ドラムパターン構造をモデル化する．対応するペアを決定するために，
楽曲 A と B のそれぞれのドラムパターンの遷移確率分布間のカルバック・ライブラー情報量の合計が最小になるものを選ぶ．提案システムを用いて，楽曲のコンテクスト内での役割を適切に保持したドラムパ
ターンの差し替えが可能になり，聴覚的に自然でかつ，雰囲気が大きく異なる楽曲を生成するできることを確認した．

1. はじめに

Davies らは複数の楽曲をミックスし，新たに楽曲を生成すること（マッシュアップ）ができる AutoMashUpper [2] を従来の音楽鑑賞はそのまま再生して楽しむだけの受動的提案した．リズムの類似度や音響特性に着目し自然なマッな体験であった．近年，能動的なインタラクションを伴っシュアップを作成することができる．吉井らはリアルタイて音楽を鑑賞する能動的音楽鑑賞（Active music listening）

ムにドラムのリズムパターンや音色を変更する事ができる[7] の需要が広がっている．例えば，後藤らによって提案システム Drumix [15] を提案した．あらかじめ用意されてされた能動的音楽鑑賞のための web サービス，Songle [9]いるドラムパターン集合から適当なパターンを選択するだがある．音楽理解技術で解析した内容（サビ，メロディ，

けでドラムパターンを容易に変更することができる．ドラ

コード，ビート）を俯瞰的に眺めながら，楽曲中のサビ区

ムパターンをランダムに変更する機能は，音楽経験者・未間や繰り返し区間へ頭出しして聴くことができる．また，経験者共に思いがけない音楽経験をもたらし，好評であっ自分の好みに合うように編集しながら音楽鑑賞をするとたという結果が得られている．本稿で提案するシステムもいった，能動的音楽鑑賞の技術がこれまでいくつか提案さドラムパターンを容易に変更し能動的音楽鑑賞を可能とすれている．中村らはドラムの音色を変更するシステムを提るシステムである．典型的なドラムトラックは，複数のド案した [11]．これは周波数特性やドラムの音色を別の楽曲

ラムパターンが連結されて形成される大域的なパターン構に置き換えることができる．小野らはリアルタイムイコラ

造を有している．例えば，楽曲の構造の変わり目には，今イザーを提案した [12]．これは調波・非調波成分のバランまで繰り返していたドラムパターンとは異なるドラムパ

スや，周波数特性を調節し音色を変更することができる．

ターン（フィルイン）が挿入される．しかしながら，ドラ

1

2

3

a)

公立はこだて未来大学大学院
Graduate School of Future University Hakodate
産業技術総合研究所
National Institute of Advanced Industrial Science and Technology (AIST)
公立はこだて未来大学
Future University Hakodateb1012046@gmail.com

c 2018 Information Processing Society of Japan⃝ムトラックを小節毎に置き換える従来のシステムでは，このような大域的な構造を形成することができなかった．
これを踏まえて本稿では大域的な構造を保持しつつドラ
ムパターンを差し替えるシステムを提案する．本システムを実現するためには大域的なドラムパターンの認識と，適1Vol.2018-MUS-119 No.43
Vol.2018-SLP-122 No.43
2018/6/17

情報処理学会研究報告
IPSJ SIG Technical Report

Spectrogram஺

Audio signal

Time

Frequency

Amplitude

Audio signal

れた非調波成分の各時刻ごと 1 時刻前とのスペクトルの

ᴦ᭤ B
Time

Frequency

Amplitude

ᴦ᭤ A

஻
Time

Time

஺

Time

Frequency஺Percussive

Harmonic

஻

Time

I
ჟ

䝗䝷䝮䝟䝍䞊䞁

まず，入力された 2 つの楽曲の音響信号のそれぞれに対しჰしながら短時間フーリエ変換（Short-time fourier transform:

Timeて，窓幅 2,048 サンプルの分析窓を 512 サンプルずつシフト

Hi-hatSnare drumBass drumრFrequency

Frequency′஺஻

要を図 2 に示す．

஻
Time

ხ

ྜᡂ
OutputDatabase [6] の Beat structure を使用した．抽出方法の概Percussive

Time

኱ᇦⓗᵓ㐀

ჯ

STFT）を行う．次に，得られた 2 つのスペクトログラムのそれぞれに対して調波・非調波音分離（Harmonic/Percussive

Percussive

′஺஻
Time

図 1

元圧縮したものをドラムパターンの特徴量とする．小節ごとに分割する際，AIST Annotation for the RWC Music

HPSS
Frequency

Frequency

Frequency

HPSS
Harmonic

差分（増加量）を求め，16 次元へと量子化することで次Spectrogram

システム概要sound separation: HPSS）を用い，調波成分と非調波成分のスペクトログラムへと分離する．スペクトログラム上では調波成分は時間軸方向に滑らかであり，打楽器などの非切なドラムパターン同士の対応付けが必要になる．これら

調波成分は周波数軸方向に滑らかであるという特性を持を実現するために，楽曲のそれぞれのドラムパターンのク

つ．HPSS はこの特性を利用して，入力スペクトログラム

ラスタリングを行い，楽曲中のドラムパターン間の遷移確

S を，調波成分 H と非調波成分 P に分解する処理である．

率を求め，それぞれの楽曲におけるドラムパターンの遷移

HPSS は librosa [10] の librosa.decompose.hpss 関数を確率分布間の距離が最小となるドラムパターンのペアを決使用した．librosa.decompose.hpss 関数は Driedger [4]定する．これによりドラムパターンの楽曲中の大域的構造と Fitzgerald [5] のアルゴリズムを基に実装されている．

を保持し，聴覚的に自然でかつ，ドラムパターンが差し変

次に，分離されたそれぞれの楽曲の非調波成分 P のスペ

わったことで雰囲気が大きく異なる楽曲の生成が可能に

クトルフラックス（Spectral flux）を求める．スペクトルなる．

フラックスはスペクトルの時間的変化を表す尺度として用2. ドラムパターンの差し替えシステム

いられる．時刻 t と時刻 t − 1 における周波数 bin k における差分 Dk,t を全周波数 bin にわたって足し合わせて求め本システムの概要を図 1 に示す．本システムはドラムをる．ここで時間 t におけるスペクトルフラックスを SFt と差し替えたい 2 つの楽曲（楽曲 A と楽曲 B）を入力し，楽表す．スペクトルフラックス SFt は次の式で与えられる．

曲 A のドラムパターンを楽曲 B のドラムパターンに差しSFt =替えるシステムである．楽曲 A のドラムパターンの遷移に関する大域的な構造を保持しながら，楽曲 A のドラムパ
ターンをそれと対応付けられた楽曲 B のドラムパターンに差し替える．まず，入力された A と B の 2 つの楽曲のス
ペクトログラムを調波成分と非調波成分に分離し，それぞ

∑

Dk,t

(1)

k


Sk,t − Sk,t−1
Dk,t =
0(Dk,t > 0)(2)(otherwise)

れの楽曲のスペクトログラムの非調波成分から複数の代表

ここで Sk,t は時刻 t におけるスペクトログラムの周波数的なドラムパターンを抽出する．次に，楽曲 A と B のそ

bin k における値を表している．今回はスペクトルの立ちれぞれの代表的なドラムパターン間のそれぞれの楽曲中で上がりに着目しているため，増加分のみを計算している．

の遷移確率を確率モデルとして分析することによって，ド

次に，SFt を，16 分音符のビート位置の周り m フレーム

ラムパターンの大域的な構造をモデル化する．そのモデルにわたって足し合わせて 16 分音符単位へと離散化する．こに従って楽曲 A と B の間のドラムパターンのペアを作成

れによって得られる 16 次元ベクトル Fi = {fi }16
i=1 をドラし，対応するドラムパターンを使用して差し替え，最後にムパターンの特徴量として用いる．予備実験より，m = 8

音響信号を合成する．本システムでは小節毎に処理を行うとした．ドラムパターン特徴量 Fi は次の式で与えられる．

ため，事前に楽曲 A と B のそれぞれに対して拍節構造分

Fi =析 (Beat tracking / Downbeat estimation) を行っておく．

m∑SFui +τ ,

(3)

τ =−m

2.1 ドラムパターン特徴量の抽出ここで U = {ui }16
i=1 は 16 分音符レベルのビート時刻系列

入力された楽曲の 1 小節毎のドラムパターンの特徴量を表している．例えば, 10 フレーム毎に均等に 16 分音符の抽出方法について述べる．まず，入力された楽曲のスペ

単位のビート位置がある場合，U = {10, 20, 30, · · · , 160}

クトログラムを調波成分と非調波成分に分離する．分離さとなる．

c 2018 Information Processing Society of Japan⃝2

Vol.2018-MUS-119 No.43
Vol.2018-SLP-122 No.43
2018/6/17

情報処理学会研究報告
IPSJ SIG Technical Report(1ᑠ⠇)

Percussiveܲ஺TimeSpectral flux

Percussiveܲ஺㞳ᩓ໬䝇䝨䜽䝖䝹䝣䝷䝑䜽䝇
䠄16ศ㡢➢䜾䝸䝑䝗䠅
‫܁‬۴

Time

䝗䝷䝮䝟䝍䞊䞁 ࡲ䠄1ᑠ⠇ẖ䠅
Spectral flux䝇䝨䜽䝖䝻䜾䝷䝮

䠄1ᑠ⠇ẖ)

Spectral flux䝇䝨䜽䝖䝻䜾䝷䝮
Frequency

Frequency

≉ᚩᢳฟჾ

Time

Time

Time

ᑠ⠇ᩘ
図 2

ドラムパターン特徴量の抽出2.2 ドラムパターンの対応付けアルゴリズム

その和が最小となるペアを決定する．これは，楽曲内で同

楽曲 A と楽曲 B の差し替えるドラムパターン同士の対じ役割を持つドラムパターンは同じような遷移確率を有す

応付けを行う概要を図 3 に示す．第 2.1 節で述べたドラムるという仮説に基づくものである．確率分布 P の Q に対パターン特徴量を用いて，それぞれの楽曲についてクラスする KLD は以下のように与えられる．

タリングを行う．クラスタリングの結果得られた 2 つの楽KLD(P || Q) =曲におけるクラスタ同士の適切な対応付けを行う．

∑

P (i) logi

まず 2.1 節によって得られた 16 次元のドラムパターン

P (i)
Q(i)

(4)

特徴量を楽曲中のすべての小節について求めて，それらの今回は以下のように対称化した KLD である JSD を使用

k-means クラスタリングを行う．k-means クラスタリング

した．

れている Lloyd のアルゴリズムを用いた．小節ごとに分割

1(KLD(P || Q) + KLD(Q || P ))(5)
2
楽曲 B の遷移確率行列の各行を入れ替えながら JSD を求された楽曲のドラムパターンは，クラスタリングによってめ，その全ての対応付けの和が最小になるペアを探索する．

ラベル付けされる．クラスタ数を Ncluster とし，ラベル集合

こうして得られたドラムパターンのペアを使用して，楽曲

cluster
を C = {cn }Nと表す．このラベルを用いて，小節単
n=1

A のラベル列 LA は対応づいた楽曲 B のラベルに差し替え

bar
位のラベル列 L = {ln }Nn=1 が求まる．ここでラベル ln はられたラベル列 L′ A が作成される．

は python のライブラリ scikit-learn [13] として実装さクラス集合 C に属し（ln ∈ C ），Nbar はその楽曲内の小節数を表す．たとえば，Ncluster = 4 の場合，C = {0, 1, 2, 3}

2.3 ドラム採譜とドラムトラックの生成となる．楽曲の長さが 4 小節分で，ドラムパターンが 1 小

第 2.2 節によって得られたラベル列 L′ A に沿って，楽曲節ごとに変わる場合は L = {0, 1, 2, 3} となり，ドラムパ

B のドラムパターンのオーディオを生成し，楽曲 A の調

ターンが全て同じ場合は L = {0, 0, 0, 0} のようになる．

波成分と合成する（図 4）．まず，クラスタリングによっ

上述した方法によって得られたラベル列の ln−1 から lnて形成された楽曲 B のクラスタのセントロイドに最も近いへ遷移するラベルの遷移確率を計算する．楽曲 X のパター

ドラムパターンを代表ドラムパターンとして抽出する．次ン間遷移確率行列 TX （Ncluster × Ncluster 行列）は以下のに，代表パターン PB のドラム採譜を行う．HPSS によっようになる．

て得られる非調波成分を使ってドラムトラックを合成した



t11

 t21

TX =  .
 ..

ti1

t12

...

t22
..
.

...
..
.

ti2

...

t1j




t2j 

.. 
. 

tij

場合，歌声の子音が多く含まれていたため，ドラムを採譜しその結果からドラムパターンのオーディオを再生成することでノイズの含まれていないドラムパターンを生成している．
ドラム採譜は非負値行列因子分解（Non-negative Matrix

ここで，TX の要素である tij はラベル ci から遷移する際

Factorization: NMF）を用いて行う．NMF は非負値行列の遷移先 cj についての遷移確率 P (cj | ci ) を表している．

を 2 つの非負値行列に分解するアルゴリズムであり，本研

TX の n 行目が cn の離散確率分布になっており，楽曲Ａの究では非調波成分のスペクトログラム P を基底行列 W と遷移確率行列 TA の n 行目を Pn (i) と表し，楽曲Ｂの遷移

アクティベーション行列 H へと分解する（P ≈ W · H ），確率行列 TB の m 行目を Qm (i) と表す．

W は基底を表し，H は基底をどれだけの重みで結合する

次に，大域的な構造を保持したドラムパターンのペアをか（アクティベーション）を表す．NMF は Cichocki らの見つけるために，2 つの確率分布間のカルバック・ライブ

アルゴリズムを参考に実装した [1]．多くのドラム採譜のラー情報量（Kullback - Leibler divergence: KLD）を元に研究では NMF が使用されており [3], [14], [16]，これらに計算される JensenShannon divergence（JSD）を計算し，おいては基底の初期値としてドラムセットの音源のスペク

c 2018 Information Processing Society of Japan⃝3

Vol.2018-MUS-119 No.43
Vol.2018-SLP-122 No.43
2018/6/17

情報処理学会研究報告
IPSJ SIG Technical Reportᴦ᭤ B䝗䝷䝮䝟䝍䞊䞁≉ᚩ㔞 ‫ܨ‬஻䠄ᑠ⠇ྠᮇ䠅

௦⾲䝟䝍䞊䞁
Frequencyᴦ᭤ A䝗䝷䝮䝟䝍䞊䞁≉ᚩ㔞 ‫ܨ‬஺䠄ᑠ⠇ྠᮇ䠅

Percussive䝗䝷䝮䝟䝍䞊䞁

஻ჰSpectral

Time

Time

䜽䝷䝇䝍䝸䞁䜾

ჯᑠ⠇ྠᮇ䝷䝧䝹ิ ‫ܮ‬஺ᑠ⠇ྠᮇ䝷䝧䝹ิ ‫ܮ‬஻პ პ ჟ პ … პ პ რჯ ჯ ჯ ჰ…ხ ჯ ჰ

Time

ხ

0.2

0.4

0.2

რ

0.5 0.1
0.2

ჯ

Time

JSD

0.5 0.3 0.2

3. ドラムパターン差し替えの評価実験
3.1 実験条件

ჰ
0.1

大域的なドラムパターンを認識し，ドラムパターンが適㑄⛣☜⋡ศᕸ
ხ䠖 P

切な対応付けがされているかを調べるため，以下の 2 つの0.1 0.5 0.4実験を行う．

ხ ჯ ჰ

პ ჟ რ
0.7 0.1 0.2

実験（1）2 つの楽曲においてフィルイン同士が正しく対応

0.2 0.6 0.2

ჯ: P

ჟ: P

ხ ჯ ჰ

პ ჟ რ
რ: P

Time

Hi-hat

図 4 NMF を用いたドラム採譜

0.4

0.8

0.6

0.2

㑄⛣☜⋡ศᕸ
პ䠖 P

′஻

0.1

I
ჟ

ಀᩘ⾜ิ

Bass Drum
Snare Drum䝷䝧䝹㑄⛣☜⋡

0.5

0.1

஻

Time

䝷䝧䝹㑄⛣☜⋡

0.3 0.4
0.2

䝗䝷䝮䝟䝍䞊䞁⾜ิComponent

ჰ

რ

0.7

஻
Component䝗䝷䝮䝟䝍䞊䞁

஻Component

ხ

ჟ

პ

NMF

ᇶᗏ⾜ิ
Frequency

Spectral flux

Spectral flux

SpectralTime䜽䝷䝇䝍䝸䞁䜾 䝷䝧䝹ჯხ

0.4 0.4 0.2

ჰ: P

0.1 0.8 0.1

JSD䛾࿴䛜᭱ᑠ䛻䛺䜛䝨䜰䜢ぢ䛴䛡䜛

ხ ჯ ჰ

პ ჟ რ

⨨᥮ᚋ䝷䝧䝹ิ ‫ܮ‬Ʋ஺ჯ ჯ ხ ჯ … ჯ ჯ ჰ
Time

図 3

ドラムパターンの対応付け付けができているかを評価する実験．
実験（2）頻出する遷移パターンを認識し，2 つの楽曲においてそれらが対応付けられているかを評価する実験．
本システムを評価するために，RWC 研究用音楽データベース（RWC-MDB-P-2001）[8] の楽曲を使用した．（No. 1,

No. 2, No. 3）ドラム演奏経験が 3 年以上ある 2 名が作成
しクロスチェックしたラベル列を正解データとして評価を行う．正解データを図 5 に示す．図 5 中の数字は 1 小節

トログラムを与えることでドラムの各楽器音に対応する基ごとのリズムパターンのラベルを表しており，フィルイン

底を学習している．これらにならい，ドラムだけの音源のの小節には数字の上にドットを付与した．また，同じ種類

スペクトログラムを初期値とし，バスドラム, スネアドラの線で囲まれたラベル列は楽曲構造上の区分であることをム, ハイハットに対応する基底が学習されるようにした．

意味する．例えば，楽曲 No. 1 の 2 重線はサビを，点線は

今回は RWC 研究用音楽データベースの楽器音データベー

イントロを表している．ドラムパターンのクラスタ数を 6ス（RWC-MDB-I-2001）を初期値として使用し，予備実験

として実験を行った．

の結果基底数は 4 にした．それぞれの 3 つの基底が各ドラ

2 つの実験（1）と（2）に使用する評価尺度を定義する

ムセットの楽器に対応するが，4 つ目はノイズの基底としにあたって使用する記号の説明を以下に述べる．楽曲 Aて学習されるため，このノイズの基底以外を用いる．そうclusterのラベル集合を C = {cn }N，楽曲 B のラベル集合をn=1して得られたアクティベーション HB をドラムパターンにcluster
D = {dn }Nとあらわす．このとき，提案手法によっn=1変換するために，式 ( 3) と同様に HB を 16 分音符のビーて得られた対応関係を M (ci ) = dj とあらわす．たとえば，

ト位置の周位 m フレームにわたって足し合わせて 16 分音楽曲 A のラベル 0 ∈ Cset と楽曲 B のラベル 2 ∈ Dset が対符グリッドで離散化する．この離散化されたアクティベー

応付けされた場合は M (0) = 2 とあらわされる．

ションを正規化したものを，各音源の強さ（ベロシティ）

実験（1）において，2 つの楽曲のフィルイン同士が対応としてそれぞれの音源（バスドラム，スネアドラム，ハイ

づいているかを調べる尺度としてフィルイン一致率 F (M )ハット）に掛け合わせ，代表ドラムパターンの音響信号をを定義する．まず，2 つの楽曲のフィルイン位置を表す正生成する．最終的に，このように得られたドラムパート

解データ f (ci ) を作成する．f (ci ) はフィルインであるか′P B をラベル列 L A に沿って楽曲 A の調波成分の音響信

そうでないかの 2 値 {0, 1} をとる．たとえば, 0 ∈ Cset が号と足し合わせたものを出力する．

フィルインであれば，f (0) = 1 となり，そうでなければ′f (0) = 0 となる. フィルイン一致率 F (M ) を以下のように

c 2018 Information Processing Society of Japan⃝4

Vol.2018-MUS-119 No.43
Vol.2018-SLP-122 No.43
2018/6/17

情報処理学会研究報告
IPSJ SIG Technical Report

RWC-MDB-P-2001 No. 1

Fill-in

Fill-in22222300010010001000105050501
000100430001001000105050501
0001004300010012205050500303
2220004300010010001001000100013
RWC-MDB-P-2001 No. 2000344414442444144414442
4441444144414524441444200034442
444144414442444144414441452
444144422
RWC-MDB-P-2001 No. 300000005111211143334333400000005
33343334111211141114111143334
111111433343334333433340
図 5

No. 1 [0, 1, 2, 3, 4, 5]

No. 1 [0, 1, 2, 3, 4, 5]

No. 2 [3, 5, 4, 2, 1, 0]

No. 3 [2, 3, 1, 4, 5, 0]

No. 2 [0, 1, 2, 3, 4, 5]

No. 2 [0, 1, 2, 3, 4, 5]

No. 1 [5, 2, 3, 4, 0, 1]

No. 3 [0, 4, 3, 5, 1, 2]

No. 3 [0, 1, 2, 3, 4, 5]

No. 3 [0, 1, 2, 3, 4, 5]

No. 1 [5, 2, 0, 3, 1, 4]

No. 2 [3, 4, 5, 1, 2, 0]

図 6 対応関係の結果

表 1

ドラムパターンのバイグラム出現頻度．括弧内が頻度を表す．

使用した正解データ

定義する．

∑Nclusteri

F (M ) =f (ci )f (M (ci ))Nfill−in(6)

ここで Nfill−in は楽曲中に含まれるフィルインの種類の数

No. 1

No. 2

No. 3

00 (34)44 (38)11 (18)01 (19)41 (13)33 (18)10 (17)14 (13)00 (12)50 (9)

42 (6)

34 (9)

05 (9)

24 (6)

43 (8)

22 (7)

00 (4)

14 (5)をあらわす. F (M ) は 0 ≤ F (M ) ≤ 1 の値をとり，2 つの楽曲の全てのフィルイン同士が対応づいている場合に最大をとり，対応関係が頻度のランキングと一致していた時に値 1 をとる．

最大値 1 をとる．

実験（2）において，楽曲中のドラムパターンラベルのバイグラム頻度と対応付けの整合性を調べる尺度として，

3.2 実験結果

頻度整合性 E(M ) を定義する．たとえば，楽曲 A と楽曲システムが出力した対応関係の結果を図 6 に示す．図左

B のラベル列のバイグラム頻度の上位がそれぞれ 12 と ab

上は RWC の楽曲 No. 1 に No. 2 を対応付けした結果をあだった場合，対応関係は M (1) = a，M (2) = b となることらわしており，No．1 の 0 と No. 2 の 3 が対応づいているが期待される．ただし，パターンの対応付けの際，すべて（M (0) = 3）ことを意味する．

のパターンが 1 対 1 で対応付くという制約が理由で必ずしドラムパターンラベルのバイグラム出現頻度を表 1 に示も整合性が取れない可能性があるため，整合性の尺度で評す．楽曲毎に頻度が高い順にそのバイグラムパターンを並価する．頻度整合性 E(M ) を以下のように定義する．

べ，括弧内にその頻度を示した．たとえば，楽曲 No. 1 でE(M ) =10∑r

1
wx (r) (R0 (r) + R1 (r))
2はバイグラムの 00 が最も頻出しており，その頻度が 34 回

(7)が最も多いことを意味する．

ここで Ri (r) と wx (r) は以下の式で与えられる．

1 (M (xri ) = yri )Ri (r) =0 (otherwise)

vx x
wx (r) = ∑ r0 r1
r vxr0 xr1

あったことを意味する．これはドラムパターンの自己遷移
頻度整合性 E(M ) とフィルイン一致率 F (M ) を表 2 に示す．たとえば，（a）は RWC の楽曲 No. 1 を No. 2 のドラムパターンで差し替えた場合の E(M ) が 0.05 で，F (M )が 1.0 であることを表す．（d）の No. 2 を No. 3 のドラ(8)ci から cj への遷移する頻度を vci cj と表す．頻度順にソー

ムパターンで差し替えたときが最も E(M ) が高く（0.53），（a）の No. 1 を No. 2 で置き換えたものが最も E(M ) が低かった．

トしたバイグラムの遷移パターンを {xr0 xr1 }10
r=1 と表す．

最後に，システムが出力したクラスタリング結果を図 7

ここで r は頻度の順位を表している．たとえば，頻度のに示す．正解データと比べて，No. 1 と No. 3 ではフィ

順位が 3 位のバイグラム遷移パターンが ab だった場合，ルインが正しく検出できていない．No. 2 ではラべル 0 が

x30 = a，x31 = b となる．この尺度は提案手法によって得フィルインの位置に来ることが多く，比較的良くフィルイ

られた対応関係がバイグラムの頻度ランキングと整合性がンとラベルが一致している．

取れているかどうかを表す．E(M ) は 0 ≤ E(M ) ≤ 1 の値

c 2018 Information Processing Society of Japan⃝5

Vol.2018-MUS-119 No.43
Vol.2018-SLP-122 No.43
2018/6/17

情報処理学会研究報告
IPSJ SIG Technical Report
表 2

頻度整合性とフィルイン一致率．括弧内はフィルインの全てたパターンの対応付けが必要であるとわかった．

の個数のうち何個一致したかを表す．
楽曲のペア
E(M )

5. おわりにF (M )(a) No. 1 - No. 2.05

1.0 (3/3)(b) No. 1 - No. 3.17.67 (2/3)

本稿では大域的構造を考慮したドラムパターンの差し替(c) No. 2 - No. 1.44.75 (3/4)

えシステムを提案した．ドラムパターンの遷移確率に着目(d) No. 2 - No. 3.53.75 (3/4)

し，遷移確率分布の距離が小さくなるように 2 つの楽曲(e) No. 3 - No. 1.06.67 (2/3)のドラムパターンを対応付けることで，大域的な構造を保(f) No. 3 - No. 2.39.67 (2/3)

持しながら別のドラムパターンに差し替えることが可能になった．今後の課題はドラムパターンのクラスタリング

RWC-MDB-P-2001 No. 1

Fill-inと音響生成結果の品質を向上することと，ユーザからの55551413412311111111121112011
021012111101221111121211111
0120111413412315111111111111
312041111101221114123111111111

フィードバックを得て定性的な評価を行うことである．

RWC-MDB-P-2001 No. 2

受けた．

111522202222222022202223
2220222022202022220222211152223
222022202223222022202220203
222022224

参考文献

謝辞
本研究の一部は JST ACCEL (JPMJAC1602) の支援を

[1]

RWC-MDB-P-2001 No. 333044303111111120000000044054402
00000001111111211111111200001
11111111111111111111110
図 7

[2]

クラスタリング結果

[3]

4. 考察
表 2 における（c），（d）の楽曲のペアでは No. 2 のフィ[4]

ルインの数が 4 なのに対し，No. 1 と No. 3 のフィルインの数は 3 であり，良くパターン同士が対応づいていると言[5]

える．ドラムパターンの大域的な構造を保持しながら，ドラムパターンを差し替えた楽曲が生成できたと言える．
ただし，このようにフィルインやパターンの数は楽曲によって違うため，1 対 1 対応ではフィルインと違うもの

[6]
[7]

が対応づいてしまう問題がある. ドラムパターンは階層的なパターンのクラスタを形成すると考えられ，たとえば[8]1112111233343334 というラベル列があった場合，ラベル
2 とラベル 4 をフィルインの小節だとすると，ラベル 2 は
ラベル 1 のドラムパターンに変化を加えたパターンである[9]ことが多い．同様にラベル 4 もラベル 3 のドラムパターンに変化を加えたパターンであることが多いため，ラベル 1とラベル 3 の類似度よりもラベル 1 とラベル 2 の類似度の[10]方が高いと考えられる．そのため，階層的なクラスタリン
グを行い，1 対多対応にする必要があると考えられる．ま[11]

た，楽曲 No. 2 と No. 3 のように，リズムパターンの構造が似ている曲は E(M ) の値が比較的高かったが，楽曲 No.

1 のように 0505 とパターンを交互に繰り返す様な曲ではこの尺度では低い値を示し，パターンの構造の違いに応じ

c 2018 Information Processing Society of Japan⃝[12]

Cichocki, A. and Phan, A.-H.: Fast local algorithms
for large scale nonnegative matrix and tensor factorizations, IEICE transactions on fundamentals of electronics, communications and computer sciences, Vol. 92,
No. 3, pp. 708–721 (2009).
Davies, M. E., Hamel, P., Yoshii, K. and Goto, M.: AutoMashUpper: Automatic creation of multi-song music
mashups, IEEE/ACM Transactions on Audio, Speech,
and Language Processing, Vol. 22, No. 12, pp. 1726–1737(2014).
Dittmar, C. and Gärtner, D.: Real-Time Transcription
and Separation of Drum Recordings Based on NMF Decomposition., DAFx, pp. 187–194 (2014).
Driedger, J., Müller, M. and Disch, S.: Extending
Harmonic-Percussive Separation of Audio Signals., ISMIR, pp. 611–616 (2014).
Fitzgerald, D.: Harmonic/percussive separation using
median filtering, 13th International Conference on Digital Audio Eﬀects (DAFX10) (2010).
Goto, M.: AIST Annotation for the RWC Music
Database., ISMIR, pp. 359–360 (2006).
Goto, M.: Active music listening interfaces based on signal processing, Acoustics, Speech and Signal Processing,2007. ICASSP 2007. IEEE International Conference
on, Vol. 4, IEEE, pp. IV–1441 (2007).
Goto, M., Hashiguchi, H., Nishimura, T. and Oka, R.:
RWC Music Database: Popular, Classical and Jazz Music Databases., ISMIR, Vol. 2, pp. 287–288 (2002).
Goto, M., Yoshii, K., Fujihara, H., Mauch, M. andNakano, T.: Songle: A Web Service for Active Music
Listening Improved by User Contributions., ISMIR, pp.
311–316 (2011).
McFee, B., Raﬀel, C., Liang, D., Ellis, D. P., McVicar,
M., Battenberg, E. and Nieto, O.: librosa: Audio andmusic signal analysis in python, Proceedings of the 14th
python in science conference, pp. 18–25 (2015).
Nakamura, T., Kameoka, H., Yoshii, K. and Goto, M.:
Timbre replacement of harmonic and drum components
for music audio signals, Acoustics, Speech and Signal
Processing (ICASSP), 2014 IEEE International Conference on, IEEE, pp. 7470–7474 (2014).
Ono, N., Miyamoto, K., Kameoka, H. and Sagayama, S.:

6

情報処理学会研究報告
IPSJ SIG Technical Report

[13]

[14]

[15]

[16]

Vol.2018-MUS-119 No.43
Vol.2018-SLP-122 No.43
2018/6/17

A Real-time Equalizer of Harmonic and Percussive Components in Music Signals., ISMIR, pp. 139–144 (2008).
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V.,
Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P.,
Weiss, R., Dubourg, V. et al.: Scikit-learn: Machinelearning in Python, Journal of machine learning research, Vol. 12, No. Oct, pp. 2825–2830 (2011).
Wu, C.-W. and Lerch, A.: Drum Transcription Using
Partially Fixed Non-Negative Matrix Factorization with
Template Adaptation., ISMIR, pp. 257–263 (2015).
Yoshii, K., Goto, M., Komatani, K., Ogata, T. andOkuno, H. G.: Drumix: An audio player with realtime drum-part rearrangement functions for active music
listening, Information and Media Technologies, Vol. 2,
No. 2, pp. 601–611 (2007).
Yoshii, K., Goto, M. and Okuno, H. G.: Drum soundrecognition for polyphonic audio signals by adaptationand matching of spectrogram templates with harmonic
structure suppression, IEEE Transactions on Audio,
Speech, and Language Processing, Vol. 15, No. 1, pp.
333–345 (2007).

c 2018 Information Processing Society of Japan⃝

7