Vol.2013-MUS-100 No.6
2013/8/31

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

既存楽曲のコード進行を編集できる音楽音響信号加工法
深山 覚1,a)

後藤 真孝1,b)

概要：音楽音響信号のコード進行を専門知識を必要とせずに編集できる手法を提案する．非専門家にとってはコード進行をどのように改変したいか的確にシステムに指示するのは難しい．また，歌声や多数の楽器による混合音に対して，コード進行を変えるために音源分離をすることは，多重音解析技術を用いても依然難しい．そこで，本手法ではユーザが望む曲調に近いデータベース中の楽曲を選択するだけで，コード進行を編集加工できる方法を提案する．まず選択された楽曲のコード進行の特徴が非負値行列分解によりテンプレートに分解され，そのテンプレートの線形補間によって特徴を反映するコード進行が得られることを述べる．次に，聴感上コード進行を変化させるために追加・抑制が必要な音を，元の楽曲をピッチシフトして得られる音楽音響信号のパワースペクトルより櫛形フィルタで探索し追加・抑制することで，コード進行を編集できることを議論する．この手法の検証の有効性の確認のため，非負値行列分解で得られるテンプレートが楽曲の特徴を捉えていることを，テンプレート間の距離に基づく階層クラスタリングによるジャンル分類で確かめた．また編集前後の和音特徴量系列の差分をピッチシフトした音響信号から櫛形フィルタで取得した音響信号で表現できることを確認した．

1. はじめに
本稿では，既存楽曲の混合音のみからそのコード進行をきない．多重音解析技術によって編集加工する技術 [3] も提案されているが，ポピュラー音楽のように歌声やドラムスを含む多数の楽器による混合音は扱えなかった．

非専門家でも手軽に編集加工できる方法を提案する．従来

そこで本研究では，既存楽曲のコード進行を編集加工すの能動的音楽鑑賞インタフェース [1] では，コード進行のるために，ユーザは音楽データベース中の楽曲を選択する

パーソナライズ・カスタマイズは実現されていなかったが，だけでよい手法を提案する．本手法では，その選択した楽本研究によって，そうしたコード進行の編集加工を人々が曲のコード進行が自動的に分析され，その特徴が反映され手軽に楽しめるようにすることを目的とする．

るように，編集加工するための目標コード進行が決定され

コード進行の手軽な編集加工は次の 2 点で困難である．

る．さらに，その目標コード進行になるように，混合音に第 1 に，コード進行を扱うには音楽的知識が必要なので，対して多重音解析技術を適用せずに，聴感上のコード進行非専門家には敷居が高く，誰でもコード進行を改変できるを変化させることだけに注力することで，音楽音響信号のようにするのは難しかった．過去に，混合音中のドラムス編集加工がなされる．これにより楽曲の選択だけならば非を手軽に改変できる Drumix [2] では，ドラムパターンの知専門家でも容易にでき，様々な楽曲のコード進行の特徴を識がなくても選択操作だけで改変を可能にしていた．しか反映して，納得するまで編集加工を試すことができる．

し，コード進行に対して的確に選択操作するのは知識がな

本論文はこれが以下の技術によって実現できることを議いと難しく，ユーザがどういうコード進行に改変したいの論する. まず反映したい曲調を持つ参照楽曲のクロマベクかを指示する手段がなかった．第 2 に，目標とする改変後トル系列を非負値行列分解し，その曲に特徴的なコードののコード進行が仮に上記を解決して決まったとしても，そ構成音のテンプレートを得る. 次に，得られたテンプレーの目標コード進行になるように混合音を編集加工するのがトと編集加工した楽曲のテンプレートの線形補間を行い、難しかった．コード進行を改変するには，ミックスダウン

その結果を用いて参照楽曲の特徴が反映されたクロマベク

前の個々のトラックがあると容易になるが，通常は入手でトルの系列を生成する。最後に編集前後のクロマベクトル系列の差分に合致する音の音高と調波構造を，ピッチシフ

1a)b)

産業技術総合研究所
National Institute of Advanced Industrial Science and Technology (AIST)
s.fukayama@aist.go.jp
m.goto@aist.go.jp

c 2013 Information Processing Society of Japan

トされた音楽音響信号のパワースペクトルから櫛形フィル
タによって探索し，それに基づいて音を追加・抑制することで音楽音響信号の編集加工を行う.

1

Vol.2013-MUS-100 No.6
2013/8/31

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

図 1 クロマベクトル系列の非負値行列分解に基づいた楽曲の選択によるコード進行の特徴反映

2. 楽曲の選択によるコード進行の特徴反映

マベクトルを cn (∈ R12 ) と書くと，

2.1 問題の性質とコード進行の特徴反映の指針

cn =KXhnk wk(1)

k=1

音楽音響信号中のコード進行を扱うための音響特徴量としてクロマベクトルを用いることができる．クロマベクトと書ける．ここで hnk は n 番めの分析区間で，k 番めのテルはある時間内で観測される各音名 (c, d, e, f, · · · ) に対応ンプレートが足される際の重みである．クロマベクトル系

する基本周波数ごとのパワーの総和を，オクターブの違い列を式 (1) のように分解した上で，wk を改変すると各時を無視して音名ごとに足し合わせて得られる 12 次元のベ刻でのコード構成音の特徴を編集でき，一方 hnk を改変すクトルである [4]．倍音の影響により，音名に対応する各ると曲中のコード進行のコードの連なり方の特徴を編集で成分の値はそのまま音響中で鳴っている音高ごとのパワーきると考えられる．に対応しないが，クロマベクトルは音楽音響信号のコード認識において有効性が確かめられている [5]．

2.3 クロマベクトル系列の分解による特徴分析

コード進行の特徴には，9 度音や 11 度音の音が使われやクロマベクトルの系列を通じて共通するテンプレート

すいなどの各時刻でのコード構成音についての特徴と，一wk を得るには，クロマベクトルの系列を 1 つの行列とし連なりのコードがよく用いられるといった時系列的なコー

た C = (c1 · · · cN ) (∈ R12×N ) をド進行の特徴がある．コードの連なり方の特徴反映は今後の課題とし，本研究では各時刻でのコード構成音の特徴反映のみ扱う．

C ' WH(2)のように行列 W (∈ R12×K ) と行列 H(∈ RK×N ) の積に分解する．ここで W と H はそれぞれコード構成音の典型的2.2 クロマベクトル系列のモデル化
各時刻での音高の集合には，長 3 和音・短 3 和音・属 7の和音といった頻出の音高の組合せに加えて，9 度音・11度音といったテンションノートや，メロディや対旋律に含まれる非和声音が加わっている．したがってクロマベクト
ルの時系列は，頻出の音高組合せに対応するクロマベクト
ルの K 個のテンプレート wk (∈ R12 )(k = 1, · · · , K) の，時間変化する非負の重みでの線形和でモデル化できる．いまなテンプレートからなる行列とそれらを線形結合する際の各分析区間での重み行列で，W = (w1 · · · wK )
h11 · · · h1T
 .
..
..
.
H=.
.
 .
hK1···

(3)



(4)

hKTt を時刻とし，時間長 λ の分析区間 ((n − 1)λ ≤ t < nλ) (nである．W も H も成分はすべて非負であることから，こは分析区間の index で n = 1, · · · , N ) から計算されるクロれは非負値行列分解 (NMF) のアルゴリズムにより解くことができる．NMF によって得られる行列の片方には頻出c 2013 Information Processing Society of Japan2

Vol.2013-MUS-100 No.6
2013/8/31

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

するパターンが得られ，もう一方はそれらの線形和の重みが成分がスパースに得られるような特徴があり，それも今3. クロマベクトルに基づく混合音の加工
3.1 問題の性質と音響信号加工の指針

回のコードの特徴分析の目的に合致する．
ここで wk がコードの特徴を表現するテンプレートとし改変されたクロマベクトル {c∗n }Nn=1 から，そのクロマベては冗長であることに着目し，より少ないテンプレート数クトルが計算される音楽音響信号を求める逆問題は一意にで効率的にクロマベクトル系列を表現する．例えばベースは解けない．そこで聴感上コード進行が変化したように聴に c が鳴りその上に音の組 {f,a} が鳴るテンプレート wi

こえ，クロマベクトルが c∗ を満たす音楽音響信号を求めと，ベースに a が鳴りその上に {d,f]} が鳴るテンプレートる問題として解く．
ここで，聴感上自然であることの条件として，以下の 2

wj は異なるが，分析区間の中でのみ見れば (調の中での機能はわからないので) これらは移調をして音高を揃えると区別がつかない．コードの特徴としては同じ特徴を持つ 1点を考えた．

• 改変前の音響信号に含まれる音の調波構造と共通する調波構造で音が追加・抑制されている

つのテンプレートとして扱いたい．ベースが他の声部と比べ強く鳴らされることの多いポップス曲のクロマベクトル• 分析フレーム毎に追加・抑制される音の音高が頻繁に変わらない

では，最大成分を持つ音名がベースラインの基本周波数の音名に対応していることが多いと考えられる．そこでクロこれらの仮定の下，クロマベクトルが c から c∗ へと変マベクトル cn を最大成分が第 1 成分に来るまで巡回置換
e = (eしたものを ecn とし，Cc1 , · · · , ecn ) を分解して得られ化するような加工は，クロマベクトルの差分に対応する音f をその曲のコード構成音の特徴を表すテンプレート
るW

高を，ピッチシフトされた元の音楽音響信号に含まれる調波構造を用いて，追加・抑制することで実現できる．とする．主だった和音型が 4 つと，それに付加されるテンションの数が 3 種類と仮定して設定し，本研究ではテンプ

3.2 クロマベクトル差分の音高への割り当て
n 番めの分析フレームでの特徴の反映前後のクロマベクレートの数を K = 7 に固定した．

トルの差分は，要素すべてがそれぞれ正，負であるような−ベクトル ∆c+n と ∆cn を導入して，2.4 特徴を反映したクロマベクトル系列の生成テンプレートを補間することで，ある楽曲の特徴的な−c∗n − cn = ∆c+n − ∆cn

コード構成音の使い方を曲の調や長さに依らず他の曲のクロマベクトルに反映できる．反映された結果の新しいクロマベクトルは，補間されてできた新しいテンプレーe−Wf H)
e を用e∗ ···we ∗ ) と，非負値行列分解の残差 (Cト (w1Kいて，∗e ∗ = (we+ Ce−WfHee 1∗ · · · weKC)Hf∗He+ Ce−WfHe= W(9)と表せる．前者が追加する音，後者が抑制する音のクロマベクトルに対応する．この分解は一意には決まらない．しかし本問題では聴感上コードの変化が感じられればよいので，便宜的に c∗n − cn の 12 個の成分のうち値が非負のも(5)(6)e i }Kのように計算できる．ここで分解によって得られた {wi=1e jref }Kの順番が，参照する曲で得られた {w
j=1 の順番と対応−のを ∆c+n に，負のものを符号を反転させた上で ∆cn に割り当てた*1 ．

3.3 追加・抑制する音高の調波構造の取得
追加・抑制に使う音高の音色は，改変前の音楽音響信号関係がとれていないため，もっとも距離が小さくなるように含まれる音色に類似したものが望ましい．そこで，元のなテンプレートの組み合わせを以下のように求め:

音楽音響信号を半音単位でピッチシフトした音楽音響信号

j (1) , · · · , j (K) = argmin

KXj(1),··· ,j(K) i=1refe i |we j(i),D w

から調波構造を取得することを考える．手法の概要を図 2(7)l 半音 (l = 1, · · · , 11) ピッチシフトされた信号の，nそれらテンプレート間で補間を行う:
refe i∗ = aw
e i + (1 − a) w
e j(i).
wに示す．
番めの 分 析フ レ ーム で のパ ワ ース ペク ト ルか ら, 対 数(8)周波数軸上にオクターブを 12 分割するように設定した(l)e i を要素和が 1 になるように正距離関数 D では各々の w
規化したのち，Jensen-Shannon ダイバージェンス (J-ダイバージェンス) によって距離を計算する．最後にクロマベe で行ったクロマ
クトルを式 (5) によって算出し，C → C
ベクトルの巡回置換を逆に行い，特徴を反映したクロマベ
クトル系列 C ∗ を得る．手法の概略を図 1 に示す．

c 2013 Information Processing Society of Japanbin(index :m = 1, · · · , M ) ごとのパワー Ynm を得る．音
高 s の音の調波構造を持つパワースペクトル Unm (s) を取得するには，以下のような s の倍音成分にのみ値を持つ櫛形フィルタ:*1−∆c+n と ∆cn へのより実際の音高編集に即した分解が生成物の音質向上につながる可能性はあり，それを考慮した手法設計は今後の課題としたい．

3Vol.2013-MUS-100 No.6
2013/8/31

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

図 2 櫛型フィルタによるパワースペクトルからの編集前後のクロマベクトルの差分に対応する調波構造スペクトルの取得: 倍音成分のみの値を取り出した際のクロマベクトルを計算し，もっともクロマベクトルの編集前後の差に近いときのスペクトルを追加・抑制に用いる調波構造とする．


1 (m = s, s + 12, s + 19,
s + 24, s + 28, s + 31,Hnm (s) =
s + 34, s + 36, s + 38, s + 40)0 (else)(l)(l)(10)(l)を導入し，Unm (s) = Hnm (s)Ynm を計算する．Unm (s) から計算される単音のクロマベクトルを ĉn とすると，∆c+もしくは ∆c− と ĉ をそれぞれ要素和が 1 になるように正規化した上で，それらの分布間尺度 D が最小となる l とs の組み合わせを求めることで追加・抑制に使われる音高の調波構造が得られる．ここで尺度には L2 ノルムを採用した．
ポップス音楽など歌声を含む音楽音響信号を扱う場合，追加・抑制する音が歌声の成分を多く含み過ぎないように

図 3 追加・抑制する音高系列の探索: 異なる音色の異なる音高への遷移のコストと，生成したいクロマベクトルとの差のコストが探索する音高の音域 (s の取れる範囲) を制限する．

最小となるような音高系列を求める．

したがって，追加する音高列とその調波構造を求める問3.4 追加・抑制する音高系列の探索
コードの構成音には持続音が多いため，同じ音に留まる∗

題は，以下の (l, s)n を求める最適化問題に帰着する:

ように追加・抑制する音を選ぶ必要がある．このため，追∗{(l, s)n }N
n=1 = argmin f設定する．

 0q (l, s)n−1 → (l, s)n =a(l, s)n = (l, s)n−1(l, s)n 6= (l, s)n−1(11)(12){(i,s)n }N
n=1

加・抑制する音高の変化に対してコスト q を以下のように

f=NX



D ∆c+. (13)n |ĉn + q (l, s)n−1 → ((l, s)nn=0

解は最適経路の探索として捉えて動的計画法を用いて求めることができる．探索する経路の概念図を図 3 に示す．抑コスト a は正の値で実験を通じて決定するパラメタである．

−
制する音高列と調波構造についても上式で ∆c+n を ∆cn に

本研究の実験ではヒューリスティックに a = 5.0 とした．

置き換えて同様に行える．

c 2013 Information Processing Society of Japan4

Vol.2013-MUS-100 No.6
2013/8/31

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

図 4 クロマベクトルを非負値行列分解した際に得られるテンプレート間の距離に基づき，階層クラスタリング (ward 法) を行った結果: 各グループにスパースに存在するジャンルが見られ，クロマベクトルのテンプレートが楽曲のジャンル情報を含んいることがわかった．

4. 実験 A：コード構成音のテンプレートが曲調情報を持つことの確認
4.1 実験目的と実験条件
コードの音響特徴量であるクロマベクトルを非負値行列分解し得られるコード構成音のテンプレートが，実際に楽離を求め，100 行 100 列の距離行列を計算し，その距離行列を元に階層クラスタリングを行った．クラスタ内の距離平方和を最小化する ward 法を用いた．得られたデンドグ
ラムを目視して大きいクラスタを 5 つ選び，それぞれのクラスタ内の楽曲に付与されているジャンル情報を元にクラスタ内のジャンルの偏りを調べた．

曲ごとの曲調の特徴を保持しているかを確認する実験を行った．テンプレート同士の距離は式 (7) で得られる最小4.2 実験結果と議論

距離組み合わせ時の距離を用い，楽曲データベース中のす選んだ 5 つのクラスタ内の楽曲ジャンルの比率を図 4 にべての楽曲から得られるテンプレートの組を用いて距離行示す．5 つのグループ (A,B,C,D,E) の中で，特に A グルー列を求め，それを用いて階層クラスタリングを行った．クプ，C グループ，E グループでそれぞれ「ダンス」「声楽」ラスタリングの結果として，同じクラスタに属する楽曲同「クラシック」が卓越した．また「声楽」*2 や「ダンス」の士が似たジャンルが多いほど，本論文で提案しているコーように特定のクラスタにのみ集められ，他のクラスタにはド構成音のテンプレートが楽曲の曲調についての特徴をほとんど分類されないジャンルもあった．

保持しており，ユーザが楽曲をデータベース中で指定してコード進行を編集する際に有用であると考えられる.

クロマベクトルは従来より音楽ジャンル認識の分野でも使われており，クロマベクトルに由来するコード構成音のRWC 研究用音楽データベース (音楽ジャンル) の楽曲

テンプレートが本実験のようにジャンル認識のように利100 曲 (RWC-MDB-G-2001 No. 01 – No. 100) を用いて実用できることは理解に難くない．ただしクロマベクトルは験した．データベース中には 10 種類のジャンル大分類とコードの構成音以外の情報をも多く含んでおり，それらの33 種類の中分類の情報が付与されている．中分類 33 種類情報がジャンルの識別に貢献している可能性がある. 具体

それぞれについて 3 曲ずつと，アカペラ 1 曲の合計 100 曲

的には，クロマベクトルはコード進行とは関連がない音楽で構成されている．16 bit 符号化, 44.1 kHz サンプリング,音響信号中の非調波成分をも成分に含んでおり，それらのモノラルの音響信号に変換した上で, フレーム長 0.8 s，フ違いがジャンルの識別に有効な場合がありえる．例としてレームシフト 0.4 s，ハミング窓で短時間フーリエ変換を行

ドラムスの有無は大きく影響すると思われ，そのような理い，得られたパワースペクトログラムからクロマベクトル

由で E グループにおいてドラムスが多くの場合にないジャ系列を求めた. クロマベクトルを最大成分が第 1 成分となンル「クラシック」が卓越して集まっている可能性がある．

るよう巡回置換したのち (2 節参照)，L2 ノルム基準による非負値行列分解を行いコード構成音のテンプレートを計算した．それぞれの曲で得られているテンプレートの間の距

c 2013 Information Processing Society of Japan*2

カンツォーネやシャンソンなど

5Vol.2013-MUS-100 No.6
2013/8/31

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

ろ，あたらしく音が加わる/音が消えていることを確認できた．一方で，加えられる音高の音色が異質で他の音と馴染まない印象があった．これは加える音の調波構造の倍音比率に制約を持たせることで解決できると考えられる．
音高の遷移しやすさを制御するパラメタ a(式 (11) 参照)の値によって大きく結果が変わることを確認した．曲を通じて音が変わりやすい場所，変わらない場所もあると考えられることから，そこで曲を通じて一律で値を決めるのではなく，もともとのクロマベクトル系列の隣り合う分析フ
レーム間の差の大きさに応じて遷移しやすさを調整することが考えられる．

6. おわりに本研究では既存曲の混合音中のコード進行を編集加工するための手法を検討した．ユーザが音楽データベース中の楽曲を選択するだけで，その選択した楽曲のコード進行が分析され，その特徴が反映されるように，音高を追加・抑制しながら音楽音響信号を編集加工する方法を提案した．
今後，編集加工後の音質の向上のため，追加・抑制する音
図 5 編集加工前後のクロマベクトル (最上段)，編集加工前後のクロマベクトルの差分 (中段)，追加・抑制に使われた音高のクロマベクトル (下段): 追加・抑制に使われた音高によってクロマベクトルの差分が表現できた．の調波構造に制約を置く，音高の遷移コストを自動決定する，といった方策に取り組みたい．
謝辞

吉井和佳氏，中野倫靖氏より助言を受けた．本研

究の一部は JST CREST「OngaCREST」プロジェクトの5. 実験 B：クロマベクトル差分が音高の追加と抑制で表現できることの確認支援を受けた．実験には RWC 研究用音楽データベース(ポピュラー音楽 RWC-MDB-P-2001，音楽ジャンル RWCMDB-G-2001) を使用した．

5.1 実験目的と実験条件
編集加工された新しいクロマベクトルと加工前のクロマベクトルの差分が，実際に音の追加と抑制で表現できるか参考文献[1]を，追加・抑制に使われた音高のクロマベクトルを計算し確認した．

[2]

RWC 研究用音楽データベース (ポピュラー音楽) の楽曲 RWC-MDB-P-2001 No. 05 と No. 07 を用いた．楽曲

No. 05 のコード進行を参考に楽曲 No. 07 の音楽音響信号を加工する場合を想定し提案法を適用した．いずれの楽曲[3]

も 16 bit 符号化，44.1 kHz サンプリング，モノラルの音響信号に変換した上で，それぞれ 10 s を切り出しウェーブ
レット変換を行った後，ウェーブレット領域において分析[4]

フレーム長 0.1 s でクロマベクトルを計算した．非負値行列分解では 7 つのテンプレートへと分解し，分解アルゴリ
ズム中の反復回数は 10 回，テンプレート同士の補間係数[5]後藤真孝: 音楽音響信号理解に基づく能動的音楽鑑賞インタフェース, 情報処理学会研究報告, Vol. 2007, No. 37,
pp. 59–66 (2007).
Yoshii, K., Goto, M., Komatani, K., Ogata, T. andOkuno, H. G.: Drumix: an audio player with real-timedrum-part rearrangement functions for active music listening, 情報処理学会論文誌, Vol. 48, No. 3, pp. 1229–1239(2007).
亀岡弘和, ルルー・ジョナトン, 大石康智, 柏野邦夫: MusicFactorizer: 音楽音響信号をノート単位で編集できるインタ
フェース, 情報処理学会研究報告, Vol. 2009, No. 9, pp. 1–6(2009).
Fujishima, T.: Realtime Chord Recognition of MusicalSound : a System Using Common Lisp Music, in Proceedings of ICMC 1999, pp. 464–467 (1999).
Sheh, A. and Elis, D. P. W.: Chord Segmentation andRecognition using EM-Trained Hidden Markov Models,in Proceedings of ISMIR 2003, pp. 183–189 (2003).

は a = 0.2(式 (8) 参照) とした．

5.2 実験結果と議論
クロマベクトル系列を編集加工した結果を図 5 に示す．
編集加工前後のクロマベクトルの差分が，ピッチシフトした音響信号から櫛形フィルタで取得した音高によって表現できていることを確認した．合成された音を聴いたとこ

c 2013 Information Processing Society of Japan6