JP2022129742A - 音響解析方法、音響解析システムおよびプログラム - Google Patents

音響解析方法、音響解析システムおよびプログラム Download PDF

Info

Publication number
JP2022129742A
JP2022129742A JP2021028549A JP2021028549A JP2022129742A JP 2022129742 A JP2022129742 A JP 2022129742A JP 2021028549 A JP2021028549 A JP 2021028549A JP 2021028549 A JP2021028549 A JP 2021028549A JP 2022129742 A JP2022129742 A JP 2022129742A
Authority
JP
Japan
Prior art keywords
tempo
curve
maximum
minimum
analysis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021028549A
Other languages
English (en)
Inventor
和彦 山本
Kazuhiko Yamamoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2021028549A priority Critical patent/JP2022129742A/ja
Priority to CN202280015315.6A priority patent/CN116917981A/zh
Priority to PCT/JP2022/006612 priority patent/WO2022181477A1/ja
Priority to CN202280015307.1A priority patent/CN116868264A/zh
Priority to PCT/JP2022/006601 priority patent/WO2022181474A1/ja
Publication of JP2022129742A publication Critical patent/JP2022129742A/ja
Priority to US18/453,180 priority patent/US20230395052A1/en
Priority to US18/453,196 priority patent/US20230395047A1/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)

Abstract

【課題】音響信号が表す楽曲のテンポを高精度に推定する。【解決手段】音響解析システム100は、テンポの最大値の時間変化を表す最大テンポ曲線CHと、テンポの最小値の時間変化を表す最小テンポ曲線CLとを、利用者からの指示に応じて設定する曲線設定部28と、楽曲の演奏音を表す音響信号Aを解析することで、最大テンポ曲線CHが表す最大値と最小テンポ曲線CLが表す最小値との間の制限範囲内において楽曲のテンポを推定する解析処理部20とを具備する。【選択図】図16

Description

本開示は、音響信号を解析する技術に関する。
楽曲の演奏音を表す音響信号を解析することで当該楽曲のテンポ(演奏速度)を推定する解析技術が従来から提案されている。例えば特許文献1には、隠れマルコフモデル等の確率モデルを利用して楽曲の拍点およびテンポを推定する技術が開示されている。
特開2015-114361号公報
しかし、楽曲のテンポを推定する従来の技術においては、例えば楽曲の本来のテンポの2倍または1/2倍のテンポ等が誤推定される場合がある。以上の事情を考慮して、本開示のひとつの態様は、音響信号が表す楽曲のテンポを高精度に推定することをひとつの目的とする。
以上の課題を解決するために、本開示のひとつの態様に係る音響解析システムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定し、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する。
本開示のひとつの態様に係る音響解析システムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部と、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部とを具備する。
本開示のひとつの態様に係るプログラムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部、および、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部、としてコンピュータシステムを機能させる。
第1実施形態に係る音響解析システムの構成を例示するブロック図である。 音響解析システムの機能的な構成を例示するブロック図である。 特徴抽出部が特徴データを生成する動作の説明図である。 推定モデルの構成を例示するブロック図である。 推定モデルを確立する機械学習の説明図である。 確率算定処理の具体的な手順を例示するフローチャートである。 状態遷移モデルの説明図である。 拍点推定処理の説明図である。 拍点推定処理の具体的な手順を例示するフローチャートである。 解析画面の模式図である。 推定モデル更新処理の説明図である。 推定モデル更新処理の具体的な手順を例示するフローチャートである。 制御装置が実行する処理の具体的な手順を例示するフローチャートである。 初期解析処理の具体的な手順を例示するフローチャートである。 拍点更新処理の具体的な手順を例示するフローチャートである。 第2実施形態における音響解析システムの機能的な構成を例示するブロック図である。 第2実施形態における解析画面の模式図である。 推定テンポ曲線,最大テンポ曲線および最初テンポ曲線の説明図である。 第2実施形態における拍点推定処理の具体的な手順を例示するフローチャートである。 第3実施形態において出力データを生成する処理の説明図である。
A:第1実施形態
図1は、第1実施形態に係る音響解析システム100の構成を例示するブロック図である。音響解析システム100は、楽曲の演奏音を表す音響信号Aの解析により当該楽曲の複数の拍点を推定するコンピュータシステムである。音響解析システム100は、制御装置11と記憶装置12と表示装置13と操作装置14と放音装置15とを具備する。音響解析システム100は、例えばスマートフォンまたはタブレット端末等の可搬型の情報装置、またはパーソナルコンピュータ等の可搬型または据置型の情報装置により実現される。なお、音響解析システム100は、単体の装置として実現されるほか、相互に別体で構成された複数の装置でも実現される。
制御装置11は、音響解析システム100の各要素を制御する単数または複数のプロセッサで構成される。例えば、制御装置11は、CPU(Central Processing Unit)、SPU(Sound Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、またはASIC(Application Specific Integrated Circuit)等の1種類以上のプロセッサにより構成される。
記憶装置12は、制御装置11が実行するプログラムと制御装置11が使用する各種のデータとを記憶する単数または複数のメモリである。記憶装置12は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成される。なお、音響解析システム100に対して着脱される可搬型の記録媒体、または例えばインターネット等の通信網を介して制御装置11が書込または読出を実行可能な記録媒体(例えばクラウドストレージ)を、記憶装置12として利用してもよい。
記憶装置12は、音響信号Aを記憶する。音響信号Aは、楽曲の演奏音の波形を表すサンプル系列である。具体的には、音響信号Aは、楽曲の楽器音および歌唱音の少なくとも一方を表す。音響信号Aのデータ形式は任意である。なお、音響解析システム100とは別体の信号供給装置から音響信号Aが音響解析システム100に供給されてもよい。信号供給装置は、例えば、記録媒体に記録された音響信号Aを音響解析システム100に供給する再生装置、または、配信装置(図示略)から通信網を介して受信した音響信号Aを音響解析システム100に供給する通信機器である。
表示装置13は、制御装置11による制御のもとで画像を表示する。例えば液晶表示パネルまたは有機EL(Electroluminescence)パネル等の各種の表示パネルが表示装置13として利用される。なお、音響解析システム100とは別体の表示装置13を音響解析システム100に有線または無線により接続してもよい。操作装置14は、利用者からの指示を受付ける入力機器である。操作装置14は、例えば、利用者が操作する操作子、または、利用者による接触を検知するタッチパネルである。
放音装置15は、制御装置11による制御のもとで音響を再生する。例えばスピーカまたはヘッドホンが放音装置15として利用される。なお、音響解析システム100とは別体の放音装置15を音響解析システム100に有線または無線により接続してもよい。
図2は、音響解析システム100の機能的な構成を例示するブロック図である。制御装置11は、記憶装置12に記憶されたプログラムを実行することで、音響信号Aを処理するための複数の機能(解析処理部20,表示制御部24,再生制御部25,指示受付部26および推定モデル更新部27)を実現する。
解析処理部20は、音響信号Aの解析により楽曲内の複数の拍点を推定する。具体的には、解析処理部20は、音響信号Aから拍点データBを生成する。拍点データBは、楽曲内の各拍点を表すデータである。具体的には、拍点データBは、楽曲内の複数の拍点の各々について当該拍点の時刻を指定する時系列データである。例えば、音響信号Aの始点を基準とした各拍点の時刻が拍点データBにより指定される。第1実施形態の解析処理部20は、特徴抽出部21と確率算定部22と推定処理部23とを具備する。
[特徴抽出部21]
図3は、特徴抽出部21の動作の説明図である。特徴抽出部21は、時間軸上のM個の時点(以下「解析時点」という)t[m]の各々について音響信号Aの特徴量f[m](m=1~M)を生成する。各解析時点t[m]は、所定の間隔で時間軸上に設定された時点である。特徴量f[m]は、音響信号Aの音響的な特徴を表す指標である。具体的には、拍点の前後において顕著に変動する傾向がある特徴量f[m]が利用される。例えば音量および振幅等、音響信号Aの強度に関する情報が、特徴量f[m]として例示される。また、例えばMFCC(Mel-Frequency Cepstrum Coefficients),MSLS(Mel-Scale Log Spectrum)、または定Q変換(CQT:Constant-Q Transform)等、音響信号Aの周波数特性(音色)に関する情報も、特徴量f[m]として利用される。ただし、特徴量f[m]の種類は以上の例示に限定されない。また、特徴量f[m]は、音響信号Aに関する複数種の情報の組合せでもよい。
特徴抽出部21は、解析時点t[m]毎に特徴データF[m]を生成する。任意の解析時点t[m]に対応する特徴データF[m]は、当該解析時点t[m]を含む期間(以下「単位期間」という)U内の複数の特徴量f[m]の時系列である。図3においては、1個の単位期間Uが、第m番目の解析時点t[m]を中心とする5個の解析時点t[m-2]~t[m+2]を含む場合が例示されている。したがって、特徴データF[m]は、単位期間U内の5個の特徴量f[m-2]~f[m+2]の時系列である。なお、単位期間Uが1個の解析時点[m]のみを含んでもよい。すなわち、特徴データF[m]は1個の特徴量f[m]のみで構成されてもよい。以上の説明から理解される通り、特徴抽出部21は、音響信号Aの特徴量f[m]を含む特徴データF[m]を解析時点t[m]毎に生成する。
[確率算定部22]
図2の確率算定部22は、各解析時点t[m]が楽曲の拍点に該当する確率P[m]を表す出力データO[m]を特徴データF[m]から生成する。出力データO[m]の生成は、解析時点t[m]毎に反復される。確率P[m]が大きいほど、解析時点t[m]が拍点に該当する確度が高い。確率算定部22による出力データO[m]の生成には推定モデル50が利用される。
音響信号Aの各解析時点t[m]の特徴データF[m]と、当該解析時点t[m]が拍点に該当する確度との間には相関がある。推定モデル50は、以上の相関を学習した統計モデルである。具体的には、推定モデル50は、特徴データF[m]と出力データO[m]との関係を機械学習により学習した学習済モデルである。
推定モデル50は、例えば深層ニューラルネットワーク(DNN:Deep Neural Network)で構成される。推定モデル50は、特徴データF[m]から出力データO[m]を生成する演算を制御装置11に実行させるプログラムと、当該演算に適用される複数の変数(具体的には加重値およびバイアス)との組合せで実現される。推定モデル50を実現するプログラムおよび複数の変数は、記憶装置12に記憶される。推定モデル50を規定する複数の変数の各々の数値は、機械学習により事前に設定される。
図4は、推定モデル50の具体的な構成を例示するブロック図である。推定モデル50は、入力層51と複数の中間層52(52a,52b)と出力層53とを含む畳込ニューラルネットワークで構成される。1個の特徴データF[m]に含まれる複数の特徴量f[m-2]~f[m+2]が入力層51に並列に入力される。
複数の中間層52は、入力層51と出力層53との間に位置する隠れ層である。複数の中間層52は、複数の中間層52aと複数の中間層52bとを含む。複数の中間層52aは、入力層51と複数の中間層52bとの間に位置する。各中間層52aは、例えば畳込層とプーリング層との組合せで構成される。各中間層52bは、例えばReLUを活性化関数とする全結合層である。出力層53は出力データO[m]を出力する。
推定モデル50は、第1部分50aと第2部分50bとに区分される。第1部分50aは、推定モデル50のうち入力側の部分である。具体的には、第1部分50aは、入力層51と複数の中間層52aとで構成される前半部分である。第2部分50bは、推定モデル50のうち出力側の部分である。具体的には、第2部分50bは、複数の中間層52bと出力層53とで構成される後半部分である。第1部分50aは、特徴データF[m]に応じた中間データD[m]を生成する部分である。中間データD[m]は、特徴データF[m]の特徴を表すデータである。具体的には、中間データD[m]は、特徴データF[m]に対して統計的に妥当な出力データO[m]を出力するために寄与する特徴を表すデータである。第2部分50bは、中間データD[m]に応じた出力データO[m]を生成する部分である。
図5は、推定モデル50を確立する機械学習の説明図である。例えば音響解析システム100とは別体の機械学習システム200による機械学習で推定モデル50が確立され、当該推定モデル50が音響解析システム100に提供される。例えば、機械学習システム200から音響解析システム100に推定モデル50が送信される。
推定モデル50の機械学習には複数の学習データZが利用される。複数の学習データZの各々は、学習用の特徴データFtと学習用の出力データOtとの組合せで構成される。特徴データFtは、学習用に用意された音響信号Aのうち特定の時点における特徴量を表す。具体的には、特徴データFtは、前述の特徴データF[m]と同様に、時間軸上の相異なる時点に対応する複数の特徴量の時系列で構成される。特定の時点に対応する学習用の出力データOtは、当該時点が楽曲の拍点に該当する確率を表すデータ(すなわち正解値)である。既知の多数の楽曲について複数の学習データZが用意される。
機械学習システム200は、各学習データZの特徴データFtを入力したきに初期的または暫定的なモデル(以下「暫定モデル」という)59が出力する出力データO[m]と、当該学習データZの出力データOtとの誤差を表す誤差関数を算定する。そして、機械学習システム200は、誤差関数が低減されるように暫定モデル59の複数の変数を更新する。複数の学習データZの各々について以上の処理が反復された時点の暫定モデル59が、推定モデル50として確定される。
したがって、推定モデル50は、複数の学習データZにおける特徴データFtと出力データOtとの間に潜在する関係のもとで、未知の特徴データF[m]に対して統計的に妥当な出力データO[m]を出力する。すなわち、推定モデル50は、時間軸上の各時点に対応する学習用の特徴データFtと、当該時点が拍点に該当する確率を表す学習用の出力データOtとの関係を学習した学習済モデルである。確率算定部22は、以上の手順で確立された推定モデル50に各解析時点t[m]の特徴データF[m]を入力することで、当該解析時点t[m]が拍点に該当する確率P[m]を表す出力データO[m]を生成する。
図6は、確率算定部22が実行する処理(以下「確率算定処理」という)Saの具体的な手順を例示するフローチャートである。制御装置11が確率算定部22として機能することで確率算定処理Saを実行する。
確率算定処理Saが開始されると、確率算定部22は、解析時点t[m]に対応する特徴データF[m]を推定モデル50に入力する(Sa1)。確率算定部22は、推定モデル50の第1部分50aが出力する中間データD[m]を取得し、当該中間データD[m]を記憶装置12に保存する(Sa2)。また、確率算定部22は、推定モデル50(第2部分50b)が出力する出力データO[m]を取得し、当該出力データO[m]を記憶装置12に保存する(Sa3)。
確率算定部22は、楽曲内のM個の解析時点t[1]~t[M]について以上の処理を実行したか否かを判定する(Sa4)。判定結果が否定である場合(Sa4:NO)、確率算定部22は、未処理の解析時点t[m]について中間データD[m]および出力データO[m]の生成(Sa1~Sa3)を実行する。M個の解析時点t[1]~t[M]について処理を実行した場合(Sa4:YES)、確率算定部22は確率算定処理Saを終了する。以上の説明から理解される通り、確率算定処理Saの結果、相異なる解析時点t[m]に対応するM個の中間データD[1]~D[M]と、相異なる解析時点t[m]に対応するM個の出力データO[1]~O[M]とが記憶装置12に保存される。
[推定処理部23]
図2の推定処理部23は、確率算定部22が相異なる解析時点t[m]について算定するM個の出力データO[m]から楽曲内の複数の拍点を推定する。具体的には、推定処理部23は、前述の通り、楽曲内の各拍点の時刻を表す拍点データBを生成する。確率算定部22による拍点データBの生成には状態遷移モデル60が利用される。
図7は、状態遷移モデル60の構成を例示するブロック図である。状態遷移モデル60は、複数(N個)の状態Qで構成される統計モデルである。具体的には、状態遷移モデル60は、隠れセミマルコフモデル(HSMM:Hidden Semi-Markov Model)で構成され、動的計画法の一例であるビタビ(Viterbi)アルゴリズムにより複数の拍点が推定される。
図7には、時間軸上の拍点が図示されている。時間軸上で相前後する2個の拍点の間隔(以下「拍間隔」という)δの時間長は、楽曲のテンポに応じた可変値である。具体的には、テンポが速いほど拍間隔δは短い。拍間隔δ内には複数の時点(以下「経過点」という)Y[j]が設定される。各経過点Y[i](i=1~4)は、拍点を基準として時間軸上に設定される時点である。具体的には、経過点Y[0]は拍点に相当する時点(拍頭)であり、経過点Y[1]~Y[4]は、拍間隔δを等分する各時点である。経過点Y[3]は経過点Y[4]の後方に位置し、経過点Y[2]は経過点Y[3]の後方に位置し、経過点Y[1]は経過点Y[2]の後方に位置する。経過点Y[0]は、拍間隔δの端点(始点または終点)に相当する。各拍点(経過点Y[0])から各経過点Yまでの時間長は、拍点を基準とした位相を意味するとも表現できる。例えば経過点Y[4]→経過点Y[3]→経過点Y[2]→経過点Y[1]という順番で時間が進行し、経過点Y[1]の経過後に経過点Y[0](拍点)に到達する。
状態遷移モデル60のN個の状態Qの各々は、複数のテンポX[i](i=1,2,3,…)の何れかに対応する。具体的には、N個の状態Qは、複数のテンポX[i]の各々と複数の経過点Y[0]~Y[4]の各々との相異なる組合せに対応する。すなわち、各テンポX[i]について、相異なる経過点Y[j]に対応する5個の状態Qの時系列が存在する。以下の説明においては、テンポX[i]と経過点Y[j]との組合せに対応する状態Qを、「状態Q[i,j]」と表記する場合がある。他方、テンポX[i]および経過点Y[j]の区別に特に注目しない場合には単に「状態Q」と表記する。なお、経過点Y[j]による状態Qの区別は省略されてもよい。すなわち、複数の状態Qの各々が相異なるテンポX[i]に対応する形態も想定される。経過点Y[j]を区別しない形態では、例えば隠れマルコフモデル(HMM:Hidden Markov Model)が状態遷移モデル60として利用される。
第1実施形態においては、時間軸上の拍点(すなわち経過点Y[0])のみでテンポXが変化すると仮定する。以上の仮定のもとでは、経過点Y[0]以外の各経過点Y[j]に対応する状態Q[i,j]は、直後の経過点Y[j-1]に対応する状態Q[i,j-1]のみに遷移する。例えば、状態Q[i,4]は状態Q[i,3]に遷移し、状態Q[i,3]は状態Q[i,2]に遷移し、状態Q[i,2]は状態Q[i,1]に遷移する。他方、拍点に相当する状態Q[i,0]には、相異なるテンポX[i]に対応する複数の状態Q[i,1](Q[1,1],Q[2,1],Q[3,1],…)からの遷移が発生する。
図8は、推定処理部23が状態遷移モデル60を利用して楽曲内の複数の拍点を推定する処理(以下「拍点推定処理」という)Sbの説明図である。また、図9は、拍点推定処理Sbの具体的な手順を例示するフローチャートである。制御装置11が推定処理部23として機能することで拍点推定処理Sbを実行する。
拍点推定処理Sbが開始されると、推定処理部23は、M個の解析時点t[1]~t[M]の各々について観測尤度Λ[m]を算定する(Sb1)。各解析時点t[m]の観測尤度Λ[m]は、当該解析時点t[m]の出力データO[m]が表す確率P[m]に応じた数値に設定される。例えば、観測尤度Λ[m]は、出力データO[m]が表す確率P[m]、または当該確率P[m]に対する所定の演算で算定される数値に設定される。
推定処理部23は、状態遷移モデル60の各状態Q[i,j]について、経路p[i,j]と尤度λ[i,j]とを解析時点t[m]毎に算定する(Sb2)。経路p[i,j]は、他の状態Qから状態Q[i,j]に到達する経路であり、尤度λ[i,j]は、当該状態Q[i,j]が観測される確度の指標である。
前述の通り、任意のテンポX[i]に対応する複数の状態Q[i,0]~Q[i,4]の間では一方向の遷移のみが発生する。したがって、図8から理解される通り、例えばテンポX[1]と経過点Y[1]とに対応する状態Q[1,1]に解析時点t[m]にて到達する経路p[1,1]は、当該テンポX[1]と直前の経過点Y[2]とに対応する状態Q[1,2]からの経路pのみである。また、解析時点t[m]における状態Q[1,1]の尤度λ[1,1]は、当該テンポX[1]に対応する時間長d[1]だけ解析時点t[m]から手前の時点t1に対応する尤度に設定される。具体的には、状態Q[1,1]の尤度λ[1,1]は、時点t1の直前の解析時点t[mA]における観測尤度Λ[mA]と、当該時点t1の直後の解析時点t[mB]における観測尤度Λ[mB]との補間(例えば線形補間)により算定される。
他方、経過点Y[0]ではテンポX[i]が変化する可能性がある。したがって、図8から理解される通り、例えばテンポX[1]と経過点Y[0]とに対応する状態Q[1,0]には、相異なるテンポX[i]に対応する複数の状態Q[i,1]の各々から別個の経路pが到達する。例えば、状態Q[1,0]には、当該テンポX[1]と直前の経過点Y[1]との組合せに対応する状態Q[1,1]からの経路p1のほか、テンポX[2]と直前の経過点Y[1]との組合せに対応する状態Q[2,1]からの経路p2も到達する。状態Q[1,1]から状態Q[1,0]への経路p1に関する尤度λ1は、前述の例示と同様に、時点t1の直前の解析時点t[mA]における観測尤度Λ[mA]と、当該時点t1の直後の解析時点t[mB]における観測尤度Λ[mB]との補間(例えば線形補間)により算定される。また、状態Q[2,1]から状態Q[1,0]への経路p2に関する尤度λ2は、状態Q[2,1]のテンポX[2]に対応する時間長d[2]だけ解析時点t[m]から手前の時点t2における尤度に設定される。具体的には、尤度λ2は、時点t2の直前の解析時点t[mC]における観測尤度Λ[mC]と、当該時点t2の直後の解析時点t[mA]における観測尤度Λ[mA]との補間(例えば線形補間)により算定される。推定処理部23は、相異なるテンポX[i]について算定された複数の尤度λ(λ1,λ2,…)の最大値を解析時点t[m]における状態Q[1,0]の尤度λ[1,0]として選択し、状態Q[1,0]に到達する複数の経路p(p1,p2,…)のうち当該尤度λ[1,0]に対応する経路pを状態Q[1,0]までの経路p[1,0]として確定する。以上の手順により、N個の状態Qの各々について経路p[i,j]と尤度λ[i,j]とを算定する処理が、時間軸の順方向に沿って解析時点t[m]毎に実行される。すなわち、M個の解析時点t[1]~t[M]の各々について各状態Qの経路p[i,j]および尤度λ[i,j]が算定される。
推定処理部23は、相異なる解析時点t[m]に対応するM個の状態Qの時系列(以下「状態系列」という)を生成する(Sb3)。具体的には、推定処理部23は、楽曲の最後の解析時点t[M]について算定されたN個の尤度λ[i,j]の最大値に対応する状態Q[i,j]から、時間軸の逆方向に沿って順番に経路p[i,j]を連結し、連結後の一連の経路(すなわち最尤経路)上に位置するM個の状態Qにより状態系列を生成する。すなわち、N個の状態Qのうち尤度λ[i,j]が大きい状態Qを解析時点t[m]毎に配列した系列が、状態系列として生成される。
推定処理部23は、状態系列を構成するM個の状態Qのうち、経過点Y[0]に対応する状態Qが観測される各解析時点t[m]を拍点として推定し、各拍点の時刻を指定する拍点データBを生成する(Sb4)。以上の説明から理解される通り、出力データO[m]が表す確率P[m]が高く、かつ、聴感的に自然にテンポが遷移する解析時点t[m]が、楽曲内の拍点として推定される。
以上の通り、第1実施形態においては、解析時点t[m]毎の特徴データF[m]を推定モデル50に入力することで解析時点t[m]毎の出力データO[m]が生成され、当該出力データO[m]から複数の拍点が推定される。したがって、学習用の特徴データFtと学習用の出力データOtとの間に潜在する関係のもとで未知の特徴データF[m]に対して統計的に妥当な出力データO[m]を生成できる。解析処理部20の構成の具体例は以上の通りである。
図2の表示制御部24は、表示装置13に画像を表示させる。具体的には、表示制御部24は、図10の解析画面70を表示装置13に表示させる。解析画面70は、解析処理部20が音響信号Aを解析した結果を表す画像である。
解析画面70は、第1領域71と第2領域72とを含む。第1領域71には音響信号Aの波形711が表示される。第2領域72には、音響信号Aのうち第1領域71において指定された一部の期間(以下「指定期間」という)712に関する解析の結果が表示される。第2領域72は、波形領域73と確率領域74と拍点領域75とを含む。
波形領域73と確率領域74と拍点領域75とには共通の時間軸が設定される。波形領域73には、音響信号Aのうち指定期間712内の波形731と、音響信号Aにおける発音点(オンセット)732とが表示される。確率領域74には、各解析時点t[m]の出力データO[m]が表す確率P[m]の時系列741が表示される。なお、出力データO[m]が表す確率P[m]の時系列741は、音響信号Aの波形731に重ねて波形領域73内に表示されてもよい。
拍点領域75には、音響信号Aの解析により推定された楽曲内の複数の拍点が表示される。具体的には、楽曲内の相異なる拍点に対応する複数の拍画像751の時系列が拍点領域75には表示される。楽曲内の複数の拍点のうち所定の条件を充足する1個以上の拍点(以下「修正候補点」という)に対応する拍画像751は、他の拍画像751とは別個の表示態様で強調表示される。修正候補点は、利用者が変更を指示する可能性が高い拍点である。
図2の再生制御部25は、放音装置15による音響の再生を制御する。具体的には、再生制御部25は、音響信号Aが表す演奏音を放音装置15に再生させる。再生制御部25は、音響信号Aの再生に並行して、複数の拍点の各々に対応する時点で所定の通知音を再生する。また、表示制御部24は、拍点領域75内の複数の拍画像751のうち放音装置15が再生している時点に対応する1個の拍画像751を、拍点領域75内の他の拍画像751とは別個の表示態様で強調表示する。すなわち、音響信号Aの再生に並行して複数の拍画像751の各々が時系列の順番で順次に強調表示される。
ところで、音響信号Aから楽曲内の複数の拍点を推定する処理においては、例えば楽曲の裏拍が拍点として誤推定される可能性がある。また、利用者が表拍の推定を期待している状況で楽曲の裏拍が推定される場合のように、拍点を推定した結果が利用者の意図に適合しない可能性もある。利用者は、操作装置14を操作することで、楽曲内の複数の拍点のうち任意の拍点について時間軸上の位置の変更を指示することが可能である。具体的には、利用者は、拍点領域75内の複数の拍画像751の何れかを時間軸の方向に移動させることで、当該拍画像751に対応する拍点の位置の変更を指示する。利用者は、例えば複数の拍点のうち修正候補点について位置の変更を指示する。
図2の指示受付部26は、楽曲内の複数の拍点のうち一部の拍点に関する位置の変更の指示(以下「変更指示」という)を利用者から受付ける。以下の説明においては、1個の拍点を時間軸上の解析時点t[m1]から解析時点t[m2]に移動する変更指示を指示受付部26が受付けた場合を想定する(m1,m2=1~M,m1≠m2)。解析時点t[m1]は、解析処理部20が初期的に推定した拍点(すなわち変更指示による変更前の拍点)であり、解析時点t[m2]は、利用者からの変更指示による変更後の拍点である。
図2の推定モデル更新部27は、利用者による変更指示に応じて推定モデル50を更新する。具体的には、変更指示に係る拍点の変更が楽曲の全体にわたる複数の拍点の推定に反映されるように、推定モデル更新部27は推定モデル50を更新する。
図11は、推定モデル更新部27が推定モデル50を更新する処理(以下「推定モデル更新処理」という)Scの説明図である。推定モデル更新処理Scは、機械学習システム200による学習済の推定モデル50を、利用者からの変更指示が反映されるように更新する処理(追加学習)である。
推定モデル更新処理Scにおいては、推定モデル50の第1部分50aと第2部分50bとの間に適応ブロック55が追加される。適応ブロック55は、例えば活性化関数が恒等関数に初期化されたアテンションで構成される。したがって、初期的な適応ブロック55は、第1部分50aから出力される中間データD[m]を変更せずに第2部分50bに供給する。
推定モデル更新部27は、変更前の拍点が位置する解析時点t[m1]の特徴データF[m1]と、変更後の拍点が位置する解析時点t[m2]の特徴データF[m2]との各々を、第1部分50a(入力層51)に対して順次に入力する。第1部分50aは、特徴データF[m1]に対応する中間データD[m1]と、特徴データF[m2]に対応する中間データD[m2]とを生成する。中間データD[m1]および中間データD[m2]の各々が、適応ブロック55に順次に入力される。
また、推定モデル更新部27は、直前の確率算定処理Sa(Sa2)で算定されたM個の中間データD[1]~D[M]の各々を、適応ブロック55に対して順次に供給する。すなわち、楽曲内のM個の解析時点t[1]~t[M]のうち変更指示に係る一部の解析時点t[m]に対応する中間データD[m](D[m1],D[m2])と、楽曲の全体にわたるM個の中間データD[1]~D[M]の各々とが、適応ブロック55に入力される。適応ブロック55は、変更指示に係る解析時点t[m]に対応する中間データD[m](D[m1],D[m2])と、推定モデル更新部27から供給される中間データD[m]との類似度を算定する。
前述の通り、解析時点t[m2]は、直前の確率算定処理Saでは拍点に該当しないと推定されたものの、変更指示により拍点と指示された時点である。すなわち、解析時点t[m2]の出力データO[m2]が表す確率P[m2]は、直前の確率算定処理Saでは小さい数値に設定されたけれども、利用者による変更指示のもとでは1に近い数値に設定されるべきである。さらに、解析時点t[m2]だけでなく、楽曲内のM個の解析時点t[1]~t[M]のうち、解析時点t[m2]の中間データD[m2]に類似する中間データD[m]が観測される各解析時点t[m]についても同様に、当該解析時点t[m]の出力データO[m]が表す確率P[m]は、1に近い数値に設定されるべきである。そこで、推定モデル更新部27は、中間データD[m]と中間データD[m2]との類似度が所定の閾値を上回る場合には、出力データO[m]の確率P[m]が充分に大きい数値(例えば1)に近付くように、推定モデル50の複数の変数を更新する。具体的には、推定モデル更新部27は、中間データD[m2]との類似度が閾値を上回る各中間データD[m]から推定モデル50が生成する出力データO[m]の確率P[m]と、拍点を意味する数値(すなわち1)との誤差が低減されるように、第1部分50aと適応ブロック55と第2部分50bとの各々を規定する係数を更新する。
他方、解析時点t[m1]は、直前の確率算定処理Saでは拍点に該当すると推定されたものの、変更指示により拍点に該当しないと指示された時点である。すなわち、解析時点t[m1]の出力データO[m1]が表す確率P[m1]は、直前の確率算定処理Saでは大きい数値に設定されたけれども、利用者による変更指示のもとでは0に近い数値に設定されるべきである。さらに、解析時点t[m1]だけでなく、楽曲内のM個の解析時点t[1]~t[M]のうち、解析時点t[m1]の中間データD[m1]に類似する中間データD[m]が観測される各解析時点t[m]についても同様に、当該解析時点t[m]の出力データO[m]が表す確率P[m]は、0に近い数値に設定されるべきである。そこで、推定モデル更新部27は、中間データD[m]と中間データD[m1]との類似度が所定の閾値を上回る場合には、出力データO[m]の確率P[m]が充分に小さい数値(例えば0)に近付くように、推定モデル50の複数の変数を更新する。具体的には、推定モデル更新部27は、中間データD[m1]との類似度が閾値を上回る各中間データD[m]から推定モデル50が生成する出力データO[m]の確率P[m]と、拍点に該当しないこと意味する数値(すなわち0)との誤差が低減されるように、第1部分50aと適応ブロック55と第2部分50bとの各々を規定する係数を更新する。
以上の説明から理解される通り、第1実施形態においては、変更指示に直接的に関連する中間データD[m1]および中間データD[m2]だけでなく、楽曲の全体にわたるM個の中間データD[1]~D[M]のうち中間データD[m1]または中間データD[m2]に類似する中間データD[m]も推定モデル50の更新に利用される。したがって、利用者が変更を指示する拍点は楽曲内の一部の拍点に過ぎないにも関わらず、推定モデル更新処理Scの実行後の推定モデル50は、楽曲の全体にわたり変更指示が反映されたM個の出力データO[1]~O[M]を生成できる。
図12は、推定モデル更新処理Scの具体的な手順を例示するフローチャートである。制御装置11が推定モデル更新部27として機能することで推定モデル更新処理Scを実行する。
推定モデル更新処理Scが開始されると、推定モデル更新部27は、推定モデル50に適応ブロック55が既に追加されているか否かを判定する(Sc1)。推定モデル50に適応ブロック55が追加されていない場合(Sc1:NO)、推定モデル更新部27は、推定モデル50の第1部分50aと第2部分50bとの間に初期的な適応ブロック55を新規に追加する(Sc2)。他方、過去の推定モデル更新処理Scにおいて適応ブロック55が追加済である場合(Sc1:YES)、適応ブロック55の追加(Sc2)は実行されない。
適応ブロック55が新規に追加された場合には、新規な適応ブロック55を含む推定モデル50が以下の処理により更新され、適応ブロック55が追加済である場合には、既存の適応ブロック55を含む推定モデル50が以下の処理により更新される。すなわち、推定モデル更新部27は、推定モデル50に適応ブロック55が追加された状態において、利用者からの変更指示による変更前および変更後の拍点の位置を適用した追加学習(Sc3およびSc4)を実行することで、推定モデル50の複数の変数を更新する。なお、2個以上の拍点について利用者が位置の変更を指示した場合、変更指示に係る各拍点について追加学習(Sc3およびSc4)が実行される。
推定モデル更新部27は、変更指示による変更前の拍点が位置する解析時点t[m1]の特徴データF[m1]を利用して、推定モデル50の複数の変数を更新する(Sc3)。具体的には、推定モデル更新部27は、推定モデル50に対する特徴データF[m1]の供給に並行してM個の中間データD[1]~D[M]の各々を適応ブロック55に順次に供給し、特徴データF[m1]の中間データD[m1]に類似する各中間データD[m]から生成される出力データO[m]の確率P[m]が0に近付くように、推定モデル50の複数の変数を更新する。したがって、推定モデル50は、解析時点t[m1]の特徴データF[m1]に類似する特徴データF[m]が入力された場合に、0に近い確率P[m]を表す出力データO[m]を生成するように訓練される。
また、推定モデル更新部27は、変更指示による変更後の拍点が位置する解析時点t[m2]の特徴データF[m2]を利用して、推定モデル50の複数の変数を更新する(Sc4)。具体的には、推定モデル更新部27は、推定モデル50に対する特徴データF[m2]の供給に並行してM個の中間データD[1]~D[M]の各々を適応ブロック55に順次に供給し、特徴データF[m2]の中間データD[m2]に類似する各中間データD[m]から生成される出力データO[m]の確率P[m]が1に近付くように、推定モデル50の複数の変数を更新する。したがって、推定モデル50は、解析時点t[m2]の特徴データF[m2]に類似する特徴データF[m]が入力された場合に、1に近い確率P[m]を表す出力データO[m]を生成するように訓練される。
以上に例示した推定モデル更新処理Scにより変更指示に応じて推定モデル50が更新されるほか、第1実施形態においては、変更指示に応じた拘束条件のもとで拍点推定処理Sbが実行されることで、更新後の複数の拍点が推定される。
前述の通り、拍間隔δ内の5個の経過点Y[0]~Y[4]のうちの経過点Y[0]は拍点に該当し、残余の4個の経過点Y[1]~Y[4]は拍点に該当しない。時間軸上の解析時点t[m2]は、変更指示による変更後の拍点に該当する。そこで、推定処理部23は、解析時点t[m2]において相異なる状態Qに対応するN個の尤度λ[i,j]のうち、経過点Y[0]以外の経過点Y[j'](j'=1~4)に対応する尤度λ[i,j']を強制的に0に設定する。また、推定処理部23は、解析時点t[m2]にけるN個の尤度λ[i,j]のうち、経過点Y[0]に対応する尤度λ[i,0]を、前述の方法で算定される数値に維持する。したがって、状態系列の生成(Sb3)においては、解析時点t[m2]において経過点Y[0]の状態Qを必ず通過する最尤経路が推定される。すなわち、解析時点t[m2]は拍点に該当すると推定される。以上の説明から理解される通り、利用者からの変更指示による変更後の拍点の解析時点t[m2]において経過点Y[0]の状態Qが観測されるという拘束条件のもとで拍点推定処理Sbが実行される。
他方、時間軸上の解析時点t[m1]は、変更指示による変更後の拍点に該当しない。そこで、推定処理部23は、解析時点t[m1]において相異なる状態Qに対応するN個の尤度λ[i,j]のうち、経過点Y[0]に対応する尤度λ[i,0]を強制的に0に設定する。また、推定処理部23は、解析時点t[m1]にけるN個の尤度λ[i,j]のうち、経過点Y[0]以外の経過点Y[j']に対応する尤度λ[i,j']に対応する尤度λ[i,j']を、前述の方法で算定される有意な数値に維持する。したがって、状態系列の生成(Sb3)においては、解析時点t[m1]において経過点Y[0]の状態Qを通過しない最尤経路が推定される。すなわち、解析時点t[m1]は拍点に該当しないと推定される。以上の説明から理解される通り、利用者からの変更指示による変更前の解析時点t[m1]において経過点Y[0]の状態Qが観測されないという拘束条件のもとで拍点推定処理Sbが実行される。
以上の通り、解析時点t[m1]における経過点Y[0]の尤度λ[i,0]が0に設定され、解析時点t[m2]における経過点Y[0]以外の経過点Y[j']の尤度λ[i,j']が0に設定されることで、楽曲全体にわたる最尤経路が変化する。すなわち、利用者が変更を指示する拍点は楽曲内の一部の拍点に過ぎないにも関わらず、楽曲の全体にわたる複数の拍点に変更指示が反映される。
図13は、制御装置11が実行する処理の具体的な手順を例示するフローチャートである。例えば操作装置14に対する利用者からの指示を契機として図13の処理が開始される。処理が開始されると、制御装置11は、音響信号Aの解析により楽曲の複数の拍点を推定する処理(以下「初期解析処理」という)を実行する(S1)。
図14は、初期解析処理の具体的な手順を例示するフローチャートである。初期解析処理が開始されると、制御装置11(特徴抽出部21)は、時間軸上のM個の解析時点t[1]~t[M]の各々について特徴データF[m]を生成する(S11)。特徴データF[m]は、前述の通り、解析時点t[m]を含む単位期間U内の複数の特徴量f[m]の時系列である。
制御装置11(確率算定部22)は、図6に例示した確率算定処理Saを実行することで、相異なる解析時点t[m]に対応するM個の出力データO[m]を生成する(S12)。また、制御装置11(推定処理部23)は、図9に例示した拍点推定処理Sbを実行することで、楽曲内の複数の拍点を推定する(S13)。
制御装置11(表示制御部24)は、拍点推定処理Sbにより推定された複数の拍点のうち1個以上の修正候補点を特定する(S14)。具体的には、直前または直後の拍点との拍間隔δが楽曲内の平均値から乖離する拍点、または、拍間隔δの時間長が前後の拍間隔でδと比較して顕著に相違する拍点が、修正候補点として特定される。また、複数の拍点のうち確率P[m]が所定値を下回る拍点が修正候補点として特定されてもよい。制御装置11(表示制御部24)は、図10に例示した解析画面70を表示装置13に表示させる(S15)。
以上に例示した初期解析処理を実行すると、制御装置11(指示受付部26)は、図13に例示される通り、楽曲内の複数の拍点のうち一部の拍点に関する変更指示を利用者から受付けるまで待機する(S2:NO)。変更指示を受付けると(S2:YES)、制御装置11(推定モデル更新部27および解析処理部20)は、初期解析処理で推定された複数の拍点の位置を利用者からの変更指示に応じて更新する拍点更新処理を実行する(S3)。
図15は、拍点更新処理の具体的な手順を例示するフローチャートである。制御装置11(推定モデル更新部27)は、図12に例示した推定モデル更新処理Scを実行することで、推定モデル50の複数の変数を利用者からの変更指示に応じて更新する(S31)。
制御装置11(確率算定部22)は、推定モデル更新処理Scによる更新後の推定モデル50を利用して図6の確率算定処理Saを実行することで、M個の出力データO[1]~O[M]を生成する(S32)。また、制御装置11(解析処理部20)は、M個の出力データO[1]~Q[M]を利用した図9の拍点推定処理Sbを実行することで、拍点データBを生成する(S33)。すなわち、楽曲内の複数の拍点が推定される。拍点更新処理内の拍点推定処理Sbは、変更指示に応じた前述の拘束条件のもとで実行される。
以上の説明から理解される通り、推定モデル50を更新する推定モデル更新処理Scと、更新後の推定モデル50を利用した確率算定処理Saと、当該確率算定処理Saにより生成された出力データO[m]を利用した拍点推定処理Sbとにより、更新後の複数の拍点が推定される。すなわち、推定モデル更新部27と確率算定部22と解析処理部20とにより、推定済の複数の拍点の位置を更新する要素(拍点更新部)が実現される。
制御装置11(表示制御部24)は、前述のステップS14と同様に、拍点推定処理Sbにより推定された複数の拍点のうち1個以上の修正候補点を特定する(S34)。制御装置11(表示制御部24)は、更新後の各拍点を表す拍画像751を含む図10の解析画面70を表示装置13に表示させる(S35)。
以上に例示した拍点更新処理を実行すると、制御装置11は、図13に例示される通り、利用者から処理の終了が指示されたか否かを判定する(S4)。処理の終了が指示されない場合(S4:NO)、制御装置11は、利用者による変更指示の待機(S2)に移行する。制御装置11は、利用者による再度の変更指示を契機として拍点更新処理を実行する(S3)。第2回目以降の拍点更新処理の推定モデル更新処理Sc(S31)においては、適応ブロック55の有無の判定(Sc1)の結果が肯定となるから、新規な適応ブロック55の追加は実行されない。すなわち、第1回目の拍点更新処理において適応ブロック55が追加された推定モデル50が、以降における推定モデル更新処理Scの実行毎に累積的に更新される。他方、処理の終了が指示された場合(S4:YES)、制御装置11は図13の処理を終了する。
以上に説明した通り、第1実施形態においては、音響信号Aの解析により推定された複数の拍点のうち一部の拍点に関する利用者からの変更指示に応じて、当該一部の拍点以外の拍点を含む楽曲内の複数の拍点の位置が更新される。すなわち、楽曲の一部に対する変更指示が楽曲の全体に反映される。したがって、楽曲内の全部の拍点の各々について利用者が位置の変更を指示する必要がある構成と比較して、利用者が各拍点の位置の変更を指示する負荷を軽減しながら、利用者の意図に沿った拍点の時系列を取得できる。
推定モデル50における第1部分50aと第2部分50bとの間に適応ブロック55を追加した状態において、利用者からの変更指示による変更前および変更後の拍点の位置を適用した追加学習により推定モデル50が更新される。したがって、利用者の意図または嗜好に沿った拍点を推定可能な状態に推定モデル50を特化できる。
また、複数のテンポX[i]の何れかに対応する複数の状態Qで構成される状態遷移モデル60を利用して複数の拍点が推定される。したがって、テンポX[i]が自然に遷移するように複数の拍点を推定できる。第1実施形態においては特に、状態遷移モデル60の複数の状態Qが、複数のテンポX[i]の各々と拍間隔δ内の複数の経過点Y[j]の各々との相異なる組合せに対応し、利用者からの変更指示による変更後の拍点の解析時点t[m]において経過点Y[0]に対応する状態Qが観測されるという拘束条件のもとで拍点推定処理Sbが実行される。したがって、利用者からの変更指示による変更後の時点を拍点として含む複数の拍点を推定できる。
B:第2実施形態
第2実施形態を説明する。なお、以下に例示する各形態において機能が第1実施形態と同様である要素については、第1実施形態の説明で使用したのと同様の符号を流用して各々の詳細な説明を適宜に省略する。
図16は、第2実施形態における音響解析システム100の機能的な構成を例示するブロック図である。第2実施形態の制御装置11は、第1実施形態と同様の要素(解析処理部20,表示制御部24,再生制御部25,指示受付部26および推定モデル更新部27)に加えて曲線設定部28として機能する。
第2実施形態の解析処理部20は、楽曲内の複数の拍点の推定に加えて、当該楽曲のテンポT[m]の推定を実行する。すなわち、解析処理部20は、音響信号Aを解析することで、時間軸上の相異なる解析時点t[m]に対応するM個のテンポT[1]~T[M]の時系列を推定する。
図17は、第2実施形態における解析画面70の模式図である。第2実施形態の解析画面70は、第1実施形態と同様の要素に加えて、推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとを含む。具体的には、解析画面70の波形領域73には、音響信号Aの波形731と推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとが、共通の時間軸のもとで表示される。なお、図17においては、音響信号Aにおける発音点732の表示が便宜的に省略されている。
図18は、推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとに着目した模式図である。推定テンポ曲線CTは、解析処理部20が推定するテンポT[m]の時系列を表す曲線である。また、最大テンポ曲線CHは、解析処理部20が推定するテンポT[m]の最大値(以下「最大テンポ」という)H[m]の時間変化を表す曲線である。すなわち、最大テンポ曲線CHは、時間軸上の相異なる解析時点t[m]に対応するM個の最大テンポH[1]~H[M]の時系列を表す。最小テンポ曲線CLは、解析処理部20が推定するテンポT[m]の最小値(以下「最小テンポ」という)L[m]の時間変化を表す曲線である。すなわち、最小テンポ曲線CLは、時間軸上の相異なる解析時点t[m]に対応するM個の最小テンポL[1]~L[M]の時系列を表す。
以上の説明から理解される通り、解析処理部20は、各解析時点t[m]について、最大テンポH[m]と最小テンポL[m]との間の範囲(以下「制限範囲」という)R[m]内において楽曲のテンポT[m]を推定する。したがって、推定テンポ曲線CTは、最大テンポ曲線CHと最小テンポ曲線CLとの間に位置する。制限範囲R[m]の位置および範囲幅は経時的に変化する。
図16の曲線設定部28は、最大テンポ曲線CHと最小テンポ曲線CLとを設定する。例えば、利用者は、操作装置14を操作することで、所望の形状の最大テンポ曲線CHと所望の形状の最小テンポ曲線CLとを指示できる。曲線設定部28は、解析画面70(波形領域73)に対する利用者からの指示に応じて最大テンポ曲線CHおよび最小テンポ曲線CLを設定する。例えば、曲線設定部28は、波形領域73内に利用者が指定した複数の地点を時系列に通過する連続的な曲線を最大テンポ曲線CHまたは最小テンポ曲線として設定する。また、利用者は、操作装置14を操作することで、設定済の最大テンポ曲線CHおよび最小テンポ曲線CLの変更を波形領域73に対して指示できる。曲線設定部28は、最大テンポ曲線CHと最小テンポ曲線CLとを、解析画像(波形領域73)に対する利用者からの指示に応じて変更する。以上の説明から理解される通り、第2実施形態によれば、利用者は、解析画面70を確認しながら最大テンポ曲線CHと最小テンポ曲線CLとを容易に変更できる。
第2実施形態においては、音響信号Aの波形731と、最大テンポ曲線CHおよび最小テンポ曲線CLとが共通の時間軸のもとで表示されるから、最大テンポH[m]または最小テンポL[m]の時間変化と音響信号Aの波形731との関係を利用者が視覚的に把握し易い。また、最大テンポ曲線CHおよび最小テンポ曲線CLとともに推定テンポ曲線CTが表示されるから、最大テンポ曲線CHと最小テンポ曲線CLとの間で推定された楽曲のテンポT[m]の時間変化を利用者が視覚的に把握できる。
図19は、第2実施形態における拍点推定処理Sbの具体的な手順を例示するフローチャートである。各解析時点t[m]の観測尤度Λ[m]を第1実施形態と同様に設定すると(Sb1)、推定処理部23は、状態遷移モデル60の各状態Q[i,j]について、経路p[i,j]と尤度λ[i,j]とを解析時点t[m]毎に算定する(Sb2)。第2実施形態の推定処理部23は、各解析時点t[m]について、複数のテンポX[i]のうち最大テンポH[m]を上回る各テンポX[i]に対応する尤度λ[i,j]と、最小テンポL[m]を下回る各テンポX[i]に対応する尤度λ[i,j]とを0に設定する。すなわち、状態遷移モデル60のN個の状態Qのうち、制限範囲R[m]の外側のテンポX[i]に対応する状態Qは無効状態に設定される。また、推定処理部23は、各解析時点t[m]について、制限範囲R[m]の内側の各テンポX[i]に対応する尤度λ[i,j]を、第1実施形態と同様に有意な数値に設定する。すなわち、状態遷移モデル60のN個の状態Qのうち、制限範囲R[m]の内側のテンポX[i]に対応する状態Qは有効状態に設定される。
推定処理部23は、第1実施形態と同様の方法により状態系列を生成する(Sb3)。すなわち、N個の状態Qのうち尤度λ[i,j]が大きい状態Qを解析時点t[m]毎に配列した系列が、状態系列として生成される。前述の通り、解析時点t[m]において制限範囲R[m]の外側のテンポX[i]に対応する状態Q[i,j]の尤度λ[i,j]は0に設定される。したがって、制限範囲R[m]の外側のテンポX[i]に対応する状態Qは、状態系列の要素として選択されない。以上の説明から理解される通り、各状態Qの無効状態は、当該状態Qが選択されない状態を意味する。
推定処理部23は、第1実施形態と同様に拍点データBを生成し(Sb4)、各解析時点t[m]のテンポT[m]を状態系列から特定する(Sb5)。すなわち、状態系列のうち解析時点t[m]に対応する状態QのテンポX[i]がテンポT[m]として設定される。前述の通り、制限範囲R[m]の外側のテンポX[i]に対応する状態Qは状態系列の要素として選択されないから、テンポT[m]は、制限範囲R[m]の内側の数値に制限される。
以上に説明した通り、第2実施形態においては、最大テンポ曲線CHと最小テンポ曲線CLとが利用者からの指示に応じて設定される。そして、最大テンポ曲線CHが表す最大テンポH[m]と最小テンポ曲線CLが表す最小テンポL[m]との間の制限範囲R[m]内において楽曲のテンポT[m]が推定される。したがって、利用者が意図したテンポから過度に乖離したテンポ(例えば利用者が想定した数値の2倍または1/2倍のテンポ)が推定される可能性が低減される。すなわち、音響信号Aが表す楽曲のテンポT[m]を高精度に推定できる。
また、第2実施形態においては、複数のテンポX[i]の何れかに対応する複数の状態Qで構成される状態遷移モデル60が、複数の拍点の推定に利用される。したがって、経時的に自然に遷移するテンポT[m]が推定される。しかも、複数の状態Qのうち制限範囲R[m]の外側のテンポX[i]に対応する状態Qを無効状態に設定する簡便な処理により、制限範囲R[m]内に制限されたテンポT[m]を推定できる。
C:第3実施形態
第1実施形態においては、確率算定部22が推定モデル50により算定した確率P[m]を表す出力データO[m]が推定処理部23による拍点推定処理Sbに適用される形態を例示した。第3実施形態においては、推定モデル50により算定される確率P[m](以下「確率P1[m]」という)が操作装置14に対する利用者からの操作に応じて調整され、調整後の確率P2[m]を表す出力データO[m]が拍点推定処理Sbに適用される。
図20は、第3実施形態の確率算定部22が出力データO[m]を生成する処理の説明図である。再生制御部25が放音装置15に再生させる楽曲の演奏音を聴取しながら、利用者は、自身が拍点と認識する各時点において操作装置14を操作する。例えば、利用者は、楽曲の再生に並行して、自身が認識する拍点の時点において操作装置14のタッチパネルに対してタップ操作を付与する。図20には、利用者が操作した時点(以下「操作時点」という)τが時間軸上に図示されている。
確率算定部22は、操作時点τ毎に単位分布Wを設定する。単位分布Wは、時間軸上における加重値w[m]の分布である。例えば分散が所定値に設定された正規分布等の確率分布が単位分布Wとして利用される。各単位分布Wにおいては、操作時点τにおいて加重値w[m]が最大となり、操作時点τから離間するほど加重値w[m]が減少する。
確率算定部22は、推定モデル50が当該解析時点t[m]について生成した確率P1[m]と、当該解析時点t[m]における加重値w[m]とを乗算することで、調整後の確率P2[m]を算定する。したがって、推定モデル50が生成した確率P1[m]が小さい解析時点t[m]でも、当該解析時点t[m]が操作時点τに近い場合には、調整後の確率P2[m]は大きい数値に設定される。確率算定部22は、調整後の確率P2[m]を表す出力データO[m]を推定処理部23に供給する。推定処理部23が出力データO[m]を利用して複数の拍点を推定する拍点推定処理Sbの手順は第1実施形態と同様である。
第3実施形態においても第1実施形態と同様の効果が実現される。また、第3実施形態においては、利用者による操作時点τに設定された単位分布Wの加重値w[m]が確率P1[m]に乗算されるから、利用者の意図または嗜好を充分に反映した拍点を推定できるという利点がある。なお、第2実施形態の構成は第3実施形態にも同様に適用される。
D:変形例
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
(1)推定モデル50の構成は、図4の例示に限定されない。例えば、推定モデル50が再帰型ニューラルネットワークを含む形態も想定される。また、長短期記憶(LSTM:Long Short-Term Memory)等の付加的な要素が推定モデル50に搭載されてもよい。複数種の深層ニューラルネットワークの組合せにより推定モデル50が構成されてもよい。
(2)音響信号Aの解析により楽曲内の複数の拍点を推定する処理の具体的な手順は、前述の各形態における例示に限定されない。例えば、解析処理部20は、出力データO[m]が表す確率P[m]が極大となる解析時点t[m]を拍点として推定してもよい。すなわち、状態遷移モデル60の利用は省略される。また、例えば音響信号Aの音量等の特徴量f[m]が顕著に増加する時点を、解析処理部20が拍点として推定してもよい。すなわち、推定モデル50の利用は省略される。
(3)初期解析処理により推定された複数の拍点を更新する第1実施形態の構成は、第2実施形態において省略されてもよい。すなわち、推定済の複数の拍点のうち一部の拍点に対する変更指示に応じて楽曲全体にわたる複数の拍点を更新する第1実施形態の構成と、利用者からの指示に応じた制限範囲R[m]内において楽曲のテンポT[m]を推定する第2実施形態の構成とは、相互に独立に成立し得る。
(4)例えばスマートフォンまたはタブレット端末等の情報装置との間で通信するサーバ装置により音響解析システム100を実現してもよい。例えば、音響解析システム100は、情報装置から受信した音響信号Aの解析により拍点データBを生成し、当該拍点データBを情報装置に送信する。利用者による変更指示の受付(S2)および拍点更新処理(S3)も同様に、情報装置と通信する音響解析システム100が実行する。
(5)以上に例示した音響解析システム100の機能は、前述の通り、制御装置11を構成する単数または複数のプロセッサと、記憶装置12に記憶されたプログラムとの協働により実現される。本開示に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体も包含される。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体も除外されない。また、配信装置が通信網を介してプログラムを配信する構成では、当該配信装置においてプログラムを記憶する記憶装置12が、前述の非一過性の記録媒体に相当する。
E:付記
以上に例示した形態から、例えば以下の構成が把握される。
本開示のひとつの態様(態様1)に係る音響解析方法は、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定し、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する。以上の態様においては、最大テンポ曲線と最小テンポ曲線とが利用者からの指示に応じて設定され、最大テンポ曲線が表す最大値と最小テンポ曲線が表す最小値との間の制限範囲内において楽曲のテンポが推定される。したがって、利用者が想定したテンポから過度に乖離したテンポ(例えば2倍または1/2倍のテンポ)が推定される可能性が低減される。すなわち、音響信号が表す楽曲のテンポを高精度に推定できる。
態様1の具体例(態様2)において、前記最大テンポ曲線と前記最小テンポ曲線とを含む解析画面を表示装置に表示させ、前記最大テンポ曲線および前記最小テンポ曲線の設定においては、前記解析画面に対する前記利用者からの指示に応じて前記最大テンポ曲線および前記最小テンポ曲線を変更する。以上の態様においては、利用者は、解析画面を視認しながら最大テンポ曲線と最小テンポ曲線とを容易に変更できる。
態様2の具体例(態様3)において、前記解析画面は、前記音響信号の波形と、前記最大テンポ曲線および前記最小テンポ曲線とが、共通の時間軸のもとで配置された画像である。以上の態様によれば、最大テンポ曲線が表すテンポの最大値の時間変化または最小テンポ曲線が表すテンポの最小値の時間変化と、音響信号の波形との時間的な関係を、利用者が視覚的に把握し易いという利点がある。
態様2または態様3の具体例(態様4)において、前記解析画面は、前記音響信号の解析により推定されたテンポの時間変化を表す推定テンポ曲線を含む。以上の態様によれば、最大テンポ曲線と最小テンポ曲線との間で推定された楽曲のテンポの時間変化を利用者が視覚的に把握できる。
態様1から態様4の何れかの具体例(態様5)において、前記テンポの推定においては、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して前記楽曲のテンポを推定し、前記複数の状態のうち前記制限範囲の外側のテンポに対応する状態を無効状態に設定する。以上の態様によれば、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して複数の拍点が推定される。したがって、経時的に自然に遷移するテンポが推定される。また、複数の状態のうち制限範囲の外側のテンポに対応する状態を無効状態に設定する簡便な処理により、制限範囲内に制限されたテンポを推定できる。
本開示のひとつの態様(態様6)に係る音響解析システムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部と、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部とを具備する。
本開示のひとつの態様(態様7)に係るプログラムは、テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部、および、楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部、としてコンピュータシステムを機能させる。
なお、本明細書における「テンポ」は、演奏速度を表す任意の数値であり、単位時間内の拍数(BPM:Beats Per Minute)という意味の狭義のテンポには限定されない。
100…音響解析システム、11…制御装置、12…記憶装置、13…表示装置、14…操作装置、15…放音装置、20…解析処理部、21…特徴抽出部、22…確率算定部、23…推定処理部、24…表示制御部、25…再生制御部、26…指示受付部、27…推定モデル更新部、28…曲線設定部、50…推定モデル、50a…第1部分、50b…第2部分、51…入力層、52(52a,52b)…中間層、53…出力層、55…適応ブロック、59…暫定モデル、60…状態遷移モデル。

Claims (7)

  1. テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定し、
    楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する
    コンピュータシステムにより実現される音響解析方法。
  2. 前記最大テンポ曲線と前記最小テンポ曲線とを含む解析画面を表示装置に表示させ、
    前記最大テンポ曲線および前記最小テンポ曲線の設定においては、前記解析画面に対する前記利用者からの指示に応じて前記最大テンポ曲線および前記最小テンポ曲線を変更する
    請求項1の音響解析方法。
  3. 前記解析画面は、
    前記音響信号の波形と、前記最大テンポ曲線および前記最小テンポ曲線とが、共通の時間軸のもとで配置された画像である
    請求項2の音響解析方法。
  4. 前記解析画面は、前記音響信号の解析により推定されたテンポの時間変化を表す推定テンポ曲線を含む
    請求項2または請求項3の何れかの音響解析方法。
  5. 前記テンポの推定においては、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して前記楽曲のテンポを推定し、前記複数の状態のうち前記制限範囲の外側のテンポに対応する状態を無効状態に設定する
    請求項1から請求項4の何れかの音響解析方法。
  6. テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部と、
    楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部と
    を具備する音響解析システム。
  7. テンポの最大値の時間変化を表す最大テンポ曲線と、テンポの最小値の時間変化を表す最小テンポ曲線とを、利用者からの指示に応じて設定する曲線設定部、および、
    楽曲の演奏音を表す音響信号を解析することで、前記最大テンポ曲線が表す最大値と前記最小テンポ曲線が表す最小値との間の制限範囲内において前記楽曲のテンポを推定する解析処理部
    としてコンピュータシステムを機能させるプログラム。
JP2021028549A 2021-02-25 2021-02-25 音響解析方法、音響解析システムおよびプログラム Pending JP2022129742A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2021028549A JP2022129742A (ja) 2021-02-25 2021-02-25 音響解析方法、音響解析システムおよびプログラム
CN202280015315.6A CN116917981A (zh) 2021-02-25 2022-02-18 音响解析方法、音响解析系统及程序
PCT/JP2022/006612 WO2022181477A1 (ja) 2021-02-25 2022-02-18 音響解析方法、音響解析システムおよびプログラム
CN202280015307.1A CN116868264A (zh) 2021-02-25 2022-02-18 音响解析方法、音响解析系统及程序
PCT/JP2022/006601 WO2022181474A1 (ja) 2021-02-25 2022-02-18 音響解析方法、音響解析システムおよびプログラム
US18/453,180 US20230395052A1 (en) 2021-02-25 2023-08-21 Audio analysis method, audio analysis system and program
US18/453,196 US20230395047A1 (en) 2021-02-25 2023-08-21 Audio analysis method, audio analysis system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021028549A JP2022129742A (ja) 2021-02-25 2021-02-25 音響解析方法、音響解析システムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2022129742A true JP2022129742A (ja) 2022-09-06

Family

ID=83150703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021028549A Pending JP2022129742A (ja) 2021-02-25 2021-02-25 音響解析方法、音響解析システムおよびプログラム

Country Status (2)

Country Link
JP (1) JP2022129742A (ja)
CN (2) CN116868264A (ja)

Also Published As

Publication number Publication date
CN116917981A (zh) 2023-10-20
CN116868264A (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
US9672800B2 (en) Automatic composer
US9257053B2 (en) System and method for providing audio for a requested note using a render cache
EP3059886B1 (en) Virtual production of a musical composition by applying chain of effects to instrumental tracks.
JP6035702B2 (ja) 音響処理装置および音響処理方法
CA2996784A1 (en) System and method of receiving, analyzing, and editing audio to create musical compositions
JP6175812B2 (ja) 楽音情報処理装置及びプログラム
CA2843438A1 (en) System and method for providing audio for a requested note using a render cache
JP5879996B2 (ja) 音信号生成装置及びプログラム
WO2022181477A1 (ja) 音響解析方法、音響解析システムおよびプログラム
JP2022075147A (ja) 音響処理システム、音響処理方法およびプログラム
JP2022129742A (ja) 音響解析方法、音響解析システムおよびプログラム
JP2022129738A (ja) 音響解析方法、音響解析システムおよびプログラム
JP6747236B2 (ja) 音響解析方法および音響解析装置
JP2014164131A (ja) 音響合成装置
GB2606522A (en) A system and method for generating a musical segment
JP7147384B2 (ja) 情報処理方法および情報処理装置
WO2024004564A1 (ja) 音響解析システム、音響解析方法およびプログラム
JP6788560B2 (ja) 歌唱評価装置、歌唱評価プログラム、歌唱評価方法及びカラオケ装置
JP6680029B2 (ja) 音響処理方法および音響処理装置
JP6657866B2 (ja) 音響効果付与装置及び音響効果付与プログラム
WO2022202374A1 (ja) 音響処理方法、音響処理システム、プログラム、および生成モデルの確立方法
WO2024085175A1 (ja) データ処理方法およびプログラム
US20230419929A1 (en) Signal processing system, signal processing method, and program
EP4270374A1 (en) Method for tempo adaptive backing track
JP6114492B2 (ja) データ処理装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231221