(58)【調査した分野】(Int.Cl.,DB名)
前記類似指標の算定においては、前記観測スペクトルの各周波数における強度と、音符に対応する音の前記基底スペクトルの当該周波数における強度との積を、周波数軸上の複数の周波数について合計することで、当該音符の前記類似指標を算定する
請求項1の音響解析方法。
【発明を実施するための形態】
【0007】
図1は、本発明の好適な形態に係る自動演奏システム100の構成図である。自動演奏システム100は、演奏者Pが楽器を演奏する音響ホール等の空間に設置され、演奏者Pによる楽曲(以下「対象楽曲」という)の演奏に並行して対象楽曲の自動演奏を実行するコンピュータシステムである。なお、演奏者Pは、典型的には楽器の演奏者であるが、対象楽曲の歌唱者も演奏者Pであり得る。
【0008】
図1に例示される通り、本実施形態の自動演奏システム100は、音響解析装置10と演奏装置12と収音装置14とを具備する。音響解析装置10は、自動演奏システム100の各要素を制御するコンピュータシステムであり、例えばパーソナルコンピュータ等の情報処理装置で実現される。収音装置14は、演奏者Pによる演奏で発音された音(例えば楽器音または歌唱音)を収音した音響信号Aを生成する。音響信号Aは、音の波形を表す信号である。なお、電気弦楽器等の電気楽器から出力される音響信号Aを利用することも可能である。したがって、収音装置14は省略され得る。なお、複数の収音装置14が生成する信号を加算することで音響信号Aを生成することも可能である。
【0009】
演奏装置12は、音響解析装置10による制御のもとで対象楽曲の自動演奏を実行する。本実施形態の演奏装置12は、対象楽曲を構成する複数のパートのうち、演奏者Pが演奏するパート以外のパートについて自動演奏を実行する。例えば、対象楽曲の主旋律のパートが演奏者Pにより演奏され、対象楽曲の伴奏のパートの自動演奏を演奏装置12が実行する。
【0010】
図1に例示される通り、本実施形態の演奏装置12は、駆動機構122と発音機構124とを具備する自動演奏楽器(例えば自動演奏ピアノ)である。発音機構124は、自然楽器の鍵盤楽器と同様に、鍵盤の各鍵の変位に連動して弦(発音体)を発音させる打弦機構を鍵毎に具備する。任意の1個の鍵に対応する打弦機構は、弦を打撃可能なハンマと、当該鍵の変位をハンマに伝達する複数の伝達部材(例えばウィペン,ジャック,レペティションレバー)とを具備する。駆動機構122は、発音機構124を駆動することで対象楽曲の自動演奏を実行する。具体的には、駆動機構122は、各鍵を変位させる複数の駆動体(例えばソレノイド等のアクチュエータ)と、各駆動体を駆動する駆動回路とを含んで構成される。音響解析装置10からの指示に応じて駆動機構122が発音機構124を駆動することで対象楽曲の自動演奏が実現される。なお、音響解析装置10を演奏装置12に搭載することも可能である。
【0011】
図1に例示される通り、音響解析装置10は、制御装置22と記憶装置24とを具備するコンピュータシステムで実現される。制御装置22は、例えばCPU(Central Processing Unit)等の処理回路であり、自動演奏システム100を構成する複数の要素(演奏装置12および収音装置14)を統括的に制御する。記憶装置24は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成され、制御装置22が実行するプログラムと制御装置22が使用する各種のデータとを記憶する。なお、自動演奏システム100とは別体の記憶装置24(例えばクラウドストレージ)を用意し、移動体通信網またはインターネット等の通信網を介して制御装置22が記憶装置24に対する書込および読出を実行することも可能である。すなわち、記憶装置24は自動演奏システム100から省略され得る。
【0012】
本実施形態の記憶装置24は、楽曲データMと音響データQとを記憶する。楽曲データMは、例えばMIDI(Musical Instrument Digital Interface)規格に準拠した形式のファイル(SMF:Standard MIDI File)であり、対象楽曲の演奏内容を指定する。
図1に例示される通り、本実施形態の楽曲データMは、参照データRと演奏データDとを包含する。
【0013】
参照データRは、対象楽曲のうち演奏者Pが演奏を担当するパートの演奏内容(例えば対象楽曲の主旋律のパートを構成する音符列)を指定する。演奏データDは、対象楽曲のうち演奏装置12が自動演奏するパートの演奏内容(例えば対象楽曲の伴奏のパートを構成する音符列)を指定する。参照データRおよび演奏データDの各々は、演奏動作(発音/消音)を指定する指示データと、当該指示データの発生時点を指定する時間データとが時系列に配列された時系列データである。指示データは、例えば音高(ノートナンバ)と音量(ベロシティ)とを指定して発音および消音等の各種のイベントを指示する。他方、時間データは、例えば相前後する指示データの間隔を指定する。
【0014】
図2は、対象楽曲の参照データRで指定される演奏内容の模式図である。
図2に例示される通り、演奏者Pが演奏し得る複数(N個)の音符の各々について、対象楽曲内の複数の時点tの各々における音量を表す係数(以下「音量係数」という)v(t,n)が、参照データRにより指定される(n=1〜N)。任意の1個の音量係数v(t,n)は、時間軸上の任意の1個の時点t(例えば対象楽曲の先頭を起点としたMIDIのティック数)における第n番目の音符の音量(例えばMIDI規格で規定されたベロシティ)を意味する。具体的には、音量係数v(t,n)は、第n番目の音符が時点tで発音される場合には当該発音の音量に応じた数値に設定され、第n番目の音符が時点tで発音されない場合にはゼロに設定される。以上の説明から理解される通り、
図2において時間軸上に配列する複数の音量係数v(t,n)(v(1,n),v(2,n),……,v(t,n),……)は、第n番目の音符が演奏されるべき模範的な音量の時間変化である。
【0015】
図3は、以上に例示した楽曲データMとともに記憶装置に記憶される音響データQの説明図である。
図3に例示される通り、音響データQは、演奏者Pが演奏し得るN個の音符の各々について周波数スペクトル(以下「基底スペクトル」という)H(n)(H(1)〜H(N))を指定する。第n番目の音符に対応する基底スペクトルH(n)は、当該音符の演奏時に発音される音の強度スペクトル(振幅スペクトルまたはパワースペクトル)である。参照データRが演奏内容を指定するパートの楽器を使用してN個の音符の各々を発音し、各音符の発音時に観測された音の周波数特性を解析することで、相異なる音符に対応するN個の基底スペクトルH(1)〜H(N)が事前に生成される。
【0016】
第n番目の音符に対応する任意の1個の基底スペクトルH(n)は、周波数軸上の相異なる周波数に対応するF個の強度h(n,1)〜h(n,F)の系列で表現される(Fは2以上の自然数)。すなわち、任意の1個の強度h(n,f)(f=1〜F)は、第n番目の音符の基底スペクトルH(n)のうち第f番目の周波数における強度(例えば振幅またはパワー)を意味する。以上の説明から理解される通り、基底スペクトルH(n)は、相異なる周波数に対応するF個の強度h(n,1)〜h(n,F)を要素とするF次元の基底ベクトルである。
【0017】
制御装置22は、記憶装置24に記憶されたプログラムを実行することで、対象楽曲の自動演奏を実現するための複数の機能(音響解析部32および演奏制御部34)を実現する。なお、制御装置22の機能を複数の装置の集合(すなわちシステム)で実現した構成、または、制御装置22の機能の一部または全部を専用の電子回路が実現した構成も採用され得る。また、収音装置14と演奏装置12とが設置された音響ホール等の空間から離間した位置にあるサーバ装置が、制御装置22の一部または全部の機能を実現することも可能である。
【0018】
音響解析部32は、対象楽曲のうち演奏者Pによる演奏で実際に発音されている位置(以下「発音位置」という)Yを推定する。具体的には、音響解析部32は、収音装置14が生成する音響信号Aを解析することで発音位置Yを推定する。本実施形態の音響解析部32は、収音装置14が生成する音響信号Aと楽曲データM内の参照データRが示す演奏内容(すなわち複数の演奏者Pが担当する主旋律のパートの演奏内容)とを相互に照合することで発音位置Yを推定する。音響解析部32による発音位置Yの推定は、演奏者Pによる演奏に並行して実時間的に順次に実行される。例えば、発音位置Yの推定は所定の周期で反復される。
【0019】
演奏制御部34は、楽曲データM内の演奏データDに応じた自動演奏を演奏装置12に実行させる。本実施形態の演奏制御部34は、音響解析部32が推定する発音位置Yの進行(時間軸上の移動)に同期するように演奏装置12に自動演奏を実行させる。具体的には、演奏制御部34は、対象楽曲のうち発音位置Yに対応する時点について演奏データDが指定する演奏内容を演奏装置12に対して指示する。すなわち、演奏制御部34は、演奏データDに含まれる各指示データを演奏装置12に対して順次に供給するシーケンサとして機能する。
【0020】
演奏装置12は、演奏制御部34からの指示に応じて対象楽曲の自動演奏を実行する。演奏者Pによる演奏の進行とともに発音位置Yは対象楽曲内の後方に経時的に移動するから、演奏装置12による対象楽曲の自動演奏も発音位置Yの移動とともに進行する。すなわち、演奏者Pによる演奏と同等のテンポで演奏装置12による対象楽曲の自動演奏が実行される。以上の説明から理解される通り、対象楽曲の各音符の強度またはフレーズ表現等の音楽表現を演奏データDで指定された内容に維持したまま自動演奏が演奏者Pによる演奏に同期するように、演奏制御部34は演奏装置12に自動演奏を指示する。したがって、例えば現在では生存していない過去の演奏者等の特定の演奏者の演奏を表す演奏データDを使用すれば、その演奏者に特有の音楽表現を自動演奏で忠実に再現しながら、当該演奏者と実在の複数の演奏者Pとが恰も相互に呼吸を合わせて協調的に合奏しているかのような雰囲気を醸成することが可能である。
【0021】
なお、演奏制御部34が演奏データD内の指示データの出力により演奏装置12に自動演奏を指示してから演奏装置12が実際に発音する(例えば発音機構124のハンマが打弦する)までには、実際には数百ミリ秒程度の時間が必要である。すなわち、演奏装置12による実際の発音は演奏制御部34からの指示に対して遅延し得る。そこで、演奏制御部34が、対象楽曲のうち音響解析部32が推定した発音位置Yに対して後方(未来)の時点の演奏を演奏装置12に指示することも可能である。
【0022】
図4は、音響解析部32の具体的な構成を例示する構成図である。
図4に例示される通り、本実施形態の音響解析部32は、周波数解析部42と演算処理部44と確率算定部46と位置特定部48とを具備する。周波数解析部42は、収音装置14から供給される音響信号Aの周波数スペクトル(以下「観測スペクトル」という)Xを時間軸上の単位区間(フレーム)毎に順次に生成する。観測スペクトルXは、周波数軸上の相異なる周波数に対応するF個の強度x(1)〜x(F)の系列で表現される。周波数解析部42による観測スペクトルXの生成には、短時間フーリエ変換等の公知の周波数分析が任意に採用され得る。演算処理部44は、周波数解析部42が生成する観測スペクトルXが対象楽曲内の時点tにて観測される尤度(観測尤度)L(t)を算定する。
【0023】
確率算定部46は、観測スペクトルXが観測された条件のもとで当該観測スペクトルの発音時点が対象楽曲内の時点tである事後確率の確率分布(事後分布)を、演算処理部44が算定した尤度L(t)から算定する。確率算定部46による事後分布の算定には、例えば特許文献1に開示される通り、隠れセミマルコフモデル(HSMM)を利用したベイズ推定等の公知の統計処理が好適に利用される。位置特定部48は、確率算定部46が算定した事後分布から観測スペクトルXの発音位置Yを特定する。事後分布を利用した発音位置Yの特定には、例えばMAP(Maximum A Posteriori)推定等の公知の統計処理が任意に採用され得る。
【0024】
図4に例示される通り、本実施形態の演算処理部44は、指標算定部52と尤度算定部54とを含んで構成される。指標算定部52は、記憶装置24に記憶された音響データQが表す基底スペクトルH(n)と、周波数解析部42が生成した観測スペクトルXとの類似の度合を示す指標(以下「類似指標」という)α(n)を、N個の音符の各々について算定する。例えば、指標算定部52は、第n番目の音符の類似指標α(n)を以下の数式(1)の演算により算定する。
【数1】
【0025】
数式(1)から理解される通り、類似指標α(n)は、基底スペクトルH(n)と観測スペクトルXとの内積(コサイン距離)に相当する。具体的には、指標算定部52は、観測スペクトルXの各周波数における強度x(f)と、基底スペクトルH(n)の当該周波数における強度h(n,f)との積x(f)h(n,f)を周波数軸上のF個の周波数について合計することで、第n番目の音符の類似指標α(n)を算定する。したがって、基底スペクトルH(n)と観測スペクトルXとが相互に近似するほど類似指標α(n)は大きい数値となる。指標算定部52による類似指標α(n)の算定は、周波数解析部42による観測スペクトルXの生成毎に算定される。すなわち、時間軸上の単位区間毎にN個の類似指標α(1)〜α(N)が算定される。
【0026】
図4の尤度算定部54は、指標算定部52が1個の単位区間について算定した類似指標α(n)と、記憶装置24に記憶された参照データRが示す複数の音量係数v(t,n)とを利用して尤度L(t)を算定する。尤度L(t)は、前述の通り、観測スペクトルXが対象楽曲内の時点tにおいて観測される確度の指標である。対象楽曲内の時間軸上の時点t毎に尤度L(t)が算定される。具体的には、尤度算定部54は、以下の数式(2)の演算により尤度L(t)を算定する。なお、数式(2)の記号Z(t)は、全部の時点tにわたる尤度L(t)の合計値が所定値(典型的には1)となるように尤度L(t)の数値を正規化する係数である。
【数2】
【0027】
数式(2)から理解される通り、N個の音符のうち対象楽曲内の任意の時点tにおいて発音されるN(t)個の音符について、N(t)個のうちの1個の音符の音量を示す音量係数v(t,n)と当該音符について算定された類似指標α(n)との積を合計することで、尤度算定部54は尤度L(t)を算定する。尤度L(t)の算定に加味されるN(t)個の音符は、対象楽曲内の時点tで発音される1個の音符、または、当該時点tで相互に並列に発音される複数の音符(すなわち和音)であり、対象楽曲の参照データRから特定される。すなわち、時点tでの音符の個数N(t)は、対象楽曲の内容に応じて時点t毎に変動し得る可変値である。以上の説明から理解される通り、N個の音符のうち時点tで発音されない(N−N(t))個の音符は、尤度L(t)の算定に加味されない。すなわち、数式(2)における音量係数v(t,n)と類似指標α(n)との乗算は、対象楽曲内の1個の時点tについてN(t)回だけ実行される。なお、実際には尤度L(t)は対数値(対数尤度)として算定されるが、以上の説明では対数演算を便宜的に省略した。演算処理部44による尤度L(t)の算定の具体例は以上の通りである。
【0028】
図5は、音響解析部32が発音位置Yを推定する処理(以下「発音位置推定」という)のフローチャートである。演奏装置12による自動演奏の開始が利用者から指示された場合に
図5の発音位置推定が開始される。
【0029】
発音位置推定を開始すると、周波数解析部42は、音響信号Aの1個の単位区間について観測スペクトルXを生成する(S1)。指標算定部52は、前述の数式(1)の通り、音響データQが表す基底スペクトルH(n)と音響信号Aの観測スペクトルXとの間の類似指標α(n)をN個の音符の各々について算定する(S2)。尤度算定部54は、N個の音符のうち時点tで発音されるN(t)個の音符について音量係数v(t,n)と類似指標α(n)との積を合計する前述の数式(2)の演算により尤度L(t)を算定する(S3)。
【0030】
確率算定部46は、観測スペクトルXが対象楽曲内の時点tで発音された事後確率の確率分布(事後分布)を尤度L(t)から算定する(S4)。そして、位置特定部48は、確率算定部46が算定した事後分布から観測スペクトルXの発音位置Yを推定する(S5)。発音位置推定の手順の具体例は以上の通りである。
【0031】
ところで、対象楽曲内の時点tにて観測スペクトルXが観測される尤度L(t)を算定する方法としては、例えば以下の数式(3)で表現される方法(以下「対比例」という)も想定される。
【数3】
数式(3)から理解される通り、対比例では、まず、各音符の音量係数v(t,n)と当該音符の基底スペクトルH(n)の周波数毎の強度h(n,f)との積がN個の音符について合計される。そして、合計値Σ(v(t,n)h(n,f))と観測スペクトルXの強度x(f)との積をF個の周波数にわたり合計することで、時点tの尤度L(t)が算定される。すなわち、対比例では、対象楽曲の1個の時点tについて、合計値Σ(v(t,n)h(n,f))と強度x(f)との乗算をF回にわたり反復する必要がある。
【0032】
他方、本実施形態では、前述の通り、対象楽曲内の時点tにて発音されるN(t)個の音符について類似指標α(n)と音量係数v(t,n)との積を合計することで観測スペクトルXの尤度L(t)が算定される。ここで、対象楽曲内の時点tで発音される音符は、発音可能な全部(N個)の音符のうちの一部に相当するN(t)個(N(t)<N)である。現実の楽曲では、相異なる音符に対応するN個の音量係数v(t,1)〜v(t,N)のなかの多数は、非発音を意味するゼロであると想定されるから、個数N(t)は音符の総数Nと比較して充分に小さい。したがって、本実施形態によれば、対象楽曲が長い場合でも、対比例と比較して尤度L(t)の算定に必要な演算量を削減することが可能である。
【0033】
<変形例>
以上に例示した態様は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2個以上の態様は、相互に矛盾しない範囲で適宜に併合され得る。
【0034】
(1)前述の実施形態では、観測スペクトルXの強度x(f)と基底スペクトルH(n)の強度h(n,f)との積x(f)h(n,f)をF個の周波数について合計することで類似指標α(n)を算定したが、類似指標α(n)の算定の方法は以上の例示に限定されない。例えば、観測スペクトルXと基底スペクトルH(n)との距離(例えばユークリッド距離)の逆数を類似指標α(n)として算定することも可能である。以上の例示から理解される通り、類似指標α(n)は、基底スペクトルH(n)と観測スペクトルXとの類似の度合を示す指標として包括的に表現され、具体的な算定方法の如何は不問である。
【0035】
(2)前述の実施形態では、音響解析部32と演奏制御部34とを具備する音響解析装置10を例示したが、音響解析部32が推定した発音位置Yに応じて演奏装置12の自動演奏を制御する構成(すなわち演奏制御部34)は省略され得る。また、音響解析部32から確率算定部46と位置特定部48とを省略し、音響信号Aの解析により尤度L(t)を算定する装置として音響解析装置10を実現することも可能である。音響解析装置10とは別体の装置に周波数解析部42を設置し、周波数解析部42が音響信号Aから生成した観測スペクトルXを音響解析装置10の指標算定部52に供給する構成も好適である。すなわち、周波数解析部42は音響解析装置10から省略され得る。
【0036】
(3)前述の実施形態で例示した通り、音響解析装置10は、制御装置22とプログラムとの協働で実現される。本発明の好適な態様に係るプログラムは、音符に対応する音の基底スペクトルH(n)と音響信号Aの観測スペクトルXとの類似の度合を示す類似指標α(n)をN個の音符の各々について算定する指標算定部52、および、N個の音符のうち対象楽曲内の時点tにおいて発音されるN(t)個の音符について、指標算定部52が当該音符について算定した類似指標α(n)と、対象楽曲内における当該音符の音量係数v(t,n)との積を合計することで、観測スペクトルXが当該時点tで観測される尤度L(t)を算定する尤度算定部54としてコンピュータを機能させるプログラムである。以上に例示したプログラムは、例えば、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。
【0037】
記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体が好例であるが、半導体記録媒体や磁気記録媒体等の公知の任意の形式の記録媒体を包含し得る。なお、「非一過性の記録媒体」とは、一過性の伝搬信号(transitory, propagating signal)を除く全てのコンピュータ読取可能な記録媒体を含み、揮発性の記録媒体を除外するものではない。また、通信網を介した配信の形態でプログラムをコンピュータに配信することも可能である。
【0038】
(4)以上に例示した形態から把握される本発明の好適な態様を以下に例示する。
<態様1>
本発明の好適な態様(態様1)に係る音響解析方法は、コンピュータシステムが、音符に対応する音の基底スペクトルと音響信号の観測スペクトルとの類似の度合を示す類似指標を複数の音符の各々について算定し、前記複数の音符のうち楽曲内の各時点において発音される1個以上の音符について、当該音符について算定した類似指標と、前記楽曲内における当該音符の音量を示す係数との積を合計することで、前記観測スペクトルが当該時点で観測される尤度を算定する。態様1では、楽曲内の各時点において発音される1個以上の音符について類似指標と音量を示す係数との積を合計することで、観測スペクトルの尤度が算定される。楽曲内の任意の時点で発音される音符は、発音可能な全部の音符のうちの一部(すなわちスパース)である。したがって、各音符の時間軸上の音量を示す係数と当該音符の基底スペクトルの各強度との積を全部の音符について合計してから、その合計値と音響信号の観測スペクトルの強度との積を複数の周波数にわたり合計することで、尤度を算定する構成と比較すると、尤度の算定に必要な演算量を削減することが可能である。
【0039】
<態様2>
態様1の好適例(態様2)において、前記類似指標の算定では、前記観測スペクトルの各周波数における強度と、音符に対応する音の前記基底スペクトルの当該周波数における強度との積を、周波数軸上の複数の周波数について合計することで、当該音符の前記類似指標を算定する。
【0040】
<態様3>
態様1または態様2の好適例(態様3)に係る音響解析方法において、前記楽曲内の各時点が前記観測スペクトルの発音時点に該当する事後確率の確率分布を前記尤度から算定し、前記楽曲内に前記観測スペクトルの発音位置を前記事後確率の確率分布から特定する。
【0041】
<態様4>
本発明の好適な態様(態様4)に係る音響解析装置は、音符に対応する音の基底スペクトルと音響信号の観測スペクトルとの類似の度合を示す類似指標を複数の音符の各々について算定する指標算定部と、前記複数の音符のうち楽曲内の各時点において発音される1個以上の音符について、前記指標算定部が当該音符について算定した類似指標と、前記楽曲内における当該音符の音量を示す係数との積を合計することで、前記観測スペクトルが当該時点で観測される尤度を算定する尤度算定部とを具備する。態様4では、楽曲内の各時点において発音される1個以上の音符について類似指標と音量を示す係数との積を合計することで、観測スペクトルの尤度が算定される。楽曲内の任意の時点で発音される音符は、発音可能な全部の音符のうちの一部(すなわちスパース)である。したがって、各音符の時間軸上の音量を示す係数と当該音符の基底スペクトルの各強度との積を全部の音符について合計してから、その合計値と音響信号の観測スペクトルの強度との積を複数の周波数にわたり合計することで、尤度を算定する構成と比較して、尤度の算定に必要な演算量を削減することが可能である。
【0042】
<態様5>
態様4の好適例(態様5)において、前記指標算定部は、前記観測スペクトルの各周波数における強度と、音符に対応する音の前記基底スペクトルの当該周波数における強度との積を、周波数軸上の複数の周波数について合計することで、当該音符の前記類似指標を算定する。
【0043】
<態様6>
態様4または態様5の好適例(態様6)に係る音響解析装置は、前記楽曲内の各時点が前記観測スペクトルの発音時点に該当する事後確率の確率分布を、前記尤度算定部が算定した尤度から算定する確率算定部と、前記楽曲内に前記観測スペクトルの発音位置を、前記確率算定部が算定した前記事後確率の確率分布から特定する位置特定部とを具備する。