Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7764688B2 - Acoustic analysis method, acoustic analysis system and program - Google Patents
[go: Go Back, main page]

JP7764688B2 - Acoustic analysis method, acoustic analysis system and program - Google Patents

Acoustic analysis method, acoustic analysis system and program

Info

Publication number
JP7764688B2
JP7764688B2 JP2021028539A JP2021028539A JP7764688B2 JP 7764688 B2 JP7764688 B2 JP 7764688B2 JP 2021028539 A JP2021028539 A JP 2021028539A JP 2021028539 A JP2021028539 A JP 2021028539A JP 7764688 B2 JP7764688 B2 JP 7764688B2
Authority
JP
Japan
Prior art keywords
beat
analysis
beats
positions
point
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.)
Active
Application number
JP2021028539A
Other languages
Japanese (ja)
Other versions
JP2022129738A (en
Inventor
和彦 山本
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 JP2021028539A priority Critical patent/JP7764688B2/en
Priority to PCT/JP2022/006601 priority patent/WO2022181474A1/en
Priority to PCT/JP2022/006612 priority patent/WO2022181477A1/en
Publication of JP2022129738A publication Critical patent/JP2022129738A/en
Priority to US18/453,180 priority patent/US20230395052A1/en
Priority to US18/453,196 priority patent/US20230395047A1/en
Priority to JP2025179286A priority patent/JP2026002982A/en
Application granted granted Critical
Publication of JP7764688B2 publication Critical patent/JP7764688B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本開示は、音響信号を解析する技術に関する。 This disclosure relates to technology for analyzing acoustic signals.

楽曲の演奏音を表す音響信号を解析することで当該楽曲の拍点(ビート)を推定する解析技術が従来から提案されている。例えば特許文献1には、隠れマルコフモデル等の確率モデルを利用して楽曲の拍点を推定する技術が開示されている。 Analysis techniques have been proposed for estimating the beats of a piece of music by analyzing audio signals that represent the sounds being played in that piece of music. For example, Patent Document 1 discloses a technique for estimating the beats of a piece of music using a probabilistic model such as a hidden Markov model.

特開2015-114361号公報JP 2015-114361 A

楽曲の拍点を推定する従来の技術においては、例えば楽曲の裏拍が拍点として誤推定される可能性、または、楽曲の本来のテンポの2倍のテンポに対応する拍点が誤推定される可能性がある。また、利用者が表拍の推定を期待している状況で楽曲の裏拍が推定される場合のように、拍点の推定結果が利用者の意図に適合しない可能性もある。以上の事情を考慮すると、音響信号から推定された複数の拍点の時間軸上の位置を、利用者が変更できる構成が重要である。しかし、楽曲の全体にわたる個々の拍点を利用者が所望の時点に変更する作業の負荷が過大であるという問題がある。以上の事情を考慮して、本開示のひとつの態様は、利用者が各拍点の位置の変更を指示する負荷を軽減しながら、当該利用者の意図に沿った拍点の時系列を取得することをひとつの目的とする。 Conventional techniques for estimating beats in music may erroneously estimate, for example, a backbeat as a beat, or may erroneously estimate a beat corresponding to a tempo twice the original tempo of the music. Furthermore, there is a possibility that the estimated beat may not match the user's intention, such as when a backbeat is estimated when the user is expecting a downbeat. Considering these circumstances, it is important to have a configuration that allows the user to change the positions on the time axis of multiple beats estimated from an audio signal. However, there is a problem in that the task of changing each individual beat throughout a piece of music to a desired time point is excessively burdensome. In consideration of these circumstances, one aspect of the present disclosure aims to obtain a time series of beats that matches the user's intention, while reducing the burden on the user of instructing changes to the position of each beat.

以上の課題を解決するために、本開示のひとつの態様に係る音響解析システムは、楽曲の演奏音を表す音響信号の解析により前記楽曲の複数の拍点を推定し、前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付け、前記利用者からの指示に応じて前記複数の拍点の位置を更新する。 To solve the above problems, an acoustic analysis system according to one aspect of the present disclosure estimates multiple beats in a piece of music by analyzing an acoustic signal representing the sounds of the music being played, accepts instructions from a user to change the positions of some of the multiple beats, and updates the positions of the multiple beats in accordance with the instructions from the user.

本開示のひとつの態様に係る音響解析システムは、楽曲の演奏音を表す音響信号の解析により前記楽曲の複数の拍点を推定する解析処理部と、前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部と、前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部とを具備する。 An acoustic analysis system according to one aspect of the present disclosure includes an analysis processing unit that estimates multiple beats of a piece of music by analyzing an acoustic signal representing the sound of the piece of music being played, an instruction receiving unit that receives instructions from a user to change the positions of some of the multiple beats, and a beat updating unit that updates the positions of the multiple beats in response to instructions from the user.

本開示のひとつの態様に係るプログラムは、楽曲の演奏音を表す音響信号の解析により前記楽曲の複数の拍点を推定する解析処理部、前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部、および、前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部、としてコンピュータシステムを機能させる。 A program according to one aspect of the present disclosure causes a computer system to function as an analysis processing unit that estimates multiple beats of a piece of music by analyzing an audio signal representing the sound of the music being played, an instruction receiving unit that receives instructions from a user to change the positions of some of the multiple beats, and a beat updating unit that updates the positions of the multiple beats in response to instructions from the user.

第1実施形態に係る音響解析システムの構成を例示するブロック図である。1 is a block diagram illustrating a configuration of an acoustic analysis system according to a first embodiment. 音響解析システムの機能的な構成を例示するブロック図である。FIG. 1 is a block diagram illustrating an example of the functional configuration of an acoustic analysis system. 特徴抽出部が特徴データを生成する動作の説明図である。FIG. 10 is an explanatory diagram of an operation in which a feature extraction unit generates feature data. 推定モデルの構成を例示するブロック図である。FIG. 1 is a block diagram illustrating the configuration of an estimation model. 推定モデルを確立する機械学習の説明図である。FIG. 1 is an explanatory diagram of machine learning for establishing an estimation model. 確率算定処理の具体的な手順を例示するフローチャートである。10 is a flowchart illustrating a specific procedure of a probability calculation process. 状態遷移モデルの説明図である。FIG. 2 is an explanatory diagram of a state transition model. 拍点推定処理の説明図である。FIG. 10 is an explanatory diagram of a beat point estimation process. 拍点推定処理の具体的な手順を例示するフローチャートである。10 is a flowchart illustrating a specific procedure of beat point estimation processing. 解析画面の模式図である。FIG. 10 is a schematic diagram of an analysis screen. 推定モデル更新処理の説明図である。FIG. 10 is an explanatory diagram of an estimation model update process. 推定モデル更新処理の具体的な手順を例示するフローチャートである。10 is a flowchart illustrating a specific procedure of an estimation model update process. 制御装置が実行する処理の具体的な手順を例示するフローチャートである。4 is a flowchart illustrating a specific procedure of a process executed by a control device. 初期解析処理の具体的な手順を例示するフローチャートである。10 is a flowchart illustrating a specific procedure of an initial analysis process. 拍点更新処理の具体的な手順を例示するフローチャートである。10 is a flowchart illustrating a specific procedure of a beat point updating process. 第2実施形態における音響解析システムの機能的な構成を例示するブロック図である。FIG. 10 is a block diagram illustrating an example of the functional configuration of an acoustic analysis system according to a second embodiment. 第2実施形態における解析画面の模式図である。FIG. 11 is a schematic diagram of an analysis screen in the second embodiment. 推定テンポ曲線,最大テンポ曲線および最初テンポ曲線の説明図である。1 is an explanatory diagram of an estimated tempo curve, a maximum tempo curve, and an initial tempo curve. 第2実施形態における拍点推定処理の具体的な手順を例示するフローチャートである。10 is a flowchart illustrating a specific procedure of beat point estimation processing in the second embodiment. 第3実施形態において出力データを生成する処理の説明図である。FIG. 11 is an explanatory diagram of a process for generating output data in the third embodiment.

A:第1実施形態
図1は、第1実施形態に係る音響解析システム100の構成を例示するブロック図である。音響解析システム100は、楽曲の演奏音を表す音響信号Aの解析により当該楽曲の複数の拍点を推定するコンピュータシステムである。音響解析システム100は、制御装置11と記憶装置12と表示装置13と操作装置14と放音装置15とを具備する。音響解析システム100は、例えばスマートフォンまたはタブレット端末等の可搬型の情報装置、またはパーソナルコンピュータ等の可搬型または据置型の情報装置により実現される。なお、音響解析システム100は、単体の装置として実現されるほか、相互に別体で構成された複数の装置でも実現される。
A: First Embodiment FIG. 1 is a block diagram illustrating the configuration of an acoustic analysis system 100 according to a first embodiment. The acoustic analysis system 100 is a computer system that estimates multiple beats of a piece of music by analyzing an acoustic signal A that represents the performance sounds of the piece of music. The acoustic analysis system 100 includes a control device 11, a storage device 12, a display device 13, an operation device 14, and a sound emission device 15. The acoustic analysis system 100 is realized, for example, by a portable information device such as a smartphone or tablet terminal, or a portable or stationary information device such as a personal computer. The acoustic analysis system 100 can be realized as a single device, or as multiple devices configured separately from each other.

制御装置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種類以上のプロセッサにより構成される。 The control device 11 is composed of one or more processors that control each element of the acoustic analysis system 100. For example, the control device 11 is composed of one or more types of processors, such as a CPU (Central Processing Unit), SPU (Sound Processing Unit), DSP (Digital Signal Processor), FPGA (Field Programmable Gate Array), or ASIC (Application Specific Integrated Circuit).

記憶装置12は、制御装置11が実行するプログラムと制御装置11が使用する各種のデータとを記憶する単数または複数のメモリである。記憶装置12は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または、複数種の記録媒体の組合せで構成される。なお、音響解析システム100に対して着脱される可搬型の記録媒体、または例えばインターネット等の通信網を介して制御装置11が書込または読出を実行可能な記録媒体(例えばクラウドストレージ)を、記憶装置12として利用してもよい。 The storage device 12 is one or more memories that store the programs executed by the control device 11 and various data used by the control device 11. The storage device 12 is composed of a known storage medium, such as a magnetic recording medium or semiconductor recording medium, or a combination of multiple types of storage medium. Note that the storage device 12 may also be a portable storage medium that can be attached to or detached from the acoustic analysis system 100, or a storage medium (e.g., cloud storage) that the control device 11 can write to or read from via a communication network such as the Internet.

記憶装置12は、音響信号Aを記憶する。音響信号Aは、楽曲の演奏音の波形を表すサンプル系列である。具体的には、音響信号Aは、楽曲の楽器音および歌唱音の少なくとも一方を表す。音響信号Aのデータ形式は任意である。なお、音響解析システム100とは別体の信号供給装置から音響信号Aが音響解析システム100に供給されてもよい。信号供給装置は、例えば、記録媒体に記録された音響信号Aを音響解析システム100に供給する再生装置、または、配信装置(図示略)から通信網を介して受信した音響信号Aを音響解析システム100に供給する通信機器である。 The storage device 12 stores the audio signal A. The audio signal A is a series of samples representing the waveform of the musical performance sound. Specifically, the audio signal A represents at least one of the musical instrument sounds and the vocal sounds of the musical piece. The data format of the audio signal A is arbitrary. The audio signal A may be supplied to the acoustic analysis system 100 from a signal supply device separate from the acoustic analysis system 100. The signal supply device is, for example, a playback device that supplies the audio signal A recorded on a recording medium to the acoustic analysis system 100, or a communication device that supplies the audio signal A received from a distribution device (not shown) via a communication network to the acoustic analysis system 100.

表示装置13は、制御装置11による制御のもとで画像を表示する。例えば液晶表示パネルまたは有機EL(Electroluminescence)パネル等の各種の表示パネルが表示装置13として利用される。なお、音響解析システム100とは別体の表示装置13を音響解析システム100に有線または無線により接続してもよい。操作装置14は、利用者からの指示を受付ける入力機器である。操作装置14は、例えば、利用者が操作する操作子、または、利用者による接触を検知するタッチパネルである。 The display device 13 displays images under the control of the control device 11. For example, various display panels such as a liquid crystal display panel or an organic EL (Electroluminescence) panel may be used as the display device 13. Note that the display device 13 may be separate from the acoustic analysis system 100 and connected to the acoustic analysis system 100 by wire or wirelessly. The operation device 14 is an input device that accepts instructions from the user. The operation device 14 may be, for example, a control operated by the user or a touch panel that detects contact by the user.

放音装置15は、制御装置11による制御のもとで音響を再生する。例えばスピーカまたはヘッドホンが放音装置15として利用される。なお、音響解析システム100とは別体の放音装置15を音響解析システム100に有線または無線により接続してもよい。 The sound emitting device 15 reproduces sound under the control of the control device 11. For example, a speaker or headphones may be used as the sound emitting device 15. Note that the sound emitting device 15 may be separate from the acoustic analysis system 100 and connected to the acoustic analysis system 100 by wire or wirelessly.

図2は、音響解析システム100の機能的な構成を例示するブロック図である。制御装置11は、記憶装置12に記憶されたプログラムを実行することで、音響信号Aを処理するための複数の機能(解析処理部20,表示制御部24,再生制御部25,指示受付部26および推定モデル更新部27)を実現する。 Figure 2 is a block diagram illustrating the functional configuration of the acoustic analysis system 100. The control device 11 executes a program stored in the storage device 12 to realize multiple functions for processing the acoustic signal A (analysis processing unit 20, display control unit 24, playback control unit 25, instruction receiving unit 26, and estimation model update unit 27).

解析処理部20は、音響信号Aの解析により楽曲内の複数の拍点を推定する。具体的には、解析処理部20は、音響信号Aから拍点データBを生成する。拍点データBは、楽曲内の各拍点を表すデータである。具体的には、拍点データBは、楽曲内の複数の拍点の各々について当該拍点の時刻を指定する時系列データである。例えば、音響信号Aの始点を基準とした各拍点の時刻が拍点データBにより指定される。第1実施形態の解析処理部20は、特徴抽出部21と確率算定部22と推定処理部23とを具備する。 The analysis processing unit 20 estimates multiple beats in a piece of music by analyzing the audio signal A. Specifically, the analysis processing unit 20 generates beat data B from the audio signal A. The beat data B is data representing each beat in the piece of music. Specifically, the beat data B is time-series data that specifies the time of each beat in the piece of music. For example, the beat data B specifies the time of each beat relative to the start point of the audio signal A. The analysis processing unit 20 of the first embodiment includes a feature extraction unit 21, a probability calculation unit 22, and an estimation processing unit 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に関する複数種の情報の組合せでもよい。
[Feature extraction unit 21]
FIG. 3 is an explanatory diagram of the operation of the feature extraction unit 21. The feature extraction unit 21 generates a feature f[m] (m = 1 to M) of the audio signal A for each of M time points (hereinafter referred to as "analysis time points") t[m] on the time axis. Each analysis time point t[m] is a time point set on the time axis at a predetermined interval. The feature f[m] is an index representing the acoustic characteristics of the audio signal A. Specifically, a feature f[m] that tends to fluctuate significantly before and after a beat is used. For example, information regarding the intensity of the audio signal A, such as volume and amplitude, is used as the feature f[m]. Information regarding the frequency characteristics (timbre) of the audio signal A, such as MFCC (Mel-Frequency Cepstrum Coefficients), MSLS (Mel-Scale Log Spectrum), or CQT (Constant-Q Transform), is also used as the feature f[m]. However, the types of feature f[m] are not limited to the above examples. Furthermore, the feature f[m] may be a combination of multiple types of information related to the audio signal 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]毎に生成する。 The feature extraction unit 21 generates feature data F[m] for each analysis time point t[m]. The feature data F[m] corresponding to a given analysis time point t[m] is a time series of multiple feature quantities f[m] within a period U (hereinafter referred to as a "unit period") that includes that analysis time point t[m]. Figure 3 illustrates an example in which one unit period U includes five analysis time points t[m-2] to t[m+2], centered around the mth analysis time point t[m]. Therefore, the feature data F[m] is a time series of five feature quantities f[m-2] to f[m+2] within the unit period U. Note that the unit period U may include only one analysis time point [m]. In other words, the feature data F[m] may be composed of only one feature quantity f[m]. As can be understood from the above explanation, the feature extraction unit 21 generates feature data F[m] including the feature quantities f[m] of the acoustic signal A for each analysis time point 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が利用される。
[Probability calculation unit 22]
2 generates output data O[m] from feature data F[m], which represents the probability P[m] that each analysis time point t[m] corresponds to a beat point in a piece of music. The generation of output data O[m] is repeated for each analysis time point t[m]. The larger the probability P[m], the higher the likelihood that analysis time point t[m] corresponds to a beat point. The probability calculation unit 22 uses an estimation model 50 to generate the output data O[m].

音響信号Aの各解析時点t[m]の特徴データF[m]と、当該解析時点t[m]が拍点に該当する確度との間には相関がある。推定モデル50は、以上の相関を学習した統計モデルである。具体的には、推定モデル50は、特徴データF[m]と出力データO[m]との関係を機械学習により学習した学習済モデルである。 There is a correlation between the feature data F[m] at each analysis time t[m] of the audio signal A and the likelihood that the analysis time t[m] corresponds to a beat. The estimation model 50 is a statistical model that has learned this correlation. Specifically, the estimation model 50 is a trained model that has learned the relationship between the feature data F[m] and the output data O[m] through machine learning.

推定モデル50は、例えば深層ニューラルネットワーク(DNN:Deep Neural Network)で構成される。推定モデル50は、特徴データF[m]から出力データO[m]を生成する演算を制御装置11に実行させるプログラムと、当該演算に適用される複数の変数(具体的には加重値およびバイアス)との組合せで実現される。推定モデル50を実現するプログラムおよび複数の変数は、記憶装置12に記憶される。推定モデル50を規定する複数の変数の各々の数値は、機械学習により事前に設定される。 The estimation model 50 is configured, for example, by a deep neural network (DNN). The estimation model 50 is realized by combining a program that causes the control device 11 to execute a calculation to generate output data O[m] from feature data F[m], and multiple variables (specifically, weights and biases) that are applied to the calculation. The program and multiple variables that realize the estimation model 50 are stored in the storage device 12. The numerical values of each of the multiple variables that define the estimation model 50 are set in advance by machine learning.

図4は、推定モデル50の具体的な構成を例示するブロック図である。推定モデル50は、入力層51と複数の中間層52(52a,52b)と出力層53とを含む畳込ニューラルネットワークで構成される。1個の特徴データF[m]に含まれる複数の特徴量f[m-2]~f[m+2]が入力層51に並列に入力される。 Figure 4 is a block diagram illustrating the specific configuration of the estimation model 50. The estimation model 50 is composed of a convolutional neural network including an input layer 51, multiple intermediate layers 52 (52a, 52b), and an output layer 53. Multiple feature quantities f[m-2] to f[m+2] contained in one piece of feature data F[m] are input in parallel to the input layer 51.

複数の中間層52は、入力層51と出力層53との間に位置する隠れ層である。複数の中間層52は、複数の中間層52aと複数の中間層52bとを含む。複数の中間層52aは、入力層51と複数の中間層52bとの間に位置する。各中間層52aは、例えば畳込層とプーリング層との組合せで構成される。各中間層52bは、例えばReLUを活性化関数とする全結合層である。出力層53は出力データO[m]を出力する。 The multiple intermediate layers 52 are hidden layers located between the input layer 51 and the output layer 53. The multiple intermediate layers 52 include multiple intermediate layers 52a and multiple intermediate layers 52b. The multiple intermediate layers 52a are located between the input layer 51 and the multiple intermediate layers 52b. Each intermediate layer 52a is composed of, for example, a combination of a convolutional layer and a pooling layer. Each intermediate layer 52b is, for example, a fully connected layer with ReLU as the activation function. The output layer 53 outputs output data 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]を生成する部分である。 The estimation model 50 is divided into a first portion 50a and a second portion 50b. The first portion 50a is the input side portion of the estimation model 50. Specifically, the first portion 50a is the first half portion consisting of an input layer 51 and multiple intermediate layers 52a. The second portion 50b is the output side portion of the estimation model 50. Specifically, the second portion 50b is the second half portion consisting of multiple intermediate layers 52b and an output layer 53. The first portion 50a is the portion that generates intermediate data D[m] according to feature data F[m]. The intermediate data D[m] is data that represents the features of the feature data F[m]. Specifically, the intermediate data D[m] is data that represents the features that contribute to outputting output data O[m] that is statistically valid for the feature data F[m]. The second portion 50b is the portion that generates output data O[m] according to the intermediate data D[m].

図5は、推定モデル50を確立する機械学習の説明図である。例えば音響解析システム100とは別体の機械学習システム200による機械学習で推定モデル50が確立され、当該推定モデル50が音響解析システム100に提供される。例えば、機械学習システム200から音響解析システム100に推定モデル50が送信される。 Figure 5 is an explanatory diagram of machine learning that establishes the estimation model 50. For example, the estimation model 50 is established through machine learning by a machine learning system 200 that is separate from the acoustic analysis system 100, and the estimation model 50 is provided to the acoustic analysis system 100. For example, the estimation model 50 is sent from the machine learning system 200 to the acoustic analysis system 100.

推定モデル50の機械学習には複数の学習データZが利用される。複数の学習データZの各々は、学習用の特徴データFtと学習用の出力データOtとの組合せで構成される。特徴データFtは、学習用に用意された音響信号Aのうち特定の時点における特徴量を表す。具体的には、特徴データFtは、前述の特徴データF[m]と同様に、時間軸上の相異なる時点に対応する複数の特徴量の時系列で構成される。特定の時点に対応する学習用の出力データOtは、当該時点が楽曲の拍点に該当する確率を表すデータ(すなわち正解値)である。既知の多数の楽曲について複数の学習データZが用意される。 Multiple sets of training data Z are used in the machine learning of the estimation model 50. Each of the multiple sets of training data Z is composed of a combination of training feature data Ft and training output data Ot. The feature data Ft represents features at a specific time point in the acoustic signal A prepared for training. Specifically, like the above-mentioned feature data F[m], the feature data Ft is composed of a time series of multiple features corresponding to different times on the time axis. The training output data Ot corresponding to a specific time point is data (i.e., a correct answer value) that represents the probability that that time point corresponds to a beat in the music. Multiple sets of training data Z are prepared for a large number of known songs.

機械学習システム200は、各学習データZの特徴データFtを入力したきに初期的または暫定的なモデル(以下「暫定モデル」という)59が出力する出力データO[m]と、当該学習データZの出力データOtとの誤差を表す誤差関数を算定する。そして、機械学習システム200は、誤差関数が低減されるように暫定モデル59の複数の変数を更新する。複数の学習データZの各々について以上の処理が反復された時点の暫定モデル59が、推定モデル50として確定される。 The machine learning system 200 calculates an error function that represents the error between the output data O[m] output by an initial or provisional model (hereinafter referred to as the "provisional model") 59 when the feature data Ft of each training data Z is input, and the output data Ot of that training data Z. The machine learning system 200 then updates multiple variables of the provisional model 59 so as to reduce the error function. The provisional model 59 at the time when the above process has been repeated for each of the multiple training data Z is determined as the estimated model 50.

したがって、推定モデル50は、複数の学習データZにおける特徴データFtと出力データOtとの間に潜在する関係のもとで、未知の特徴データF[m]に対して統計的に妥当な出力データO[m]を出力する。すなわち、推定モデル50は、時間軸上の各時点に対応する学習用の特徴データFtと、当該時点が拍点に該当する確率を表す学習用の出力データOtとの関係を学習した学習済モデルである。確率算定部22は、以上の手順で確立された推定モデル50に各解析時点t[m]の特徴データF[m]を入力することで、当該解析時点t[m]が拍点に該当する確率P[m]を表す出力データO[m]を生成する。 Therefore, the estimation model 50 outputs statistically valid output data O[m] for unknown feature data F[m] based on the underlying relationship between feature data Ft and output data Ot in multiple training data Z. In other words, the estimation model 50 is a trained model that has learned the relationship between training feature data Ft corresponding to each time point on the time axis and training output data Ot representing the probability that that time point corresponds to a beat. By inputting the feature data F[m] for each analysis time point t[m] into the estimation model 50 established by the above procedure, the probability calculation unit 22 generates output data O[m] representing the probability P[m] that the analysis time point t[m] corresponds to a beat.

図6は、確率算定部22が実行する処理(以下「確率算定処理」という)Saの具体的な手順を例示するフローチャートである。制御装置11が確率算定部22として機能することで確率算定処理Saを実行する。 Figure 6 is a flowchart illustrating the specific steps of the process Sa (hereinafter referred to as the "probability calculation process") executed by the probability calculation unit 22. The control device 11 executes the probability calculation process Sa by functioning as the probability calculation unit 22.

確率算定処理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)。 When the probability calculation process Sa begins, the probability calculation unit 22 inputs the feature data F[m] corresponding to the analysis time t[m] into the estimation model 50 (Sa1). The probability calculation unit 22 acquires the intermediate data D[m] output by the first part 50a of the estimation model 50 and stores the intermediate data D[m] in the storage device 12 (Sa2). The probability calculation unit 22 also acquires the output data O[m] output by the estimation model 50 (second part 50b) and stores the output data O[m] in the storage device 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に保存される。 The probability calculation unit 22 determines whether the above processing has been performed for M analysis times t[1] to t[M] in the song (Sa4). If the determination result is negative (Sa4: NO), the probability calculation unit 22 generates intermediate data D[m] and output data O[m] for the unprocessed analysis time point t[m] (Sa1 to Sa3). If processing has been performed for M analysis times t[1] to t[M] (Sa4: YES), the probability calculation unit 22 terminates the probability calculation processing Sa. As can be understood from the above explanation, as a result of the probability calculation processing Sa, M pieces of intermediate data D[1] to D[M] corresponding to different analysis times t[m] and M pieces of output data O[1] to O[M] corresponding to different analysis times t[m] are saved in the storage device 12.

[推定処理部23]
図2の推定処理部23は、確率算定部22が相異なる解析時点t[m]について算定するM個の出力データO[m]から楽曲内の複数の拍点を推定する。具体的には、推定処理部23は、前述の通り、楽曲内の各拍点の時刻を表す拍点データBを生成する。確率算定部22による拍点データBの生成には状態遷移モデル60が利用される。
[Estimation processing unit 23]
2 estimates multiple beat positions in a piece of music from M pieces of output data O[m] calculated for different analysis times t[m] by the probability calculation unit 22. Specifically, as described above, the estimation processing unit 23 generates beat position data B representing the time of each beat position in the piece of music. The probability calculation unit 22 generates the beat position data B using a state transition model 60.

図7は、状態遷移モデル60の構成を例示するブロック図である。状態遷移モデル60は、複数(N個)の状態Qで構成される統計モデルである。具体的には、状態遷移モデル60は、隠れセミマルコフモデル(HSMM:Hidden Semi-Markov Model)で構成され、動的計画法の一例であるビタビ(Viterbi)アルゴリズムにより複数の拍点が推定される。 Figure 7 is a block diagram illustrating the configuration of state transition model 60. State transition model 60 is a statistical model composed of multiple (N) states Q. Specifically, state transition model 60 is composed of a Hidden Semi-Markov Model (HSMM), and multiple beats are estimated using the Viterbi algorithm, an example of dynamic programming.

図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](拍点)に到達する。 Figure 7 illustrates beats on a time axis. The time interval δ between two successive beats on the time axis (hereafter referred to as the "beat interval") is a variable value depending on the tempo of the music. Specifically, the faster the tempo, the shorter the beat interval δ. Multiple points (hereafter referred to as "elapsed points") Y[j] are set within the beat interval δ. Each elapsed point Y[i] (i = 1 to 4) is set on the time axis based on the beat. Specifically, elapsed point Y[0] is the point corresponding to the beat (the beginning of the beat), and elapsed points Y[1] to Y[4] are points that equally divide the beat interval δ. Elapsed point Y[3] is located after elapsed point Y[4], elapsed point Y[2] is located after elapsed point Y[3], and elapsed point Y[1] is located after elapsed point Y[2]. Elapsed point Y[0] corresponds to the end point (start or end point) of the beat interval δ. The time length from each beat point (elapsed point Y[0]) to each elapsed point Y can also be expressed as the phase based on the beat point. For example, time progresses in the order of elapsed point Y[4] → elapsed point Y[3] → elapsed point Y[2] → elapsed point Y[1], and reaches elapsed point Y[0] (a beat point) after elapsed point Y[1].

状態遷移モデル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として利用される。 Each of the N states Q in the state transition model 60 corresponds to one of multiple tempos X[i] (i = 1, 2, 3, ...). Specifically, the N states Q correspond to different combinations of multiple tempos X[i] and multiple elapsed points Y[0] to Y[4]. That is, for each tempo X[i], there are five time series of states Q corresponding to different elapsed points Y[j]. In the following description, a state Q corresponding to a combination of tempo X[i] and elapsed point Y[j] may be referred to as "state Q[i,j]." On the other hand, when the distinction between tempo X[i] and elapsed point Y[j] is not particularly important, it will simply be referred to as "state Q." Note that the distinction between states Q according to elapsed point Y[j] may be omitted. That is, a configuration in which each of multiple states Q corresponds to a different tempo X[i] is also conceivable. In a form in which the progress point Y[j] is not distinguished, for example, a Hidden Markov Model (HMM) is used as the state transition 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],…)からの遷移が発生する。 In the first embodiment, it is assumed that the tempo X changes only at beat points on the time axis (i.e., at elapsed point Y[0]). Under these assumptions, state Q[i,j] corresponding to each elapsed point Y[j] other than elapsed point Y[0] transitions only to state Q[i,j-1] corresponding to the immediately succeeding elapsed point Y[j-1]. For example, state Q[i,4] transitions to state Q[i,3], state Q[i,3] transitions to state Q[i,2], and state Q[i,2] transitions to state Q[i,1]. On the other hand, state Q[i,0], which corresponds to a beat, transitions occur from multiple states Q[i,1] (Q[1,1], Q[2,1], Q[3,1], ...) corresponding to different tempos X[i].

図8は、推定処理部23が状態遷移モデル60を利用して楽曲内の複数の拍点を推定する処理(以下「拍点推定処理」という)Sbの説明図である。また、図9は、拍点推定処理Sbの具体的な手順を例示するフローチャートである。制御装置11が推定処理部23として機能することで拍点推定処理Sbを実行する。 Figure 8 is an explanatory diagram of the process Sb (hereinafter referred to as the "beat point estimation process") in which the estimation processing unit 23 estimates multiple beat points in a piece of music using the state transition model 60. Also, Figure 9 is a flowchart illustrating the specific steps of the beat point estimation process Sb. The control device 11 functions as the estimation processing unit 23 to execute the beat point estimation process 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]に対する所定の演算で算定される数値に設定される。 When the beat point estimation process Sb begins, the estimation processing unit 23 calculates the observation likelihood Λ[m] for each of the M analysis times t[1] to t[M] (Sb1). The observation likelihood Λ[m] for each analysis time t[m] is set to a value corresponding to the probability P[m] represented by the output data O[m] for that analysis time t[m]. For example, the observation likelihood Λ[m] is set to the probability P[m] represented by the output data O[m], or a value calculated by a predetermined calculation for that probability 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]が観測される確度の指標である。 The estimation processing unit 23 calculates the path p[i,j] and likelihood λ[i,j] for each analysis time t[m] for each state Q[i,j] of the state transition model 60 (Sb2). The path p[i,j] is the path from another state Q to state Q[i,j], and the likelihood λ[i,j] is an index of the probability that the state Q[i,j] will be observed.

前述の通り、任意のテンポ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]との補間(例えば線形補間)により算定される。 As mentioned above, only unidirectional transitions occur between the multiple states Q[i,0] to Q[i,4] corresponding to any given tempo X[i]. Therefore, as can be seen from Figure 8, the only path p[1,1] that reaches state Q[1,1] corresponding to tempo X[1] and passing point Y[1] at analysis time t[m] is path p from state Q[1,2] corresponding to the given tempo X[1] and the immediately preceding passing point Y[2]. Furthermore, the likelihood λ[1,1] of state Q[1,1] at analysis time t[m] is set to the likelihood corresponding to time t1, which is the time length d[1] corresponding to the given tempo X[1], prior to analysis time t[m]. Specifically, the likelihood λ[1,1] of state Q[1,1] is calculated by interpolating (e.g., linearly interpolating) the observation likelihood Λ[mA] at the analysis time t[mA] immediately before time t1 and the observation likelihood Λ[mB] at the analysis time t[mB] immediately after time t1.

他方、経過点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]が算定される。 On the other hand, the tempo X[i] may change at the elapsed point Y[0]. Therefore, as can be seen from Figure 8, for example, state Q[1,0], which corresponds to the tempo X[1] and the elapsed point Y[0], is reached by separate paths p from each of the multiple states Q[i,1] corresponding to different tempos X[i]. For example, state Q[1,0] is reached by path p1 from state Q[1,1], which corresponds to the combination of the tempo X[1] and the immediately preceding elapsed point Y[1], as well as path p2 from state Q[2,1], which corresponds to the combination of the tempo X[2] and the immediately preceding elapsed point Y[1]. The likelihood λ1 for path p1 from state Q[1,1] to state Q[1,0] is calculated by interpolating (e.g., linearly interpolating) the observation likelihood Λ[mA] at the analysis time t[mA] immediately before time t1 and the observation likelihood Λ[mB] at the analysis time t[mB] immediately after time t1, as in the previous example. Furthermore, the likelihood λ2 for path p2 from state Q[2,1] to state Q[1,0] is set to the likelihood at time t2, which is a time length d[2] corresponding to the tempo X[2] of state Q[2,1], before analysis time t[m]. Specifically, the likelihood λ2 is calculated by interpolating (e.g., linearly interpolating) the observation likelihood Λ[mC] at analysis time t[mC] immediately before time t2 and the observation likelihood Λ[mA] at analysis time t[mA] immediately after time t2. The estimation processing unit 23 selects the maximum value of the multiple likelihoods λ (λ1, λ2, ...) calculated for different tempos X[i] as the likelihood λ[1,0] of state Q[1,0] at analysis time t[m], and determines the path p corresponding to this likelihood λ[1,0] from among the multiple paths p (p1, p2, ...) reaching state Q[1,0] as the path p[1,0] to state Q[1,0]. Using the above procedure, the process of calculating the path p[i,j] and likelihood λ[i,j] for each of the N states Q is performed in the forward direction of the time axis for each analysis time t[m]. In other words, the path p[i,j] and likelihood λ[i,j] for each state Q are calculated for each of the M analysis times t[1] to t[M].

推定処理部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]毎に配列した系列が、状態系列として生成される。 The estimation processing unit 23 generates a time series of M states Q corresponding to different analysis times t[m] (hereinafter referred to as the "state series") (Sb3). Specifically, the estimation processing unit 23 connects paths p[i,j] in order along the reverse direction of the time axis, starting from the state Q[i,j] corresponding to the maximum of the N likelihoods λ[i,j] calculated for the last analysis time t[M] of the song, and generates a state series from the M states Q located on the connected series of paths (i.e., the maximum likelihood path). In other words, the state series is generated by arranging, for each analysis time t[m], the states Q with the largest likelihood λ[i,j] among the N states Q.

推定処理部23は、状態系列を構成するM個の状態Qのうち、経過点Y[0]に対応する状態Qが観測される各解析時点t[m]を拍点として推定し、各拍点の時刻を指定する拍点データBを生成する(Sb4)。以上の説明から理解される通り、出力データO[m]が表す確率P[m]が高く、かつ、聴感的に自然にテンポが遷移する解析時点t[m]が、楽曲内の拍点として推定される。 The estimation processing unit 23 estimates each analysis time t[m] at which a state Q corresponding to the elapsed point Y[0] is observed among the M states Q constituting the state sequence as a beat, and generates beat data B specifying the time of each beat (Sb4). As can be understood from the above explanation, the analysis time t[m] at which the probability P[m] represented by the output data O[m] is high and the tempo transitions naturally to the ear is estimated as a beat in the music piece.

以上の通り、第1実施形態においては、解析時点t[m]毎の特徴データF[m]を推定モデル50に入力することで解析時点t[m]毎の出力データO[m]が生成され、当該出力データO[m]から複数の拍点が推定される。したがって、学習用の特徴データFtと学習用の出力データOtとの間に潜在する関係のもとで未知の特徴データF[m]に対して統計的に妥当な出力データO[m]を生成できる。解析処理部20の構成の具体例は以上の通りである。 As described above, in the first embodiment, feature data F[m] for each analysis time point t[m] is input into the estimation model 50 to generate output data O[m] for each analysis time point t[m], and multiple beats are estimated from the output data O[m]. Therefore, based on the underlying relationship between the learning feature data Ft and the learning output data Ot, it is possible to generate output data O[m] that is statistically valid for unknown feature data F[m]. A specific example of the configuration of the analysis processing unit 20 is as described above.

図2の表示制御部24は、表示装置13に画像を表示させる。具体的には、表示制御部24は、図10の解析画面70を表示装置13に表示させる。解析画面70は、解析処理部20が音響信号Aを解析した結果を表す画像である。 The display control unit 24 in FIG. 2 causes the display device 13 to display an image. Specifically, the display control unit 24 causes the display device 13 to display the analysis screen 70 in FIG. 10. The analysis screen 70 is an image showing the results of the analysis of the acoustic signal A by the analysis processing unit 20.

解析画面70は、第1領域71と第2領域72とを含む。第1領域71には音響信号Aの波形711が表示される。第2領域72には、音響信号Aのうち第1領域71において指定された一部の期間(以下「指定期間」という)712に関する解析の結果が表示される。第2領域72は、波形領域73と確率領域74と拍点領域75とを含む。 The analysis screen 70 includes a first area 71 and a second area 72. The first area 71 displays a waveform 711 of the acoustic signal A. The second area 72 displays the results of an analysis of a portion of the acoustic signal A specified in the first area 71 (hereinafter referred to as the "specified period") 712. The second area 72 includes a waveform area 73, a probability area 74, and a beat area 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内に表示されてもよい。 A common time axis is set for the waveform area 73, probability area 74, and beat point area 75. The waveform area 73 displays a waveform 731 within the specified period 712 of audio signal A and onsets 732 in audio signal A. The probability area 74 displays a time series 741 of the probability P[m] represented by the output data O[m] at each analysis time point t[m]. Note that the time series 741 of the probability P[m] represented by the output data O[m] may be displayed in the waveform area 73, superimposed on the waveform 731 of audio signal A.

拍点領域75には、音響信号Aの解析により推定された楽曲内の複数の拍点が表示される。具体的には、楽曲内の相異なる拍点に対応する複数の拍画像751の時系列が拍点領域75には表示される。楽曲内の複数の拍点のうち所定の条件を充足する1個以上の拍点(以下「修正候補点」という)に対応する拍画像751は、他の拍画像751とは別個の表示態様で強調表示される。修正候補点は、利用者が変更を指示する可能性が高い拍点である。 The beat point area 75 displays multiple beat points in the music piece estimated by analyzing the audio signal A. Specifically, the beat point area 75 displays a time series of multiple beat images 751 corresponding to different beat points in the music piece. Of the multiple beat points in the music piece, beat images 751 corresponding to one or more beat points (hereinafter referred to as "candidate correction points") that satisfy predetermined conditions are highlighted in a display mode separate from the other beat images 751. Candidate correction points are beat points that the user is likely to request a change to.

図2の再生制御部25は、放音装置15による音響の再生を制御する。具体的には、再生制御部25は、音響信号Aが表す演奏音を放音装置15に再生させる。再生制御部25は、音響信号Aの再生に並行して、複数の拍点の各々に対応する時点で所定の通知音を再生する。また、表示制御部24は、拍点領域75内の複数の拍画像751のうち放音装置15が再生している時点に対応する1個の拍画像751を、拍点領域75内の他の拍画像751とは別個の表示態様で強調表示する。すなわち、音響信号Aの再生に並行して複数の拍画像751の各々が時系列の順番で順次に強調表示される。 The playback control unit 25 in FIG. 2 controls the playback of sound by the sound emitting device 15. Specifically, the playback control unit 25 causes the sound emitting device 15 to play the performance sound represented by sound signal A. In parallel with the playback of sound signal A, the playback control unit 25 plays a predetermined notification sound at a time point corresponding to each of the multiple beat points. Furthermore, the display control unit 24 highlights one beat image 751 of the multiple beat images 751 in the beat point area 75 that corresponds to the time point being played by the sound emitting device 15, in a display mode separate from the other beat images 751 in the beat point area 75. In other words, in parallel with the playback of sound signal A, each of the multiple beat images 751 is highlighted sequentially in chronological order.

ところで、音響信号Aから楽曲内の複数の拍点を推定する処理においては、例えば楽曲の裏拍が拍点として誤推定される可能性がある。また、利用者が表拍の推定を期待している状況で楽曲の裏拍が推定される場合のように、拍点を推定した結果が利用者の意図に適合しない可能性もある。利用者は、操作装置14を操作することで、楽曲内の複数の拍点のうち任意の拍点について時間軸上の位置の変更を指示することが可能である。具体的には、利用者は、拍点領域75内の複数の拍画像751の何れかを時間軸の方向に移動させることで、当該拍画像751に対応する拍点の位置の変更を指示する。利用者は、例えば複数の拍点のうち修正候補点について位置の変更を指示する。 However, in the process of estimating multiple beats in a piece of music from audio signal A, there is a possibility that, for example, a backbeat of the music may be erroneously estimated as a beat. Furthermore, the estimated beat may not match the user's intention, such as when a backbeat of the music is estimated when the user is expecting a downbeat to be estimated. By operating the operation device 14, the user can instruct a change in the position on the time axis of any of the multiple beats in the music. Specifically, the user moves one of the multiple beat images 751 in the beat area 75 along the time axis to instruct a change in the position of the beat corresponding to that beat image 751. For example, the user instructs a change in the position of a correction candidate point among the multiple beats.

図2の指示受付部26は、楽曲内の複数の拍点のうち一部の拍点に関する位置の変更の指示(以下「変更指示」という)を利用者から受付ける。以下の説明においては、1個の拍点を時間軸上の解析時点t[m1]から解析時点t[m2]に移動する変更指示を指示受付部26が受付けた場合を想定する(m1,m2=1~M,m1≠m2)。解析時点t[m1]は、解析処理部20が初期的に推定した拍点(すなわち変更指示による変更前の拍点)であり、解析時点t[m2]は、利用者からの変更指示による変更後の拍点である。 The instruction receiving unit 26 in FIG. 2 receives an instruction from the user to change the position of some of the multiple beats in a piece of music (hereinafter referred to as a "change instruction"). In the following explanation, we will assume that the instruction receiving unit 26 receives a change instruction to move one beat on the time axis from analysis time t[m1] to analysis time t[m2] (m1, m2 = 1 to M, m1 ≠ m2). Analysis time t[m1] is the beat initially estimated by the analysis processing unit 20 (i.e., the beat before the change due to the change instruction), and analysis time t[m2] is the beat after the change due to the change instruction from the user.

図2の推定モデル更新部27は、利用者による変更指示に応じて推定モデル50を更新する。具体的には、変更指示に係る拍点の変更が楽曲の全体にわたる複数の拍点の推定に反映されるように、推定モデル更新部27は推定モデル50を更新する。 The estimation model update unit 27 in Figure 2 updates the estimation model 50 in response to a change instruction from the user. Specifically, the estimation model update unit 27 updates the estimation model 50 so that the change in beat point associated with the change instruction is reflected in the estimation of multiple beat points throughout the entire piece of music.

図11は、推定モデル更新部27が推定モデル50を更新する処理(以下「推定モデル更新処理」という)Scの説明図である。推定モデル更新処理Scは、機械学習システム200による学習済の推定モデル50を、利用者からの変更指示が反映されるように更新する処理(追加学習)である。 Figure 11 is an explanatory diagram of the process Sc (hereinafter referred to as the "estimation model update process") in which the estimation model update unit 27 updates the estimation model 50. The estimation model update process Sc is a process (additional learning) in which the estimation model 50 trained by the machine learning system 200 is updated to reflect change instructions from the user.

推定モデル更新処理Scにおいては、推定モデル50の第1部分50aと第2部分50bとの間に適応ブロック55が追加される。適応ブロック55は、例えば活性化関数が恒等関数に初期化されたアテンションで構成される。したがって、初期的な適応ブロック55は、第1部分50aから出力される中間データD[m]を変更せずに第2部分50bに供給する。 In the estimation model update process Sc, an adaptation block 55 is added between the first part 50a and the second part 50b of the estimation model 50. The adaptation block 55 is configured, for example, with an attention block whose activation function is initialized to an identity function. Therefore, the initial adaptation block 55 supplies the intermediate data D[m] output from the first part 50a to the second part 50b without any changes.

推定モデル更新部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に順次に入力される。 The estimation model update unit 27 sequentially inputs feature data F[m1] for analysis time t[m1], where the pre-change beat point is located, and feature data F[m2] for analysis time t[m2], where the post-change beat point is located, to the first portion 50a (input layer 51). The first portion 50a generates intermediate data D[m1] corresponding to the feature data F[m1] and intermediate data D[m2] corresponding to the feature data F[m2]. The intermediate data D[m1] and intermediate data D[m2] are sequentially input to the adaptation block 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]との類似度を算定する。 The estimation model update unit 27 also sequentially supplies each of the M pieces of intermediate data D[1] to D[M] calculated in the immediately preceding probability calculation process Sa (Sa2) to the adaptation block 55. That is, intermediate data D[m] (D[m1], D[m2]) corresponding to a portion of the analysis time point t[m] related to the change instruction among the M analysis time points t[1] to t[M] in the song, and each of the M pieces of intermediate data D[1] to D[M] spanning the entire song are input to the adaptation block 55. The adaptation block 55 calculates the similarity between the intermediate data D[m] (D[m1], D[m2]) corresponding to the analysis time point t[m] related to the change instruction and the intermediate data D[m] supplied from the estimation model update unit 27.

前述の通り、解析時点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との各々を規定する係数を更新する。 As mentioned above, analysis time t[m2] was estimated not to be a beat in the previous probability calculation process Sa, but was designated as a beat in the change instruction. In other words, the probability P[m2] represented by the output data O[m2] at analysis time t[m2] was set to a small value in the previous probability calculation process Sa, but should be set to a value close to 1 under the user's change instruction. Furthermore, not only for analysis time t[m2], but also for each of the M analysis times t[1] through t[M] in the song where intermediate data D[m] similar to intermediate data D[m2] at analysis time t[m2] is observed, the probability P[m] represented by the output data O[m] at that analysis time t[m] should be set to a value close to 1. Therefore, when the similarity between intermediate data D[m] and intermediate data D[m2] exceeds a predetermined threshold, the estimation model update unit 27 updates multiple variables of the estimation model 50 so that the probability P[m] of output data O[m] approaches a sufficiently large value (e.g., 1). Specifically, the estimation model update unit 27 updates the coefficients defining each of the first portion 50a, the adaptive block 55, and the second portion 50b so as to reduce the error between the probability P[m] of output data O[m] generated by the estimation model 50 from each piece of intermediate data D[m] whose similarity with intermediate data D[m2] exceeds the threshold and the value indicating a beat (i.e., 1).

他方、解析時点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との各々を規定する係数を更新する。 On the other hand, analysis time t[m1] is a time point that was estimated to correspond to a beat in the immediately preceding probability calculation process Sa, but was designated as not corresponding to a beat in the change instruction. In other words, the probability P[m1] represented by the output data O[m1] at analysis time t[m1] was set to a large value in the immediately preceding probability calculation process Sa, but should be set to a value close to 0 under the user's change instruction. Furthermore, not only for analysis time t[m1], but also for each of the M analysis times t[1] through t[M] in the song where intermediate data D[m] similar to intermediate data D[m1] at analysis time t[m1] is observed, the probability P[m] represented by the output data O[m] at that analysis time t[m] should be set to a value close to 0. Therefore, when the similarity between intermediate data D[m] and intermediate data D[m1] exceeds a predetermined threshold, the estimation model update unit 27 updates multiple variables of the estimation model 50 so that the probability P[m] of output data O[m] approaches a sufficiently small value (e.g., 0). Specifically, the estimation model update unit 27 updates the coefficients defining each of the first portion 50a, the adaptive block 55, and the second portion 50b so as to reduce the error between the probability P[m] of output data O[m] generated by the estimation model 50 from each piece of intermediate data D[m] whose similarity with intermediate data D[m1] exceeds the threshold and the value indicating that the data does not correspond to a beat point (i.e., 0).

以上の説明から理解される通り、第1実施形態においては、変更指示に直接的に関連する中間データD[m1]および中間データD[m2]だけでなく、楽曲の全体にわたるM個の中間データD[1]~D[M]のうち中間データD[m1]または中間データD[m2]に類似する中間データD[m]も推定モデル50の更新に利用される。したがって、利用者が変更を指示する拍点は楽曲内の一部の拍点に過ぎないにも関わらず、推定モデル更新処理Scの実行後の推定モデル50は、楽曲の全体にわたり変更指示が反映されたM個の出力データO[1]~O[M]を生成できる。 As can be understood from the above explanation, in the first embodiment, not only the intermediate data D[m1] and intermediate data D[m2] directly related to the change instruction are used to update the estimation model 50, but also intermediate data D[m] similar to intermediate data D[m1] or intermediate data D[m2] among the M pieces of intermediate data D[1] to D[M] throughout the entire song. Therefore, even though the beats at which the user instructs changes are only some of the beats within the song, after executing the estimation model update process Sc, the estimation model 50 can generate M pieces of output data O[1] to O[M] that reflect the change instructions throughout the entire song.

図12は、推定モデル更新処理Scの具体的な手順を例示するフローチャートである。制御装置11が推定モデル更新部27として機能することで推定モデル更新処理Scを実行する。 Figure 12 is a flowchart illustrating the specific steps of the estimation model update process Sc. The control device 11 executes the estimation model update process Sc by functioning as the estimation model update unit 27.

推定モデル更新処理Scが開始されると、推定モデル更新部27は、推定モデル50に適応ブロック55が既に追加されているか否かを判定する(Sc1)。推定モデル50に適応ブロック55が追加されていない場合(Sc1:NO)、推定モデル更新部27は、推定モデル50の第1部分50aと第2部分50bとの間に初期的な適応ブロック55を新規に追加する(Sc2)。他方、過去の推定モデル更新処理Scにおいて適応ブロック55が追加済である場合(Sc1:YES)、適応ブロック55の追加(Sc2)は実行されない。 When the estimation model update process Sc starts, the estimation model update unit 27 determines whether an adaptive block 55 has already been added to the estimation model 50 (Sc1). If an adaptive block 55 has not been added to the estimation model 50 (Sc1: NO), the estimation model update unit 27 adds a new initial adaptive block 55 between the first portion 50a and the second portion 50b of the estimation model 50 (Sc2). On the other hand, if an adaptive block 55 has already been added in a previous estimation model update process Sc (Sc1: YES), the addition of the adaptive block 55 (Sc2) is not executed.

適応ブロック55が新規に追加された場合には、新規な適応ブロック55を含む推定モデル50が以下の処理により更新され、適応ブロック55が追加済である場合には、既存の適応ブロック55を含む推定モデル50が以下の処理により更新される。すなわち、推定モデル更新部27は、推定モデル50に適応ブロック55が追加された状態において、利用者からの変更指示による変更前および変更後の拍点の位置を適用した追加学習(Sc3およびSc4)を実行することで、推定モデル50の複数の変数を更新する。なお、2個以上の拍点について利用者が位置の変更を指示した場合、変更指示に係る各拍点について追加学習(Sc3およびSc4)が実行される。 When a new adaptive block 55 is added, the estimation model 50 including the new adaptive block 55 is updated by the following process. When an adaptive block 55 has already been added, the estimation model 50 including the existing adaptive block 55 is updated by the following process. That is, when the adaptive block 55 has been added to the estimation model 50, the estimation model update unit 27 updates multiple variables of the estimation model 50 by performing additional learning (Sc3 and Sc4) that applies the beat positions before and after the change in response to a change instruction from the user. Note that when the user instructs changes to the positions of two or more beats, additional learning (Sc3 and Sc4) is performed for each beat related to the change instruction.

推定モデル更新部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]を生成するように訓練される。 The estimation model update unit 27 updates multiple variables of the estimation model 50 using feature data F[m1] for analysis time t[m1], which corresponds to the beat point before the change due to the change instruction (Sc3). Specifically, while supplying feature data F[m1] to the estimation model 50, the estimation model update unit 27 sequentially supplies each of M intermediate data D[1] to D[M] to the adaptation block 55, and updates multiple variables of the estimation model 50 so that the probability P[m] of output data O[m] generated from each intermediate data D[m] similar to intermediate data D[m1] of feature data F[m1] approaches zero. Therefore, the estimation model 50 is trained to generate output data O[m] with a probability P[m] close to zero when feature data F[m] similar to feature data F[m1] for analysis time t[m1] is input.

また、推定モデル更新部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]を生成するように訓練される。 The estimation model update unit 27 also updates multiple variables of the estimation model 50 using feature data F[m2] for analysis time t[m2], which corresponds to the beat position after the change in response to the change instruction (Sc4). Specifically, while supplying feature data F[m2] to the estimation model 50, the estimation model update unit 27 sequentially supplies each of M intermediate data D[1] to D[M] to the adaptation block 55, and updates multiple variables of the estimation model 50 so that the probability P[m] of output data O[m] generated from each intermediate data D[m] similar to intermediate data D[m2] of feature data F[m2] approaches 1. Therefore, the estimation model 50 is trained to generate output data O[m] with a probability P[m] close to 1 when feature data F[m] similar to feature data F[m2] for analysis time t[m2] is input.

以上に例示した推定モデル更新処理Scにより変更指示に応じて推定モデル50が更新されるほか、第1実施形態においては、変更指示に応じた拘束条件のもとで拍点推定処理Sbが実行されることで、更新後の複数の拍点が推定される。 In addition to updating the estimation model 50 in response to the change instruction by the estimation model update process Sc illustrated above, in the first embodiment, multiple updated beats are estimated by executing the beat estimation process Sb under constraints in response to the change instruction.

前述の通り、拍間隔δ内の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が実行される。 As mentioned above, of the five elapsed points Y[0] to Y[4] within the beat interval δ, elapsed point Y[0] corresponds to a beat, while the remaining four elapsed points Y[1] to Y[4] do not. Analysis time point t[m2] on the time axis corresponds to the beat after the change in response to the change instruction. Therefore, the estimation processing unit 23 forcibly sets to 0 the likelihoods λ[i,j] corresponding to elapsed points Y[j'] (j' = 1 to 4) other than elapsed point Y[0] among the N likelihoods λ[i,j] corresponding to different states Q at analysis time point t[m2]. Furthermore, the estimation processing unit 23 maintains the likelihood λ[i,0] corresponding to elapsed point Y[0] among the N likelihoods λ[i,j] at analysis time point t[m2] at the value calculated using the method described above. Therefore, in generating a state sequence (Sb3), a maximum likelihood path is estimated that always passes through state Q of passing point Y[0] at analysis time t[m2]. In other words, analysis time t[m2] is estimated to correspond to a beat point. As can be understood from the above explanation, the beat point estimation process Sb is executed under the constraint that state Q of passing point Y[0] is observed at analysis time t[m2] of the beat point after the change in response to a change instruction from the user.

他方、時間軸上の解析時点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が実行される。 On the other hand, analysis time t[m1] on the time axis does not correspond to a beat point after the change due to the change instruction. Therefore, the estimation processing unit 23 forcibly sets the likelihood λ[i,0] corresponding to the progress point Y[0] among the N likelihoods λ[i,j] corresponding to different states Q at analysis time t[m1] to 0. Furthermore, the estimation processing unit 23 maintains the likelihood λ[i,j'] corresponding to the progress point Y[j'] other than the progress point Y[0] among the N likelihoods λ[i,j] at analysis time t[m1] at a significant value calculated using the method described above. Therefore, in generating the state sequence (Sb3), the maximum likelihood path that does not pass through state Q at the progress point Y[0] at analysis time t[m1] is estimated. In other words, analysis time t[m1] is estimated not to correspond to a beat point. As can be understood from the above explanation, the beat point estimation process Sb is executed under the constraint that the state Q of the elapsed point Y[0] is not observed at the analysis time t[m1] before the change due to the change instruction from the user.

以上の通り、解析時点t[m1]における経過点Y[0]の尤度λ[i,0]が0に設定され、解析時点t[m2]における経過点Y[0]以外の経過点Y[j']の尤度λ[i,j']が0に設定されることで、楽曲全体にわたる最尤経路が変化する。すなわち、利用者が変更を指示する拍点は楽曲内の一部の拍点に過ぎないにも関わらず、楽曲の全体にわたる複数の拍点に変更指示が反映される。 As described above, the likelihood λ[i,0] of the passing point Y[0] at analysis time t[m1] is set to 0, and the likelihood λ[i,j'] of the passing points Y[j'] other than Y[0] at analysis time t[m2] is set to 0, thereby changing the most likely path throughout the entire piece. In other words, even though the beats that the user requests to be changed are only a portion of the beats in the piece, the change request is reflected in multiple beats throughout the piece.

図13は、制御装置11が実行する処理の具体的な手順を例示するフローチャートである。例えば操作装置14に対する利用者からの指示を契機として図13の処理が開始される。処理が開始されると、制御装置11は、音響信号Aの解析により楽曲の複数の拍点を推定する処理(以下「初期解析処理」という)を実行する(S1)。 Figure 13 is a flowchart illustrating the specific steps of the process executed by the control device 11. For example, the process of Figure 13 is started in response to an instruction from the user via the operation device 14. When the process starts, the control device 11 executes a process (hereinafter referred to as "initial analysis process") to estimate multiple beats in the music by analyzing the audio signal A (S1).

図14は、初期解析処理の具体的な手順を例示するフローチャートである。初期解析処理が開始されると、制御装置11(特徴抽出部21)は、時間軸上のM個の解析時点t[1]~t[M]の各々について特徴データF[m]を生成する(S11)。特徴データF[m]は、前述の通り、解析時点t[m]を含む単位期間U内の複数の特徴量f[m]の時系列である。 Figure 14 is a flowchart illustrating the specific steps of the initial analysis process. When the initial analysis process begins, the control device 11 (feature extraction unit 21) generates feature data F[m] for each of M analysis points t[1] to t[M] on the time axis (S11). As described above, the feature data F[m] is a time series of multiple feature amounts f[m] within a unit period U that includes the analysis point t[m].

制御装置11(確率算定部22)は、図6に例示した確率算定処理Saを実行することで、相異なる解析時点t[m]に対応するM個の出力データO[m]を生成する(S12)。また、制御装置11(推定処理部23)は、図9に例示した拍点推定処理Sbを実行することで、楽曲内の複数の拍点を推定する(S13)。 The control device 11 (probability calculation unit 22) executes the probability calculation process Sa illustrated in FIG. 6 to generate M pieces of output data O[m] corresponding to different analysis times t[m] (S12). Furthermore, the control device 11 (estimation processing unit 23) executes the beat point estimation process Sb illustrated in FIG. 9 to estimate multiple beat points within the piece of music (S13).

制御装置11(表示制御部24)は、拍点推定処理Sbにより推定された複数の拍点のうち1個以上の修正候補点を特定する(S14)。具体的には、直前または直後の拍点との拍間隔δが楽曲内の平均値から乖離する拍点、または、拍間隔δの時間長が前後の拍間隔でδと比較して顕著に相違する拍点が、修正候補点として特定される。また、複数の拍点のうち確率P[m]が所定値を下回る拍点が修正候補点として特定されてもよい。制御装置11(表示制御部24)は、図10に例示した解析画面70を表示装置13に表示させる(S15)。 The control device 11 (display control unit 24) identifies one or more correction candidate points from among the multiple beat points estimated by the beat point estimation process Sb (S14). Specifically, a beat point where the beat interval δ between the previous or next beat point deviates from the average value in the music piece, or a beat point where the duration of the beat interval δ is significantly different from the δ between the previous and next beat intervals, is identified as a correction candidate point. Furthermore, a beat point where the probability P[m] of the multiple beat points is below a predetermined value may be identified as a correction candidate point. The control device 11 (display control unit 24) causes the display device 13 to display the analysis screen 70 shown in FIG. 10 (S15).

以上に例示した初期解析処理を実行すると、制御装置11(指示受付部26)は、図13に例示される通り、楽曲内の複数の拍点のうち一部の拍点に関する変更指示を利用者から受付けるまで待機する(S2:NO)。変更指示を受付けると(S2:YES)、制御装置11(推定モデル更新部27および解析処理部20)は、初期解析処理で推定された複数の拍点の位置を利用者からの変更指示に応じて更新する拍点更新処理を実行する(S3)。 After executing the initial analysis process exemplified above, the control device 11 (instruction receiving unit 26) waits until it receives an instruction from the user to change some of the beats in the music, as illustrated in FIG. 13 (S2: NO). If an instruction to change is received (S2: YES), the control device 11 (estimation model update unit 27 and analysis processing unit 20) executes a beat point update process (S3) to update the positions of the multiple beats estimated in the initial analysis process in accordance with the change instruction from the user.

図15は、拍点更新処理の具体的な手順を例示するフローチャートである。制御装置11(推定モデル更新部27)は、図12に例示した推定モデル更新処理Scを実行することで、推定モデル50の複数の変数を利用者からの変更指示に応じて更新する(S31)。 Figure 15 is a flowchart illustrating the specific steps of the beat point update process. The control device 11 (estimation model update unit 27) executes the estimation model update process Sc illustrated in Figure 12 to update multiple variables of the estimation model 50 in response to change instructions from the user (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は、変更指示に応じた前述の拘束条件のもとで実行される。 The control device 11 (probability calculation unit 22) generates M pieces of output data O[1] to O[M] by executing the probability calculation process Sa of FIG. 6 using the estimation model 50 updated by the estimation model update process Sc (S32). The control device 11 (analysis processing unit 20) also generates beat point data B by executing the beat point estimation process Sb of FIG. 9 using the M pieces of output data O[1] to Q[M] (S33). In other words, multiple beat points within the music are estimated. The beat point estimation process Sb within the beat point update process is executed under the aforementioned constraints in accordance with the change instructions.

以上の説明から理解される通り、推定モデル50を更新する推定モデル更新処理Scと、更新後の推定モデル50を利用した確率算定処理Saと、当該確率算定処理Saにより生成された出力データO[m]を利用した拍点推定処理Sbとにより、更新後の複数の拍点が推定される。すなわち、推定モデル更新部27と確率算定部22と解析処理部20とにより、推定済の複数の拍点の位置を更新する要素(拍点更新部)が実現される。 As can be understood from the above explanation, multiple updated beat positions are estimated by the estimation model update process Sc, which updates the estimation model 50, the probability calculation process Sa, which uses the updated estimation model 50, and the beat position estimation process Sb, which uses the output data O[m] generated by the probability calculation process Sa. In other words, the estimation model update unit 27, the probability calculation unit 22, and the analysis processing unit 20 implement an element (beat position update unit) that updates the positions of multiple estimated beat positions.

制御装置11(表示制御部24)は、前述のステップS14と同様に、拍点推定処理Sbにより推定された複数の拍点のうち1個以上の修正候補点を特定する(S34)。制御装置11(表示制御部24)は、更新後の各拍点を表す拍画像751を含む図10の解析画面70を表示装置13に表示させる(S35)。 Similar to step S14 described above, the control device 11 (display control unit 24) identifies one or more correction candidate points from among the multiple beat points estimated by the beat point estimation process Sb (S34). The control device 11 (display control unit 24) causes the display device 13 to display the analysis screen 70 of FIG. 10, which includes beat images 751 representing each updated beat point (S35).

以上に例示した拍点更新処理を実行すると、制御装置11は、図13に例示される通り、利用者から処理の終了が指示されたか否かを判定する(S4)。処理の終了が指示されない場合(S4:NO)、制御装置11は、利用者による変更指示の待機(S2)に移行する。制御装置11は、利用者による再度の変更指示を契機として拍点更新処理を実行する(S3)。第2回目以降の拍点更新処理の推定モデル更新処理Sc(S31)においては、適応ブロック55の有無の判定(Sc1)の結果が肯定となるから、新規な適応ブロック55の追加は実行されない。すなわち、第1回目の拍点更新処理において適応ブロック55が追加された推定モデル50が、以降における推定モデル更新処理Scの実行毎に累積的に更新される。他方、処理の終了が指示された場合(S4:YES)、制御装置11は図13の処理を終了する。 When the beat point update process illustrated above is executed, the control device 11 determines whether the user has instructed the end of the process (S4), as illustrated in FIG. 13. If the user has not instructed the end of the process (S4: NO), the control device 11 waits for a change instruction from the user (S2). The control device 11 executes the beat point update process in response to another change instruction from the user (S3). In the estimation model update process Sc (S31) of the second or subsequent beat point update process, the result of the determination of the presence or absence of an adaptive block 55 (Sc1) is positive, so a new adaptive block 55 is not added. In other words, the estimation model 50 to which the adaptive block 55 was added in the first beat point update process is cumulatively updated with each subsequent execution of the estimation model update process Sc. On the other hand, if the end of the process is instructed (S4: YES), the control device 11 terminates the process of FIG. 13.

以上に説明した通り、第1実施形態においては、音響信号Aの解析により推定された複数の拍点のうち一部の拍点に関する利用者からの変更指示に応じて、当該一部の拍点以外の拍点を含む楽曲内の複数の拍点の位置が更新される。すなわち、楽曲の一部に対する変更指示が楽曲の全体に反映される。したがって、楽曲内の全部の拍点の各々について利用者が位置の変更を指示する必要がある構成と比較して、利用者が各拍点の位置の変更を指示する負荷を軽減しながら、利用者の意図に沿った拍点の時系列を取得できる。 As explained above, in the first embodiment, in response to a user instruction to change some of the multiple beats estimated by analyzing audio signal A, the positions of multiple beats in the song, including those other than those beats, are updated. In other words, an instruction to change a portion of the song is reflected in the entire song. Therefore, compared to a configuration in which the user must instruct a change in the position of each beat in the song, it is possible to obtain a time series of beats that matches the user's intentions while reducing the burden on the user of instructing a change in the position of each beat.

推定モデル50における第1部分50aと第2部分50bとの間に適応ブロック55を追加した状態において、利用者からの変更指示による変更前および変更後の拍点の位置を適用した追加学習により推定モデル50が更新される。したがって、利用者の意図または嗜好に沿った拍点を推定可能な状態に推定モデル50を特化できる。 When an adaptation block 55 is added between the first part 50a and the second part 50b in the estimation model 50, the estimation model 50 is updated through additional learning that applies the beat positions before and after the change in response to a change instruction from the user. Therefore, the estimation model 50 can be specialized to a state where it can estimate beat positions that are in line with the user's intentions or preferences.

また、複数のテンポX[i]の何れかに対応する複数の状態Qで構成される状態遷移モデル60を利用して複数の拍点が推定される。したがって、テンポX[i]が自然に遷移するように複数の拍点を推定できる。第1実施形態においては特に、状態遷移モデル60の複数の状態Qが、複数のテンポX[i]の各々と拍間隔δ内の複数の経過点Y[j]の各々との相異なる組合せに対応し、利用者からの変更指示による変更後の拍点の解析時点t[m]において経過点Y[0]に対応する状態Qが観測されるという拘束条件のもとで拍点推定処理Sbが実行される。したがって、利用者からの変更指示による変更後の時点を拍点として含む複数の拍点を推定できる。 Furthermore, multiple beat points are estimated using a state transition model 60 composed of multiple states Q corresponding to any of multiple tempos X[i]. Therefore, multiple beat points can be estimated so that the tempo X[i] transitions naturally. In the first embodiment, in particular, the multiple states Q of the state transition model 60 correspond to different combinations of each of the multiple tempos X[i] and each of the multiple elapsed points Y[j] within the beat interval δ, and the beat point estimation process Sb is executed under the constraint that the state Q corresponding to the elapsed point Y[0] is observed at the analysis time t[m] of the beat point after the change due to a change instruction from the user. Therefore, multiple beat points can be estimated, including the time after the change due to a change instruction from the user as the beat point.

B:第2実施形態
第2実施形態を説明する。なお、以下に例示する各形態において機能が第1実施形態と同様である要素については、第1実施形態の説明で使用したのと同様の符号を流用して各々の詳細な説明を適宜に省略する。
B: Second Embodiment A second embodiment will now be described. Note that, in the following examples, elements that have the same functions as those in the first embodiment will be denoted by the same reference numerals as those used in the description of the first embodiment, and detailed descriptions of each element will be omitted as appropriate.

図16は、第2実施形態における音響解析システム100の機能的な構成を例示するブロック図である。第2実施形態の制御装置11は、第1実施形態と同様の要素(解析処理部20,表示制御部24,再生制御部25,指示受付部26および推定モデル更新部27)に加えて曲線設定部28として機能する。 Figure 16 is a block diagram illustrating the functional configuration of an acoustic analysis system 100 in the second embodiment. The control device 11 in the second embodiment functions as a curve setting unit 28 in addition to the same elements as in the first embodiment (analysis processing unit 20, display control unit 24, playback control unit 25, instruction receiving unit 26, and estimation model update unit 27).

第2実施形態の解析処理部20は、楽曲内の複数の拍点の推定に加えて、当該楽曲のテンポT[m]の推定を実行する。すなわち、解析処理部20は、音響信号Aを解析することで、時間軸上の相異なる解析時点t[m]に対応するM個のテンポT[1]~T[M]の時系列を推定する。 In the second embodiment, the analysis processing unit 20 estimates the tempo T[m] of a piece of music in addition to estimating multiple beats within the piece of music. That is, the analysis processing unit 20 analyzes the audio signal A to estimate a time series of M tempos T[1] to T[M] corresponding to different analysis points t[m] on the time axis.

図17は、第2実施形態における解析画面70の模式図である。第2実施形態の解析画面70は、第1実施形態と同様の要素に加えて、推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとを含む。具体的には、解析画面70の波形領域73には、音響信号Aの波形731と推定テンポ曲線CTと最大テンポ曲線CHと最小テンポ曲線CLとが、共通の時間軸のもとで表示される。なお、図17においては、音響信号Aにおける発音点732の表示が便宜的に省略されている。 Figure 17 is a schematic diagram of the analysis screen 70 in the second embodiment. In addition to the same elements as in the first embodiment, the analysis screen 70 in the second embodiment includes an estimated tempo curve CT, a maximum tempo curve CH, and a minimum tempo curve CL. Specifically, the waveform area 73 of the analysis screen 70 displays the waveform 731 of audio signal A, the estimated tempo curve CT, the maximum tempo curve CH, and the minimum tempo curve CL on a common time axis. Note that in Figure 17, the display of the onset points 732 in audio signal A has been omitted for convenience.

図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]の時系列を表す。 Figure 18 is a schematic diagram focusing on the estimated tempo curve CT, maximum tempo curve CH, and minimum tempo curve CL. The estimated tempo curve CT is a curve representing the time series of the tempo T[m] estimated by the analysis processing unit 20. The maximum tempo curve CH is a curve representing the time change in the maximum value H[m] of the tempo T[m] estimated by the analysis processing unit 20 (hereinafter referred to as the "maximum tempo"). In other words, the maximum tempo curve CH represents the time series of M maximum tempos H[1] to H[M] corresponding to different analysis times t[m] on the time axis. The minimum tempo curve CL is a curve representing the time change in the minimum value L[m] of the tempo T[m] estimated by the analysis processing unit 20 (hereinafter referred to as the "minimum tempo"). In other words, the minimum tempo curve CL represents the time series of M minimum tempos L[1] to L[M] corresponding to different analysis times t[m] on the time axis.

以上の説明から理解される通り、解析処理部20は、各解析時点t[m]について、最大テンポH[m]と最小テンポL[m]との間の範囲(以下「制限範囲」という)R[m]内において楽曲のテンポT[m]を推定する。したがって、推定テンポ曲線CTは、最大テンポ曲線CHと最小テンポ曲線CLとの間に位置する。制限範囲R[m]の位置および範囲幅は経時的に変化する。 As can be understood from the above explanation, the analysis processing unit 20 estimates the tempo T[m] of a piece of music for each analysis time point t[m] within the range R[m] between the maximum tempo H[m] and the minimum tempo L[m] (hereinafter referred to as the "limited range"). Therefore, the estimated tempo curve CT is located between the maximum tempo curve CH and the minimum tempo curve CL. The position and width of the limited range R[m] change over time.

図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とを容易に変更できる。 The curve setting unit 28 in FIG. 16 sets the maximum tempo curve CH and the minimum tempo curve CL. For example, the user can specify a maximum tempo curve CH and a minimum tempo curve CL of a desired shape by operating the operation device 14. The curve setting unit 28 sets the maximum tempo curve CH and the minimum tempo curve CL in response to a user's instruction on the analysis screen 70 (waveform area 73). For example, the curve setting unit 28 sets a continuous curve that passes through multiple points specified by the user in time series within the waveform area 73 as the maximum tempo curve CH or the minimum tempo curve. Furthermore, the user can specify in the waveform area 73 to change the previously set maximum tempo curve CH and minimum tempo curve CL by operating the operation device 14. The curve setting unit 28 changes the maximum tempo curve CH and the minimum tempo curve CL in response to a user's instruction on the analysis image (waveform area 73). As can be understood from the above explanation, according to the second embodiment, the user can easily change the maximum tempo curve CH and minimum tempo curve CL while checking the analysis screen 70.

第2実施形態においては、音響信号Aの波形731と、最大テンポ曲線CHおよび最小テンポ曲線CLとが共通の時間軸のもとで表示されるから、最大テンポH[m]または最小テンポL[m]の時間変化と音響信号Aの波形731との関係を利用者が視覚的に把握し易い。また、最大テンポ曲線CHおよび最小テンポ曲線CLとともに推定テンポ曲線CTが表示されるから、最大テンポ曲線CHと最小テンポ曲線CLとの間で推定された楽曲のテンポT[m]の時間変化を利用者が視覚的に把握できる。 In the second embodiment, the waveform 731 of audio signal A and the maximum tempo curve CH and minimum tempo curve CL are displayed on a common time axis, making it easy for the user to visually grasp the relationship between the change over time in the maximum tempo H[m] or minimum tempo L[m] and the waveform 731 of audio signal A. Furthermore, because the estimated tempo curve CT is displayed along with the maximum tempo curve CH and minimum tempo curve CL, the user can visually grasp the change over time in the tempo T[m] of the song estimated between the maximum tempo curve CH and minimum tempo curve CL.

図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は有効状態に設定される。 Figure 19 is a flowchart illustrating the specific steps of the beat point estimation process Sb in the second embodiment. After setting the observation likelihood Λ[m] for each analysis time t[m] in the same manner as in the first embodiment (Sb1), the estimation processing unit 23 calculates the path p[i,j] and likelihood λ[i,j] for each state Q[i,j] of the state transition model 60 for each analysis time t[m] (Sb2). In the second embodiment, the estimation processing unit 23 sets to zero the likelihood λ[i,j] corresponding to each tempo X[i] that exceeds the maximum tempo H[m] among the multiple tempos X[i] and the likelihood λ[i,j] corresponding to each tempo X[i] that falls below the minimum tempo L[m] for each analysis time t[m]. In other words, among the N states Q of the state transition model 60, states Q corresponding to tempos X[i] outside the limit range R[m] are set to an invalid state. Furthermore, for each analysis time point t[m], the estimation processing unit 23 sets the likelihood λ[i,j] corresponding to each tempo X[i] inside the limit range R[m] to a significant value, as in the first embodiment. That is, of the N states Q of the state transition model 60, the state Q corresponding to the tempo X[i] inside the limit range R[m] is set to a valid state.

推定処理部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が選択されない状態を意味する。 The estimation processing unit 23 generates a state sequence using a method similar to that of the first embodiment (Sb3). That is, a sequence in which the states Q with the largest likelihood λ[i,j] among the N states Q are arranged for each analysis time t[m] is generated as the state sequence. As described above, the likelihood λ[i,j] of the state Q[i,j] corresponding to the tempo X[i] outside the restricted range R[m] at the analysis time t[m] is set to 0. Therefore, the state Q corresponding to the tempo X[i] outside the restricted range R[m] is not selected as an element of the state sequence. As can be understood from the above explanation, the invalid state of each state Q means that the state Q is not selected.

推定処理部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]の内側の数値に制限される。 The estimation processing unit 23 generates beat data B (Sb4) as in the first embodiment, and identifies the tempo T[m] at each analysis time point t[m] from the state series (Sb5). That is, the tempo X[i] of the state Q corresponding to the analysis time point t[m] in the state series is set as the tempo T[m]. As mentioned above, a state Q corresponding to a tempo X[i] outside the limit range R[m] is not selected as an element of the state series, so the tempo T[m] is limited to a value within the limit range R[m].

以上に説明した通り、第2実施形態においては、最大テンポ曲線CHと最小テンポ曲線CLとが利用者からの指示に応じて設定される。そして、最大テンポ曲線CHが表す最大テンポH[m]と最小テンポ曲線CLが表す最小テンポL[m]との間の制限範囲R[m]内において楽曲のテンポT[m]が推定される。したがって、利用者が意図したテンポから過度に乖離したテンポ(例えば利用者が想定した数値の2倍または1/2倍のテンポ)が推定される可能性が低減される。すなわち、音響信号Aが表す楽曲のテンポT[m]を高精度に推定できる。 As explained above, in the second embodiment, the maximum tempo curve CH and the minimum tempo curve CL are set in response to instructions from the user. The tempo T[m] of the music is then estimated within the limited range R[m] between the maximum tempo H[m] represented by the maximum tempo curve CH and the minimum tempo L[m] represented by the minimum tempo curve CL. This reduces the likelihood of estimating a tempo that deviates excessively from the tempo intended by the user (for example, a tempo that is twice or half the value intended by the user). In other words, the tempo T[m] of the music represented by the audio signal A can be estimated with high accuracy.

また、第2実施形態においては、複数のテンポX[i]の何れかに対応する複数の状態Qで構成される状態遷移モデル60が、複数の拍点の推定に利用される。したがって、経時的に自然に遷移するテンポT[m]が推定される。しかも、複数の状態Qのうち制限範囲R[m]の外側のテンポX[i]に対応する状態Qを無効状態に設定する簡便な処理により、制限範囲R[m]内に制限されたテンポT[m]を推定できる。 In the second embodiment, a state transition model 60 consisting of multiple states Q corresponding to any of multiple tempos X[i] is used to estimate multiple beats. Therefore, a tempo T[m] that transitions naturally over time is estimated. Furthermore, a tempo T[m] restricted to within the restricted range R[m] can be estimated by a simple process of invalidating the state Q corresponding to a tempo X[i] outside the restricted range R[m].

C:第3実施形態
第1実施形態においては、確率算定部22が推定モデル50により算定した確率P[m]を表す出力データO[m]が推定処理部23による拍点推定処理Sbに適用される形態を例示した。第3実施形態においては、推定モデル50により算定される確率P[m](以下「確率P1[m]」という)が操作装置14に対する利用者からの操作に応じて調整され、調整後の確率P2[m]を表す出力データO[m]が拍点推定処理Sbに適用される。
C: Third Embodiment In the first embodiment, the output data O[m] representing the probability P[m] calculated by the probability calculation unit 22 using the estimation model 50 is applied to the beat position estimation process Sb by the estimation processing unit 23. In the third embodiment, the probability P[m] calculated by the estimation model 50 (hereinafter referred to as "probability P1[m]") is adjusted in response to an operation by the user via the operation device 14, and the output data O[m] representing the adjusted probability P2[m] is applied to the beat position estimation process Sb.

図20は、第3実施形態の確率算定部22が出力データO[m]を生成する処理の説明図である。再生制御部25が放音装置15に再生させる楽曲の演奏音を聴取しながら、利用者は、自身が拍点と認識する各時点において操作装置14を操作する。例えば、利用者は、楽曲の再生に並行して、自身が認識する拍点の時点において操作装置14のタッチパネルに対してタップ操作を付与する。図20には、利用者が操作した時点(以下「操作時点」という)τが時間軸上に図示されている。 Figure 20 is an explanatory diagram of the process by which the probability calculation unit 22 of the third embodiment generates output data O[m]. While listening to the musical piece played by the sound emitting device 15 by the playback control unit 25, the user operates the operation device 14 at each time point that the user recognizes as a beat. For example, while the musical piece is being played, the user taps on the touch panel of the operation device 14 at each time point that the user recognizes as a beat. Figure 20 illustrates the time point τ at which the user operates (hereinafter referred to as the "operation time point") on the time axis.

確率算定部22は、操作時点τ毎に単位分布Wを設定する。単位分布Wは、時間軸上における加重値w[m]の分布である。例えば分散が所定値に設定された正規分布等の確率分布が単位分布Wとして利用される。各単位分布Wにおいては、操作時点τにおいて加重値w[m]が最大となり、操作時点τから離間するほど加重値w[m]が減少する。 The probability calculation unit 22 sets a unit distribution W for each operation time τ. The unit distribution W is a distribution of weighted values w[m] on the time axis. For example, a probability distribution such as a normal distribution with a predetermined variance is used as the unit distribution W. In each unit distribution W, the weighted value w[m] is maximum at the operation time τ, and decreases as the distance from the operation time τ increases.

確率算定部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実施形態と同様である。 The probability calculation unit 22 calculates the adjusted probability P2[m] by multiplying the probability P1[m] generated by the estimation model 50 for the analysis time t[m] by the weighted value w[m] at that analysis time t[m]. Therefore, even if the probability P1[m] generated by the estimation model 50 is small for an analysis time t[m], if the analysis time t[m] is close to the operation time τ, the adjusted probability P2[m] is set to a large value. The probability calculation unit 22 supplies output data O[m] representing the adjusted probability P2[m] to the estimation processing unit 23. The procedure of the beat point estimation process Sb, in which the estimation processing unit 23 estimates multiple beat points using the output data O[m], is the same as in the first embodiment.

第3実施形態においても第1実施形態と同様の効果が実現される。また、第3実施形態においては、利用者による操作時点τに設定された単位分布Wの加重値w[m]が確率P1[m]に乗算されるから、利用者の意図または嗜好を充分に反映した拍点を推定できるという利点がある。なお、第2実施形態の構成は第3実施形態にも同様に適用される。 The third embodiment also achieves the same effects as the first embodiment. Furthermore, in the third embodiment, the weighted value w[m] of the unit distribution W set at the time τ of the user's operation is multiplied by the probability P1[m], which has the advantage of being able to estimate a beat point that fully reflects the user's intentions or preferences. The configuration of the second embodiment can also be applied to the third embodiment.

D:変形例
以上に例示した各態様に付加される具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を、相互に矛盾しない範囲で適宜に併合してもよい。
D: Modifications Specific modifications that can be added to the above-mentioned embodiments are exemplified below. Two or more embodiments arbitrarily selected from the following examples may be combined as appropriate within the scope of not mutually contradicting each other.

(1)推定モデル50の構成は、図4の例示に限定されない。例えば、推定モデル50が再帰型ニューラルネットワークを含む形態も想定される。また、長短期記憶(LSTM:Long Short-Term Memory)等の付加的な要素が推定モデル50に搭載されてもよい。複数種の深層ニューラルネットワークの組合せにより推定モデル50が構成されてもよい。 (1) The configuration of the estimation model 50 is not limited to the example shown in Figure 4. For example, the estimation model 50 may include a recurrent neural network. Furthermore, additional elements such as long short-term memory (LSTM) may be incorporated into the estimation model 50. The estimation model 50 may also be configured by combining multiple types of deep neural networks.

(2)音響信号Aの解析により楽曲内の複数の拍点を推定する処理の具体的な手順は、前述の各形態における例示に限定されない。例えば、解析処理部20は、出力データO[m]が表す確率P[m]が極大となる解析時点t[m]を拍点として推定してもよい。すなわち、状態遷移モデル60の利用は省略される。また、例えば音響信号Aの音量等の特徴量f[m]が顕著に増加する時点を、解析処理部20が拍点として推定してもよい。すなわち、推定モデル50の利用は省略される。 (2) The specific steps of the process for estimating multiple beats in a piece of music by analyzing the audio signal A are not limited to the examples given in the above-mentioned embodiments. For example, the analysis processing unit 20 may estimate the analysis time t[m] at which the probability P[m] represented by the output data O[m] is maximized as a beat. In other words, the use of the state transition model 60 is omitted. Alternatively, the analysis processing unit 20 may estimate the time at which a feature f[m], such as the volume of the audio signal A, significantly increases as a beat. In other words, the use of the estimation model 50 is omitted.

(3)初期解析処理により推定された複数の拍点を更新する第1実施形態の構成は、第2実施形態において省略されてもよい。すなわち、推定済の複数の拍点のうち一部の拍点に対する変更指示に応じて楽曲全体にわたる複数の拍点を更新する第1実施形態の構成と、利用者からの指示に応じた制限範囲R[m]内において楽曲のテンポT[m]を推定する第2実施形態の構成とは、相互に独立に成立し得る。 (3) The configuration of the first embodiment, which updates multiple beat points estimated by the initial analysis process, may be omitted in the second embodiment. In other words, the configuration of the first embodiment, which updates multiple beat points throughout the entire musical piece in response to an instruction to change some of the multiple estimated beat points, and the configuration of the second embodiment, which estimates the tempo T[m] of the musical piece within a limited range R[m] in response to an instruction from the user, may be established independently of each other.

(4)例えばスマートフォンまたはタブレット端末等の情報装置との間で通信するサーバ装置により音響解析システム100を実現してもよい。例えば、音響解析システム100は、情報装置から受信した音響信号Aの解析により拍点データBを生成し、当該拍点データBを情報装置に送信する。利用者による変更指示の受付(S2)および拍点更新処理(S3)も同様に、情報装置と通信する音響解析システム100が実行する。 (4) The acoustic analysis system 100 may be realized by a server device that communicates with an information device such as a smartphone or tablet terminal. For example, the acoustic analysis system 100 generates beat data B by analyzing an acoustic signal A received from the information device and transmits the beat data B to the information device. Similarly, the reception of a change instruction from the user (S2) and the beat update process (S3) are also performed by the acoustic analysis system 100 that communicates with the information device.

(5)以上に例示した音響解析システム100の機能は、前述の通り、制御装置11を構成する単数または複数のプロセッサと、記憶装置12に記憶されたプログラムとの協働により実現される。本開示に係るプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体も包含される。なお、非一過性の記録媒体とは、一過性の伝搬信号(transitory, propagating signal)を除く任意の記録媒体を含み、揮発性の記録媒体も除外されない。また、配信装置が通信網を介してプログラムを配信する構成では、当該配信装置においてプログラムを記憶する記憶装置12が、前述の非一過性の記録媒体に相当する。 (5) As mentioned above, the functions of the acoustic analysis system 100 exemplified above are realized through cooperation between one or more processors constituting the control device 11 and a program stored in the storage device 12. The program according to the present disclosure can be provided in a form stored on a computer-readable recording medium and installed on a computer. The recording medium is, for example, a non-transitory recording medium, and a good example is an optical recording medium (optical disk) such as a CD-ROM, but also includes any known type of recording medium, such as a semiconductor recording medium or a magnetic recording medium. Note that a non-transitory recording medium includes any recording medium excluding a transient, propagating signal, and does not exclude volatile recording media. Furthermore, in a configuration in which a distribution device distributes a program via a communication network, the storage device 12 that stores the program in the distribution device corresponds to the non-transitory recording medium described above.

E:付記
以上に例示した形態から、例えば以下の構成が把握される。
E: Supplementary Note From the above-described exemplary embodiments, the following configurations can be understood, for example.

本開示のひとつの態様(態様1)に係る音響解析方法は、楽曲の演奏音を表す音響信号の解析により前記楽曲の複数の拍点を推定し、前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付け、前記利用者からの指示に応じて前記複数の拍点の位置を更新する。以上の態様においては、音響信号の解析により推定された複数の拍点のうち一部の拍点に関する位置の変更の指示に応じて、当該一部の拍点以外の拍点を含む複数の拍点の位置が更新される。したがって、複数の拍点の全部について利用者が位置を変更する必要がある構成と比較して、利用者が各拍点の位置の変更を指示する負荷を軽減しながら、当該利用者の意図に沿った拍点の時系列を取得できる。 An acoustic analysis method according to one aspect (aspect 1) of the present disclosure estimates multiple beats of a piece of music by analyzing an audio signal representing the music being played, receives instructions from a user to change the positions of some of the multiple beats, and updates the positions of the multiple beats in accordance with the user's instructions. In the above aspect, in accordance with an instruction to change the positions of some of the multiple beats estimated by analyzing the audio signal, the positions of the multiple beats, including those other than the some of the multiple beats, are updated. Therefore, compared to a configuration in which the user must change the positions of all of the multiple beats, it is possible to obtain a time series of beats that matches the user's intentions, while reducing the burden on the user of instructing changes to the positions of each beat.

態様1の具体例(態様2)において、前記拍点の推定は、前記音響信号の特徴量を含む特徴データを時間軸上の複数の解析時点の各々について生成する特徴抽出処理と、時間軸上の時点に対応する学習用特徴データと当該時点が拍点に該当する確率を表す学習用出力データとの関係を学習した推定モデルに、前記特徴抽出処理が前記各解析時点について生成した特徴データを入力することで、当該解析時点が拍点に該当する確率を表す出力データを生成する確率算定処理と、前記確率算定処理により生成された出力データから前記複数の拍点を推定する拍点推定処理と、を含む。以上の態様によれば、学習用特徴データと学習用出力データとの間に潜在する関係のもとで未知の特徴データに対して統計的に妥当な出力データを生成できる。 In a specific example (Aspect 2) of Aspect 1, the beat point estimation includes a feature extraction process that generates feature data including features of the audio signal for each of multiple analysis time points on the time axis; a probability calculation process that generates output data indicating the probability that the analysis time point corresponds to a beat point by inputting the feature data generated for each analysis time point by the feature extraction process into an estimation model that has learned the relationship between the training feature data corresponding to the time point on the time axis and training output data indicating the probability that the time point corresponds to a beat point; and a beat point estimation process that estimates the multiple beat points from the output data generated by the probability calculation process. According to the above aspect, it is possible to generate output data that is statistically valid for unknown feature data based on the underlying relationship between the training feature data and the training output data.

態様2の具体例(態様3)において、前記複数の拍点の位置の更新においては、前記推定モデルにおける入力側の第1部分と出力側の第2部分との間に適応ブロックを追加した状態において、前記利用者からの指示による変更前または変更後の拍点の位置を適用した追加学習を実行することで、前記推定モデルを更新し、当該更新後の推定モデルを利用した前記確率算定処理と、当該確率算定処理により生成された出力データを利用した前記拍点推定処理とにより、更新後の複数の拍点を推定する。以上の態様によれば、利用者からの指示による変更前または変更後の拍点の位置を適用した追加学習により推定モデルが更新される。したがって、利用者の意図または嗜好に沿った拍点を推定可能な状態に推定モデルを特化できる In a specific example of Aspect 2 (Aspect 3), the multiple beat positions are updated by adding an adaptive block between the first input portion and the second output portion of the estimation model, performing additional training that applies the beat positions before or after the change in response to the user's instruction, and then updating the estimation model. The updated multiple beat positions are then estimated by the probability calculation process using the updated estimation model and the beat estimation process using the output data generated by the probability calculation process. According to the above aspect, the estimation model is updated by additional training that applies the beat positions before or after the change in response to the user's instruction. This allows the estimation model to be specialized to estimate beat positions that are in line with the user's intentions or preferences.

なお、適応ブロックは、利用者からの指示による変更前または変更後の拍点の位置に対応する特徴データから第1部分が生成する第1中間データと、楽曲内の複数の解析時点の各々における特徴データに対応する第2中間データとの類似度を生成するブロックである。利用者からの指示による変更前の拍点の位置の第1中間データに類似する第2中間データに対応する解析時点の出力データが、拍点に該当しないことを意味する数値に近付き、また、変更後の拍点の位置の第1中間データに類似する第2中間データに対応する解析時点の出力データが、拍点に該当することを意味する数値に近付くように、適応ブロックを含む推定モデルの全体が更新される。 The adaptive block is a block that generates the similarity between first intermediate data generated by the first portion from feature data corresponding to the beat position before or after the change in response to a user instruction, and second intermediate data corresponding to the feature data at each of multiple analysis points in the music. The entire estimation model, including the adaptive block, is updated so that the output data at the analysis point corresponding to the second intermediate data that is similar to the first intermediate data for the beat position before the change in response to a user instruction approaches a numerical value indicating that the output data does not correspond to a beat, and so that the output data at the analysis point corresponding to the second intermediate data that is similar to the first intermediate data for the beat position after the change approaches a numerical value indicating that the output data corresponds to a beat.

態様2または態様3の具体例(態様4)において、前記拍点推定処理においては、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して前記複数の拍点を推定する。以上の態様によれば、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して複数の拍点が推定される。したがって、経時的にテンポが自然に遷移するように複数の拍点が推定される。 In a specific example (Aspect 4) of Aspect 2 or Aspect 3, the beat estimation process estimates the multiple beats using a state transition model composed of multiple states corresponding to any of multiple tempos. According to the above aspect, multiple beats are estimated using a state transition model composed of multiple states corresponding to any of multiple tempos. Therefore, multiple beats are estimated so that the tempo transitions naturally over time.

態様4の具体例(態様5)において、前記状態遷移モデルの前記複数の状態は、前記複数のテンポの各々と拍間隔内の複数の経過点の各々との相異なる組合せに対応し、前記拍点推定処理においては、前記複数の経過点のうち前記拍間隔の端点に対応する状態が観測される時点を拍点として推定し、前記複数の拍点の位置の更新においては、前記利用者からの指示による変更後の拍点の時点において前記拍間隔の端点に対応する状態が観測されるという拘束条件のもとで前記拍点推定処理を実行することで、更新後の複数の拍点を推定する。以上の態様によれば、利用者からの指示による変更後の時点の拍点を含む複数の拍点を推定できる。 In a specific example (Aspect 5) of Aspect 4, the multiple states of the state transition model correspond to different combinations of each of the multiple tempos and each of multiple elapsed points within a beat interval, and in the beat point estimation process, a time point at which a state of the multiple elapsed points corresponding to an end point of the beat interval is observed is estimated as a beat point, and in updating the positions of the multiple beat points, the beat point estimation process is performed under the constraint that a state corresponding to an end point of the beat interval is observed at the time point of the beat point after the change based on the user's instruction, thereby estimating the multiple updated beat points. According to the above aspect, multiple beat points can be estimated, including the beat point after the change based on the user's instruction.

本開示のひとつの態様(態様6)に係る音響解析システムは、楽曲の演奏音を表す音響信号の解析により前記楽曲の複数の拍点を推定する解析処理部と、前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部と、前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部とを具備する。 An acoustic analysis system according to one aspect (aspect 6) of the present disclosure includes an analysis processing unit that estimates multiple beats of a piece of music by analyzing an acoustic signal representing the sound of the piece of music being played, an instruction receiving unit that receives instructions from a user to change the positions of some of the multiple beats, and a beat updating unit that updates the positions of the multiple beats in response to instructions from the user.

本開示のひとつの態様(態様7)に係るプログラムは、楽曲の演奏音を表す音響信号の解析により前記楽曲の複数の拍点を推定する解析処理部、前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部、および、前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部、としてコンピュータシステムを機能させる。 A program according to one aspect (aspect 7) of the present disclosure causes a computer system to function as an analysis processing unit that estimates multiple beats of a piece of music by analyzing an audio signal representing the music being played, an instruction receiving unit that receives instructions from a user to change the positions of some of the multiple beats, and a beat updating unit that updates the positions of the multiple beats in response to instructions from the user.

なお、本明細書における「テンポ」は、演奏速度を表す任意の数値であり、単位時間内の拍数(BPM:Beats Per Minute)という意味の狭義のテンポには限定されない。 In this specification, "tempo" refers to any numerical value that represents the speed of a performance, and is not limited to tempo in the narrow sense of the number of beats per minute (BPM).

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…状態遷移モデル。 100...acoustic analysis system, 11...control device, 12...storage device, 13...display device, 14...operation device, 15...sound emission device, 20...analysis processing unit, 21...feature extraction unit, 22...probability calculation unit, 23...estimation processing unit, 24...display control unit, 25...playback control unit, 26...instruction reception unit, 27...estimation model update unit, 28...curve setting unit, 50...estimation model, 50a...first part, 50b...second part, 51...input layer, 52 (52a, 52b)...intermediate layer, 53...output layer, 55...adaptation block, 59...tentative model, 60...state transition model.

Claims (9)

学習用音響信号の特徴量と前記学習用音響信号における拍点との関係を学習した推定モデルに、楽曲の演奏音を表す音響信号の特徴量を含む特徴データを入力する処理を含む前記音響信号の解析により、前記楽曲の複数の拍点の位置を推定し、
前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付け、
前記利用者からの指示に応じて前記複数の拍点の位置を更新する
コンピュータシステムにより実現される音響解析方法であって、
前記複数の拍点の位置の更新においては、
前記利用者からの指示に応じて前記推定モデルを更新し、更新後の前記推定モデルに前記特徴データを入力する処理を含む前記音響信号の解析を実行することで、前記複数の拍点の位置を更新する
音響解析方法。
estimating positions of a plurality of beats in the piece of music by analyzing the audio signal, which includes inputting feature data including feature amounts of the audio signal representing the performance sound of the piece of music into an estimation model that has learned the relationship between feature amounts of the training audio signal and beats in the training audio signal;
receiving an instruction from a user to change the positions of some of the beats;
updating the positions of the plurality of beats in response to an instruction from the user .
In updating the positions of the plurality of beat points,
The estimation model is updated in response to an instruction from the user, and the positions of the plurality of beats are updated by performing an analysis of the acoustic signal, including a process of inputting the feature data into the updated estimation model.
Acoustic analysis method.
学習用音響信号の特徴量と前記学習用音響信号における拍点との関係を学習した推定モデルに、楽曲の演奏音を表す音響信号の特徴量を含む特徴データを入力する処理を含む前記音響信号の解析により、前記楽曲の複数の拍点の位置を推定し、
前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付け、
前記利用者からの指示に応じて前記複数の拍点の位置を更新する
コンピュータシステムにより実現される音響解析方法であって、
前記推定モデルは、前記学習用音響信号における時間軸上の時点に対応する特徴量を含む学習用特徴データと、当該時点が拍点に該当する確率を表す学習用出力データとの関係を学習したモデルであり、
前記拍点の推定は、
時間軸上の複数の解析時点の各々について前記特徴データを生成する特徴抽出処理と、
前記特徴抽出処理により前記各解析時点について生成された特徴データを前記推定モデルに入力することで、当該解析時点が拍点に該当する確率を表す出力データを生成する確率算定処理と、
前記確率算定処理により生成された出力データから前記複数の拍点を推定する拍点推定処理と、を含む
音響解析方法。
estimating positions of a plurality of beats in the piece of music by analyzing the audio signal, which includes inputting feature data including feature amounts of the audio signal representing the performance sound of the piece of music into an estimation model that has learned the relationship between feature amounts of the training audio signal and beats in the training audio signal;
receiving an instruction from a user to change the positions of some of the beats;
updating the positions of the plurality of beats in response to an instruction from the user .
the estimation model is a model that has learned a relationship between training feature data including features corresponding to time points on a time axis in the training acoustic signal and training output data that indicates a probability that the time points correspond to beat points;
The estimation of the beat point is
a feature extraction process for generating the feature data for each of a plurality of analysis time points on a time axis;
a probability calculation process for generating output data representing the probability that each analysis time point corresponds to a beat by inputting the feature data generated for each analysis time point by the feature extraction process into the estimation model;
a beat point estimation process for estimating the plurality of beat points from output data generated by the probability calculation process.
Acoustic analysis method.
前記複数の拍点の位置の更新においては、
前記推定モデルにおける入力側の第1部分と出力側の第2部分との間に適応ブロックを追加した状態において、前記利用者からの指示による変更前または変更後の拍点の位置を適用した追加学習を実行することで、前記推定モデルを更新し、
当該更新後の前記推定モデルを利用した前記確率算定処理と、当該確率算定処理により生成された出力データを利用した前記拍点推定処理とにより、更新後の複数の拍点を推定する
請求項の音響解析方法。
In updating the positions of the plurality of beat points,
updating the estimation model by performing additional learning that applies beat positions before or after the change in accordance with the instruction from the user, in a state in which an adaptation block is added between a first portion on the input side and a second portion on the output side of the estimation model;
The acoustic analysis method according to claim 2, wherein the updated beat positions are estimated by the probability calculation process using the updated estimation model and the beat position estimation process using output data generated by the probability calculation process.
前記拍点推定処理においては、複数のテンポの何れかに対応する複数の状態で構成される状態遷移モデルを利用して前記複数の拍点を推定する
請求項または請求項の音響解析方法。
4. The acoustic analysis method according to claim 2 , wherein the beat estimation process estimates the plurality of beats using a state transition model configured with a plurality of states corresponding to any of a plurality of tempos.
前記状態遷移モデルの前記複数の状態は、前記複数のテンポの各々と拍間隔内の複数の経過点の各々との相異なる組合せに対応し、
前記拍点推定処理においては、前記複数の経過点のうち前記拍間隔の端点に対応する状態が観測される時点を拍点として推定し、
前記複数の拍点の位置の更新においては、
前記利用者からの指示による変更後の拍点の時点において前記拍間隔の端点に対応する状態が観測されるという拘束条件のもとで前記拍点推定処理を実行することで、更新後の複数の拍点を推定する
請求項の音響解析方法。
the plurality of states of the state transition model correspond to different combinations of each of the plurality of tempos and each of a plurality of passing points within a beat interval;
In the beat point estimation process, a time point at which a state corresponding to an end point of the beat interval is observed among the plurality of elapsed points is estimated as a beat point;
In updating the positions of the plurality of beat points,
The acoustic analysis method according to claim 4, wherein the updated beat points are estimated by executing the beat point estimation process under a constraint that a state corresponding to an end point of the beat interval is observed at the time of the beat point after the change in response to the user's instruction.
学習用音響信号の特徴量と前記学習用音響信号における拍点との関係を学習した推定モデルに、楽曲の演奏音を表す音響信号の特徴量を含む特徴データを入力する処理を含む前記音響信号の解析により、前記楽曲の複数の拍点の位置を推定する解析処理部と、
前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部と、
前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部と
を具備し、
前記拍点更新部は、
前記利用者からの指示に応じて前記推定モデルを更新し、更新後の前記推定モデルに前記特徴データを入力する処理を含む前記音響信号の解析を実行することで、前記複数の拍点の位置を更新する
音響解析システム。
an analysis processing unit that estimates positions of a plurality of beats in the music piece by analyzing the audio signal, the analysis processing including a process of inputting feature data including feature amounts of the audio signal representing the performance sound of the music piece into an estimation model that has learned the relationship between feature amounts of the training audio signal and beats in the training audio signal;
an instruction receiving unit that receives an instruction from a user to change the positions of some of the plurality of beats;
a beat point updating unit that updates the positions of the plurality of beat points in response to an instruction from the user ,
The beat point updating unit
The estimation model is updated in response to an instruction from the user, and the positions of the plurality of beats are updated by performing an analysis of the acoustic signal, including a process of inputting the feature data into the updated estimation model.
Acoustic analysis system.
学習用音響信号の特徴量と前記学習用音響信号における拍点との関係を学習した推定モデルに、楽曲の演奏音を表す音響信号の特徴量を含む特徴データを入力する処理を含む前記音響信号の解析により、前記楽曲の複数の拍点の位置を推定する解析処理部と、
前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部と、
前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部と
を具備し、
前記推定モデルは、前記学習用音響信号における時間軸上の時点に対応する特徴量を含む学習用特徴データと、当該時点が拍点に該当する確率を表す学習用出力データとの関係を学習したモデルであり、
前記解析処理部は、
時間軸上の複数の解析時点の各々について前記特徴データを生成する特徴抽出処理と、
前記特徴抽出処理により前記各解析時点について生成された特徴データを前記推定モデルに入力することで、当該解析時点が拍点に該当する確率を表す出力データを生成する確率算定処理と、
前記確率算定処理により生成された出力データから前記複数の拍点を推定する拍点推定処理とを実行する
音響解析システム。
an analysis processing unit that estimates positions of a plurality of beats in the music piece by analyzing the audio signal, the analysis processing including a process of inputting feature data including feature amounts of the audio signal representing the performance sound of the music piece into an estimation model that has learned the relationship between feature amounts of the training audio signal and beats in the training audio signal;
an instruction receiving unit that receives an instruction from a user to change the positions of some of the plurality of beats;
a beat point updating unit that updates the positions of the plurality of beat points in response to an instruction from the user ,
the estimation model is a model that has learned a relationship between training feature data including features corresponding to time points on a time axis in the training acoustic signal and training output data that indicates a probability that the time points correspond to beat points;
The analysis processing unit
a feature extraction process for generating the feature data for each of a plurality of analysis time points on a time axis;
a probability calculation process for generating output data representing the probability that each analysis time point corresponds to a beat by inputting the feature data generated for each analysis time point by the feature extraction process into the estimation model;
and executing a beat point estimation process for estimating the plurality of beat points from the output data generated by the probability calculation process.
Acoustic analysis system.
学習用音響信号の特徴量と前記学習用音響信号における拍点との関係を学習した推定モデルに、楽曲の演奏音を表す音響信号の特徴量を含む特徴データを入力する処理を含む前記音響信号の解析により、前記楽曲の複数の拍点の位置を推定する解析処理部、
前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部、および、
前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部
としてコンピュータシステムを機能させるプログラムであって、
前記拍点更新部は、
前記利用者からの指示に応じて前記推定モデルを更新し、更新後の前記推定モデルに前記特徴データを入力する処理を含む前記音響信号の解析を実行することで、前記複数の拍点の位置を更新する
プログラム。
an analysis processing unit that estimates positions of a plurality of beats in the music piece by analyzing the audio signal, the analysis processing including a process of inputting feature data including feature amounts of the audio signal representing the performance sound of the music piece into an estimation model that has learned the relationship between feature amounts of the training audio signal and beats in the training audio signal;
an instruction receiving unit that receives an instruction from a user to change the positions of some of the beats; and
a program that causes a computer system to function as a beat point updating unit that updates positions of the plurality of beat points in response to an instruction from the user,
The beat point updating unit
The estimation model is updated in response to an instruction from the user, and the positions of the plurality of beats are updated by performing an analysis of the acoustic signal, including a process of inputting the feature data into the updated estimation model.
program.
学習用音響信号の特徴量と前記学習用音響信号における拍点との関係を学習した推定モデルに、楽曲の演奏音を表す音響信号の特徴量を含む特徴データを入力する処理を含む前記音響信号の解析により、前記楽曲の複数の拍点の位置を推定する解析処理部、
前記複数の拍点のうち一部の拍点について位置の変更の指示を利用者から受付ける指示受付部、および、
前記利用者からの指示に応じて前記複数の拍点の位置を更新する拍点更新部
としてコンピュータシステムを機能させるプログラムであって、
前記推定モデルは、前記学習用音響信号における時間軸上の時点に対応する特徴量を含む学習用特徴データと、当該時点が拍点に該当する確率を表す学習用出力データとの関係を学習したモデルであり、
前記解析処理部は、
時間軸上の複数の解析時点の各々について前記特徴データを生成する特徴抽出処理と、
前記特徴抽出処理により前記各解析時点について生成された特徴データを前記推定モデルに入力することで、当該解析時点が拍点に該当する確率を表す出力データを生成する確率算定処理と、
前記確率算定処理により生成された出力データから前記複数の拍点を推定する拍点推定処理とを実行する
プログラム。
an analysis processing unit that estimates positions of a plurality of beats in the music piece by analyzing the audio signal, the analysis processing including a process of inputting feature data including feature amounts of the audio signal representing the performance sound of the music piece into an estimation model that has learned the relationship between feature amounts of the training audio signal and beats in the training audio signal;
an instruction receiving unit that receives an instruction from a user to change the positions of some of the beats; and
a program that causes a computer system to function as a beat point updating unit that updates positions of the plurality of beat points in response to an instruction from the user,
the estimation model is a model that has learned a relationship between training feature data including features corresponding to time points on a time axis in the training acoustic signal and training output data that indicates a probability that the time points correspond to beat points;
The analysis processing unit
a feature extraction process for generating the feature data for each of a plurality of analysis time points on a time axis;
a probability calculation process for generating output data representing the probability that each analysis time point corresponds to a beat by inputting the feature data generated for each analysis time point by the feature extraction process into the estimation model;
and executing a beat point estimation process for estimating the plurality of beat points from the output data generated by the probability calculation process.
program.
JP2021028539A 2021-02-25 2021-02-25 Acoustic analysis method, acoustic analysis system and program Active JP7764688B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2021028539A JP7764688B2 (en) 2021-02-25 2021-02-25 Acoustic analysis method, acoustic analysis system and program
PCT/JP2022/006601 WO2022181474A1 (en) 2021-02-25 2022-02-18 Acoustic analysis method, acoustic analysis system, and program
PCT/JP2022/006612 WO2022181477A1 (en) 2021-02-25 2022-02-18 Acoustic analysis method, acoustic analysis system, and program
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
JP2025179286A JP2026002982A (en) 2021-02-25 2025-10-24 Acoustic analysis method, acoustic analysis system and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021028539A JP7764688B2 (en) 2021-02-25 2021-02-25 Acoustic analysis method, acoustic analysis system and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2025179286A Division JP2026002982A (en) 2021-02-25 2025-10-24 Acoustic analysis method, acoustic analysis system and program

Publications (2)

Publication Number Publication Date
JP2022129738A JP2022129738A (en) 2022-09-06
JP7764688B2 true JP7764688B2 (en) 2025-11-06

Family

ID=83150711

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021028539A Active JP7764688B2 (en) 2021-02-25 2021-02-25 Acoustic analysis method, acoustic analysis system and program
JP2025179286A Pending JP2026002982A (en) 2021-02-25 2025-10-24 Acoustic analysis method, acoustic analysis system and program

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025179286A Pending JP2026002982A (en) 2021-02-25 2025-10-24 Acoustic analysis method, acoustic analysis system and program

Country Status (1)

Country Link
JP (2) JP7764688B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116166151A (en) * 2023-02-21 2023-05-26 北京字跳网络技术有限公司 Information release method, identification method, electronic equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122629A (en) 2008-11-21 2010-06-03 Sony Corp Information processor, speech analysis method, and program
JP2014178394A (en) 2013-03-14 2014-09-25 Yamaha Corp Acoustic signal analysis device and acoustic signal analysis program
US20140358265A1 (en) 2013-05-31 2014-12-04 Dolby Laboratories Licensing Corporation Audio Processing Method and Audio Processing Apparatus, and Training Method
JP2015114361A (en) 2013-12-09 2015-06-22 ヤマハ株式会社 Acoustic signal analysis device and acoustic signal analysis program
JP2015200803A (en) 2014-04-09 2015-11-12 ヤマハ株式会社 Acoustic signal analysis apparatus and acoustic signal analysis program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6729515B2 (en) * 2017-07-19 2020-07-22 ヤマハ株式会社 Music analysis method, music analysis device and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122629A (en) 2008-11-21 2010-06-03 Sony Corp Information processor, speech analysis method, and program
JP2014178394A (en) 2013-03-14 2014-09-25 Yamaha Corp Acoustic signal analysis device and acoustic signal analysis program
US20140358265A1 (en) 2013-05-31 2014-12-04 Dolby Laboratories Licensing Corporation Audio Processing Method and Audio Processing Apparatus, and Training Method
JP2015114361A (en) 2013-12-09 2015-06-22 ヤマハ株式会社 Acoustic signal analysis device and acoustic signal analysis program
JP2015200803A (en) 2014-04-09 2015-11-12 ヤマハ株式会社 Acoustic signal analysis apparatus and acoustic signal analysis program

Also Published As

Publication number Publication date
JP2022129738A (en) 2022-09-06
JP2026002982A (en) 2026-01-08

Similar Documents

Publication Publication Date Title
US9263018B2 (en) System and method for modifying musical data
US20170092248A1 (en) Automatic composer
JP2016136251A (en) Automatic transcription of musical content and real-time musical accompaniment
WO2013028315A1 (en) System and method for producing a more harmonious musical accompaniment and for applying a chain of effects to a musical composition
JP2026002982A (en) Acoustic analysis method, acoustic analysis system and program
WO2019022117A1 (en) Musical performance analysis method and program
WO2022153875A1 (en) Information processing system, electronic musical instrument, information processing method, and program
US20230290325A1 (en) Sound processing method, sound processing system, electronic musical instrument, and recording medium
JP6175812B2 (en) Musical sound information processing apparatus and program
US20230395047A1 (en) Audio analysis method, audio analysis system and program
JP7613154B2 (en) Acoustic analysis method, acoustic analysis system and program
CN112912951B (en) Information processing device for data representing actions
EP4270374B1 (en) Method for tempo adaptive backing track
JP7552740B2 (en) Acoustic analysis system, electronic musical instrument, and acoustic analysis method
JP7800324B2 (en) Acoustic analysis system, acoustic analysis method and program
JP2014164131A (en) Acoustic synthesizer
JP7679870B2 (en) Signal processing system, signal processing method, and program
JP7635819B2 (en) Information processing system, electronic musical instrument, information processing method, and method for generating trained model
WO2022202374A1 (en) Acoustic processing method, acoustic processing system, program, and method for establishing generation model
WO2024085175A1 (en) Data processing method and program
JP2025079055A (en) Information Processing Method
WO2023171497A1 (en) Acoustic generation method, acoustic generation system, and program
JP6364885B2 (en) Music processing apparatus and music processing method
JP2009300622A (en) Musical performance start time estimation device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250703

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251007

R150 Certificate of patent or registration of utility model

Ref document number: 7764688

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150