TOPお知らせごあいさつ募集要項カリキュラム教官リスト設備参加学生紹介イベント・レポートソフトウェア

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

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

 はじめに

近年,急速なITの発展に伴い,ソフトウェアの開発力と実装力のみならず戦略性に対する鋭い着眼力が開発者に強く求められる時代に突入した.筆者が平成15年7月より参加している戦略ソフトウェア創造人材養成プログラムは,このような人材を育成するために東京大学情報理工学系研究科が実施した教育コースである.本報告では,戦略ソフトウェア創造人材養成プログラムの認識行動システム分野における教育生として筆者が参加した平成15年7月から平成16年3月までの半年間の活動を報告する.

筆者が考える戦略とは,多くの人々(必ずしも多くなくとも良い)にとって大変有用であるという確信が持てる対象に着眼し,これまでに存在しなかった奇抜なアイディアにより,実現が難しいとされてきた問題の解法を導くことである.有用な対象の例として,生活の便に貢献するもの(ロボットの開発技術など),他の技術開発や研究に間接的に貢献するもの(計算アルゴリズムの研究など),個人の娯楽や趣味に貢献するものなどが挙げられる.

筆者は,特に娯楽趣味へ貢献する材料として,音楽音響信号をMIDI(Musical Instrument Digital Interface)に自動変換する装置(以後,MIDIコンバータ装置と呼ぶ)を「有用」かつ「難解」な対象として考え,その開発を本プログラムにおける第一の目標とした.これを目標とした理由は3つある.まず第1に,自身のこれまでの趣味としての音楽経験において,必要性を強く感じる機会があったからである.複数の人々が協力して1つの音楽を創造(演奏や作曲)していく過程は至極一般的である.例えば,スタジオで即興で制作した楽曲を実際に演奏し,後でその録音音源をもとにMIDIで再構成することで微調整でき,完成度を高めていくことができるが,MIDIに再構成する作業自体には想像以上の労力がかかるものである.同じ経験をもち,その必要性を感じる人は決して少なくないはずであると筆者は信じている.第2に,産業界において需要が高いと推測されるからである.携帯電話の普及により,着メロ(着信メロディ)を大量に購入する大衆(特に若者)の習慣や流行は,今更説明するまでもない.着メロは,MIDI信号に他ならず,多くの人件費を注ぎ込んで昼夜作成しているのが現状である.また,カラオケに使われる伴奏も同様である.第3に,市販のMIDIコンバータ装置が概して実用レベルから程遠いからである.ただし,これは従来の試みが少なかったという意味ではなく,技術的に実現が非常に困難であることを暗に示している.MIDI信号は,音の振動を直接表現する音響信号とは全く異なる情報であり,はるかに抽象度の高い,演奏指令情報(例えば,発音開始時刻,音高,音の強弱,音色など)であり,コンピュータに人間と同等の音楽理解能力が望まれる高度な技術が必要となる.

 多重音の基本周波数解析

 工学的研究の背景

MIDIコンバータ装置を実現する上で最も重要な要素は,多重音の基本周波数(音高に相当する物理量)を自動検出する技術である.入力信号が単一音であることを想定した基本周波数の分析手法は,主に音声信号処理の分野で数多く研究されてきたが,多重音を対象とした基本周波数解析手法は問題がはるかに難解であり,同時発音数が既知(固定)である状況や最大同時発音数を高々3程度に限定した手法はいくらか提案されているものの,いまだに確立した方法論は提唱されていない.

これまで,多重音を形成する要素に関して仮説を立て,その仮説の組み合せから尤もらしい解を探索する音名同定手法が考えられた.しかし,仮説の組み合せ数が,想定する同時発音数,ピッチレンジ,ピッチ分解能などに伴って膨大となってしまう問題や,事前に立てた仮説だけでは十分補えきれない性質や要素が対象とする多重音に含まれる場合は扱えないという問題があった.

一方,音名同定としてではなく厳密に基本周波数を推定するために,多重音信号を関数で記述して近似理論に基づいて直接パラメータを求めることで信号を分離する手法が考えられた.組み合せ問題としてではなくパラメータ数に比例した数の次元の中で最適解を探索するため,探索空間が膨大にはならないが,必然的に煩雑な解析を要し,高々2程度の発音数しか対象として扱うことができなかった.

これに対し,信号ではなくパワースペクトルをパラメトリックなアプローチで各音のスペクトルに分解する手法では,位相情報の分だけ求めるべきパラメータの次元は小さく済むため最適化問題の解析は簡略化され,より多くの同時発音数を対象として扱うことが可能となった.後藤が提案した手法では,まず,あらゆる基本周波数の音の存在を想定して,各音の調波構造を混合正規分布で音モデルとして表現する.多数の音モデルの混合分布と観測される多重音スペクトル分布が最も近くなるように,各音モデルにかかる重みパラメータを推定することで,各基本周波数が入力多重音に含まれる確からしさを分布として表現できる.あらゆる基本周波数の存在を想定することで,同時発音数に依存せずに解析可能であるという利点があるが,反面,同時発音数を具体的に決定しないために,本来存在する基本周波数以外にも,倍ピッチや半ピッチ(本来の基本周波数の整数倍あるいは整数分の1倍の基本周波数の総称)や他の基本周波数の音モデルが相補的に1つの音のスペクトルを形成し,実際には存在しない基本周波数の確からしさが大きく出てしまう傾向が十分考えられた.

 提案手法の概要

そこで,我々は,パワースペクトルをパラメトリックに分解する問題に立脚し,(1)基本周波数を連続値として検出する,(2)同時発音数を推定する,(3)倍ピッチ/半ピッチ誤りを回避する,新しいアルゴリズムを提案した.これまでの多数の従来手法が基本周波数推定値を離散的な候補の中から選択するという枠組(離散スペクトルのローカルピーク抽出もこの範疇に含まれる)に含まれたのに対し,より高精度な推定手法として実数値演算による凖直接的な解法を導いた.同時発音数の情報は非常に重要であるにもかかわらず,物理的に判断する基準が不明瞭であるという理由から,これまで具体的に推定する手段に関する議論は比較的放置されてきた.また,倍ピッチ/半ピッチ誤りを如何に回避するかという問題も同様の理由により,その重要性にもかかわらず,さもピッチ抽出研究における永年の呪縛であるかのように捉えられ,それほど取り沙汰されてこなかったのが現状である.これらの重要な論題に着目し,解決する手段を提案する.概要は以下のとおりである.

まずパワースペクトルモデルを調波構造をモデル化した拘束条件つきの混合正規分布を複数混合することで形成し,これを統計的推定手法の応用によって最適近似することで基本周波数を連続値として高精度に検出する新しい基本原理を構築し,これに準拠してさらに,情報量規準の理論により同時発音数と真の基本周波数位置の決定(倍ピッチ/半ピッチを回避する)問題を定式化し,全体のアルゴリズムを構成する.

このアルゴリズムを用いて実際に基本周波数を検出した例を図1に示す.対象とした音響信号は,ヴァイオリン三重奏によるKanon(J.~Pachelbel)の実演奏をサンプリング周波数44.1kHzで録音したディジタル信号である.図を見ての通り,本アルゴリズムの高い性能を確認することができる.


図1"Kanon"の楽譜の一部と同部分の基本周波数推定結果(×印がフレーム
毎の推定値,破線が楽譜に書かれた音名に相当する基本周波数を表す.)


 音楽音響信号のMIDIコンバータ装置

 MIDIデータに関する基本事項

MIDIは,Musical Instrument Digital Interfaceの頭文字を合わせたもので,音楽の演奏情報を伝達するための広く知られる規格である.ここで言う演奏情報とは,楽器演奏の要素となる「音の高さ,大きさ,長さ」と音色などを数値化したものをさし,音楽演奏の指令情報である.MIDIにおいて基本となる指令情報(メッセージ)を表1に具体的に示す.これらの数値化されたメッセージを調整することで演奏のニュアンスなどの変更編集が可能であることが大きなの特長であり,波形自体の情報である音響信号とは根本的に異なる.

MIDIデータの中で最も基本となるデータは,まず各音に割り当てられた発音開始時刻と発音終了時刻を表すノートオン,ノートオフメッセージである(これらが定まればゲートタイムが必然的に定まる).次に各音に音階名をノート番号として割り当てる.これらがMIDIによる音楽演奏情報表現の必要最小限のデータとなる.さらに,音色番号の指定による楽器音の選択やベロシティメッセージによる演奏の抑揚のある表情付けによって音楽としての表現力を高めていくことができる.また,ビブラートやグリッサンド(スライド,チョーキング,しゃくり上げ,etc.)などといった連続的なピッチの揺らぎや推移を,ピッチベンドメッセージにより表現することもできる.

表1 基本的なMIDIデータの例とそれぞれの説明
メッセージの種類説明
ノートオン1つの音の発音開始指令の時刻.
ノートオフ1つの音の発音終了指令の時刻.
ノート番号音の高さ.各音階ごとに番号が割り当てられる.
ベロシティ1つの音の発音強弱.
ゲートタイム1つの音のノートオンメッセージからノートオフメッセージまでの長さ.
ピッチベンド指定されているノート番号の音高からのピッチシフト(逸脱)の大きさ.
音色番号トラックごとに定めることができる音色(楽器)の種類.


 発音開始時刻と発音終了時刻(継続時間)の推定

上述した多重音の基本周波数解析アルゴリズムは,フレーム(短時間周波数分析の分析窓)ごとに基本周波数や同時発音数を推定するため,図1のような結果を直接MIDIに変換すると,フレーム周期(例えば10ms程度)間隔の異常な速弾きとして表現される.しかし,実際には音は細切れになっているわけではなく,同一音高が継続されている場合は1つの音が任意の長さで発音されていると解釈すべきである.すなわち,図1のような結果から,適切な発音開始時刻と発音終了時刻を推定する方法が必要である.

メディアンスムージングなどのような画像補正技術も有効であると考えられるが,よりロバストなアプローチとしてHMM(Hidden Markov Model, 隠れマルコフモデル)の問題に帰着させる.まず,観測される基本周波数は,演奏者が意図する音階からの実現値であると仮定する.すなわち,演奏される音の1つ1つは,それぞれ特定の音階が対応していると考える.そこでまず任意の音域の音階の数だけHMMを用意し,それぞれのHMMに音階を対応させる.各HMMは2つの状態,発音状態と無音状態を確率的に遷移しながら観測系列を出力する時系列モデルとなる.観測系列を,図1のような推定基本周波数系列(誤推定も含まれる可能性もある)とし,これを手がかりとして尤度最大となる最適な状態遷移を逆推定する問題をViterbiアルゴリズムによって解くことができ,各音階がどの時間区間において発音状態であるかが分かる.これにより,発音開始時刻と発音継続時間を適切に推定することができ,さらに基本周波数推定誤りによる推定値の孤立点を除去する働きにもなる.

 以上より,音楽音響信号からのMIDIコンバータ装置として必要最小限の技術が揃ったことになる.これらの技術を集積し,Tcl/TkによるMIDIコンバータのGUIを試作した(図2).



図2MIDIコンバータ装置のための試作GUI(Tcl/Tk)の概観(周波数解析を行うと,ヘッダ情報が左下
に表示される.アルゴリズムを実行すると,右の白色のキャンバス上に推定基本周波数値が
プロットされる.図に描かれている緑色の分布はモデル近似の近さを表し,小さい値をとる時刻
の推定結果は信頼性が高いことを意味する.)


 ソフトウェアとしての質向上の試み

以上までで出来上がったソフトウェアは,機能面や実用面(特に計算時間)や精度に関してはまだ発展途上である.より快適で便利なソフトウェアを目指し,アルゴリズムとして発展や機能の充実などを試みた.

 時間追跡処理による計算効率と基本周波数推定精度の向上

上述した多重音基本周波数解析アルゴリズムは,毎フレーム,同時発音数推定と倍ピッチ・半ピッチ誤りを回避する基本周波数推定の手続きをとっており,いずれも2重ループの多大な計算時間(リアルタイムの10〜20倍程度)を要する処理過程が必要である.また,推定精度に関しても,情報量規準に基づいて同時発音数を推定する場合,相対的にパワーの小さい音は無視されてしまう傾向が避けられなかった.

通常の音楽演奏では,頻繁に(フレーム周期10ms間隔で)同時発音数が劇的に変化したり,同一の音高を演奏している時に極端なピッチ変化が生じることは考え難い.そこで,直前時刻の推定結果を用いた再帰計算(カルマンフィルタ)による時間追跡処理を加え,この処理と多重音基本周波数解析処理とをフレームごとに選択的に実行することで,推定精度と計算効率は大幅に上がることが予想される.この結果,リアルタイムの2倍程度の計算時間で処理できるようになり,精度も向上した.

 快適性を目指したオプション機能の検討

より快適なソフトウェアとする上で,あればユーザが喜ぶであろういくつかのオプション機能の案を教育コースミーティングで提案し,議論した.

  • 演奏パート分離と複数トラックへの振り分け

    音楽は概して複数の旋律や演奏パートから構成され,それぞれ異なるトラックに振り分けられる方が望ましいと考えるユーザは多いはずであるが,現状の装置では,単一のトラックにまとめて出力されてしまう.このようなデータは複雑になりすぎて人手で振り分ける操作すら困難となってしまう可能性が高い.ユーザにこれだけの負担を与えないためにも,トラックへの自動振り分けの機能は備わっていることが望ましい.あるいは,視覚的にインタフェースを工夫して人手の操作を助長する方向性も考えられる.

  • 音色特徴量を利用した音色番号の自動選択

    MIDIデータの音色番号は通常デフォルトではピアノの音色となるので,対象の音響信号を模倣する目的(例えば,着メロやカラオケ伴奏作成など)で本装置を使うユーザは,各音色番号の音色と実際の対象音の音色を聞き比べながら音色番号を選択していく必要がある.筆者らが提案する多重音推定アルゴリズムは基本周波数以外にも音色情報も抽出できるため,この特長を活用して物理的に最も近い音色の音色番号をトラックごとに自動決定することができる.



    図3音色番号の自動決定の概念図.(GMサウンドセットと呼ばれる共通仕様の128音色から選択)


  • 打楽器音の判別

    ポピュラー音楽においては,打楽器音は必ずと言って良いほど含まれるため,打楽器音の自動判別も上記同様,重要な機能である.調波構造を手がかりに多重音推定を行う現状のアルゴリズムだけでは,打楽器まで再現することはできないため,アルゴリズム面での拡張により打楽器音の種類を自動決定する方法を検討する必要がある.

  • その他

    音楽理論などの先験的知識の組込みや,リズム正規化による拍位置の自動調整など,上で述べた機能以外にも快適性を向上する可能性のある機能を多数提案した.

 今後の課題

アルゴリズム面の質向上とともに,様々なオプション機能を発案して追加していき,万人が満足する高性能なソフトウェアとして完成していきたい.また,インタフェースとしての使いやすさを意識したGUI作成に取り組んでいく予定である.また,MIDIコンバータ装置の開発が一段落したら違うテーマにも取り組んでみたい.


ページ

TOPへ