Comments
Description
Transcript
here - SOM Meeting in JAPAN Homepage
SOM2009-10 HMM-SOMを用いたMIDI音楽小節のクラスタリング HMM-SOM を用いた MIDI 音楽小節のクラスタリング The clustering of the phrase of MIDI music using HMM-SOM ○田中 耕平 佐賀大学 大学院工学系研究科/生体機能システム制御工学専攻 ([email protected]) Kouhei Tanaka, Saga University, 堂薗 浩 佐賀大学 大学院工学系研究科/生体機能システム制御工学専攻 ([email protected]) Hiroshi Douzono, Saga University 2009 年 3 月 10 日(March 10th, 2009) 1 はじめに ことである.また,1つのジャンルや作曲家に特化 した楽曲データを HMM-SOM で学習させることで, 我々は,これまで個人の趣向にあうプレイリスト その作曲家の曲の特徴を持った HMM がその類似性 作成の研究として MIDI 楽曲 [1] を音高や音長の出 に応じて SOM 上のマップに生成され,作曲家の補助 現頻度を入力ベクトルとする自己組織化マップ (Self- ツールとして役立つ可能性を秘めている.本研究で Organizing Map,SOM)[2] による曲のジャンル毎の分 類・個人の趣向による分類や,隠れマルコフモデル は,HMM-SOM 上のマップに単旋律 (4 分の 4 拍子 (Hidden Markov Model,HMM)[3] を用いて各ジャン ルの主旋律部 (メロディーライン) をモデル化を行っ た.そして,HMM-SOM により学習を行い,曲やジャ の 1 小節分) の生成実験を行う. 2 MIDI ンルの特徴を抽出する実験を行なってきた.これらの 音楽データとしては,音楽情報をそのままサンプ 先行研究 [4][5] から,HMM-SOM を用いて学習後の マップを利用し,マップ上の音高・音長情報をつなぎ 合わせることで作曲できるではないかと考えた. 自動作曲に関する研究は,計算機が考案された当初 から企業や大学などで盛んに行われており,遺伝的ア ルゴリズム (GA) を用いたものや HMM を用いたもの などが研究されている.近年では,東京大学の研究チー ムにより任意の歌詞から自動作曲を行う”Orpheus”と リングした WAVE データや,その圧縮データである MP3,AAC などが一般的であるが,通常の音楽デー タは 44.1[kHz] でサンプリングされており,1曲平均 60∼70[MB] であるため,1 曲解析するには音楽デー タのサイズがあまりにも大きく,このサイズのデータ を直接解析するのは困難である.また,WAVE デー タは,音の波形そのものを解析するため演奏者や録音 環境などで条件を統一できない.一方,MIDI によっ いう自動作曲システムも開発されている. 本研究で用いる HMM-SOM は,SOM 上の各ノー ドに HMM を配置し,入力される音高列全てに対し, 尤度が最大となる HMM を持つノードを勝者と決定 し,その勝者ノードを中心に近傍の幅を狭めていき ながら学習を繰り返し行うことで,SOM のマップ上 には類似した小節が学習された HMM が配置される. このように,SOM 上のノードに HMM を用いること の利点としては,一般的に SOM では,時系列情報を 扱うことができないとされているが,HMM による 時系列信号のモデル化を行うことで SOM により時 系列信号を扱うことが可能となり,さらに SOM を用 て送られるのは,実際の音ではなく,発音せよ,消音 せよ,音の高さ,音の大きさといった楽器や音源への メッセージの連なりの譜面データであるため,演奏者 や楽器によらず解析条件を統一できると考えられる. さらに,そのデータのサイズも WAVE データに比べ て非常に小さい.また,SMF(Standard MIDI File) は,世界標準の MIDI 規格であり,インターネット等 を通じて MIDI ファイルよりも入手しやすく,解析用 に大量のデータを入手するのに適していると考えら れる.これらの理由より,SMF を解析用のデータと して使用した. いることで構造化,低次元化することも可能である - 51 - 第10回自己組織化マップ研究会2009 講演論文集 (2009年3月10日 名古屋大学) Technical Reports of 10th Annual Meeting of Self-Organizing Maps in JAPAN 2009, March 10th 2009 at Nagoya University 2.1 MIDI イベント 隠れマルコフモデル 3 トラック内のデータは,デルタタイム (直前のイベ 隠 れ マ ル コ フ モ デ ル (Hidden Markov Model, ントからの時間差) とチャンネルメッセージという形 HMM) は,統計学や音声認識などの分野において発 式になっており,実際の演奏情報である“ MIDI イベ 展してきた確率モデルであり,1990 年代になってバ ント ”もこのような形でトラックチャンクに構成され イオインフォマティクスに応用され,遺伝子領域推 ている.本研究では,実際の演奏情報である MIDI イ 定,タンパク質構造予測などの配列解析に関わる様々 ベントのノートオンメッセージ,ノートオフメッセー な問題に適用されており,その成果をあげている. ジとデルタタイムを SMF から抜き出し解析に使用 した. HMM は,ある状態から別の状態へと確率的に遷移 を行う.そして,各状態において複数存在する出力記 号の中から 1 つを確率的に出力する.そのため,1 つ デルタタイム デルタタイムは,上述したように「直 の観測される出力系列からそれに対応する状態系列 前のイベントからの時間差」ということである.ここ を 1 つに決めることはできない.つまり,観測可能な でいう「時間」とは,ヘッダーチャンクで指定してい 記号だけでは,どの状態を遷移しているか特定できな る,4分音符あたりの分解能 (division) をベースにし い.これが, “ 隠れ ”マルコフモデルと呼ばれる理由 ている.デルタタイムが 0 の場合,直前のイベントと である. 同時であるということを示す.例えば,1つのトラッ ク内において, イベントを同時発生させたい時,和音 3.1 を鳴らしたい時である. ノートオンメッセージ,ノートオフメッセージ キー ボード演奏情報の中で,最も基本となるのが音階を 演奏することであり,これを MIDI では, “ キーを押 す ”というノートオンメッセージと“ キーを離す ”と いうノートオフメッセージで表現しており以下のよ うな形で表される.n はチャンネル番号,kk はノー トナンバーで音の高さを 0∼127 で表し,vv はベロシ HMM には,ある系列が与えられた時に,どの経路 を通ってこの系列が出力されたかを推定するアルゴリ ズムである Viterbi algorithm,系列が出力される確 率を計算する Forward・Backward algorithm,学習 データとして与えられた系列群からそれらのデータに 最適なパラメータを推定する Baum-Welch algorithm がある.以下に,説明に使用する記号の定義を行う. • qm : 状態の集合 • akl : 状態遷移確率を表す.akl は,状態 qk から ∑ 状態 ql への状態遷移確率を表し, l akl = 1 が ティーでノートオンメッセージの場合 1∼127 であり, ノートオフメッセージの場合 0∼127 である. • ノートオンメッセージ…9n kk vv (H) • ノートオフメッセージ…8n kk vv (H) 2.2 HMM のアルゴリズム 成立するものとする. • ek (y) : 文字出力確率を表す.ek (y) は,状態 k における文字 y の出力確率を表し,q0 において SMF における小節線の算出方法 は文字を出力せず,それ以外の qk においては, ∑ b ek (y) = 1 が成立するものとする. SMF は,小節線の概念が無く,あるイベントから 次に起こるイベントの時間差で表現する相対時間のた め,曲頭からの絶対時間に直し,1 小節あたりのチッ Forward algorithm Forward algorithm は,ある ク数 (MIDI における時間単位,ticknum) を算出し, 系列 s を出力するすべてのパスを考えて,s が出力さ 小節線の位置を推定する必要がある.そのため図 1 に れる確率を計算する. fk (i) は,最後の状態 ( s[i] を 示すように,拍子情報を表すメタイベントから , を 出力した状態) が qk という条件の下で,s[1, . . . , i] を 抜き出し,式 (1) により曲の拍子を算出し,式 (2) を 出力する確率であるとすると,この fk (i) は,(3) 式 用いて 1 小節あたりの時間を求める. d beat = 2n division ticknum = 2×d に基づく動的計画法アルゴリズムを計算することで, (1) 計算される. ∑ fk (i) = ek (s[i]) fl (i − 1)alk (3) ql ∈Q (2) Backward algorithm Forward algorithm では, qk で終わるパスを考えたが,Backward algorithm で は,qk からはじめ,s[i + 1, . . . , n] を出力する確率を 図 1: 拍子情報を表すメタイベント - 52 - SOM2009-10 HMM-SOMを用いたMIDI音楽小節のクラスタリング 計算する. その確率を bk (i) とすると,(4) 式に基づく 動的計画法アルゴリズムにより計算できる. ∑ bk (i) = el (s[i + 1])bl (i + 1)akl (4) ql ∈Q Baum-Welch algorithm HMM を確率モデルと して使用するためには,モデルにおける状態集合と 出力シンボルの集合を決定し,確率パラメーター (状 態遷移確率,シンボル出力確率) を決定する必要があ 図 2: 入力データ集合の平均尤度変化 る.学習データの状態列が既知であればパラメータの 推定は容易であるが,未知の場合は直接パラメータ の推定を行うことができない.その時に用いるのが, Baum-Welch algorithm である. このアルゴリズムでは,仮に決められたパラメータ Viterbi algorithm モデル λ において観測系列 Y に対する最適な状態系列 (尤度最大) を求めるために, 変数 δt (i) を (9) 式のように,観測信号 yt を出力して, を用いて学習データを出力可能な状態列を考え,与 かつ状態 qi にある最大確率と定義する.この変数を えられた学習データについて各状態遷移とシンボル (10) 式のようにして再帰的に計算し,最も高い確率 P が得られる状態系列を求める. δt(i)=maxq1q2 ...qt−1P [q1q2 ...qt−1qt=i,y1 y2 ...yt |λ](9) 出力が使用される回数の期待値を計算する.次に,そ れらの期待値を使って新しいパラメータを導出する. この過程を繰り返すことによって新しいパラメータを δt+1(i)=maxj [δt (i)aij ]ei (yt+1 ) 推定する. このアルゴリズムでは,学習を繰り返すことによっ て尤度を増加させていき,局所的に最大 (実際には極 大)(図 2) にするように収束するが,最適なパラメー タに収束するとは限らない.ただし,HMM モデルの 1 つである left to right モデルにおいては,収束性が 良いことが知られている. Baum-Welch algorithm では,次のように定義され (10) 状態 i における初期状態確率を πi ,時刻 t 状態 i に おいて生成確率を最大にする経路 (状態遷移) を ψt (j), 最適経路の生成確率を P ∗ ,最適経路上の最終状態を qt∗ とすると最適経路,及びその生成確率は以下の手 順で求まる. • 初期化 δ1 (i) = πi ei (y1 ) ψ1 (i) = • 帰納 δt (j) る Akl ,Ek (y) を用いて,パラメータ θ を更新する. ψt (j) • Akl : 学習データの集合 S = {s1 , . . . , sn } を与え た時に,k から l へ遷移が起こる回数の期待値. • Ek (y) : S を与えた時に,シンボル y が状態 k か ら出力される回数の期待値. • 終了 = 0 maxN i=1 [δt−1 (i)aji ]ej (yt ) = argmaxN i=1 [δt−1 (i)aji ] P∗ = maxN i=1 δT (i) qT∗ = argmaxN i=1 δT (i) • 状態系列のバックトラック (t=T −1,T −2,...,1) ∗ qt∗ = ψt+1 (qt+1 ) 具体的には,これらの値は,Forward algorithm, Backward algorithm を各 sj に適用して得られる fkj (i),bjk (i) を用いた (5) 式,(6) 式により計算するこ とができる. k ∑ 1 ∑ j Akl = fk (i)akl el (sj [i+1])bjl (i+1) (5) P (s \θ) j j=1 i h ∑ 1 ∑ j fk (i)bjk (i) P (s \θ) j j=1 Ek (y)= 3.2 発音時刻モデル MIDI の各音は,音高と音長の 2 つのパラメータで 構成される.演奏のモデル化に関しては,音長を状態 としたモデルなど様々なモデルが考えられるが,本研 (6) i:sj [i]=y 究では,文献 [6] と同様に演奏の発音時刻,すなわち, 音の立ち上がり時刻の分布をモデル化する.発音時刻 全ての遷移と出力に対して ,Akl ,Ek (y) を計算し, を用いて演奏をモデル化するため,発音の前後関係が (7) 式,(8) 式を用いて新たな確率パラメータが計算さ 保存され,音の順序が反転することがなく,今回の場 れ,この過程を図 2 のように収束するまで繰り返す. Akl akl = ∑ (7) l̀ Akl̀ 合は,妥当なモデル化を実現することができると考え ek (y) = E (y) ∑k ỳ Ekỳ (8) られる. HMM には,ある状態から全ての状態に遷移するこ とができる全遷移型や状態遷移が 1 方向にしか進まな い left to right 型などがあるが,本研究では,過去に - 53 - 第10回自己組織化マップ研究会2009 講演論文集 (2009年3月10日 名古屋大学) Technical Reports of 10th Annual Meeting of Self-Organizing Maps in JAPAN 2009, March 10th 2009 at Nagoya University は戻らない時間変化をモデル化するため left to right では,それを HMM で表現する.つまり,SOM 上の 型を用いる方が適切であると考えた. ノードそれぞれが HMM を持っているということで 演奏の発音時刻をモデル化することに関し,効率的 ある.また,一般的な SOM では,勝者ノードをユー に解析を進めるために次のような制約を与えた.解 クリッド距離を用いて一番近いものを勝者ノードと 析には,確率モデルを使用しているため,モデル化す して決定しているが,HMM-SOM では,入力データ る長さが長くなると解析が困難になると考えられる. 1つに対して尤度が最大の HMM を持つノードを勝 そのため,モデル化する範囲を適切な長さに決めて 者として決定する.また,前述した通り近傍系の学 しまうことが必要になる.そこで,本研究では,解析 習の際には,バッチ SOM と Baum-Welch algorithm に使用した曲の中で多く用いられている 4 分の 4 拍 により学習を行っている.学習アルゴリズムを以下に 子の 1 小節をモデル化し,状態数としては,1 拍を 4 示す. 等分した 16 状態の left to right 型とし,遷移は,仮 音階とし 12 個とした.例えば,表 1 のような音高列 1. 図 4 のように,競合層の全てのノードにランダ ムな HMM を与える. 2. バッチ SOM の学習法と同様に,入力データの音 高列の発音時刻の状態遷移のみを考慮し,その データであるとすると図 3 の様に遷移し,シンボル 尤度が最大の入力データを勝者と決定し,その 想的な状態である Start から始まり End で終了する. また,各状態での出力記号は,1 オクターブ分の出力 入力ノードに音高列を与える. 3. マップ上の全ての HMM を,自分自身とその近 出力を行ない,尤度が以下のように計算される. P=P(S,1)·P(C)·P(1,5)·P(D)·P(5,11)·P(E)·P(11,13)·P(F#)·P(13,E) (11) 傍ノードにある音高列を用いて,Baum-Welch algorithm でパラメータ更新を行なう.ただし, 近傍関数により重みづけを行なう. 4. 2, 3 を学習が進むにつれて学習対象とする近傍 のノード数を狭めていきながら繰り返す. 表 1: 或る音高列データ 発音時刻 [tick] 音高 0 480 1200 1440 C D E F# 図 4: HMM-SOM 図 3: 或る音高列データの状態遷移 4 5 HMM-SOM 実験結果と考察 解析に用いるデータは,Rock,Jazz,Country, 本研究では,SOM のニューロンとして HMM を用 Bluse,laten の 5 ジャンルの 80 曲を用いた.HMM を用いて解析を行いやすくするため,データ中から曲 いることで,時系列データの学習が可能となってい の印象を決定付けるメロディーライン (主旋律部) を る.今回のように,SOM に HMM を実装した研究と 抜き出し,1 小節づつ学習を行なう.今回のように, して,HMM-SOM に基づく認知行動の獲得とその学 発音時刻をモデル化している HMM の状態遷移に関 習 [7] という研究が報告されているが,この方法は, しては,データとして同時刻発音のない単音のメロ 一般的な SOM で行われるような重みの調整を用いた ディーラインを用いているため自己ループのない left 学習を行っている.しかし,我々は,バッチ SOM と to right の HMM とした.そして,HMM の各状態で の文字出力時に確率があまりにも小さくなり過ぎな Baum-Welch algorithm を結合させ近傍系を含めた学 習を行う方法を用いた. いようにするため,音高を表わすノートナンバーを 0 ∼11(1 オクターブ分) の音高列に変換した.つまり, HMM-SOM の学習アルゴリズム ノートナンバー 60 番と1オクターブ上の 72 番は,音 一般的な SOM では,各ノードが入力データ空間 “ 0 ”に変換する.このことは,人間の感覚において の特性をベクトルで表現するのに対し,HMM-SOM も,我々が曲を認識する際に,その曲のキーが 1 オ 4.1 域の異なる“ ド ”であるがこれを同じものと見なして - 54 - SOM2009-10 HMM-SOMを用いたMIDI音楽小節のクラスタリング クターブ上であっても下であっても音高が違わなけれ ば,その曲であると認識できるため音域は考慮しな しかし,メロディーの柔軟性のある特性を生かし, 学習回数 8 回,近傍係数 2,マップサイズ 10 ×10 HMM-SOM と Viterbi algorithm を用いて短旋律生 成することできた.これを利用して,SOM 上のノー ド (HMM) を連続して選択していくことで自動作曲 で実験を行った.実験結果を以下に示す.図 5 は,特 システムの実現も可能であると考えられる.この方法 定データに対する各ノードでの尤度分布を示してお は,従来には見られない作曲手法であり,1 つのジャ り,図 6 は,学習データに対して尤度が最大である ンルや一人の作曲家のメロディーを学習させること ノード (学習データに対して一番近い HMM をもつ で,SOM 上の HMM がそれらの特徴に沿う構造に学 ノード) に写像し,小節番号をラベル付けしたもので 習される.つまり,作曲家の曲の特徴を持った HMM ありジャンルを色分けし,勝者として選ばれなかった を SOM 上のマップに生成 することが期待すること ノードを ∗ にしている.図 7 は,図 6 にラベリングさ ができ,作曲家の補助ツールとして役立つ可能性を秘 れた HMM-SOM マップ上の勝者ノードの HMM に めている.さらに,この方法により人間の創造を超え かった. 対して Viterbi algorithm(HMM の最適パス探索アル たメロディーラインを生成することができるかもしれ ゴリズム) を適用し,生成された最大尤度の発音時刻 ない.また,実現することができれば,プロミュージ 系列を算出した状態遷移図である.図 7 の各セルは, シャンだけでなく作曲に親しみがない一般の人々にも 図 6 の各ノードと対応しており,x 軸方向が今回実験 音楽の楽しさ,曲を作ることの喜びを味わえる道具と に使用した HMM モデルの時間軸 (状態) であり,y なる可能性も持っていると考えられる. 軸方向が音高 (シンボル) を表している.各セルの点 上記のことを実現するには,HMM-SOM の持つ複 は,発音点であり状態遷移中は音を発しているとし, 数の問題を解決しなければならない.例えば,十分な ある状態から次の状態に遷移するまでを音長とした. 学習を行うには学習時間が非常に長くなり,一度に多 図 5 より特定の入力データに対して,連続的に尤度 くの楽曲を学習することはできない.また,SOM の が分布しており構造的に近い HMM が,マップ上で ノードそれぞれが HMM を持つためメモリー上マッ も近くに生成されていると考えられる.図 8 は,図 7 プサイズにも限界がある.長い音高列か表現可能な音 のマップ上のノードを譜面にしたものであり,HMM- 高の種類を増やすとモデル化が困難になり,最適なモ SOM 上には様々な単旋律が生成されていることが分 かり,実際に演奏してみると曲として成り立っている デル設定,初期パラメータの設定が重要になるなど ことが確認できた. なる. 解決すべき問題が多くありその解決が今後の課題と 参考文献 [1] 高橋信之, コンプリート MIDI ブック, 株式会社リッ トーミュージック, 東京,2005 [2] T.kohonen, 自己組織化マップ, 徳高平蔵, 岸田悟, 藤 村喜久郎, 東京,1996 [3] 阿久津達也“バイオインフォマティティ , ックスの数理と アルゴリズム”, 共立出版株式会社, 東京,pp.62-71,2007 図 5: 特定のデータによる各ノードでの確率分布 6 まとめ 本研究では,様々なジャンルのメロディーを SOM 上のマップに HMM を用いてモデル化を行なうこと で,HMM-SOM マップ上で様々なジャンルの小節が [4] 田中耕平, 堂薗浩,“ 自己組織化マップを用いた MIDI 音楽の分類”, ニューロコンピューティング研究会 2007 技術研究報告書,NC2007-69,pp.83-88,2007 [5] 田中耕平, 堂薗浩,“ 隠れマルコフモデルと自己組織 化マップを用いた MIDI 音楽の分類 ”, ニューロコン ピューティング研究会 2008 技術研究報告書,NC200859 72,pp.43-48,2008 [6] 浜中雅俊, 後藤真孝, 麻生英樹, 大津展之, “ 発音時刻 の楽譜上の位置を確率モデルにより推定するクォンタ イズ手法 ”, 情報処理学会論文誌,Feb.2002 [7] ソニー株式会社, ”HMM-SOM に基づく認知行動の獲 どの位置にマッピングされるか実験したところ,小節 毎を入力ベクトルとしているため,近い特徴を持つ小 節の音高データによる,ジャンル毎のクラスタは生成 されなかった. - 55 - 得とその学習 ”, 人工知能学会論文誌,2007 第10回自己組織化マップ研究会2009 講演論文集 (2009年3月10日 名古屋大学) Technical Reports of 10th Annual Meeting of Self-Organizing Maps in JAPAN 2009, March 10th 2009 at Nagoya University 図 6: ジャンルマップ 図 7: 各ノードの状態遷移図 図 8: HMM-SOM マップ上の譜面 - 56 -