戦略ソフトウェア創造教育コース報告

情報理工学系研究科 システム情報学専攻
亀岡 弘和

平成16年度は、音響信号からのMIDI自動変換のためのGUIの基本的な実装をまず行った。実装(実際に利用)してみて、より快適で使いやすいGUIであるために何が必要であるかについて考え、そのためにどのような機能が必要そうであるかを先生方とミーティングで議論した。まず第一に、周波数解析に用いるウェーブレット変換の計算時間が議題に上がり、高速計算法を特任助手の田原氏と議論して開発した。第二に、満足するMIDI 変換結果が得られない場合に、容易に修正できるような機能が必要ではないかとの指摘が上がった。そこで、嵯峨山研究室で開発中の音高可視化技術(Specmurt法と呼ぶ)を組み込むことで視覚的手がかりをもとにユーザが手軽に変換MIDIデータを書き換えることができる機能を実現した。詳細を以下で解説する。

 MIDI自動変換ソフトの実装

 平成16年度開始時までの進捗

多重ピッチ解析は音響信号処理の分野ではいまだ未解決の懸案課題の1つである。MIDI自動変換ソフトを実現するためには、音響信号から混在する各音の音高、オンセット、音長を正しく推定する方法論の開発が必要がある。我々は、多重音パワースペクトルは、櫛形の調波構造のスペクトル(有ピッチ音は一般に、知覚的に音高に関係すると言われる基本周波数と、その整数倍の周波数に強い成分をもつため、スペクトル領域で見ると櫛形の構造をなす。) が複数重ね合わされたものであると考え、櫛形構造をなす拘束つき混合ガウス分布モデルで1つの調波構造をモデル化し、その重みつき和で多重音スペクトルをモデル化することとした。このモデルのパラメータは、EMアルゴリズムと呼ばれる効果的な反復最適化アルゴリズムで局所最適推定することができ、複数音の基本周波数をはじめとする物理量を高い精度で同時測定できる。我々はこの原理をハーモニッククラスタリングと呼んでいる。ハーモニッククラスタリングは基本的には短時間窓における多重ピッチ分析法であり、短時間窓をある一定周期でずらしながら解析していくと、推定されたピッチの点列を得ることができる。次に、このピッチ点列からオンセットと音長を推定するのにHMM(隠れマルコフモデル)を応用した。詳細の原理については前回の活動報告で解説済みなのでここでは割愛する。以上の2つの技術を実装し、以下の図のようなGUIを試作した。



図2MIDIコンバータ装置のための試作GUI(Tcl/Tk)の概観(周波数解析を行うと,ヘッダ情報が左下
に表示される.アルゴリズムを実行すると,右の白色のキャンバス上に推定基本周波数値が
プロットされる.)


 実際に利用してみて

上記のGUIを実際に利用して音楽のディジタル信号からMIDIを作成する一連の操作を試した結果、主に以下の2つの問題が議題に上がった。

  • ウェーブレット変換によるスペクトル計算の時間がかかりすぎる
  • 自動変換によって得られた不完全なMIDIデータの手修正は想像以上に面倒

ウェーブレット変換は、FFTとは違い対数スケールの周波数分解能のスペクトルが得られ、音楽の音階スケールと合致する性質をもつものの、長い計算時間がかかるということは広く知られる。ユーザの立場から見てみると、いざMIDI変換ソフトを使おうとしているのに、前処理の周波数解析だけで30秒弱の音楽信号に対して10秒〜20秒程度かかるのは極めて不快であろう。一方で、多重ピッチ解析の問題は技術的に難解であるため、変換されたMIDIデータには必ずと言って良いほど推定誤りを伴う(これはいかなる多重ピッチ推定法を搭載したとしても例外はない)。このような不完全な変換MIDIデータをわざわざXGWorksなどの他のMIDIシーケンスソフトを使い、何度も原曲を聴きながら少しずつ修正していくという労力を使い手に課すのはあまりにも酷である。以上の2点を解決しない限り、「いっそのこと最初から原曲を聴ききながら手でMIDIを作成をしよう」と使い手側から言われ兼ねないと思われる。平成16年度は以上の2つの懸案問題を課題として議論し、解決策を探った。



 ウェーブレット変換の高速近似計算法の開発

特任助手の田原氏と議論した末、ウェーブレット変換の「近似」計算が高速でできることに気づいた。この考え方が本当に技術的な新発想であるかどうかは調査不足のためいまだ不明だが、定量評価を行った結果、99%の近似精度のスペクトル計算がたったの1/100倍の計算量で済むことが判明した。元のウェーブレット変換で計算したスペクトルと近似計算によるスペクトルの両者に対するハーモニッククラスタリングの性能が同等であったことを考慮すると、これほどの計算量削減の効果は極めて大きい。原理については、ここでは公開しないこととする。

 音高可視化法(Specmurt法)の導入

推定誤りを常に伴う変換MIDIを如何にすれば容易に手軽に修正できるだろうか。「そもそもユーザがMIDI変換ソフトを使いたがるのは一体どのような状況か」という問いについて考えてみると、音楽熟練者や絶対音感保有者以外の人間がMIDIを作成する必要に迫られた(このような状況は実は意外と少なくない。カラオケにおける伴奏や携帯の着メロは一体誰が裏方で苦労して作成しているのかというのを少し考えてみれば明らかであろう。)ときであろう。変換MIDIデータの修正操作が技術的に不可欠であるとするならば、その操作が容易に行えるような配慮は少なからず必要である。ここでは、多重音信号の音高に関する視覚的手がかりを与える、音高可視化手法(Specmurt法)を簡単に紹介する。Specmurt 法は、多重音スペクトルから基本周波数成分以外の成分を抑圧し、音高らしさを表す分布を出力するもので、推定値を出力するハーモニッククラスタリングとは性質が異なる。まず下図のような多重音スペクトルモデルを考える。u(x)が基本周波数とその成分を表す分布のとき、h(x)のような櫛形構造のパターンとu(x)の畳み込みにより、同一の調波構造パターンをもった構成音からなる多重音スペクトルv(x)が表現できる。これは、対数周波 数領域では、調波構造の周波数の相対関係が基本周波数に依らず保たれ、全体が基本周波数に応じて単純にシフトするという性質に基づいている。ここで、観測されたスペクトルをv(x)と考え、h(x)で逆畳み込みを行えば、u(x)に相当する分布が得られるであろうというのがSpecmurt法の考え方である。逆畳み込みは、畳み込みの定理よりフーリエ変換領域では除算になることを利用すれば、v(x)、h(x)、u(x)のフーリエ変換(あるいは逆フーリエ変換)をV(y)、H(y)、U(y)とすると、V(y)/H(y)でU(y)が計算できる。これをもとのx領域に戻すためにU(y)に逆フーリエ変換(あるいはフーリエ変換) を施せばu(x)が求められるわけだ。この処理は、観測スペクトルv(x)の中に調波構造があった場合に、基本周波数成分以外の成分を抑圧する操作に相当し、その結果、音高を推定するのではなく、音高らしさの分布を出力する。



図2基本周波数分布u(x)と櫛形構造パターンh(x)の畳み込み表現による多重音スペクトルモデル。

 Specmurt法により出力される基本周波数分布の例を解析した音響信号のスペクトログラムと併せて下図に示す。



図3解析した音響信号のスペクトログラム(左)と出力した基本周波数分布(右)。

以上のような基本周波数分布は、音高らしさとともにスペクトログラムと同様な感覚でオンセットなどの情報が分かりやすく視覚提示されるのが特徴である。以上より、ハーモニッククラスタリングとHMMによる変換MIDIデータをSpecmurt法による基本周波数分布を背景画にしてうまく合わせて表示し、それが手操作で調整できるような誤り修正用機能をGUIに追加することにした。

 出来上がりのGUI



図2出来上がりのGUI。ハーモニッククラスタリングにより推定したピッチが赤点で表示される。



図2「Specmurt」ボタンを押下すると、ポップアップで基本周波数分布
(グレースケール濃淡表示)と変換MIDIデータ(緑色の矩形オブジェク
ト)を表示したウィンドウが現れる。緑色の矩形オブジェクトは、
生成/消去/移動/伸縮でき、基本周波数分布の背景画を頼りにMIDIが
編集できる。

 おわりに

アルゴリズム面の質向上とともに、さらにインタフェースとしての快適性を意識し、機能が充実したMIDI変換ソフトの完成を目指していきたい。


ページ

TOPへ