JP2003263162A - Method and device for estimating tempo of musical data - Google Patents
Method and device for estimating tempo of musical dataInfo
- Publication number
- JP2003263162A JP2003263162A JP2002061503A JP2002061503A JP2003263162A JP 2003263162 A JP2003263162 A JP 2003263162A JP 2002061503 A JP2002061503 A JP 2002061503A JP 2002061503 A JP2002061503 A JP 2002061503A JP 2003263162 A JP2003263162 A JP 2003263162A
- Authority
- JP
- Japan
- Prior art keywords
- tempo
- music data
- list
- value
- data
- 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.)
- Granted
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
Description
【発明の詳細な説明】Detailed Description of the Invention
【0001】[0001]
【発明の属する技術分野】本発明は、音楽データのテン
ポ推定方法に関し、特に曲の途中でテンポが変化するよ
うな音楽データであっても正確にテンポを推定できる方
法および装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a music data tempo estimation method, and more particularly to a method and apparatus for accurately estimating the tempo even for music data whose tempo changes during a song.
【0002】[0002]
【従来の技術】従来より、ビート感のあるフレーズのオ
ーディオデータを、テンポを一定とみなしてビート検出
(およびテンポ推定)する技術が存在する。例えば、特
開昭62−205397号、特開昭63−8697号、
特開昭63−70293号、特開昭63−70294
号、特開平5−27751号、特開平7−64544
号、特開2000−221979号などには、音響信号
からテンポを抽出する装置が記載されている。2. Description of the Related Art Conventionally, there is a technique for detecting the beat (and estimating the tempo) of audio data of a phrase having a beat feeling by regarding the tempo as constant. For example, JP-A-62-205397, JP-A-63-8697,
JP-A-63-70293, JP-A-63-70294
JP-A-5-27751, JP-A-7-64544
No. 2000-221979 and the like describe an apparatus for extracting tempo from an acoustic signal.
【0003】[0003]
【発明が解決しようとする課題】上記の従来技術は、何
れもテンポが一定のフレーズからビート検出しテンポを
推定するものである。したがって、曲の途中でテンポが
変化するような音楽データのテンポ推定には適用するこ
とができない。無理に適用しても、テンポが変化する位
置を正確に認識できず、結果としてテンポを正確に推定
できないという問題があった。All of the above-mentioned conventional techniques detect a beat from a phrase having a constant tempo and estimate the tempo. Therefore, it cannot be applied to the tempo estimation of music data in which the tempo changes in the middle of a song. Even if it is forcedly applied, there is a problem that the position where the tempo changes cannot be accurately recognized, and as a result, the tempo cannot be accurately estimated.
【0004】この発明は、上記従来技術における問題点
に鑑み、テンポが途中で変化するような音楽データを処
理対象とする場合であってもテンポを正確に推定するこ
とを可能にする音楽データのテンポ推定方法および装置
を提供することを目的とする。In view of the above-mentioned problems in the prior art, the present invention provides a method for processing music data that enables accurate estimation of the tempo even when processing music data whose tempo changes midway. An object is to provide a tempo estimation method and device.
【0005】[0005]
【課題を解決するための手段】この目的を達成するた
め、請求項1に係る発明は、音楽データのテンポ推定方
法において、推定対象の音楽データを入力するステップ
と、入力した音楽データに対して複数の異なる推定範囲
を設定するステップと、前記推定範囲ごとに前記音楽デ
ータを分析してテンポを推定し、その推定範囲ごとのテ
ンポ値を得るステップと、前記複数の推定範囲の各テン
ポ値を統合して、前記音楽データの時間的に変動するテ
ンポ値を得るステップとを備えることを特徴とする。In order to achieve this object, the invention according to claim 1 is a method for estimating a tempo of music data, in which a step of inputting music data to be estimated and a step of inputting music data are performed. A step of setting a plurality of different estimation ranges; a step of analyzing the music data for each of the estimation ranges to estimate a tempo to obtain a tempo value for each of the estimation ranges; and a tempo value of each of the estimation ranges. Integrating to obtain a temporally varying tempo value of the music data.
【0006】請求項2に係る発明は、請求項1に記載の
音楽データのテンポ推定方法において、前記推定範囲
は、互いに幅が異なる複数の推定範囲であることを特徴
とする。According to a second aspect of the present invention, in the music data tempo estimating method according to the first aspect, the estimation range is a plurality of estimation ranges having different widths.
【0007】請求項3に係る発明は、請求項1に記載の
音楽データのテンポ推定方法において、前記推定範囲
は、互いに位置が異なる複数の推定範囲であることを特
徴とする。The invention according to claim 3 is the music data tempo estimating method according to claim 1, wherein the estimation range is a plurality of estimation ranges having different positions.
【0008】請求項4に係る発明は、音楽データのテン
ポ推定方法において、推定対象の音楽データを入力する
ステップと、入力した音楽データに対して複数の異なる
推定範囲を設定するステップと、前記推定範囲ごとに前
記音楽データを分析してテンポを推定し、その推定範囲
ごとに、テンポ値と推定の信頼度を示すスコア値とを得
るステップと、前記複数の推定範囲の各テンポ値を前記
各スコア値に基づいて統合し、前記音楽データの時間的
に変動するテンポ値を得るステップとを備えることを特
徴とする。According to a fourth aspect of the present invention, in a music data tempo estimation method, a step of inputting music data to be estimated, a step of setting a plurality of different estimation ranges for the input music data, and the estimation Analyzing the music data for each range to estimate the tempo, obtaining a tempo value and a score value indicating the reliability of the estimation for each estimated range; Integrating based on the score value to obtain a temporally varying tempo value of the music data.
【0009】請求項5に係る発明は、請求項1から4の
何れか1つに記載の音楽データのテンポ推定方法におい
て、前記複数の推定範囲の各テンポ値の統合は、前記音
楽データから抽出された拍位置を基準に統合を行なうも
のであることを特徴とする。According to a fifth aspect of the present invention, in the music data tempo estimating method according to any one of the first to fourth aspects, the integration of the tempo values of the plurality of estimation ranges is extracted from the music data. It is characterized in that the integration is performed on the basis of the determined beat position.
【0010】請求項6に係る発明は、音楽データのテン
ポ推定方法において、推定対象の音楽データを入力する
ステップと、一部重複した前記音楽データ上の2つの推
定範囲について、それぞれ、その推定範囲の音楽データ
を分析してテンポを推定しテンポ値を得るステップと、
前記重複部分に関して、前記2つの推定範囲が重ならな
いように、前記2つの推定範囲の少なくとも一方の推定
範囲を修正するステップと、少なくとも一方が修正され
た前記2つの推定範囲の各テンポ値を統合して、前記音
楽データの時間的に変動するテンポ値を得るステップと
を備えることを特徴とする。According to a sixth aspect of the present invention, in the method for estimating the tempo of music data, the step of inputting the music data to be estimated and the two estimated ranges on the partially overlapped music data are estimated ranges. Analyzing the music data of to estimate the tempo and obtain the tempo value,
With respect to the overlapping portion, modifying at least one estimation range of the two estimation ranges so that the two estimation ranges do not overlap, and integrating tempo values of the two estimation ranges at least one of which is modified. And obtaining a temporally varying tempo value of the music data.
【0011】請求項7に係る発明は、音楽データのテン
ポ推定方法において、推定対象の音楽データを入力する
ステップと、連続的に接合しようとする2つの推定範囲
について、それぞれ、その推定範囲の音楽データを分析
してテンポを推定しテンポ値を得るステップと、前記2
つの推定範囲の拍位置が接合部で互いにずれないよう
に、前記2つの推定範囲の少なくとも一方のテンポ値ま
たは拍位置を修正するステップと、少なくとも一方が修
正された前記2つの推定範囲のテンポ値を統合して、前
記音楽データの時間的に変動するテンポ値を得るステッ
プとを備えることを特徴とする。According to a seventh aspect of the present invention, in the method for estimating the tempo of music data, the step of inputting the music data to be estimated and the two estimation ranges to be continuously joined are respectively set to the music within the estimation range. Analyzing the data to estimate the tempo and obtain the tempo value;
Modifying the tempo value or the beat position of at least one of the two estimated ranges so that the beat positions of the two estimated ranges do not deviate from each other at the junction; and the tempo value of the two estimated ranges with at least one modified Are integrated to obtain a tempo value that changes with time of the music data.
【0012】請求項8に係る発明は、音楽データのテン
ポ推定方法において、推定対象の音楽データを入力する
ステップと、前記音楽データの時間軸上の複数の範囲に
ついて、それぞれ、その推定範囲の音楽データを分析し
てテンポを推定しテンポ値を得るステップと、前記複数
の範囲のうち、隣合う範囲間の距離が所定幅以下で、か
つ、それらの各範囲で推定されたテンポ値の差が所定値
以下であるような複数の範囲をグループ化し、各グルー
プの期待テンポを決定するステップと、前記各グループ
の存在する範囲について、その範囲の音楽データを分析
してテンポを推定しテンポ値を得るステップと、前記各
グループで得られたテンポ値と前記各グループの期待テ
ンポとを比較し、その差が所定値以下の場合は、当該グ
ループに属する複数範囲を統合し、統合された範囲のテ
ンポ値を当該グループで得られたテンポ値とするステッ
プとを備えることを特徴とする。According to an eighth aspect of the present invention, in a method for estimating tempo of music data, a step of inputting music data to be estimated and a plurality of ranges on the time axis of the music data are respectively included in the music of the estimated range. The step of analyzing the data to estimate the tempo to obtain the tempo value; and, of the plurality of ranges, the distance between adjacent ranges is less than or equal to a predetermined width, and the difference between the tempo values estimated in each range is A step of grouping a plurality of ranges having a predetermined value or less and determining an expected tempo of each group, and for a range in which each group exists, music data in the range is analyzed to estimate the tempo and the tempo value is determined. The step of obtaining and the tempo value obtained in each group and the expected tempo of each group are compared. If the difference is less than a predetermined value, the Integrating range, characterized in that it comprises a step of the integrated tempo values obtained in the group tempo value in the range.
【0013】請求項9に係る発明は、音楽データのテン
ポ推定方法において、推定対象の音楽データを入力する
ステップと、前記音楽データ上の異なる位置に第1の幅
を有する第1フレームを複数設定し、各位置の第1フレ
ームごとにテンポを推定するステップと、前記音楽デー
タ上の異なる位置に前記第1の幅より小さい第2の幅を
有する第2フレームを複数設定し、各位置の第2フレー
ムごとにテンポを推定するステップと、前記複数の第1
フレームで推定されたテンポ値と、前記複数の第2フレ
ームで推定されたテンポ値を統合して、前記音楽データ
の変動するテンポ値を得るステップとを備えることを特
徴とする。According to a ninth aspect of the present invention, in the method for estimating tempo of music data, a step of inputting music data to be estimated and a plurality of first frames having a first width are set at different positions on the music data. Then, estimating the tempo for each first frame at each position, and setting a plurality of second frames having a second width smaller than the first width at different positions on the music data, Estimating a tempo for every two frames;
A step of integrating a tempo value estimated in a frame and a tempo value estimated in the plurality of second frames to obtain a fluctuating tempo value of the music data.
【0014】請求項10に係る発明は、音楽データのテ
ンポ推定方法において、推定対象の音楽データを入力す
るステップと、前記音楽データを所定の区間に分け、各
区間ごとにテンポ値の期待範囲を設定するステップと、
前記音楽データを分析して、前記各区間のテンポ値を推
定するステップと、前記各区間について、前記推定され
たテンポ値が前記期待範囲に入るものを残し、期待範囲
に入らないものを削除するステップとを備えることを特
徴とする。According to a tenth aspect of the present invention, in the method for estimating the tempo of music data, the step of inputting the music data to be estimated, the music data is divided into predetermined sections, and the expected range of tempo values is set for each section. The steps to set
Analyzing the music data to estimate the tempo value of each section, and for each section, leave the estimated tempo value within the expected range and delete the estimated tempo value that does not fall within the expected range. And a step.
【0015】[0015]
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。BEST MODE FOR CARRYING OUT THE INVENTION Embodiments of the present invention will be described below with reference to the drawings.
【0016】図1は、この発明の実施の形態に係る波形
テンポ推定システムの全体構成を示す。このシステム
は、中央処理装置(CPU)101、リードオンリメモ
リ(ROM)102、ランダムアクセスメモリ(RA
M)103、ドライブ装置104、MIDIインターフ
ェース106、パネルスイッチ107、パネル表示器1
08、書込回路111、アクセス管理部112、波形メ
モリ113、音源114、サウンドシステム115、お
よびバスライン120を備える。FIG. 1 shows the overall configuration of a waveform tempo estimation system according to an embodiment of the present invention. This system includes a central processing unit (CPU) 101, a read only memory (ROM) 102, and a random access memory (RA).
M) 103, drive device 104, MIDI interface 106, panel switch 107, panel display 1
08, a writing circuit 111, an access management unit 112, a waveform memory 113, a sound source 114, a sound system 115, and a bus line 120.
【0017】CPU101は、このシステムの全体の動
作を制御する処理装置である。ROM102は、CPU
101が実行する各種の制御プログラムおよび定数デー
タなどを格納した不揮発性メモリである。RAM103
は、CPU101が実行するプログラムのロード領域や
ワーク領域に使用する揮発性メモリである。ドライブ装
置104は、CD−ROMあるいはハードディスク(H
D)などの外部記憶装置105を接続する装置である。
MIDIインターフェース106は、外部のMIDI機
器と接続するためのインターフェースである。パネルス
イッチ107は、このシステムの外部パネル上に設けら
れた各種の操作子である。パネル表示器108は、この
システムの外部パネル上に設けられた各種の情報を表示
するためのディスプレイである。The CPU 101 is a processing device that controls the overall operation of this system. ROM 102 is a CPU
The nonvolatile memory 101 stores various control programs executed by 101 and constant data. RAM103
Is a volatile memory used for a load area and a work area of a program executed by the CPU 101. The drive device 104 is a CD-ROM or a hard disk (H
D) or the like for connecting the external storage device 105.
The MIDI interface 106 is an interface for connecting to an external MIDI device. The panel switch 107 is various operators provided on the external panel of this system. The panel display 108 is a display for displaying various information provided on an external panel of this system.
【0018】書込回路111は、外部から入力した波形
データを波形メモリ113に書き込む処理を行なう回路
である。アクセス管理部112は、書込回路111、C
PU101、および音源114からの波形メモリ113
に対するアクセス要求を調停する制御を行なう。波形メ
モリ113は、外部から入力した波形データを記憶する
記憶装置である。音源114は、CPU101の指示に
応じて波形メモリ113にアクセスし所定の波形データ
を読み出して楽音信号を生成する。サウンドシステム1
15は、音源114から出力される楽音信号に基づいて
放音する。The writing circuit 111 is a circuit for writing the waveform data input from the outside into the waveform memory 113. The access management unit 112 uses the write circuit 111, C
Waveform memory 113 from PU 101 and sound source 114
Control for arbitrating access requests to the. The waveform memory 113 is a storage device that stores waveform data input from the outside. The sound source 114 accesses the waveform memory 113 according to an instruction from the CPU 101, reads predetermined waveform data, and generates a musical tone signal. Sound system 1
15 emits sound based on the tone signal output from the sound source 114.
【0019】図1のシステムは、鍵盤などを備えた電子
楽器として構成してもよいし、汎用のパーソナルコンピ
ュータに音源ボードなどを接続して構成することもでき
る。The system of FIG. 1 may be configured as an electronic musical instrument having a keyboard or the like, or may be configured by connecting a tone generator board or the like to a general-purpose personal computer.
【0020】図2は、図1のシステムにおける楽音波形
データのテンポを推定する操作の手順の概要を示す。ス
テップ201で、テンポを推定する対象であるオーディ
オデータ(波形データ)を用意する。オーディオデータ
は、ユーザが録音スイッチなどを操作して指示を与える
ことにより外部から入力(録音)した波形データや、外
部記憶装置105に記憶されている波形データから選択
してもよい。処理対象のオーディオデータは、RAM1
03上のワーク領域に格納して処理するが、波形メモリ
113上のデータを直接処理するようにしてもよい。ス
テップ202で、操作子の操作により、推定されるテン
ポの上限値と下限値を入力する。ユーザは、処理対象の
オーディオデータについて大体この程度であろうという
テンポの範囲を認識していることが少なくないのでその
範囲を入力させる。処理対象のオーディオデータ全体に
対して1つのテンポ値の範囲を指定してもよいし、区間
分けして、区間ごとにテンポ値範囲を指定してもよい。
ステップ203では、テンポ推定ボタンを操作してテン
ポ推定処理の開始を指示する。テンポ推定処理について
は、後で詳細に説明する。ステップ204で、テンポ推
定の結果がパネル表示器108に表示されるので、それ
を確認して、テンポ推定の結果を保存する操作などを行
なって、テンポ推定結果を受け取る。FIG. 2 shows an outline of an operation procedure for estimating the tempo of the musical tone waveform data in the system of FIG. In step 201, audio data (waveform data) for which the tempo is estimated is prepared. The audio data may be selected from waveform data input (recorded) from the outside by a user operating a recording switch or the like to give an instruction, or waveform data stored in the external storage device 105. The audio data to be processed is RAM1
The data is stored in the work area on 03 and processed, but the data on the waveform memory 113 may be directly processed. In step 202, the upper limit value and the lower limit value of the estimated tempo are input by operating the operator. Since the user often recognizes a tempo range that is about this level for the audio data to be processed, the user is prompted to enter the range. One tempo value range may be specified for the entire audio data to be processed, or the tempo value range may be specified for each section by dividing into sections.
In step 203, the tempo estimation button is operated to instruct the start of tempo estimation processing. The tempo estimation process will be described in detail later. In step 204, the result of tempo estimation is displayed on the panel display 108. After confirming the result, an operation of saving the result of tempo estimation is performed, and the result of tempo estimation is received.
【0021】次に、ステップ203で実行されるテンポ
推定処理について詳細に説明する。Next, the tempo estimation processing executed in step 203 will be described in detail.
【0022】図3は、テンポ推定処理の手順およびデー
タの流れを示す図である。テンポ推定処理は、[分析
1]→[統合1]→[分析2]→[統合2]→[分析
3]→[統合3]の順に処理を行なうことにより実行さ
れる。FIG. 3 is a diagram showing a procedure of tempo estimation processing and a data flow. The tempo estimation processing is executed by performing the processing in the order of [analysis 1] → [integration 1] → [analysis 2] → [integration 2] → [analysis 3] → [integration 3].
【0023】各処理の概要を説明する。[分析1]で
は、入力オーディオデータ全体にわたりフレーム(入力
オーディオデータ中でその時間軸に沿って処理対象のデ
ータを切り出すための枠)をデータの最初から最後まで
移動させながら、各フレーム内のデータにビート位置検
出処理を適用する。ビート位置検出処理により、そのフ
レーム内のビート位置が検出できる。これらのビート位
置検出の結果を単純に寄せ集めたものが分析結果1であ
る。[統合1]では、分析結果1の各区間の分析結果を
統合して、入力オーディオデータ全体のテンポ情報とし
てまとめる。分析がうまくいかない区間もあるので、再
度細かく分析を行なった方がよいと判断される区間を集
めて、区間リスト1として[分析2]に渡す。後の統合
過程で利用するデータは中間結果1として[統合2]に
渡す。The outline of each process will be described. In [Analysis 1], while moving a frame (frame for cutting out data to be processed along the time axis in the input audio data) over the entire input audio data, the data in each frame is moved from the beginning to the end of the data. The beat position detection processing is applied to. By the beat position detection processing, the beat position within the frame can be detected. Analysis result 1 is a simple collection of these beat position detection results. In [Integration 1], the analysis results of the respective sections of the analysis result 1 are integrated and summarized as tempo information of the entire input audio data. Since there are sections where the analysis does not work well, sections that are judged to be finely analyzed again are collected and passed to [Analysis 2] as section list 1. The data used in the subsequent integration process is passed to [Integration 2] as the intermediate result 1.
【0024】[分析2]では、区間リスト1に含まれて
いる区間一つ一つに対し、フレームを移動させながら各
フレーム内のデータにビート位置検出処理を適用する。
[分析1]と比べて、フレームの幅と移動ステップを小
さくする。これらのビート位置検出の結果を単純に寄せ
集めたものが分析結果2である。[統合2]では、中間
結果1と分析結果2の各区間の分析結果を統合して入力
オーディオデータ全体のテンポ情報としてまとめる。同
じ結果なのに分析区間が細切れになったり、真ん中の非
常に短い区間だけ左右とは異なる結果になったりする分
析区間もあるので、分析区間を広くした方がよいと判断
される区間を集めて区間リスト2として[分析3]に渡
す。後の統合過程で利用するデータは中間結果2として
[統合3]に渡す。In [Analysis 2], the beat position detection process is applied to the data in each frame while moving the frame for each of the intervals included in the interval list 1.
Compared with [Analysis 1], the width of the frame and the moving step are reduced. Analysis result 2 is a simple collection of these beat position detection results. In [Integration 2], the analysis results of each section of the intermediate result 1 and the analysis result 2 are integrated and summarized as tempo information of the entire input audio data. There are some analysis sections that have the same result but the analysis section is fragmented, or only the very short middle section has different results from the left and right, so the sections that are judged to be wider should be collected. Pass it to [Analysis 3] as List 2. The data used in the subsequent integration process is passed to [Integration 3] as the intermediate result 2.
【0025】[分析3]では、区間リスト2に含まれて
いる区間一つ一つに対し、フレームでデータを切り出し
たりせずに直接ビート位置検出処理を施す。これらのビ
ート位置検出の結果を単純に寄せ集めたものが分析結果
3である。[統合3]では、中間結果2と分析結果3の
各区間の分析結果を比較・統合して入力オーディオデー
タ全体のテンポ情報としてまとめる。その結果が最終結
果である。これが本実施の形態のシステムの最終的な出
力になる。この出力は、具体的には図17(d)にその
構成単位を示すテンポリストという形式で得られるもの
である。このデータについては、後に詳述する。In [Analysis 3], the beat position detection processing is directly performed on each of the sections included in the section list 2 without cutting out the data with a frame. Analysis result 3 is a simple collection of these beat position detection results. In [Integration 3], the analysis results of the respective sections of the intermediate result 2 and the analysis result 3 are compared / integrated and summarized as tempo information of the entire input audio data. The result is the final result. This is the final output of the system of this embodiment. Specifically, this output is obtained in the form of a tempo list showing its constituent units in FIG. This data will be described in detail later.
【0026】次に、各処理について詳しく説明する。Next, each process will be described in detail.
【0027】まず、ビート位置検出処理について説明す
る。ビート位置検出処理は、[分析1]、[分析2]、
および[分析3]の中で、設定された分析範囲(フレー
ム)に対して行なう処理である。ビート位置検出処理に
より、その分析範囲中のビート位置が検出できる。First, the beat position detection process will be described. The beat position detection processing is performed by [analysis 1], [analysis 2],
In [Analysis 3] and [Analysis 3], the processing is performed on the set analysis range (frame). By the beat position detection processing, the beat position within the analysis range can be detected.
【0028】図4は、ビート位置検出処理の手順の一例
を示す。ステップ401で、フレーム中のオーディオデ
ータをフィルタ処理し、必要な帯域(ビートを検出する
のに有効な周波数帯域成分)を抽出する。ステップ40
2で、抽出した帯域のオーディオデータから音量エンベ
ロープを抽出する。ステップ403で、その音量エンベ
ロープを微分処理する。ステップ404で、微分された
音量エンベロープが所定の閾値BT1より大きくなる位
置とそのピーク値を検出する。ステップ405では、ス
テップ404で検出された位置とピーク値を列挙したリ
ストBPLを作成する。FIG. 4 shows an example of the procedure of beat position detection processing. In step 401, the audio data in the frame is filtered to extract a required band (frequency band component effective for detecting a beat). Step 40
In 2, the volume envelope is extracted from the audio data of the extracted band. In step 403, the volume envelope is differentiated. In step 404, the position where the differentiated volume envelope becomes larger than a predetermined threshold value BT1 and its peak value are detected. In step 405, a list BPL listing the positions and peak values detected in step 404 is created.
【0029】図17(a)は、上記ビート位置検出処理
で得たリストBPLを示す図である。なお、ここではプ
ログラミング言語Cの構造体の宣言文の書き方に準じた
表記法で各種のデータを表すものとする。例えば、図1
7(a)において、{ビート位置BP1、ピーク値PV
1}は、ビート位置BP1のデータとピーク値PV1の
データとの組データを示す。これは「ビート位置BP
1」で示す位置に「ピーク値PV1」で示すピーク値の
ピークがあることを示している。リストBPLは、この
ようなビート位置BPとその位置におけるピーク値PV
との組データの並びである。並びの順序は、入力オーデ
ィオデータの時間軸に沿う方向(すなわちビート位置の
昇順)とする。FIG. 17A shows the list BPL obtained by the beat position detection processing. Note that, here, various data are represented by a notation according to how to write a declaration statement of a structure of the programming language C. For example, in FIG.
7 (a), {beat position BP1, peak value PV
1} indicates set data of the data of the beat position BP1 and the data of the peak value PV1. This is "beat position BP
It indicates that there is a peak of the peak value indicated by "peak value PV1" at the position indicated by "1". The list BPL is such a beat position BP and the peak value PV at that position.
It is a list of pair data with. The arrangement order is the direction along the time axis of the input audio data (that is, the ascending order of beat positions).
【0030】次に、[分析1]、[統合1]、[分析
2]、[統合2]、[分析3]、および[統合3]の各
処理について、それぞれ詳しく説明する。Next, the processes of [Analysis 1], [Integration 1], [Analysis 2], [Integration 2], [Analysis 3], and [Integration 3] will be described in detail.
【0031】[分析1]について説明する。図5は、
[分析1]で行なうビート検出処理の手順を示す。[Analysis 1] will be described. Figure 5
A procedure of beat detection processing performed in [Analysis 1] will be described.
【0032】ステップ501で、処理対象の入力オーデ
ィオデータの最初の分析範囲であるフレームを準備す
る。次に、ステップ502で、そのフレーム内のオーデ
ィオデータに対して図4で説明したビート位置検出処理
を行ない、ビート位置リストUBPLを作成する。ビー
ト位置リストUBPLのデータフォーマットは、図17
(a)のリストBPLと同じである。ステップ503
で、各ビート間の時間間隔を算出し、その時間間隔をグ
ループ分けして各グループの投票を行なう。これは、ビ
ート間の時間間隔をその値に応じてグループ分けし、ど
の程度の時間間隔が何回出現しているかを数える処理で
ある。ステップ504で、投票結果のピーク位置および
ピーク間隔に基づいて、当該フレームのテンポ値UTV
を決定する。In step 501, a frame which is the first analysis range of the input audio data to be processed is prepared. Next, in step 502, the beat position detection processing described in FIG. 4 is performed on the audio data in the frame to create the beat position list UBPL. The data format of the beat position list UBPL is shown in FIG.
It is the same as the list BPL in (a). Step 503
Then, the time interval between each beat is calculated, the time interval is divided into groups, and each group votes. This is a process of grouping the time intervals between beats according to the value and counting how many time intervals appear. In step 504, the tempo value UTV of the frame is calculated based on the peak position and the peak interval of the voting result.
To decide.
【0033】次に、ステップ505で、投票結果のピー
クのレベルおよびピーク間隔の分散を求め、そのレベル
および分散からスコア値USVを算出する。スコア値
は、推定の信頼度の信頼度の指標、すなわちビート検出
の成功/失敗の度合いを示す指標となる値であり、投票
結果のピークのレベルが大きければ(このとき、そのピ
ーク位置でビートが刻まれたことはより確実と認められ
るので)スコア値は大きくなり、ピーク間隔の分散が大
きければ(このとき、ピーク間の時間間隔がばらばらで
あると認められるので)スコア値は小さくなる。Next, at step 505, the peak level and the variance of the peak intervals of the voting result are obtained, and the score value USV is calculated from the level and the variance. The score value is an index of the reliability of the estimated reliability, that is, an index indicating the degree of success / failure of beat detection, and if the peak level of the voting result is large (at this time, the beat position is the beat position). The score value is large (because it is more sure that the indentation has been made), and the score value is smaller if the variance of the peak intervals is large (at this time, it is recognized that the time intervals between the peaks are different).
【0034】ステップ506では、次の分析範囲である
フレームを準備する。これは、現フレームから所定量だ
けフレームを進める処理である。ステップ507で、次
のフレームが準備できたかを判別し、準備できないとき
(すなわち、処理対象の入力オーディオデータの最後ま
で分析が終了したとき)、処理を終了する。次のフレー
ムがある場合は、ステップ502に戻って、次のフレー
ムを現フレームとしてビート検出処理を続ける。In step 506, a frame which is the next analysis range is prepared. This is a process of advancing the frame by a predetermined amount from the current frame. In step 507, it is determined whether or not the next frame is ready, and when it is not ready (that is, when the analysis is completed up to the end of the input audio data to be processed), the process is ended. If there is a next frame, the process returns to step 502, and the beat detection process is continued with the next frame as the current frame.
【0035】図17(b)は、1つのフレームに対して
ステップ502〜505の処理を行なった結果、得られ
るデータのフォーマットを示す。開始点USPと終了点
UEPは、このフレームの位置を示す。すなわち、入力
オーディオデータ中の開始点USPから終了点UEPま
でを分析した結果、以下のデータが得られたことを示し
ている。ビート位置のリストUBPLは、ステップ50
2で作成したリストであり、当該フレーム内のビート位
置とその位置のピーク値とを並べたデータ(図17
(a)のフォーマット)である。スコア値USVは、ス
テップ505で算出したスコア値である。テンポ値UT
Vは、ステップ505で算出したテンポ値である。な
お、ビート位置については、図4の分析時には分析開始
点であるフレーム先頭からの相対位置(オフセット)で
表現されているが、図17(b)のリストUBPLでは
入力オーディオデータ全体における絶対位置に変換して
おくものとする。FIG. 17B shows the format of the data obtained as a result of performing the processing of steps 502-505 on one frame. The start point USP and the end point UEP indicate the position of this frame. That is, it is shown that the following data was obtained as a result of analysis from the start point USP to the end point UEP in the input audio data. The beat position list UBPL is calculated in step 50.
2 is a list created in FIG. 2 and is data in which beat positions in the frame and peak values at the positions are arranged (see FIG. 17).
(A) format). The score value USV is the score value calculated in step 505. Tempo value UT
V is the tempo value calculated in step 505. Note that the beat position is expressed as a relative position (offset) from the beginning of the frame, which is the analysis start point, in the analysis of FIG. 4, but in the list UBPL of FIG. It shall be converted.
【0036】図6は、フレームを進めながら図5の[分
析1]のビート検出処理を行なう様子を示す。widt
h1はフレームの幅で、hop1はあるフレームから次
のフレームに進めるときの移動の距離である。図では、
4〜5個程度のビートが1フレームに含まれるように描
いているが、実際には、フレームの幅width1はビ
ートが10〜20個以上検出されるような値とするのが
好ましい。例えば、テンポ120[bpm]のフレーズ
4小節分の長さ(8[sec]相当)程度をwidth
1、その半分の長さをhop1などとしておけばよい。
なお、[bpm]は、1分間に4分音符が何個刻まれる
かで表現したテンポの単位である。FIG. 6 shows how the beat detection processing of [Analysis 1] in FIG. 5 is performed while advancing the frame. widt
h1 is the width of the frame, and hop1 is the movement distance when advancing from one frame to the next frame. In the figure,
Although about 4 to 5 beats are drawn to be included in one frame, in practice, it is preferable that the width 1 of the frame has a value such that 10 to 20 or more beats are detected. For example, the length (corresponding to 8 [sec]) of four phrases of the tempo of 120 [bpm] is set to the width.
1, and half the length may be set as hop1 and the like.
[Bpm] is a unit of tempo expressed by how many quarter notes are cut in one minute.
【0037】入力オーディオデータ601に対し、まず
点線で示すフレーム602を設定し、この範囲でステッ
プ502〜505の処理を行ない、図17(b)に示す
フォーマットの単位データUDを得る。次に、このフレ
ームをhop1に示す量だけ進めて実線で示す次のフレ
ーム603を設定する。このフレーム603についても
同様にステップ502〜505の処理を行ない、図17
(b)に示すフォーマットの単位データUDを得る。こ
れを繰り返して、入力オーディオデータの全体に対し
て、フレーム単位で図17(b)に示す単位データUD
を得る。得られたデータ(分析結果AR1(AR: Analy
sis Result)と呼ぶ)が、図3の分析結果1に相当す
るデータである。First, a frame 602 indicated by a dotted line is set for the input audio data 601, and steps 502 to 505 are performed in this range to obtain unit data UD having the format shown in FIG. 17B. Next, this frame is advanced by the amount indicated by hop1 to set the next frame 603 indicated by the solid line. This frame 603 is also subjected to the processing of steps 502 to 505 in the same manner as in FIG.
The unit data UD of the format shown in (b) is obtained. By repeating this, the unit data UD shown in FIG.
To get Data obtained (analysis result AR1 (AR: Analy
sis Result)) is data corresponding to the analysis result 1 in FIG.
【0038】次に、[統合1]について説明する。[統
合1]では、[分析1]で得た分析結果AR1の各分析
結果(すなわちビート検出結果の単位UD)の統合と、
次の[分析2]のための準備を行なう。この統合方法の
特徴は、簡単にいえば、スコア値が高いほどその分析
結果を採用する区間を長くする点(2つのデータUDの
範囲が重なっている範囲について、スコア値の高いデー
タUDを優先させる)、分析結果の統合位置をビート
位置のいずれかに一致させる点(各データUDの開始点
と終了点は、必ずビート位置と一致するように調整され
る)にある。[Integration 1] will be described below. In [Integration 1], integration of each analysis result (that is, unit UD of beat detection results) of the analysis result AR1 obtained in [Analysis 1],
Prepare for the next [Analysis 2]. The feature of this integration method is, in short, that the higher the score value, the longer the section that adopts the analysis result (for the range where the two data UD ranges overlap, the data UD with the higher score value is given priority. The integrated position of the analysis result coincides with any of the beat positions (the start point and the end point of each data UD are adjusted to always coincide with the beat position).
【0039】図7は、[統合1]で行なわれる統合処理
の手順を示すフローチャートである。FIG. 7 is a flow chart showing the procedure of the integration process performed in [Integration 1].
【0040】ステップ701で、分析結果AR1から条
件に合わないデータUDを除去する。これにより、分析
結果AR1から、スコア値USVがある閾値UT1以下
であるか、あるいはテンポが設定範囲外であるような分
析結果単位UDを排除し、次のステップ以降の処理対象
から外す。テンポの設定範囲とは、図2のステップ20
2でユーザが入力したテンポの範囲である。ステップ7
02では、各分析結果単位UDの開始点USPと終了点
UEPをビート位置に補正する。この補正処理は、各デ
ータUDの開始点USPと終了点UEPがビート位置に
一致するように調整する処理である。具体的には、ステ
ップ701で除去した後に残ったすべての分析結果単位
UDについて、それぞれ、図17(c)に示す端点補正
済み検出結果の単位HUDに変換する。In step 701, the data UD that does not meet the conditions is removed from the analysis result AR1. As a result, the analysis result unit UD whose score value USV is less than or equal to a certain threshold value UT1 or whose tempo is out of the set range is excluded from the analysis result AR1, and is excluded from the processing target of the next step and thereafter. The tempo setting range means step 20 in FIG.
It is the range of the tempo input by the user in 2. Step 7
In 02, the start point USP and the end point UEP of each analysis result unit UD are corrected to the beat position. This correction process is a process of adjusting the start point USP and the end point UEP of each data UD so that they coincide with the beat position. Specifically, all the analysis result units UD remaining after the removal in step 701 are converted into the unit HUD of the end point corrected detection result shown in FIG. 17C, respectively.
【0041】図17(c)の端点補正済み検出結果の単
位HUDは、図17(b)のビート検出結果の単位UD
をコピーして作成するが、開始点と終了点は、第一ビー
ト位置と最終ビート位置に変換する。第一ビート位置U
SPは、図17(b)のビート検出結果の単位UDのビ
ート位置リストUBPLから最初の要素(最初のビート
位置)を取り出して設定する。最終ビート位置は、図1
7(b)のビート検出結果の単位UDのビート位置リス
トUBPLから最後の要素(最後のビート位置)を取り
出して設定する。ビート位置リストUBPL自体は変更
せずにそのままコピーすればよい。これにより、図17
(c)の単位データHUDでは、分析区間の区切りをビ
ートの位置に合わせたデータが得られる。スコア値US
Vおよびテンポ値UTVもそのままコピーすればよい。The unit HUD of the end point corrected detection result of FIG. 17C is the unit UD of the beat detection result of FIG. 17B.
Is created by copying, but the start point and the end point are converted into the first beat position and the last beat position. First beat position U
The SP fetches and sets the first element (first beat position) from the beat position list UBPL of the unit UD of the beat detection result of FIG. The final beat position is shown in Figure 1.
The last element (last beat position) is taken out from the beat position list UBPL of the unit UD of the beat detection result of 7 (b) and set. The beat position list UBPL may be copied as it is without changing. As a result, FIG.
In the unit data HUD of (c), data in which the delimiter of the analysis section is matched with the position of the beat is obtained. Score value US
The V and the tempo value UTV may be copied as they are.
【0042】次にステップ703で、得られたすべての
端点補正済み検出結果の単位HUDを、スコア値USV
の昇順(スコア値の小さいものから大きいものの順)に
ソートする。ステップ704では、テンポリストTL1
を作成する。テンポリストの作成は、スコア値の小さい
ものから順に、端点補正済み検出結果の単位HUD(図
17(c))の内容をテンポリストTLに上書コピーし
てゆく処理である。これにより、スコア値の高いデータ
ほど後に上書きされ、より優先的にテンポ推定結果に反
映されることになる。Next, in step 703, the unit HUDs of all the obtained end-point corrected detection results are calculated as the score value USV.
In ascending order (from the smallest score value to the largest score value). In step 704, the tempo list TL1
To create. The creation of the tempo list is a process of overwriting and copying the contents of the unit HUD (FIG. 17C) of the detection result after the end point correction to the tempo list TL in order from the smallest score value. As a result, data having a higher score value is overwritten later and is more preferentially reflected in the tempo estimation result.
【0043】図8に、[統合1]内のステップ704で
行なわれるテンポリスト作成処理の手順を示す。まずス
テップ801で、新規のテンポリストTLを作成する。
テンポリストTLは、テンポリスト構成単位TUDの並
びからなる。FIG. 8 shows the procedure of the tempo list creation processing performed in step 704 in [Integration 1]. First, in step 801, a new tempo list TL is created.
The tempo list TL is composed of a sequence of tempo list constituent units TUD.
【0044】図17(d)に、テンポリスト構成単位T
UDのフォーマットを示す。左端TUSPと右端TUE
Pは、入力オーディオデータ中の位置を示す。ビート位
置のリストTUBPLは、左端TUSPから右端TUE
Pまでの範囲中のビート検出結果のリスト(図17
(a)のフォーマット)である。テンポ値TUTVは、
左端TUSPから右端TUEPまでの範囲で推定された
テンポ値である。ステップ801で作成するテンポリス
トTLは、その要素であるテンポリスト構成単位TUD
が無い空のリストである。FIG. 17D shows the tempo list constituent unit T.
The UD format is shown. Left TUSP and right TUE
P indicates a position in the input audio data. The list of beat positions TUBPL is from the left end TUSP to the right end TUE.
List of beat detection results in the range up to P (Fig. 17
(A) format). The tempo value TUTV is
It is the tempo value estimated in the range from the left end TUSP to the right end TUEP. The tempo list TL created in step 801 is the tempo list constituent unit TUD which is its element.
There is no empty list.
【0045】次に、ステップ802で、ソート済の端点
補正済み検出結果の単位データHUD(図17(c))
の一番最初のデータHUDから、テンポリスト構成単位
のデータTUD(図17(d))を作成する。具体的に
は、第一ビート位置USPを左端TUSPに、最終ビー
ト位置UEPを右端TUEPに、ビート位置リストUB
PLをビート位置リストTUBPLに、テンポ値UTV
をテンポ値TUTVに、それぞれコピーしてやればよ
い。スコア値USVの昇順にソートしてあるので、ソー
ト済データUDの最初のデータは最もスコア値USVが
小さいものである。ステップ802で作成したテンポリ
スト構成単位TUDが、最初のテンポリストTLへの追
加(コピー)対象のデータである。Next, in step 802, the unit data HUD of the end point corrected detection results that have been sorted (FIG. 17C).
The data TUD (FIG. 17 (d)) of the tempo list constituent unit is created from the first data HUD of. Specifically, the first beat position USP is at the left end TUSP, the final beat position UEP is at the right end TUEP, and the beat position list UB
PL to beat position list TUBPL, tempo value UTV
To the tempo value TUTV. Since the scores are sorted in ascending order of the USV, the first data of the sorted data UD has the smallest score USV. The tempo list constituent unit TUD created in step 802 is data to be added (copied) to the first tempo list TL.
【0046】ステップ803では、追加対象の当該テン
ポリスト構成単位TUDについて、以下の<case1>〜
<case4>の何れに該当するのかを判別する。以下、各
<case>がどのような場合であり、そのときにどう処理
するかについて、詳しく説明する。In step 803, the following <case1> to
It is determined which of <case4> is applicable. The following is a detailed description of what each <case> is and how to process at that time.
【0047】<case1>は、コピー先のテンポリストT
Lの既存の構成単位TUDで覆う範囲(左端TUSPか
ら右端TUEPまでの範囲)をすべて合わせた領域上
で、いま追加しようとするステップ802で作成したテ
ンポリスト構成単位TUDの左端TUSPから右端TU
EPまでの範囲が、空である場合である。この図8のテ
ンポリスト作成処理では、基本的に、ソート済データH
UDを順に取り出して、そのソート済データHUDに基
づくテンポリスト構成単位TUDをテンポリストTLに
追加していく。テンポリスト構成単位TUDは、入力オ
ーディオデータ中の左端TUSPから右端TUEPまで
の範囲のテンポ値を規定するデータであるので、処理が
進んでテンポリストTL内のテンポリスト構成単位TU
Dが増えるにつれて、オーディオデータ中でテンポが規
定される範囲が増えていくことになる。<case1>は、
新たに追加しようとするテンポリスト構成単位TUD
が、その左端TUSPから右端TUEPまでの範囲につ
いて初めてテンポ値を規定するデータである場合、言い
替えると、それまでにテンポリストTLに追加されたテ
ンポリスト構成単位TUDの中には、これから追加しよ
うとするテンポリスト構成単位TUDの左端TUSPか
ら右端TUEPまでの範囲に重なるものが皆無である場
合である。<Case1> is the copy destination tempo list T
On the area where all the ranges (the range from the left end TUSP to the right end TUEP) covered by the existing constituent units T of L are combined, the tempo list constituent unit TUD created in step 802 to be added now from the left end TUSP to the right end TU.
This is the case where the range up to EP is empty. In the tempo list creation process of FIG. 8, basically, the sorted data H
The UDs are sequentially taken out, and the tempo list constituent unit TUD based on the sorted data HUD is added to the tempo list TL. Since the tempo list constituent unit TUD is data that defines the tempo value in the range from the left end TUSP to the right end TUEP in the input audio data, the process proceeds and the tempo list constituent unit TU in the tempo list TL is processed.
As D increases, the range in which the tempo is defined in the audio data increases. <Case1> is
Tempo list unit TUD to be newly added
Is the data that defines the tempo value for the first time in the range from the left end TUSP to the right end TUEP, in other words, in the tempo list constituent unit TUD that has been added to the tempo list TL, it is about to be added. This is a case where there is nothing that overlaps the range from the left end TUSP to the right end TUEP of the tempo list constituent unit TUD.
【0048】ステップ803で<case1>と判別された
場合は、ステップ807を経て、ステップ808に進
む。ステップ808では、追加対象のテンポリスト構成
単位TUDをテンポリストTLに貼り付ける。この際、
追加対象のテンポリスト構成単位TUDの左端TUSP
が、その左隣のテンポリスト構成単位TUDの右端TU
EPと一致するときは、左隣の構成単位TUDの右端T
UEPの位置にあるビート(すなわちその範囲の最終ビ
ート)を当該左隣の構成単位TUDのビート位置リスト
TUBPLから削除する。また、追加対象のテンポリス
ト構成単位TUDの右端TUEPが、その右隣のテンポ
リスト構成単位TUDの左端TUSPと一致するとき
は、追加対象の構成単位TUDの右端TUEPの位置に
あるビートを当該追加対象の構成単位TUDのビート位
置リストTUBPLから削除する。ステップ807は、
このような左隣あるいは右隣の構成単位TUDと重なる
場合の補正の処理(以下、端点処理という)を行なうも
のである。If it is determined as <case1> in step 803, the process proceeds to step 808 through step 807. In step 808, the tempo list constituent unit TUD to be added is pasted to the tempo list TL. On this occasion,
Left-end TUSP of tempo list unit TUD to be added
Is the rightmost TU of the tempo list unit TUD next to it
When it matches with EP, the right end T of the constituent unit TUD on the left side
The beat at the position of UEP (that is, the last beat in the range) is deleted from the beat position list TUBPL of the constituent unit TUD on the left side. Also, when the right end TUEP of the tempo list constituent unit TUD to be added matches the left end TUSP of the tempo list constituent unit TUD to the right of it, the beat at the position of the right end TUEP of the constituent unit TUD to be added is added. It is deleted from the beat position list TUBPL of the target structural unit TUD. Step 807 is
A correction process (hereinafter referred to as an end point process) is performed when it overlaps with the left or right adjacent structural unit TUD.
【0049】なお、ステップ808でテンポリスト構成
単位TUDをテンポリストTLに貼り付ける際には、適
切な位置に挿入する形で追加するものとする。テンポリ
ストTLは複数のテンポリスト構成単位TUDの並びで
あるが、それらのテンポリスト構成単位TUDは、左端
TUSPの値を第1キー、右端TUEPの値を第2キー
として、昇順にソートされている。そこで、新たに貼り
付けるテンポリスト構成単位TUDは、このソートの順
で適切な位置に挿入するものとする。When the tempo list constituent unit TUD is pasted on the tempo list TL in step 808, it is added by being inserted in an appropriate position. The tempo list TL is an array of a plurality of tempo list constituent units TUD, and these tempo list constituent units TUD are sorted in ascending order with the value of the leftmost TUSP as the first key and the value of the rightmost TUEP as the second key. There is. Therefore, it is assumed that the tempo list constituent unit TUD to be newly attached is inserted at an appropriate position in this sort order.
【0050】次にステップ809では、ソート済の端点
補正済み検出結果の次の単位データHUD(図17
(c))を取り出し、その単位データHUDから、次の
追加対象のテンポリスト構成単位TUD(図17
(d))を作成する。ステップ810で、次の追加対象
データTUDがあるかどうかを判別する。次の追加対象
がある場合はステップ803に戻り、ない場合はテンポ
リスト作成処理を終了する。Next, in step 809, the next unit data HUD of the sorted end point corrected detection results (FIG. 17).
(C)) is taken out, and from the unit data HUD, the next tempo list constituent unit TUD to be added (FIG. 17).
(D)) is created. In step 810, it is determined whether or not there is the next addition target data TUD. If there is a next addition target, the process returns to step 803, and if not, the tempo list creation process ends.
【0051】図9は、<case1>の場合のコピー前のテ
ンポリストおよびコピー後のテンポリストの様子を示
す。横軸方向はオーディオデータの時間方向を示す(図
10〜図13も同様である)。901と902は、それ
ぞれ、テンポリストTL(ステップ808の貼り付け前
の状態)内に既に貼り付けられているテンポリスト構成
単位TUDを示す。その矩形の長さは、テンポリスト構
成単位TUDの範囲、すなわちそのテンポリスト構成単
位TUDの左端TUSPから右端TUEPの範囲を示
す。いま、追加対象のテンポリスト構成単位TUDが、
903に示す左端から右端の範囲を有するデータである
場合、テンポリストTLのその範囲にはテンポリスト構
成単位TUDが無いので、<case1>の場合となる。こ
の場合は、コピー後として図示したように、そのまま追
加対象のテンポリスト構成単位TUDをテンポリストに
貼り付ければよい。ただし、追加対象のテンポリスト構
成単位TUDの左端と右端についての端点処理(ステッ
プ807の補正処理)を行なったデータを貼り付けるも
のとする。FIG. 9 shows the states of the tempo list before copying and the tempo list after copying in the case of <case 1>. The horizontal axis direction represents the time direction of audio data (the same applies to FIGS. 10 to 13). Reference numerals 901 and 902 respectively denote tempo list constituent units TUD already pasted in the tempo list TL (state before pasting in step 808). The length of the rectangle indicates the range of the tempo list constituent unit TUD, that is, the range from the left end TUSP to the right end TUEP of the tempo list constituent unit TUD. Now, the tempo list composition unit TUD to be added is
In the case of the data having the range from the left end to the right end shown in 903, there is no tempo list constituent unit TUD in that range of the tempo list TL, so the case is <case 1>. In this case, as shown after copying, the tempo list constituent unit TUD to be added may be pasted on the tempo list as it is. However, the data subjected to the end point processing (correction processing in step 807) for the left end and the right end of the tempo list constituent unit TUD to be added is pasted.
【0052】次に<case2>について説明する。<case2
>は、追加対象のテンポリスト構成単位TUDの範囲
が、テンポリストTL上の既存のテンポリスト構成単位
TUDを完全に内包する場合である。すなわち、現時点
のテンポリストTLの構成単位TUDの中に、いま追加
しようとする追加対象のテンポリスト構成単位TUDの
左端TUSPから右端TUEPまでの範囲に完全に内包
される構成単位TUDが既に存在する場合である。Next, <case 2> will be described. <Case2
> Is a case where the range of the tempo list constituent unit TUD to be added completely includes the existing tempo list constituent unit TUD on the tempo list TL. That is, in the constituent unit TUD of the current tempo list TL, there is already a constituent unit TUD completely included in the range from the left end TUSP to the right end TUEP of the tempo list constituent unit TUD to be added now. This is the case.
【0053】ステップ803で<case2>と判別された
場合は、ステップ804で、追加対象のテンポリスト構
成単位TUDの貼り付け範囲に内包される既存のデータ
TUDを削除して、ステップ807に進む。ステップ8
07以降の処理は、<case1>で説明したとおりであ
る。If it is determined as <case 2> in step 803, existing data TUD included in the pasting range of the tempo list constituent unit TUD to be added is deleted in step 804, and the process proceeds to step 807. Step 8
The processing after 07 is as described in <case1>.
【0054】図10は、<case2>の場合のコピー前の
テンポリストおよびコピー後のテンポリストの様子を示
す。1001,1002,1003は、それぞれ、テン
ポリストTL(ステップ808の貼り付け前の状態)内
に既に貼り付けられているテンポリスト構成単位TUD
を示す。いま、追加対象のテンポリスト構成単位TUD
が、1004に示す左端から右端の範囲を有するデータ
である場合、テンポリストTLのその範囲には1002
に示すテンポリスト構成単位が内包されているので、<
case2>の場合となる。この場合は、コピー後として図
示したように、1002のデータを削除し、追加対象の
テンポリスト構成単位TUDを1004に示すようにテ
ンポリストに貼り付ける。ただし、追加対象のテンポリ
スト構成単位TUDの左端と右端についての端点処理
(ステップ807の補正処理)を行なったデータを貼り
付けるものとする。FIG. 10 shows the states of the tempo list before copying and the tempo list after copying in the case of <case 2>. Reference numerals 1001, 1002, and 1003 denote tempo list constituent units TUD already pasted in the tempo list TL (state before pasting in step 808).
Indicates. Tempo list unit TUD to be added now
Is data having a range from the left end to the right end shown in 1004, 1002 is included in the range of the tempo list TL.
Since the tempo list unit shown in is included, <
case2>. In this case, as shown after copying, the data of 1002 is deleted, and the tempo list constituent unit TUD to be added is pasted to the tempo list as shown at 1004. However, the data subjected to the end point processing (correction processing in step 807) for the left end and the right end of the tempo list constituent unit TUD to be added is pasted.
【0055】次に<case3>について説明する。<case3
>は、追加対象のテンポリスト構成単位TUDの範囲
が、テンポリストTL上の既存のテンポリスト構成単位
TUDの範囲と重なるが、完全に内包したり内包された
りする関係ではない場合である。すなわち、現時点のテ
ンポリストTLの構成単位TUDの中に、いま追加しよ
うとする追加対象のテンポリスト構成単位TUDの左端
TUSPから右端TUEPまでの範囲と部分的に重なる
構成単位TUDが既に存在する場合である。Next, <case 3> will be described. <Case3
> Is a case where the range of the tempo list constituent unit TUD to be added overlaps with the range of the existing tempo list constituent unit TUD on the tempo list TL, but is not in a relationship of being completely included or included. That is, in the case where the constituent unit TUD of the current tempo list TL already has a constituent unit TUD which partially overlaps the range from the left end TUSP to the right end TUEP of the tempo list constituent unit TUD to be added now. Is.
【0056】ステップ803で<case3>と判別された
場合は、ステップ805で、既存の構成単位データTU
Dを、当該追加対象のテンポリスト構成単位TUDの貼
り付け範囲を除くデータTUDに変換する。これは、部
分的に重なった範囲についてはスコア値が高い後のデー
タを優先するため、既存のテンポリスト構成単位TUD
からその重なった範囲を除くものである。ステップ80
5の後、ステップ807に進む。ステップ807以降の
処理は、<case1>で説明したとおりである。If it is determined as <case3> in step 803, in step 805 the existing constituent unit data TU
D is converted to data TUD excluding the pasting range of the tempo list constituent unit TUD to be added. This is because the data after the score value is high is prioritized in the partially overlapping range, so that the existing tempo list unit TUD
To exclude the overlapping range. Step 80
After 5, the process proceeds to step 807. The processing after step 807 is as described in <case1>.
【0057】図11(a)は、<case3>の場合のコピ
ー前のテンポリストおよびコピー後のテンポリストの様
子を示す。特に、追加対象のテンポリスト構成単位TU
Dの範囲の左側と既存のテンポリスト構成単位TUDの
範囲の右側とが重なる場合を示す。1101,110
2,1103は、それぞれ、テンポリストTL(ステッ
プ808の貼り付け前の状態)内に既に貼り付けられて
いるテンポリスト構成単位TUDを示す。いま、追加対
象のテンポリスト構成単位TUDが、1104に示す範
囲のデータである場合、テンポリストTLのその範囲に
は1102に示すテンポリスト構成単位が存在し、部分
的に重なっているので、<case3>の場合となる。この
場合は、コピー後として図示したように、1102のデ
ータを、重なる部分を削除する形で変換し、追加対象の
テンポリスト構成単位TUDを1104に示すようにテ
ンポリストに貼り付ける。追加対象のテンポリスト構成
単位TUDについては、ステップ807の端点処理を行
なって、貼り付けるものとする。FIG. 11A shows the states of the tempo list before copying and the tempo list after copying in the case of <case 3>. Especially, the tempo list constituent unit TU to be added
The case where the left side of the range D and the right side of the existing tempo list constituent unit TUD overlap each other is shown. 1101,110
Reference numerals 2 and 1103 respectively denote tempo list constituent units TUD already pasted in the tempo list TL (state before pasting in step 808). If the tempo list constituent unit TUD to be added is the data in the range 1104, the tempo list constituent unit 1102 exists in that range of the tempo list TL and partially overlaps. case3>. In this case, as shown in the figure after copying, the data of 1102 is converted by deleting the overlapping portion, and the tempo list constituent unit TUD to be added is pasted to the tempo list as indicated by 1104. The tempo list constituent unit TUD to be added is subjected to the end point processing in step 807 and pasted.
【0058】図11(b)は、図11(a)に示したよ
うな場合に、既存のテンポリスト構成単位TUDから削
除されるビートを示す図である。左端位置1111から
右端位置1112は、図11(a)のテンポリスト構成
単位1102の範囲を示す。すなわち、このテンポリス
ト構成単位1102の左端TUSPが位置1111で、
右端TUEPが位置1112である。図11(a)に示
すように、このテンポリスト構成単位1102の範囲と
追加対象のテンポリスト構成単位1104の範囲とが重
なると、テンポリスト構成単位1102の右端が修正さ
れる。図11(b)の1113は、修正後の右端の位置
を示す。その右側のビートは、このテンポリスト構成単
位1102からは削除されたことになる。FIG. 11B is a diagram showing beats deleted from the existing tempo list constituent unit TUD in the case shown in FIG. 11A. The left end position 1111 to the right end position 1112 indicate the range of the tempo list constituent unit 1102 in FIG. That is, the leftmost TUSP of this tempo list constituent unit 1102 is at position 1111,
The right edge TUEP is position 1112. As shown in FIG. 11A, when the range of the tempo list constituent unit 1102 and the range of the tempo list constituent unit 1104 to be added overlap, the right end of the tempo list constituent unit 1102 is corrected. Reference numeral 1113 in FIG. 11B indicates the corrected right end position. The beat on the right side is deleted from the tempo list constituent unit 1102.
【0059】図12(a)は、<case3>の場合の別の
コピー前のテンポリストおよびコピー後のテンポリスト
の様子を示す。特に、追加対象のテンポリスト構成単位
TUDの範囲の右側と既存のテンポリスト構成単位TU
Dの範囲の左側とが重なる場合を示す。1201,12
02,1203は、それぞれ、テンポリストTL(ステ
ップ808の貼り付け前の状態)内に既に貼り付けられ
ているテンポリスト構成単位TUDを示す。いま、追加
対象のテンポリスト構成単位TUDが、1204に示す
範囲のデータである場合、テンポリストTLのその範囲
には1202に示すテンポリスト構成単位が存在し、部
分的に重なっているので、<case3>の場合となる。こ
の場合は、コピー後として図示したように、1202の
データを、重なる部分を削除する形で変換し、追加対象
のテンポリスト構成単位TUDを1204に示すように
テンポリストに貼り付ける。追加対象のテンポリスト構
成単位TUDについては、ステップ807の端点処理を
行なって、貼り付けるものとする。FIG. 12A shows another tempo list before copying and another tempo list after copying in the case of <case 3>. In particular, the right side of the range of the tempo list constituent unit TUD to be added and the existing tempo list constituent unit TU
The case where the left side of the range of D overlaps is shown. 1201,12
02 and 1203 respectively indicate tempo list constituent units TUD already pasted in the tempo list TL (state before pasting in step 808). If the tempo list constituent unit TUD to be added is the data in the range 1204, the tempo list constituent unit 1202 exists in that range of the tempo list TL and partially overlaps. case3>. In this case, as shown after copying, the data of 1202 is converted in a manner that the overlapping portion is deleted, and the tempo list constituent unit TUD to be added is pasted to the tempo list as indicated by 1204. The tempo list constituent unit TUD to be added is subjected to the end point processing in step 807 and pasted.
【0060】図12(b)は、図12(a)に示したよ
うな場合に、既存のテンポリスト構成単位TUDから削
除されるビートを示す図である。左端位置1211から
右端位置1212は、図12(a)のテンポリスト構成
単位1202の範囲を示す。すなわち、このテンポリス
ト構成単位1202の左端TUSPが位置1211で、
右端TUEPが位置1212である。図12(a)に示
すように、このテンポリスト構成単位1202の範囲と
追加対象のテンポリスト構成単位1204の範囲とが重
なると、テンポリスト構成単位1202の左端が修正さ
れる。図12(b)の1213は、修正後の左端の位置
を示す。その左側のビートは、このテンポリスト構成単
位1202からは削除されたことになる。FIG. 12B is a diagram showing beats deleted from the existing tempo list constituent unit TUD in the case shown in FIG. 12A. The left end position 1211 to the right end position 1212 indicate the range of the tempo list constituent unit 1202 in FIG. That is, the leftmost TUSP of this tempo list constituent unit 1202 is at position 1211,
The right edge TUEP is position 1212. As shown in FIG. 12A, when the range of the tempo list constituent unit 1202 and the range of the tempo list constituent unit 1204 to be added overlap, the left end of the tempo list constituent unit 1202 is corrected. 1213 of FIG.12 (b) shows the position of the left end after correction. The beat on the left side is deleted from the tempo list constituent unit 1202.
【0061】次に<case4>について説明する。<case4
>は、追加対象のテンポリスト構成単位TUDの範囲
が、テンポリストTL上の既存のテンポリスト構成単位
TUDの範囲に完全に内包される場合である。すなわ
ち、現時点のテンポリストTLの構成単位TUDの中
に、いま追加しようとする追加対象のテンポリスト構成
単位TUDの左端TUSPから右端TUEPまでの範囲
を完全に内包する構成単位TUDが既に存在する場合で
ある。Next, <case 4> will be described. <Case4
> Is a case where the range of the tempo list constituent unit TUD to be added is completely included in the range of the existing tempo list constituent unit TUD on the tempo list TL. That is, in the case where the constituent unit TUD of the tempo list TL at the present time already has a constituent unit TUD that completely includes the range from the left end TUSP to the right end TUEP of the tempo list constituent unit TUD to be added now. Is.
【0062】ステップ803で<case4>と判別された
場合は、ステップ806で、既存の構成単位データTU
Dを、当該貼り付け範囲の前と後の2つのデータTUD
に変換する。これは、重なった範囲についてはスコア値
が高い後のデータを優先するため、既存のテンポリスト
構成単位TUDからその重なった範囲を除き、前側のデ
ータと後側のデータを残すものである。ステップ806
の後、ステップ807に進む。ステップ807以降の処
理は、<case1>で説明したとおりである。If it is determined as <case4> in step 803, in step 806 the existing constituent unit data TU
D is two data TUD before and after the pasting range
Convert to. In the overlapping range, the latter data having a high score value is prioritized, and therefore, the overlapping range is removed from the existing tempo list constituent unit TUD, and the front side data and the rear side data are left. Step 806
After that, the process proceeds to step 807. The processing after step 807 is as described in <case1>.
【0063】図13は、<case4>の場合のコピー前の
テンポリストおよびコピー後のテンポリストの様子を示
す。1301,1302,1303は、それぞれ、テン
ポリストTL(ステップ808の貼り付け前の状態)内
に既に貼り付けられているテンポリスト構成単位TUD
を示す。いま、追加対象のテンポリスト構成単位TUD
が、1304に示す範囲のデータである場合、その範囲
を完全に内包する1302に示すテンポリスト構成単位
が既に存在するので、<case4>の場合となる。この場
合は、コピー後として図示したように、1302のデー
タを前側と後側に2分割し、その間に追加対象のテンポ
リスト構成単位TUDを1004に示すように貼り付け
る。ただし、追加対象のテンポリスト構成単位TUDの
左端と右端についての端点処理(ステップ807の補正
処理)を行なったデータを貼り付けるものとする。FIG. 13 shows the states of the tempo list before copying and the tempo list after copying in the case of <case 4>. Reference numerals 1301, 1302 and 1303 denote tempo list constituent units TUD already pasted in the tempo list TL (state before pasting in step 808).
Indicates. Tempo list unit TUD to be added now
Is the data in the range 1304, the tempo list constituent unit 1302 that completely includes the range already exists, and therefore the case is <case 4>. In this case, as shown after copying, the data of 1302 is divided into two parts, the front side and the rear side, and the tempo list constituent unit TUD to be added is pasted in the meantime as indicated by 1004. However, the data subjected to the end point processing (correction processing in step 807) for the left end and the right end of the tempo list constituent unit TUD to be added is pasted.
【0064】なお、テンポリスト構成単位TUDはオー
ディオデータ中のある範囲のテンポ値を規定するが、そ
のテンポ値は、その範囲のデータを分析した結果求めた
計算値であるので、逆にその範囲でそのテンポ値に応じ
た理想的な拍を刻むビートを考えたとき、その理想的な
ビート位置と実際に検出されたビート位置とは、ずれる
可能性がある。したがって、上述の各ケースで2つのテ
ンポリスト構成単位TUDを(空き領域なしに)接合す
る場合、その接合位置は実際のビート存在位置に合わせ
るので、その接合位置がテンポ値に応じた理想的なビー
ト位置とはずれてしまう可能性がある。このテンポの崩
れを防ぐためには、接合される2つのテンポリスト構成
単位TUDの両方ないし一方においてテンポ値TUTV
を適切に補正してやる必要がある。具体的には、2つの
テンポリスト構成単位TUDのうち、前方のTUDのテ
ンポ値TUTVを補正するのが簡単である。前方のテン
ポリスト構成単位TUDの開始点からテンポ値TUTV
で理想的なビートを刻んでいき、その何番目かのビート
が後方のテンポリスト構成単位TUDの開始点に一致す
るように、該テンポ値TUTVの値を増減する。すなわ
ち、各単位TUDには、ビートが必ず整数個入るように
する。The tempo list constituent unit TUD defines the tempo value of a certain range in the audio data, but since the tempo value is a calculated value obtained as a result of analyzing the data of the range, the range is reversed. When considering a beat that engraves an ideal beat according to the tempo value, the ideal beat position and the actually detected beat position may deviate from each other. Therefore, when the two tempo list constituent units TUD are joined (without a blank area) in each of the above-mentioned cases, the joining position is adjusted to the actual beat existing position, so that the joining position is ideal according to the tempo value. There is a possibility that it will be out of alignment with the beat position. In order to prevent the tempo from collapsing, the tempo value TUTV is set in both or one of the two tempo list constituent units TUD to be joined.
Need to be corrected appropriately. Specifically, it is easy to correct the tempo value TUTV of the front TUD of the two tempo list constituent units TUD. Tempo value TUTV from the starting point of the tempo list constituent unit TUD in the front
Then, an ideal beat is chopped, and the value of the tempo value TUTV is increased / decreased so that some beats thereof coincide with the start point of the rear tempo list unit TUD. That is, an integer number of beats must be included in each unit TUD.
【0065】なお、この実施の形態では、図7の統合処
理で図17(c)の単位データHUDからデータをコピ
ーして図17(d)のテンポリスト構成単位データTU
Dを作成しているが、単位データHUDをそのままテン
ポリスト構成単位TUDとしてテンポリストTLに組み
入れてしまってもよい。この場合は、上述の各ケースに
応じた修正を単位データHUDに対して行なう。このよ
うにすれば、[統合1]における修正結果がそのまま
[統合2]に引き継がれるので、[統合2]における処
理量は減る。ただし、検出結果1は失われる。In this embodiment, data is copied from the unit data HUD of FIG. 17C by the integration processing of FIG. 7 and the tempo list unit data TU of FIG. 17D is copied.
Although D is created, the unit data HUD may be directly incorporated into the tempo list TL as the tempo list constituent unit TUD. In this case, the unit data HUD is corrected according to each of the above cases. By doing so, the correction result in [integration 1] is directly carried over to [integration 2], so the processing amount in [integration 2] is reduced. However, the detection result 1 is lost.
【0066】再び図7に戻って、上述したようにステッ
プ704のテンポリストTLの作成が終了したら、ステ
ップ705で、次に分析を行なう区間のリストである区
間リスト1を作成する。これは、ステップ704で作成
したテンポリストTL1から、空の区間{左端,右端}
だけを集めてリストを作る処理である。この空の区間
は、[分析1]の処理で、スコア値が一定値以下で、テ
ンポ値が取得できなかった区間である。これを次に分析
を行なう区間のリストである区間リストSL1(SL: S
ection List)とする。Returning to FIG. 7 again, when the creation of the tempo list TL in step 704 is completed as described above, in step 705, a section list 1 which is a list of sections to be analyzed next is created. This is an empty section {left end, right end} from the tempo list TL1 created in step 704.
It is a process that collects only items and creates a list. This empty section is a section in which the score value is below a certain value and the tempo value cannot be acquired in the processing of [Analysis 1]. This is a section list SL1 (SL: S
section list).
【0067】図14に、区間リストSL1のデータ例を
示す。図14(a)のテンポリストの中で網掛けで図示
した範囲(例えば、位置p1〜p2の範囲、位置p3〜
p4の範囲、位置p4〜p5の範囲、位置p6〜p7の
範囲など)は、テンポリスト構成単位TUDが存在しそ
の範囲のテンポ値が取得されている範囲を示す。その間
の空白の範囲はテンポ値が取得されていない範囲であ
り、この範囲を区間リストSL1に登録する。図14
(b)は、区間リストSL1のデータフォーマットを示
す。区間リストSL1は、テンポ値が取得されていない
範囲の開始位置と終了位置との組データをリストとして
並べたデータである。FIG. 14 shows an example of data in the section list SL1. The shaded area in the tempo list of FIG. 14A (for example, the range of positions p1 to p2, the position of p3 to
The range of p4, the range of positions p4 to p5, the range of positions p6 to p7, etc.) indicates the range in which the tempo list constituent unit TUD exists and the tempo value of the range is acquired. A blank range between them is a range in which the tempo value is not acquired, and this range is registered in the section list SL1. 14
(B) shows the data format of the section list SL1. The section list SL1 is data in which the set data of the start position and the end position of the range in which the tempo value is not acquired are arranged as a list.
【0068】再び図7に戻って、次にステップ706
で、次回の統合処理のための準備を行なう。これは、ス
テップ702の出力結果、すなわち端点補正済み検出結
果の単位HUD(図17(c))からデータをコピーし
て作成したリストである。このリストが中間結果IR1
(IR: Interim Result)である。Returning again to FIG. 7, next step 706.
Then, prepare for the next integration process. This is a list created by copying data from the unit HUD (FIG. 17C) of the output result of step 702, that is, the end point corrected detection result. This list is the intermediate result IR1
(IR: Interim Result).
【0069】図18(a)は、中間結果IR1を構成す
る要素である単位データIR1UDのデータフォーマッ
トを示す。図17(c)の単位データと図18(a)の
単位データとでは、対応するデータ要素は同じ記号で表
している。例えば、第1ビート位置USPと開始点US
Pなどである。FIG. 18A shows the data format of the unit data IR1UD which is an element constituting the intermediate result IR1. In the unit data of FIG. 17C and the unit data of FIG. 18A, corresponding data elements are represented by the same symbols. For example, the first beat position USP and the starting point US
P and so on.
【0070】以上で、[統合1]の処理を終える。[統
合1]により、次に分析すべき範囲のリストである区間
リストSL1(図14)と、分析で得られた結果を格納
した端点補正済み検出結果の単位HUD(図17
(c))をコピーした中間結果IR1(図18(a))
のリストが得られる。また、入力オーディオデータ中で
テンポ値が取得できた範囲のリストであるテンポリスト
TL(その要素は図17(d))が得られる。図3の
「区間リスト1」が区間リストSL1であり、「中間結
果1」が中間結果IR1である。This completes the processing of [Integration 1]. By [Integration 1], the section list SL1 (FIG. 14) that is a list of ranges to be analyzed next, and the unit HUD of the end point corrected detection result that stores the result obtained by the analysis (FIG. 17).
Intermediate result IR1 obtained by copying (c)) (FIG. 18 (a))
To get a list of. In addition, a tempo list TL (the element of which is shown in FIG. 17D), which is a list of ranges in which the tempo values can be acquired in the input audio data, is obtained. The "section list 1" in FIG. 3 is the section list SL1, and the "intermediate result 1" is the intermediate result IR1.
【0071】次に、[分析2]について説明する。[分
析2]では、[統合1]で得た区間リストSL1で指定
された各区間に対し再度ビート検出処理を施す。ビート
検出処理の手順は、図5で説明したのと同じである。た
だし、[分析1]では入力オーディオデータの先頭から
最後まで所定のフレームを少しずつずらしながら分析し
たが、[分析2]では区間リストSL1の各区間を対象
とし、その第1の区間の先頭から最後まで所定のフレー
ムを少しずつずらしながら分析し、次に第2の区間の先
頭から最後まで所定のフレームを少しずつずらしながら
分析し、…というように分析を進める。分析にかける各
区間の幅は少し拡げておいても構わない。[Analysis 2] will be described below. In [Analysis 2], beat detection processing is performed again for each section designated in the section list SL1 obtained in [Integration 1]. The procedure of beat detection processing is the same as that described with reference to FIG. However, in [Analysis 1], the analysis was performed while shifting predetermined frames little by little from the beginning to the end of the input audio data, but in [Analysis 2], each section of the section list SL1 is targeted, and from the beginning of the first section. The predetermined frame is gradually shifted to the end and analyzed, and then the predetermined frame is gradually shifted from the beginning to the end of the second section, and so on. The width of each section to be analyzed may be slightly widened.
【0072】また、[分析2]で用いるフレームの幅w
idth2やフレームの移動ステップhop2は、wi
dth2<width1,hop2<hop1であれば
どのような値でもよいが、通常はwidth2=wid
th1/2,hop2=hop1/2としておけばよ
い。例えば、width2=1小節、hop2=1/4
小節とする。また、ビート抽出の閾値BT2は、BT1
と同じでも良い。[分析2]では、[分析1]のときよ
り小さいフレームの幅width2および移動ステップ
hop2を用いるので、より厳密な分析が行なえる。The width w of the frame used in [Analysis 2]
The idth2 and the frame moving step hop2 are wi
Any value may be used as long as dth2 <width1 and hop2 <hop1, but normally width2 = width
It is sufficient to set th1 / 2 and hop2 = hop1 / 2. For example, width2 = 1 bar, hop2 = 1/4
Set as a measure. In addition, the threshold BT2 for beat extraction is BT1
Can be the same as. In [Analysis 2], a narrower frame width width2 and movement step hop2 are used than in [Analysis 1], so that a more rigorous analysis can be performed.
【0073】[分析1]と同様、ビート検出結果の単位
をリストにまとめたものが分析結果AR2である。図1
8(b)は、分析結果AR2の構成要素である単位デー
タAR2UDのデータフォーマットを示す。この単位デ
ータAR2UDのデータ要素は、図17(b)の単位デ
ータUDのデータ要素と同じである。ただし、単位デー
タAR2UDは、区間リストSL1の各区間を分析した
結果を表すものである。図3の「分析結果2」が分析結
果AR2である。Similar to [Analysis 1], the analysis result AR2 is a list of units of beat detection results. Figure 1
8B shows the data format of the unit data AR2UD which is a component of the analysis result AR2. The data element of this unit data AR2UD is the same as the data element of the unit data UD of FIG. 17 (b). However, the unit data AR2UD represents the result of analyzing each section of the section list SL1. “Analysis result 2” in FIG. 3 is the analysis result AR2.
【0074】次に、[統合2]について説明する。[統
合2]では、各分析結果の統合と[分析3]のための準
備を行なう。統合の方法は[統合1]で説明した図7と
同じである。ただし、[分析3]のための準備は[統合
1]と大きく異なる。[Integration 2] will be described below. In [Integration 2], integration of each analysis result and preparation for [Analysis 3] are performed. The integration method is the same as in FIG. 7 described in [Integration 1]. However, the preparation for [Analysis 3] is significantly different from [Integration 1].
【0075】図7のフローチャートに沿って[統合2]
の処理手順を説明する。ステップ701では、ビート検
出に失敗したデータを排除する。この処理は、[統合
1]での同ステップの処理と同様に、分析結果AR2
(図18(b))からスコア値USVがある閾値以下で
あるか、あるいはテンポ値UTVが設定範囲外であるよ
うな分析結果を排除する処理である。閾値UT2は、
[統合1]で用いた値UT1と同じでもよいし異なる値
でもよい。[Integration 2] according to the flowchart of FIG.
The processing procedure will be described. In step 701, data for which beat detection has failed is eliminated. This processing is similar to the processing of the same step in [Integration 1], and the analysis result AR2
From FIG. 18 (b), it is a process of excluding an analysis result in which the score value USV is less than or equal to a certain threshold value or the tempo value UTV is outside the set range. The threshold UT2 is
The value may be the same as or different from the value UT1 used in [Integration 1].
【0076】ステップ702で、分析結果の端点をビー
ト位置に補正する。この処理も[統合1]での同じ処理
と同様である。この結果、各分析結果は、図17(c)
に示した端点補正済み検出結果の単位データHUDに変
換される。ステップ703では、その結果をスコア値U
SVに基づいてソートする。その結果と中間結果1
([統合1]で得られている結果であり、その構成単位
は図18(a)に示した)をマージし、マージしたすべ
ての構成単位データを、スコア値USVをキーとして昇
順に整列する。ステップ704で、ソートされたデータ
に基づいてテンポリストTL2を作成する。この処理も
[統合1]での同じ処理と同様である。テンポリストT
L2のデータフォーマットは、図17(d)に示すのと
同じである。。At step 702, the end point of the analysis result is corrected to the beat position. This process is also similar to the same process in [Integration 1]. As a result, each analysis result is shown in FIG.
Is converted into the unit data HUD of the detection result after the end point correction. In step 703, the result is the score value U
Sort based on SV. The result and the intermediate result 1
(The result obtained in [Integration 1], the structural unit of which is shown in FIG. 18A) are merged, and all the merged structural unit data are arranged in ascending order using the score value USV as a key. . In step 704, the tempo list TL2 is created based on the sorted data. This process is also similar to the same process in [Integration 1]. Tempo list T
The data format of L2 is the same as that shown in FIG. .
【0077】次にステップ705で、次に分析を行なう
区間のリストである区間リストSL2を作成する。これ
は、[分析1]と[分析2]で細かく分析し過ぎた区間
を探すため、テンポリストTL2から次の条件1および
条件2を両方満たすテンポリスト構成単位TUDの一続
きをすべて見つける処理である。一続きとは、テンポリ
スト構成単位UDの二つ以上の組であって、リストの要
素という意味においてすべてが連続しているもののこと
をいう。領域という意味では構成単位の間に空きがあっ
ても構わない。Next, at step 705, a section list SL2 which is a list of sections to be analyzed next is created. This is a process of finding all the sequences of tempo list constituent units TUD that satisfy both of the following conditions 1 and 2 from the tempo list TL2 in order to search for the sections that have been over-analyzed in [analysis 1] and [analysis 2]. is there. A series is a set of two or more tempo list constituent units UD, all of which are continuous in the sense of the elements of the list. In terms of area, there may be a space between the constituent units.
【0078】条件1(空き領域の幅の条件):一続き
に含まれるすべての(「リスト要素」という意味におい
て)隣り合うテンポリスト構成単位TUD同士の間の幅
が、ある閾値WT(WT: Width Threshold)以下の幅
であること。隣り合うテンポリスト構成単位TUD同士
の間の幅とは、第1のテンポリスト構成単位TUDの右
端TUEPとその右隣の第2のテンポリスト構成単位T
UDの左端TUSPからTUSP−TUEPで計算す
る。Condition 1 (condition of width of free area): The width between all adjacent tempo list constituent units TUD (in the meaning of "list element") included in a series is a certain threshold value WT (WT: Width Threshold) or less. The width between adjacent tempo list constituent units TUD means the right end TUEP of the first tempo list constituent unit TUD and the second tempo list constituent unit T on the right side thereof.
TUSP-TUEP is calculated from the left end TUSP of UD.
【0079】条件2(テンポ一定の条件):一続きに
含まれるテンポリスト構成単位TUDのテンポ値の最大
値と最小値の差が、ある許容誤差ET(ET: Error Th
reshold)以下であること。許容誤差ETの値はテンポ
に応じて決めてもよい。例えば、テンポ60[bpm]
辺りは許容誤差2[bpm]、テンポ180[bpm]
辺りは許容誤差6[bpm]というようにしてもよい。Condition 2 (condition of constant tempo): The difference between the maximum value and the minimum value of the tempo values of the tempo list constituent unit TUD included in the series is a certain allowable error ET (ET: Error Th).
reshold) or less. The value of the allowable error ET may be determined according to the tempo. For example, tempo 60 [bpm]
Permissible error around 2 [bpm], tempo 180 [bpm]
The permissible error may be around 6 [bpm].
【0080】これらの条件の根拠は、同じテンポと推定
されて隣り合う区間は同じフレーズを構成する可能性が
高いということ、および、同じテンポと推定された区間
に挟まれた十分小さな区間はたまたまその区間だけ分析
に失敗しただけで実はその区間も左右の区間と同じフレ
ーズの一部である可能性があるということである。The basis of these conditions is that it is highly likely that adjacent intervals are estimated to have the same tempo and form the same phrase, and that a sufficiently small interval sandwiched between intervals estimated to have the same tempo happens to occur. This means that there is a possibility that the section may be part of the same phrase as the left and right sections only if the analysis fails for that section.
【0081】図15(a)は、ステップ705の処理で
上記の条件1,2を満たす場合と満たさない場合の例を
示す。u1,u2,u3,…はそれぞれテンポリスト構
成単位UDに対応し、その矩形の長さはそのテンポリス
ト構成単位UDの範囲(左端TUSPから右端TUEP
までの範囲)を示す。矩形内の数字は、そのテンポリス
ト構成単位UDのテンポ値TUTVを示す。例えば、u
1はこの範囲はテンポ120であることを示す。条件1
の幅の閾値WTは1501に示す幅とし、条件2の許容
誤差ETは2[bpm]とする。FIG. 15A shows an example in which the above conditions 1 and 2 are satisfied and the conditions are not satisfied in the process of step 705. u1, u2, u3, ... Correspond to the tempo list constituent unit UD, respectively, and the length of the rectangle is the range of the tempo list constituent unit UD (from the left end TUSP to the right end TUEP).
Range). The number in the rectangle indicates the tempo value TUTV of the tempo list constituent unit UD. For example, u
1 indicates that this range is the tempo 120. Condition 1
The threshold value WT of the width is set to the width shown in 1501, and the allowable error ET of the condition 2 is 2 [bpm].
【0082】u1とu2は隣り合っているが、それらの
間の幅が閾値WT1501より大きい。したがって、条
件1を満たさないので、区間リストSL2には入れな
い。Although u1 and u2 are adjacent to each other, the width between them is larger than the threshold value WT1501. Therefore, since Condition 1 is not satisfied, it cannot be included in the section list SL2.
【0083】u3,u4,u5は、u3とu4との間の
幅およびu4とu5との間の幅は何れも閾値WT150
1以下であるので条件1を満たす。また、u3,u4,
u5のテンポ値は102,100,101であり、その
最大値と最小値の差は2となり許容誤差ET以下である
から、条件2を満たす。したがって、u3の左端からu
5の右端の区間は、区間リストSL2に入れる。For u3, u4, and u5, the width between u3 and u4 and the width between u4 and u5 are both threshold WT150.
Since it is 1 or less, Condition 1 is satisfied. Also, u3, u4
The tempo value of u5 is 102, 100, 101, and the difference between the maximum value and the minimum value thereof is 2, which is equal to or less than the allowable error ET, so that the condition 2 is satisfied. Therefore, from the left end of u3, u
The rightmost section of 5 is put in the section list SL2.
【0084】u6,u7は、それらの間の幅が閾値WT
1501以下であるので条件1を満たす。しかし、テン
ポ値が100と80でその差が20となり許容誤差ET
を超えているから条件2を満たさず、区間リストSL2
には入れない。同様にして、テンポリスト構成単位TU
Dの一続きを見つけていく。ここでは、u10とu11
が一続きの範囲と認められ、またu13とu14とu1
5が一続きの範囲と認められる。U6 and u7 have a width WT between them as a threshold value WT.
Since it is 1501 or less, Condition 1 is satisfied. However, the tempo value is 100 and 80, the difference is 20 and the allowable error ET
Condition 2 is not satisfied because it exceeds, and section list SL2
I can't put it in. Similarly, tempo list unit TU
Find a series of D. Here, u10 and u11
Is recognized as a continuous range, and u13, u14 and u1
5 is recognized as a continuous range.
【0085】図15(b)は、図15(a)のような各
構成要素を含むテンポリストに対してステップ705の
処理を施して作成した区間リストSL2を示す。区間リ
ストSL2のフォーマットは、図14で説明した区間リ
ストSL1と同じである。FIG. 15B shows a section list SL2 created by performing the processing of step 705 on the tempo list including the respective constituent elements as shown in FIG. 15A. The format of the section list SL2 is the same as that of the section list SL1 described in FIG.
【0086】再び図7に戻って、ステップ705で上述
した区間リストSL2を作成したら、ステップ706
で、次回の統合のための準備として中間結果2を作成す
る。まず、区間リストSL2の要素である各区間に「期
待されるテンポの値」を付加して、チェック用区間リス
ト2を作成する。期待されるテンポの値とは、その区間
のテンポ値として大体この程度の値が期待されるであろ
うという値である。これは、[分析3]で予想外の分析
結果が得られた場合をチェックする目的で付加される。
期待されるテンポの値としては、ステップ705の条件
2における最大値と最小値の中間値や、同ステップ70
5で一続きと判断された複数のテンポリスト構成単位U
Dのテンポ値の平均値などに設定しておけばよい。Returning to FIG. 7 again, when the section list SL2 described above is created in step 705, step 706
Then, as a preparation for the next integration, the intermediate result 2 is created. First, the “expected tempo value” is added to each section that is an element of the section list SL2 to create the check section list 2. The expected tempo value is a value at which a tempo value of this range is expected to be about this level. This is added for the purpose of checking when an unexpected analysis result is obtained in [Analysis 3].
As the expected tempo value, an intermediate value between the maximum value and the minimum value under the condition 2 of step 705, and the same step 70
A plurality of tempo list constituent units U determined to be continuous in 5
It may be set to the average value of the tempo value of D or the like.
【0087】図18(c)に、チェック用区間リスト2
の構成単位データCSL2UDのフォーマットを示す。
この単位データは、区間リストSL2の要素である各区
間の左端および右端のデータに、その区間の期待される
テンポ値のデータを付加したものである。例えば、図1
5(b)に示す区間リストSL2の内容から作成したチ
ェック用区間リスト2は、図18(d)に示すようなデ
ータになる。FIG. 18C shows a check section list 2
2 shows the format of the constituent unit data CSL2UD.
This unit data is data obtained by adding the data of the expected tempo value of the section to the left end and right end data of each section which is an element of the section list SL2. For example, in FIG.
The checking section list 2 created from the contents of the section list SL2 shown in FIG. 5 (b) becomes data as shown in FIG. 18 (d).
【0088】このチェック用区間リストCSL2と、ス
テップ704の出力であるテンポリストTL2が、中間
結果IR2である。中間結果IR2は、図3の中間結果
2に相当する。The checking section list CSL2 and the tempo list TL2 output from step 704 are intermediate results IR2. The intermediate result IR2 corresponds to the intermediate result 2 in FIG.
【0089】次に、[分析3]について説明する。[分
析3]では、[統合2]で得た区間リストSL2(チェ
ック用区間リストCSL2を用いても同じ)で指定され
た各区間に対し再度ビート検出処理を施す。ビート検出
処理の手順は、図5で説明したのと同じである。ただ
し、[分析1]や[分析2]とは異なり、フレームで切
り出したりせず区間リストSL2で指定された各区間を
そのまま分析にかける。区間リストSL2で指定された
各区間は、上述の条件1および2を満たす一続きの区間
であり、当該区間で1つのテンポ値が決定できる区間で
ある。ここで、ビート抽出の閾値BT3は、BT1また
はBT2と同じでも良い。[分析1]および[分析2]
と同様、ビート検出結果の単位をリストにまとめたもの
が分析結果AR3である。分析結果AR3のデータフォ
ーマットは、図18(b)で説明した分析結果AR2と
同じである。以下、分析結果AR3の構成単位をAR3
UDで表す。図3の「分析結果3」が分析結果AR3で
ある。[Analysis 3] will be described below. In [Analysis 3], beat detection processing is performed again for each section designated in the section list SL2 obtained in [Integration 2] (the same applies when using the check section list CSL2). The procedure of beat detection processing is the same as that described with reference to FIG. However, unlike [Analysis 1] and [Analysis 2], each section specified in the section list SL2 is directly subjected to analysis without being cut out in a frame. Each section specified in the section list SL2 is a series of sections that satisfy the above conditions 1 and 2, and one tempo value can be determined in the section. Here, the threshold value BT3 for beat extraction may be the same as BT1 or BT2. [Analysis 1] and [Analysis 2]
Similar to the above, the analysis result AR3 is a list of the units of the beat detection result. The data format of the analysis result AR3 is the same as that of the analysis result AR2 described in FIG. Hereinafter, the structural unit of the analysis result AR3 is AR3.
Represented by UD. “Analysis result 3” in FIG. 3 is the analysis result AR3.
【0090】次に、[統合3]について説明する。[統
合3]では、分析結果AR3と中間結果IR2を比較し
て、最終結果を得る。特に、分析結果AR3が期待通り
のテンポを推定できている区間は、分析結果AR3のデ
ータが最終結果に採用される。また、分析結果AR3が
期待通りのテンポを推定できていない区間は、中間結果
IR2のテンポリストTL2のデータが最終結果に採用
される。[Integration 3] will be described below. In [Integration 3], the final result is obtained by comparing the analysis result AR3 and the intermediate result IR2. In particular, the data of the analysis result AR3 is adopted as the final result in the section where the analysis result AR3 can estimate the expected tempo. Further, in the section where the analysis result AR3 cannot estimate the expected tempo, the data of the tempo list TL2 of the intermediate result IR2 is adopted as the final result.
【0091】図16は、[統合3]の処理手順を示すフ
ローチャートである。FIG. 16 is a flowchart showing the processing procedure of [integration 3].
【0092】ステップ1601で、分析結果AR3から
ビート検出に失敗した区間を排除する。これは、[統合
1]および[統合2]のステップ701で説明したのと
同様に、分析結果AR3からスコア値USVがある閾値
UT3以下であるか、あるいはテンポが設定範囲外であ
るような分析結果を排除する処理である。閾値UT3
は、上述の閾値UT1,UT2と異なる値でも構わな
い。In step 1601, the section in which beat detection has failed is excluded from the analysis result AR3. This is the same as described in step 701 of [Integration 1] and [Integration 2], in which the analysis result AR3 indicates that the score value USV is less than or equal to a certain threshold value UT3, or that the tempo is outside the set range. This is the process of eliminating the result. Threshold UT3
May be a value different from the above-mentioned thresholds UT1 and UT2.
【0093】次にステップ1602で、分析結果AR3
から、期待通りのテンポが推定できていない区間を排除
する。これは、ステップ1601でビート検出に失敗し
た区間を排除した分析結果AR3と中間結果IR2のチ
ェック用区間リストCSL2とを、対応する区間ごとに
比較し、分析結果AR3の構成単位のテンポ値UTVと
チェック用区間リストCSL2の構成単位の期待される
テンポ値とが異なるような分析結果を排除する処理であ
る。すなわち、ある区間の分析結果(ビート検出結果の
構成単位)が分析結果AR3の構成単位AR3UDの分
析開始点USP=チェック用区間リストCSL2の構成
単位CSL2UDの左端、かつ分析結果AR3の構成単
位AR3UDの分析終了点UEP=チェック用区間リス
トCSL2の構成単位CSL2UDの右端であるような
チェック用区間リストCSL2構成単位に対して、当該
分析結果AR3の構成単位AR3UDのテンポ値UTV
とチェック用区間リストCSL2の構成単位CSL2U
Dの「期待されるテンポ値」との差の絶対値が、許容誤
差TE(TE :Tolerance Error)の範囲内であるかど
うかチェックし、その範囲内でないならば、その分析結
果AR3の構成単位AR3UDを削除する。この許容誤
差TEは、例えばステップ705の条件2の許容誤差の
半分などにすればよい。Next, at step 1602, the analysis result AR3
Therefore, the section where the expected tempo cannot be estimated is excluded. This is because the analysis result AR3 in which the section in which the beat detection has failed in step 1601 is excluded is compared with the check section list CSL2 of the intermediate result IR2 for each corresponding section, and the tempo value UTV of the constituent unit of the analysis result AR3 is obtained. This is a process of excluding an analysis result in which the tempo value expected of the constituent unit of the checking section list CSL2 is different. That is, the analysis result of a certain section (the constituent unit of the beat detection result) is the analysis start point USP of the constituent unit AR3UD of the analysis result AR3 = the left end of the constituent unit CSL2UD of the checking section list CSL2, and the constituent unit AR3UD of the analysis result AR3. Analysis end point UEP = tempo value UTV of the structural unit AR3UD of the analysis result AR3 with respect to the structural unit CSL2 structural unit of the check that is at the right end of the structural unit CSL2UD of the structural check list CSL2
And the unit CSL2U of the check section list CSL2
It is checked whether or not the absolute value of the difference of D from the "expected tempo value" is within the range of the allowable error TE (TE: Tolerance Error), and if it is not within the range, the structural unit of the analysis result AR3. Delete AR3UD. This allowable error TE may be set to, for example, half the allowable error of the condition 2 of step 705.
【0094】次にステップ1603で、最終結果とする
テンポリストFRを作成する。この処理は、図7のステ
ップ704および図8で説明したのと同じである。ただ
し、[統合1]および[統合2]では新規のテンポリス
トTLを作成し該テンポリストTLに構成単位データT
UDを上書きしていくが、ステップ1603で行なわれ
る図8の処理では、「新規のテンポリストTL」の代わ
りに「中間結果IR2のテンポリストTL2」を用い、
このテンポリストTL2に、ステップ1602の処理後
の分析結果AR3の各構成単位AR3UDから変換した
テンポリスト構成単位TUDを上書きしていく。そのた
めに、図8のステップ801では「新規のテンポリスト
TL」の代わりに「中間結果IR2のテンポリストTL
2」を用意するものとし、ステップ802,809では
分析結果AR3の各構成単位AR3UDから次の追加対
象のテンポリスト構成単位TUDを作成するものとす
る。図8の処理から明白であるが、必ず複数の区間を上
書きすることになる。Next, at step 1603, the tempo list FR as the final result is created. This processing is the same as that described in step 704 of FIG. 7 and FIG. However, in [Integrated 1] and [Integrated 2], a new tempo list TL is created and the unit data T is added to the tempo list TL.
Although UD is overwritten, in the processing of FIG. 8 performed in step 1603, “tempo list TL2 of intermediate result IR2” is used instead of “new tempo list TL”,
The tempo list TL2 is overwritten with the tempo list constituent unit TUD converted from each constituent unit AR3UD of the analysis result AR3 after the processing of step 1602. Therefore, in step 801 of FIG. 8, instead of the “new tempo list TL”, the “tempo list TL of the intermediate result IR2 is used.
2 ”is prepared, and in steps 802 and 809, a tempo list constituent unit TUD to be added next is created from each constituent unit AR3UD of the analysis result AR3. As is clear from the processing of FIG. 8, a plurality of sections will always be overwritten.
【0095】なお、分析結果AR3の各構成単位AR3
UDからテンポリスト構成単位TUDを作成するステッ
プ802,809の処理は以下のように行なう。ここ
で、分析結果AR3の構成単位AR3UDのフォーマッ
トは図18(b)の分析結果2のものと同じであり、テ
ンポリスト構成単位TUDのフォーマットは図17
(d)に示すとおりである。テンポリスト構成単位TU
Dの作成は、その左端TUSPとして分析結果AR3の
構成単位AR3UDの分析開始点USPを、右端TUE
Pとして分析結果AR3の構成単位AR3UDの分析終
了点UEPを、そのビート位置のリストTUBPLとし
て分析結果AR3の構成単位AR3UDのビート位置の
リストUBPLを、そのテンポ値TUTVとして分析結
果AR3の構成単位AR3UDのテンポ値UTVを、そ
れぞれコピーすることにより行なえばよい。The structural unit AR3 of the analysis result AR3
The processing of steps 802 and 809 for creating the tempo list structural unit TUD from the UD is performed as follows. Here, the format of the structural unit AR3UD of the analysis result AR3 is the same as that of the analytical result 2 of FIG. 18B, and the format of the tempo list structural unit TUD is FIG.
This is as shown in (d). Tempo list unit TU
D is created by setting the analysis start point USP of the structural unit AR3UD of the analysis result AR3 as the left end TUSP to the right end TUE.
The analysis end point UEP of the constituent unit AR3UD of the analysis result AR3 is represented as P, the beat position list UBPL of the constituent unit AR3UD of the analysis result AR3 is represented as its beat position list TUBPL, and the constituent unit AR3UD of the analysis result AR3 is represented as its tempo value TUTV. It suffices to copy each of the tempo values UTV of.
【0096】以上の処理により、完成したテンポリスト
TL3が、最終的な出力FR(FR:Final Result)であ
る。このテンポリストTL3のフォーマットは図17
(d)に示すとおりであり、各区間のテンポ値が推定さ
れている。Through the above processing, the completed tempo list TL3 is the final output FR (FR: Final Result). The format of this tempo list TL3 is shown in FIG.
As shown in (d), the tempo value of each section is estimated.
【0097】上記実施の形態により、オーディオデータ
のテンポが曲の途中で変化する場合であっても区間ごと
のテンポが正確に推定できる。これを用いて、例えばM
IDIデータのテンポをオーディオデータのテンポに合
わせることができる。すなわち、オーディオデータに上
記実施形態の処理を施してそのテンポを推定し、オーデ
ィオデータのテンポが変化するタイミングでMIDIデ
ータにテンポチェンジイベントを挿入すればよい。MI
DIデータ上の挿入位置は、オーディオデータのテンポ
の変わり目に相当するMIDIデータ上の位置を計算で
求め、その位置にテンポチェンジを挿入する。なお、元
からMIDIデータに存在するテンポチェンジイベント
のうち、オーディオデータの再生区間に含まれてしまう
テンポチェンジイベントは削除すればよい。According to the above embodiment, the tempo of each section can be accurately estimated even when the tempo of audio data changes in the middle of a song. Using this, for example M
The tempo of IDI data can be matched with the tempo of audio data. That is, the tempo change event may be inserted into the MIDI data at the timing when the tempo of the audio data changes by performing the processing of the above-described embodiment on the audio data. MI
For the insertion position on the DI data, the position on the MIDI data corresponding to the transition of the tempo of the audio data is calculated, and the tempo change is inserted at that position. Of the tempo change events originally present in the MIDI data, the tempo change events included in the audio data reproduction section may be deleted.
【0098】逆に上記実施の形態の方法を用いて、オー
ディオデータのテンポをMIDIデータのテンポに合わ
せることもできる。オーディオデータに上記実施の形態
の処理を施してオーディオデータのテンポを計算し、計
算した結果とMIDIデータのテンポ情報とを比較し、
MIDIデータのテンポに合わせるように、オーディオ
データに対して区間ごとに異なる倍率でタイムストレッ
チの処理を施せばよい。タイムストレッチの方法として
は、オーディオデータをビート位置でスライスしたとき
の各スライス片を再配置する方法などを用いればよい。On the contrary, the tempo of the audio data can be matched with the tempo of the MIDI data by using the method of the above embodiment. The tempo of the audio data is calculated by performing the processing of the above embodiment on the audio data, and the calculated result and the tempo information of the MIDI data are compared,
It suffices to subject the audio data to time stretch processing at different scales for each section so as to match the tempo of the MIDI data. As a method of time stretching, a method of rearranging each slice piece when audio data is sliced at a beat position may be used.
【0099】なお、上記実施の形態の方法でテンポ推定
を行なったオーディオデータは、テンポを変えて再生す
る際のビート位置の計算が比較的容易である。「テンポ
の変化はビートの位置で起こる」とする考えに基づいて
テンポ推定処理を行なっているからである。すなわち、
従来方法ではビート位置でテンポ変化が起きるという考
え方によらずにテンポ推定を行なっているため、ビート
位置をはずれた位置でテンポが変化すると推定する場合
がある。この場合、このオーディオデータをテンポを変
えて再生しようとすると、テンポの変化点の位置の計算
とテンポが変化した後のビート位置の再生開始位置の計
算の両方を行なう必要がある。これに対し、上記実施の
形態の推定方法ではビート位置がテンポ変化点に一致し
ているので、テンポを変えて再生する際にはテンポ変化
点の位置の計算を行なえばそのビート位置の計算を行な
ったことになり、計算量が少ないというメリットがあ
る。It should be noted that, in the audio data whose tempo is estimated by the method of the above-described embodiment, it is relatively easy to calculate the beat position when reproducing with changing the tempo. This is because the tempo estimation processing is performed based on the idea that "tempo changes occur at beat positions." That is,
In the conventional method, since the tempo is estimated without depending on the idea that the tempo changes at the beat position, it may be estimated that the tempo changes at a position outside the beat position. In this case, if the audio data is to be reproduced with a different tempo, it is necessary to calculate both the position of the change point of the tempo and the reproduction start position of the beat position after the change of the tempo. On the other hand, in the estimation method of the above-described embodiment, the beat position coincides with the tempo change point. Therefore, when the tempo change point is reproduced, if the position of the tempo change point is calculated, the beat position is calculated. This is done, and has the merit that the amount of calculation is small.
【0100】上記実施の形態では、[分析1]、[分析
2]、および[分析3]の中で、設定された分析範囲に
ついてそれぞれ個別にビート位置検出処理(図4)を行
なっているが、そうする代わりに[分析1]、[分析
2]、および[分析3]に先立って入力オーディオデー
タ全体に対してビート位置検出処理を行なうようにして
もよい。その方が処理の無駄が少ない。また、分析フレ
ーム間でビート検出位置を同じにすることができ(また
は容易に対応させることができ)、後でフレームの分析
結果を合成するのに好都合である。この場合、図4のス
テップ404,405の処理では、複数の異なる閾値を
用いてピーク値を検出し、各閾値に対応したリストを作
成しておく。[分析1]、[分析2]、および[分析
3]では、それぞれの処理で利用すべきリストを使って
処理を行なえばよい。ただし、分析フレームごとにビー
ト位置検出処理における波形処理のパラメータを設定し
たいなどの目的がある場合は、設定された分析範囲につ
いてそれぞれ個別にビート位置検出の処理を行なうよう
にする。In the above embodiment, the beat position detection processing (FIG. 4) is individually performed for each of the set analysis ranges in [Analysis 1], [Analysis 2], and [Analysis 3]. Alternatively, the beat position detection process may be performed on the entire input audio data prior to [Analysis 1], [Analysis 2], and [Analysis 3]. That is less waste of processing. Also, the beat detection positions can be made the same (or easily corresponded) between the analysis frames, which is convenient for synthesizing the analysis results of the frames later. In this case, in the processing of steps 404 and 405 of FIG. 4, the peak value is detected using a plurality of different threshold values, and a list corresponding to each threshold value is created. In [Analysis 1], [Analysis 2], and [Analysis 3], the processes may be performed using the lists to be used in the respective processes. However, if the purpose is to set the waveform processing parameters in the beat position detection processing for each analysis frame, the beat position detection processing is performed individually for each set analysis range.
【0101】上記実施の形態では、最終的な出力である
テンポリストは、図17(d)に示すようにビートの情
報(ビート位置のリスト)も含んでいる。これは、この
結果を用いてオーディオデータをスライスすることなど
を想定しているからであるが、必ずしもビートの情報を
出力に含める必要はない。In the above-mentioned embodiment, the final output tempo list also includes beat information (list of beat positions) as shown in FIG. 17D. This is because it is assumed that audio data will be sliced using this result, but it is not always necessary to include beat information in the output.
【0102】上記実施の形態では、テンポリストTL3
を最終出力としているが、テンポリストTL1またはT
L2を最終出力としてもよい。In the above embodiment, the tempo list TL3
Is the final output, but the tempo list TL1 or T
L2 may be the final output.
【0103】上記実施の形態では、オーディオデータ
(波形データ)に対してテンポ推定を行なっているが、
テンポ推定対象は必ずしもオーディオデータには限らな
い。例えば、テンポクロックとは関係なく行なわれた演
奏を記録した演奏データ(ノートオンイベントなどの各
種のイベントデータで表現されているデータ)からその
演奏データのテンポを推定するために本発明を適用する
こともできる。この場合は、図4のビート位置検出処理
は、演奏データを解析してビート位置を検出する処理を
行なうものとする。In the above embodiment, tempo estimation is performed on audio data (waveform data).
The tempo estimation target is not necessarily limited to audio data. For example, the present invention is applied to estimate the tempo of performance data from performance data (data represented by various event data such as a note-on event) that records a performance performed regardless of the tempo clock. You can also In this case, the beat position detecting process of FIG. 4 is a process of analyzing performance data and detecting a beat position.
【0104】上記実施の形態では、各ビート検出時に、
一定幅のフレームを使用しているが、波形データに応じ
て適応的に変化する幅のフレームでビート検出を行なっ
てもよい。In the above embodiment, when each beat is detected,
Although a frame with a constant width is used, beat detection may be performed with a frame with a width that adaptively changes according to the waveform data.
【0105】上記実施の形態では、まず長いフレーム幅
でテンポ推定を行ない、その失敗した範囲について短い
フレーム幅でテンポ推定を行なっているが、必ずしも2
段階で行なう必要はない。1つのフレーム幅で1回だけ
テンポ推定を行なってもよいし、3つ以上のフレーム幅
で3段階以上のテンポ推定を行なってもよい。In the above embodiment, the tempo estimation is first performed with a long frame width, and the tempo estimation is performed with a short frame width for the failed range.
There is no need to do it in stages. The tempo may be estimated only once with one frame width, or the tempo may be estimated in three or more stages with three or more frame widths.
【0106】また、2回目のテンポ推定を行なう範囲
は、必ずしも1回目で失敗した範囲としなくてもよい。
例えば、(1)採用されたもののうちスコア値の低かった
構成単位HUD(スコア値が所定の閾値以下のもの)の
範囲を含めて2回目のテンポ推定を行なう、(2)2回目
の「テンポ推定」も全範囲について行なう、(3)2つの
構成単位HUDを接続した部分で、接続位置の大きな補
正が必要だったその2つの単位HUDの範囲についても
2回目のテンポ推定を行なう、というようにしてもよ
い。The range in which the second tempo estimation is performed does not necessarily have to be the range in which the first tempo has failed.
For example, (1) the second tempo estimation is performed including the range of the structural unit HUD (score value of which is less than or equal to a predetermined threshold value) having a low score value among the adopted ones, (2) the second "tempo""Estimation" is also performed for the entire range. (3) In the part where the two constituent unit HUDs are connected, the second tempo estimation is also performed for the range of the two unit HUDs that required a large correction of the connection position. You may
【0107】開始点、終了点、およびビート位置などの
位置データは、時間を単位としてもよいし、サンプル数
(小数部以下込みでもよい)を単位としてもよい。テン
ポ値も、小数点以下を含む値でもよい。テンポ値を小数
点以下を含まないテンポ値とする場合は、小数部の丸め
込みによるビート位置の誤差が累積されないように、テ
ンポリストの各構成単位データTUDのテンポ値に補正
をかければよい。The position data such as the start point, the end point, and the beat position may be in the unit of time, or may be in the unit of the number of samples (may include a fractional part or less). The tempo value may also be a value including decimals. When the tempo value does not include a decimal point, the tempo value of each constituent unit data TUD in the tempo list may be corrected so that the error in the beat position due to the rounding of the decimal part is not accumulated.
【0108】上記実施の形態では、構成単位データHU
Dをスコアの昇順にソートしてテンポリストTLの作成
を行なっているが、逆に、単位データHUDをスコアの
降順にソートしてテンポリストTLの作成を行なっても
よい。その場合、テンポリスト作成処理では、テンポリ
ストTLに先に貼り付けた単位データTUDを優先さ
せ、後から貼り付ける単位データTUDをそれに重なら
ないように変形させればよい。In the above embodiment, the constituent unit data HU
Although D is sorted in ascending order of scores to create the tempo list TL, conversely, unit data HUD may be sorted in descending order of scores to create the tempo list TL. In that case, in the tempo list creation processing, the unit data TUD pasted to the tempo list TL may be prioritized, and the unit data TUD pasted later may be modified so as not to overlap it.
【0109】また、ソートを行なわずにテンポリストの
作成をすることもできる。その場合、複数の構成単位H
UDを任意の順番で取り出してテンポリストTLに貼り
付ける。そして、後から貼り付ける構成単位HUDが既
に貼り付けた構成単位HUDに重なった時点で、スコア
の高いほうを優先させ、スコアの低いほうの構成単位H
UDから作成した構成単位TUDを変形させればよい。It is also possible to create a tempo list without performing sorting. In that case, a plurality of structural units H
The UDs are taken out in an arbitrary order and attached to the tempo list TL. Then, when the structural unit HUD to be attached later overlaps with the structural unit HUD already attached, the one with the higher score is given priority, and the structural unit H with the lower score is given priority.
The structural unit TUD created from the UD may be modified.
【0110】上記実施の形態では、図3に示す手順で処
理を進めているが、[分析2](すなわち[分析1]と
[統合1]でテンポ値が求められなかった区間に対する
再度の分析)については省略してもよい。その場合は、
[分析1]と[統合1]の結果に対して[統合2]で説
明したような細かくしすぎた区間を探して区間リストS
L2を作成する処理を施せばよい。In the above-mentioned embodiment, the processing is carried out in the procedure shown in FIG. 3, but the re-analysis is performed on the section for which the tempo value was not obtained in [Analysis 2] (ie [Analysis 1] and [Integration 1] ) May be omitted. In that case,
For the results of [Analysis 1] and [Integration 1], the section list S is searched for an overly detailed section as described in [Integration 2].
The process of creating L2 may be performed.
【0111】また上記実施の形態では、[分析1]と
[分析2]の2段階による分析にもかかわらず、[統合
2]におけるステップ701で閾値以下と判断され、テ
ンポ値の取得できない区間が残る場合がある。その区間
について更なる分析を行なうようにしてもよい。あるい
は、テンポが取得できなかった区間については、前後の
区間のテンポや拍位置に基づいて補間を行ない、当該区
間のテンポを決定するようにしてもよい。Further, in the above-described embodiment, despite the two-step analysis of [Analysis 1] and [Analysis 2], it is determined in step 701 in [Integration 2] that the threshold value is not more than the threshold value, and the tempo value cannot be acquired in some sections. It may remain. Further analysis may be performed for that section. Alternatively, for a section for which the tempo could not be acquired, interpolation may be performed based on the tempo and beat position of the preceding and succeeding sections to determine the tempo of the section.
【0112】なお、本発明の実施態様として、下記のよ
うなテンポ推定装置を実現できる。第1は、音楽データ
のテンポ推定装置であって、テンポを推定する対象の音
楽データ上に分析対象とする部分的データを切り出すた
めの所定幅のフレームを設定し、前記フレームにより切
り出した音楽データを分析してテンポ値を求め、前記フ
レームの位置をずらしながらテンポ値を求める処理を繰
り返して、フレームごとのテンポ値を集めたリストであ
る第1の分析結果を取得する第1の分析手段と、前記第
1の分析結果から、テンポ値を求めることができた範囲
とその範囲のテンポ値とを並べたリストである第1のテ
ンポリストを作成する手段と、前記第1の分析でテンポ
値の検出に失敗した区間を並べたリストである第1の区
間リストを作成する手段と、前記第1の区間リストの各
区間に対して、再度、前記第1の分析のときより幅の狭
いフレームを用いてテンポ値を求める処理を施し、それ
らの区間のテンポ値を並べたリストである第2の分析結
果を取得する第2の分析手段と、前記第1の分析結果お
よび第2の分析結果から、テンポ値を求めることができ
た範囲とその範囲のテンポ値とを並べたリストである第
2のテンポリストを作成する手段と、前記第2のテンポ
リストから、隣合う複数の区間であって、隣合う区間と
区間との間の距離が所定の閾値以下、かつ、それらの区
間のテンポ値の最大値と最小値との差が所定の閾値以下
である区間を、一続きの区間としてまとめ、それら一続
きの区間のリストである第2の区間リストを作成する手
段と、前記第2の区間リストの各区間について、フレー
ムを設定することなく、再度、テンポ値を求める処理を
施し、それらの区間のテンポ値を並べたリストである第
3の分析結果を取得する第3の分析手段と、前記第2の
テンポリストに対して、前記第3の分析により取得され
た各区間のテンポ値を反映させることにより、前記音楽
データ中の同じテンポ値を有する範囲とその範囲のテン
ポ値とを並べたリストである最終的なテンポリストを取
得する手段とを備えることを特徴とするものである。As an embodiment of the present invention, the following tempo estimating device can be realized. The first is a music data tempo estimating device, in which a frame of a predetermined width for cutting out partial data to be analyzed is set on music data whose tempo is to be estimated, and music data cut out by the frame is set. A first analysis means for obtaining a first analysis result, which is a list of tempo values for each frame, by repeating the process of calculating the tempo value while shifting the position of the frame by analyzing A means for creating a first tempo list, which is a list in which a range for which a tempo value can be obtained and a tempo value in the range are arranged from the result of the first analysis, and a tempo value in the first analysis Means for creating a first section list, which is a list in which the sections for which the detection of the first section is unsuccessful is arranged, and again, for each section of the first section list, a width narrower than that in the first analysis Second analysis means for performing a process of obtaining a tempo value using a new frame, and obtaining a second analysis result which is a list in which tempo values of those sections are arranged, and the first analysis result and the second analysis result. Means for creating a second tempo list, which is a list in which the range in which the tempo value can be obtained from the analysis result and the tempo value of the range are arranged, and a plurality of adjacent sections from the second tempo list. The distance between adjacent sections is equal to or less than a predetermined threshold, and the interval between the maximum and minimum tempo values of those sections is equal to or less than a predetermined threshold. Means for creating a second section list, which is a list of a series of sections, and a process for determining the tempo value again without setting a frame for each section of the second section list. Give and those Third analysis means for acquiring a third analysis result, which is a list in which tempo values are arranged, and tempo values for each section acquired by the third analysis, with respect to the second tempo list. It is characterized by comprising means for acquiring a final tempo list, which is a list in which a range having the same tempo value in the music data and a tempo value of the range are arranged by being reflected.
【0113】第2は、音楽データのテンポ推定装置であ
って、テンポを推定する対象の音楽データ上に分析対象
とする部分的データを切り出すための所定幅のフレーム
を設定し、前記フレームにより切り出した音楽データを
分析してテンポ値を求め、前記フレームの位置をずらし
ながらテンポ値を求める処理を繰り返して、フレームご
とのテンポ値を集めたリストである第1の分析結果を取
得する第1の分析手段と、前記分析結果から、テンポ値
を求めることができた範囲とその範囲のテンポ値とを並
べたリストであるテンポリストを作成する手段と、前記
テンポリストから、隣合う複数の区間であって、隣合う
区間と区間との間の距離が所定の閾値以下、かつ、それ
らの区間のテンポ値の最大値と最小値との差が所定の閾
値以下である区間を、一続きの区間としてまとめ、それ
ら一続きの区間のリストである区間リストを作成する手
段と、前記区間リストの各区間について、フレームを設
定することなく、再度、テンポ値を求める処理を施し、
それらの区間のテンポ値を並べたリストである第2の分
析結果を取得する第2の分析手段と、前記テンポリスト
に対して、前記第2の分析により取得された各区間のテ
ンポ値を反映させることにより、前記音楽データ中の同
じテンポ値を有する範囲とその範囲のテンポ値とを並べ
たリストである最終的なテンポリストを取得する手段と
を備えることを特徴とするものである。The second is a music data tempo estimating device, which sets a frame of a predetermined width for cutting out partial data to be analyzed on music data of which tempo is to be estimated, and cuts out by the frame. The first analysis result, which is a list of tempo values for each frame, is obtained by analyzing the music data to obtain the tempo value and repeating the process of obtaining the tempo value while shifting the position of the frame. Analyzing means, means for creating a tempo list, which is a list in which the range in which the tempo value can be obtained from the analysis result and the tempo value of the range are arranged, and from the tempo list, in a plurality of adjacent sections And a distance between adjacent sections is a predetermined threshold value or less, and a difference between the maximum and minimum tempo values of those sections is a predetermined threshold value or less Collectively as a section of a series, performing means for creating a segment list is a list of those series of sections, each section of the segment list, without setting the frame, again, the process of obtaining the tempo value,
Second analysis means for acquiring a second analysis result which is a list in which tempo values of the sections are arranged, and the tempo value of each section acquired by the second analysis is reflected on the tempo list. By doing so, it is characterized by comprising means for acquiring a final tempo list, which is a list in which a range having the same tempo value in the music data and the tempo value of the range are arranged.
【0114】第3は、上述の音楽データのテンポ推定装
置において、前記テンポ値を求める際、そのテンポ値が
どの程度信頼できる値であるかの指標となるスコア値を
求め、前記分析結果から前記テンポリストを作成する場
合に重なる区間で異なるテンポ値である分析結果があっ
たときには、前記スコア値が高いテンポ値を優先させて
テンポリストに反映させることを特徴とするものであ
る。Thirdly, in the above-mentioned music data tempo estimating device, when the tempo value is obtained, a score value as an index of how reliable the tempo value is is obtained, and the score value is obtained from the analysis result. When there are analysis results having different tempo values in overlapping sections when creating tempo lists, the tempo value having the higher score value is prioritized and reflected in the tempo list.
【0115】第4は、上述の音楽データのテンポ推定装
置において、前記分析結果から前記テンポリストを作成
する際には、前記音楽データ上でテンポ値を求めること
ができた範囲の開始位置と終了位置がビート位置に合う
ように範囲を調整する手段をさらに備えることを特徴と
するものである。Fourth, in the above-mentioned music data tempo estimating device, when the tempo list is created from the analysis result, the start position and the end position of the range in which the tempo value can be obtained on the music data. It further comprises means for adjusting the range so that the position matches the beat position.
【0116】第5は、上述の音楽データのテンポ推定装
置において、ユーザにより前記音楽データ上の所定区間
内のテンポ値の期待範囲を入力する手段をさらに備え、
該期待範囲をはずれる当該区間のテンポ値が検出された
場合は、該検出されたテンポ値は排除して以後の処理対
象からは外すことを特徴とするものである。Fifth, the above-mentioned music data tempo estimation apparatus further comprises means for inputting an expected range of tempo values within a predetermined section on the music data by a user.
When the tempo value of the section outside the expected range is detected, the detected tempo value is excluded and excluded from the subsequent processing targets.
【0117】[0117]
【発明の効果】以上説明したように、本発明によれば、
テンポが途中で変化するような音楽データであってもそ
のテンポを正確に推定することができる。特に、異なる
区間でテンポ推定を行ない、複数の推定結果を合成する
ので、各区間で推定したテンポは正確である。また、同
じようなテンポ値の検出された区間を統合するので、広
い範囲にわたるテンポを正しく検出することができる。
さらに、第1フレーム長でテンポの推定を行ない、推定
の失敗した区間について第1フレーム長より短い第2フ
レーム長で推定を行なうので、全体を短いフレーム長で
分析する場合に比較して、少ない演算量で正確な推定が
できる。また、あらかじめ各位置範囲ごとに期待範囲を
指定しているので、突拍子もないテンポ値が推定される
のを防止することができる。推定時にテンポの変化のタ
イミングをビートのタイミングに合わせるので、テンポ
推定後の処理(例えば、他のオーディオ信号/MIDI信号
をビートに同期させて再生するための処理)が簡単にな
る。テンポ変化のタイミングをビートタイミングに合わ
せておくと、異なる区間で行なわれたテンポ推定の結果
を合成する際に、補正処理が簡単になる。As described above, according to the present invention,
Even for music data whose tempo changes midway, the tempo can be accurately estimated. In particular, since tempo estimation is performed in different sections and a plurality of estimation results are combined, the tempo estimated in each section is accurate. Further, since the sections in which similar tempo values are detected are integrated, it is possible to correctly detect tempos over a wide range.
Furthermore, since the tempo is estimated with the first frame length and the estimation failure period is estimated with the second frame length which is shorter than the first frame length, it is smaller than when the whole is analyzed with a short frame length. Accurate estimation can be performed with the amount of calculation. In addition, since the expected range is specified in advance for each position range, it is possible to prevent the tempo value from being estimated with no unexpected time. Since the timing of the tempo change is matched with the timing of the beat during the estimation, the processing after the estimation of the tempo (for example, the processing for reproducing another audio signal / MIDI signal in synchronization with the beat) becomes simple. If the timing of tempo change is matched with the beat timing, the correction process becomes simple when combining the results of tempo estimation performed in different sections.
【図1】この発明の実施の形態に係る波形テンポ推定シ
ステムの全体構成図である。FIG. 1 is an overall configuration diagram of a waveform tempo estimation system according to an embodiment of the present invention.
【図2】波形データのテンポを推定させる場合のユーザ
の操作手順を示す図である。FIG. 2 is a diagram showing a user's operation procedure when estimating the tempo of waveform data.
【図3】実施の形態のテンポ推定処理の手順および処理
全体のデータの流れを示す図である。FIG. 3 is a diagram showing a procedure of tempo estimation processing according to the embodiment and a data flow of the entire processing.
【図4】ビート位置検出処理の手順の一例を示す図であ
る。FIG. 4 is a diagram illustrating an example of a procedure of beat position detection processing.
【図5】分析1,2,3におけるビート検出処理の手順
を示す図である。5 is a diagram showing a procedure of beat detection processing in analysis 1, 2, and 3. FIG.
【図6】フレームを進めながらビート検出処理を行なう
様子を示す図である。FIG. 6 is a diagram showing how beat detection processing is performed while advancing a frame.
【図7】統合1,2における統合処理の手順を示す図で
ある。FIG. 7 is a diagram showing a procedure of integration processing in integrations 1 and 2.
【図8】統合1,2,3におけるテンポリスト作成処理
の手順を示す図である。FIG. 8 is a diagram showing a procedure of tempo list creation processing in integrations 1, 2, and 3.
【図9】<case1>の場合のコピー前のテンポリストお
よびコピー後のテンポリストの様子を示す図である。FIG. 9 is a diagram showing a state of a tempo list before copying and a tempo list after copying in the case of <case 1>.
【図10】<case2>の場合のコピー前のテンポリスト
およびコピー後のテンポリストの様子を示す図である。FIG. 10 is a diagram showing a state of a tempo list before copying and a tempo list after copying in the case of <case 2>.
【図11】<case3>の場合のコピー前のテンポリスト
およびコピー後のテンポリストの様子を示す図である。FIG. 11 is a diagram showing a state of a tempo list before copying and a tempo list after copying in the case of <case 3>.
【図12】<case3>の場合の別のコピー前のテンポリ
ストおよびコピー後のテンポリストの様子を示す図であ
る。FIG. 12 is a diagram showing the states of another tempo list before copying and a tempo list after copying in the case of <case 3>.
【図13】<case4>の場合のコピー前のテンポリスト
およびコピー後のテンポリストの様子を示す図である。FIG. 13 is a diagram showing a state of a tempo list before copying and a tempo list after copying in the case of <case 4>.
【図14】区間リストSL1のデータ例を示す図であ
る。FIG. 14 is a diagram showing an example of data of a section list SL1.
【図15】条件1,2を満たす場合と満たさない場合の
例および区間リストSL2のデータ例を示す図である。FIG. 15 is a diagram illustrating an example in which conditions 1 and 2 are satisfied and a case in which conditions are not satisfied, and a data example of a section list SL2.
【図16】統合3の処理手順を示す図である。FIG. 16 is a diagram showing a processing procedure of integration 3;
【図17】本実施の形態で使用する各種データ(その
1)のフォーマットを示す図である。FIG. 17 is a diagram showing formats of various data (No. 1) used in the present embodiment.
【図18】本実施の形態で使用する各種データ(その
2)のフォーマットを示す図である。FIG. 18 is a diagram showing formats of various data (No. 2) used in the present embodiment.
101…中央処理装置(CPU)、102…リードオン
リメモリ(ROM)、103…ランダムアクセスメモリ
(RAM)、104…ドライブ装置、106…MIDI
インターフェース、107…パネルスイッチ、108…
パネル表示器、111…書込回路、112…アクセス管
理部、113…波形メモリ、114…音源、115…サ
ウンドシステム、120…バスライン。101 ... Central processing unit (CPU), 102 ... Read only memory (ROM), 103 ... Random access memory (RAM), 104 ... Drive device, 106 ... MIDI
Interface, 107 ... Panel switch, 108 ...
Panel display, 111 ... Writing circuit, 112 ... Access control section, 113 ... Waveform memory, 114 ... Sound source, 115 ... Sound system, 120 ... Bus line.
Claims (10)
定するステップと、 前記推定範囲ごとに前記音楽データを分析してテンポを
推定し、その推定範囲ごとのテンポ値を得るステップ
と、 前記複数の推定範囲の各テンポ値を統合して、前記音楽
データの時間的に変動するテンポ値を得るステップとを
備えることを特徴とする音楽データのテンポ推定方法。1. A method for estimating a tempo of music data, the step of inputting music data to be estimated, the step of setting a plurality of different estimation ranges for the input music data, and the music data for each estimation range. And estimating a tempo to obtain a tempo value for each estimated range; and integrating each tempo value of the plurality of estimated ranges to obtain a temporally varying tempo value of the music data. A method for estimating tempo of music data, comprising:
方法において、 前記推定範囲は、互いに幅が異なる複数の推定範囲であ
ることを特徴とする音楽データのテンポ推定方法。2. The tempo estimation method for music data according to claim 1, wherein the estimation range is a plurality of estimation ranges having different widths.
方法において、 前記推定範囲は、互いに位置が異なる複数の推定範囲で
あることを特徴とする音楽データのテンポ推定方法。3. The tempo estimation method for music data according to claim 1, wherein the estimation range is a plurality of estimation ranges whose positions are different from each other.
定するステップと、 前記推定範囲ごとに前記音楽データを分析してテンポを
推定し、その推定範囲ごとに、テンポ値と推定の信頼度
を示すスコア値とを得るステップと、 前記複数の推定範囲の各テンポ値を前記各スコア値に基
づいて統合し、前記音楽データの時間的に変動するテン
ポ値を得るステップとを備えることを特徴とする音楽デ
ータのテンポ推定方法。4. A method for estimating tempo of music data, the step of inputting music data to be estimated, the step of setting a plurality of different estimation ranges for the input music data, and the music data for each estimation range. To estimate the tempo and obtain a tempo value and a score value indicating the reliability of the estimation for each estimation range, and integrating each tempo value of the plurality of estimation ranges based on each score value. And a step of obtaining a temporally varying tempo value of the music data.
データのテンポ推定方法において、 前記複数の推定範囲の各テンポ値の統合は、前記音楽デ
ータから抽出された拍位置を基準に統合を行なうもので
あることを特徴とする音楽データのテンポ推定方法。5. The music data tempo estimating method according to claim 1, wherein the tempo values of the plurality of estimation ranges are integrated based on a beat position extracted from the music data. A method for estimating tempo of music data, characterized by being integrated into.
て、それぞれ、その推定範囲の音楽データを分析してテ
ンポを推定しテンポ値を得るステップと、 前記重複部分に関して、前記2つの推定範囲が重ならな
いように、前記2つの推定範囲の少なくとも一方の推定
範囲を修正するステップと、 少なくとも一方が修正された前記2つの推定範囲の各テ
ンポ値を統合して、前記音楽データの時間的に変動する
テンポ値を得るステップとを備えることを特徴とする音
楽データのテンポ推定方法。6. A method for estimating tempo of music data, wherein the step of inputting music data to be estimated and the two estimation ranges on the music data that partially overlap each other are analyzed respectively. Estimating the tempo to obtain a tempo value, modifying at least one of the two estimation ranges so that the two estimation ranges do not overlap with respect to the overlapping portion, and at least one is modified. And a tempo estimation method for music data, which comprises: integrating tempo values of the two estimation ranges to obtain a tempo value that temporally changes of the music data.
れぞれ、その推定範囲の音楽データを分析してテンポを
推定しテンポ値を得るステップと、 前記2つの推定範囲の拍位置が接合部で互いにずれない
ように、前記2つの推定範囲の少なくとも一方のテンポ
値または拍位置を修正するステップと、 少なくとも一方が修正された前記2つの推定範囲のテン
ポ値を統合して、前記音楽データの時間的に変動するテ
ンポ値を得るステップとを備えることを特徴とする音楽
データのテンポ推定方法。7. A method for estimating a tempo of music data, wherein the step of inputting music data to be estimated and the two estimated ranges to be continuously joined are analyzed to determine the tempo. To obtain a tempo value, and to correct the tempo value or the beat position of at least one of the two estimated ranges so that the beat positions of the two estimated ranges do not shift from each other at the joint, Integrating the modified tempo values of the two estimated ranges to obtain a temporally varying tempo value of the music data.
ぞれ、その推定範囲の音楽データを分析してテンポを推
定しテンポ値を得るステップと、 前記複数の範囲のうち、隣合う範囲間の距離が所定幅以
下で、かつ、それらの各範囲で推定されたテンポ値の差
が所定値以下であるような複数の範囲をグループ化し、
各グループの期待テンポを決定するステップと、 前記各グループの存在する範囲について、その範囲の音
楽データを分析してテンポを推定しテンポ値を得るステ
ップと、 前記各グループで得られたテンポ値と前記各グループの
期待テンポとを比較し、その差が所定値以下の場合は、
当該グループに属する複数範囲を統合し、統合された範
囲のテンポ値を当該グループで得られたテンポ値とする
ステップとを備えることを特徴とする音楽データのテン
ポ推定方法。8. A method of estimating tempo of music data, which comprises inputting music data to be estimated, and analyzing the tempo by analyzing the music data of each of a plurality of ranges on the time axis of the music data. And obtaining a tempo value, the distance between adjacent ranges of the plurality of ranges is less than or equal to a predetermined width, and the difference between the tempo values estimated in each of the ranges is less than or equal to a predetermined value. Group multiple ranges,
Determining the expected tempo of each group, for the range in which each group exists, analyzing the music data of the range to estimate the tempo to obtain a tempo value, and the tempo value obtained in each group Compare with the expected tempo of each group, if the difference is less than a predetermined value,
And a step of integrating a plurality of ranges belonging to the group and setting a tempo value of the combined range as a tempo value obtained in the group.
フレームを複数設定し、各位置の第1フレームごとにテ
ンポを推定するステップと、 前記音楽データ上の異なる位置に前記第1の幅より小さ
い第2の幅を有する第2フレームを複数設定し、各位置
の第2フレームごとにテンポを推定するステップと、 前記複数の第1フレームで推定されたテンポ値と、前記
複数の第2フレームで推定されたテンポ値を統合して、
前記音楽データの変動するテンポ値を得るステップとを
備えることを特徴とする音楽データのテンポ推定方法。9. A method for estimating tempo of music data, the step of inputting music data to be estimated, and a first width having a first width at a different position on the music data.
Setting a plurality of frames, estimating the tempo for each first frame at each position, and setting a plurality of second frames having a second width smaller than the first width at different positions on the music data, Estimating a tempo for each second frame at each position, integrating the tempo values estimated in the plurality of first frames, and the tempo values estimated in the plurality of second frames,
And a step of obtaining a varying tempo value of the music data.
ポ値の期待範囲を設定するステップと、 前記音楽データを分析して、前記各区間のテンポ値を推
定するステップと、 前記各区間について、前記推定されたテンポ値が前記期
待範囲に入るものを残し、期待範囲に入らないものを削
除するステップとを備えることを特徴とする音楽データ
のテンポ推定方法。10. A method for estimating tempo of music data, which comprises inputting music data to be estimated, dividing the music data into predetermined sections, and setting an expected range of tempo value for each section. Analyzing music data to estimate the tempo value of each section; and for each section, leave the estimated tempo value within the expected range and delete the estimated tempo value outside the expected range A tempo estimation method for music data, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002061503A JP3674950B2 (en) | 2002-03-07 | 2002-03-07 | Method and apparatus for estimating tempo of music data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002061503A JP3674950B2 (en) | 2002-03-07 | 2002-03-07 | Method and apparatus for estimating tempo of music data |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003263162A true JP2003263162A (en) | 2003-09-19 |
JP3674950B2 JP3674950B2 (en) | 2005-07-27 |
Family
ID=29195773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002061503A Expired - Fee Related JP3674950B2 (en) | 2002-03-07 | 2002-03-07 | Method and apparatus for estimating tempo of music data |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3674950B2 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005274708A (en) * | 2004-03-23 | 2005-10-06 | Sony Corp | Signal processor and signal processing method, program, and recording medium |
WO2007004540A1 (en) * | 2005-07-01 | 2007-01-11 | Pioneer Corporation | Computer program, information reproduction device, and method |
WO2007086417A1 (en) * | 2006-01-25 | 2007-08-02 | Sony Corporation | Beat extraction device and beat extraction method |
JP2008233812A (en) * | 2007-03-23 | 2008-10-02 | Yamaha Corp | Beat detecting device |
JP2008283305A (en) * | 2007-05-08 | 2008-11-20 | Sony Corp | Beat emphasizing device, audio output device, electronic equipment, and beat output method |
US7534951B2 (en) | 2005-07-27 | 2009-05-19 | Sony Corporation | Beat extraction apparatus and method, music-synchronized image display apparatus and method, tempo value detection apparatus, rhythm tracking apparatus and method, and music-synchronized display apparatus and method |
JP2010072595A (en) * | 2008-09-22 | 2010-04-02 | Kddi Corp | Beat location presumption system, method, and program |
JP2010097084A (en) * | 2008-10-17 | 2010-04-30 | Kddi Corp | Mobile terminal, beat position estimation method, and beat position estimation program |
US7855334B2 (en) | 2005-12-09 | 2010-12-21 | Sony Corporation | Music edit device and music edit method |
JP2015114385A (en) * | 2013-12-09 | 2015-06-22 | ヤマハ株式会社 | Acoustic signal analysis control program, and acoustic signal analysis control device |
WO2018160007A1 (en) * | 2017-02-28 | 2018-09-07 | 삼성전자 주식회사 | Method and device for processing multimedia data |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670074B (en) * | 2018-12-12 | 2020-05-15 | 北京字节跳动网络技术有限公司 | Rhythm point identification method and device, electronic equipment and storage medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0527751A (en) * | 1991-07-19 | 1993-02-05 | Brother Ind Ltd | Tempo extraction device used for automatic music transcription device or the like |
JPH06175650A (en) * | 1992-12-02 | 1994-06-24 | Yamaha Corp | Automatic musical performance controller |
JPH06348272A (en) * | 1993-06-07 | 1994-12-22 | Roland Corp | Tempo detecting device |
JPH0764544A (en) * | 1993-08-25 | 1995-03-10 | Casio Comput Co Ltd | Device and method for generating tempo data |
JP2000035796A (en) * | 1998-05-07 | 2000-02-02 | Canon Inc | Method and device for processing music information |
JP2000267654A (en) * | 1999-03-17 | 2000-09-29 | Aiwa Co Ltd | Tempo calculation method |
JP2001125562A (en) * | 1999-10-27 | 2001-05-11 | Natl Inst Of Advanced Industrial Science & Technology Meti | Method and device for estimating pitch |
-
2002
- 2002-03-07 JP JP2002061503A patent/JP3674950B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0527751A (en) * | 1991-07-19 | 1993-02-05 | Brother Ind Ltd | Tempo extraction device used for automatic music transcription device or the like |
JPH06175650A (en) * | 1992-12-02 | 1994-06-24 | Yamaha Corp | Automatic musical performance controller |
JPH06348272A (en) * | 1993-06-07 | 1994-12-22 | Roland Corp | Tempo detecting device |
JPH0764544A (en) * | 1993-08-25 | 1995-03-10 | Casio Comput Co Ltd | Device and method for generating tempo data |
JP2000035796A (en) * | 1998-05-07 | 2000-02-02 | Canon Inc | Method and device for processing music information |
JP2000267654A (en) * | 1999-03-17 | 2000-09-29 | Aiwa Co Ltd | Tempo calculation method |
JP2001125562A (en) * | 1999-10-27 | 2001-05-11 | Natl Inst Of Advanced Industrial Science & Technology Meti | Method and device for estimating pitch |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4650662B2 (en) * | 2004-03-23 | 2011-03-16 | ソニー株式会社 | Signal processing apparatus, signal processing method, program, and recording medium |
JP2005274708A (en) * | 2004-03-23 | 2005-10-06 | Sony Corp | Signal processor and signal processing method, program, and recording medium |
US7868240B2 (en) | 2004-03-23 | 2011-01-11 | Sony Corporation | Signal processing apparatus and signal processing method, program, and recording medium |
WO2007004540A1 (en) * | 2005-07-01 | 2007-01-11 | Pioneer Corporation | Computer program, information reproduction device, and method |
JP4979018B2 (en) * | 2005-07-01 | 2012-07-18 | パイオニア株式会社 | Computer program and information reproducing apparatus and method |
JPWO2007004540A1 (en) * | 2005-07-01 | 2009-01-29 | パイオニア株式会社 | Computer program and information reproducing apparatus and method |
US8180468B2 (en) | 2005-07-01 | 2012-05-15 | Pioneer Corporation | Computer program, information reproduction device, and method |
US7534951B2 (en) | 2005-07-27 | 2009-05-19 | Sony Corporation | Beat extraction apparatus and method, music-synchronized image display apparatus and method, tempo value detection apparatus, rhythm tracking apparatus and method, and music-synchronized display apparatus and method |
US7855334B2 (en) | 2005-12-09 | 2010-12-21 | Sony Corporation | Music edit device and music edit method |
WO2007086417A1 (en) * | 2006-01-25 | 2007-08-02 | Sony Corporation | Beat extraction device and beat extraction method |
JP2007199306A (en) * | 2006-01-25 | 2007-08-09 | Sony Corp | Beat extracting device and method |
US8076566B2 (en) | 2006-01-25 | 2011-12-13 | Sony Corporation | Beat extraction device and beat extraction method |
JP2008233812A (en) * | 2007-03-23 | 2008-10-02 | Yamaha Corp | Beat detecting device |
JP2008283305A (en) * | 2007-05-08 | 2008-11-20 | Sony Corp | Beat emphasizing device, audio output device, electronic equipment, and beat output method |
JP2010072595A (en) * | 2008-09-22 | 2010-04-02 | Kddi Corp | Beat location presumption system, method, and program |
JP2010097084A (en) * | 2008-10-17 | 2010-04-30 | Kddi Corp | Mobile terminal, beat position estimation method, and beat position estimation program |
JP2015114385A (en) * | 2013-12-09 | 2015-06-22 | ヤマハ株式会社 | Acoustic signal analysis control program, and acoustic signal analysis control device |
WO2018160007A1 (en) * | 2017-02-28 | 2018-09-07 | 삼성전자 주식회사 | Method and device for processing multimedia data |
US10819884B2 (en) | 2017-02-28 | 2020-10-27 | Samsung Electronics Co., Ltd. | Method and device for processing multimedia data |
Also Published As
Publication number | Publication date |
---|---|
JP3674950B2 (en) | 2005-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4389330B2 (en) | Performance position detection method and score display device | |
EP1547060B1 (en) | System and method for generating an audio thumbnail of an audio track | |
JP2003263162A (en) | Method and device for estimating tempo of musical data | |
US7502547B2 (en) | Signal recording/reproducing apparatus and recording/reproducing method, signal reproducing apparatus and reproducing method, and program | |
US20110010175A1 (en) | Text data processing apparatus, text data processing method, and recording medium storing text data processing program | |
JP2001343994A (en) | Voice recognition error detector and storage medium | |
JP7552732B2 (en) | Information processing device, information processing method, and program | |
EP1370989B1 (en) | Method and apparatus for identifying electronic files | |
JP3785068B2 (en) | Video analysis apparatus, video analysis method, video analysis program, and program recording medium | |
JP5189413B2 (en) | Voice data retrieval system | |
JP4399958B2 (en) | Performance support apparatus and performance support method | |
CN106971750B (en) | Lyric file and tone file alignment method and device | |
CN115103225B (en) | Video clip extraction method, device, electronic equipment and storage medium | |
US20020133358A1 (en) | Linking in parametric encoding | |
Robertson | Decoding Tempo and Timing Variations in Music Recordings from Beat Annotations. | |
JP3977683B2 (en) | Video analysis apparatus, video analysis method, video analysis program, and video analysis program recording medium | |
KR920007206B1 (en) | Automatic musical notes recording method and thereof device | |
JPH0887417A (en) | Compiler device | |
JPH07117833B2 (en) | Musical note similarity calculator | |
JPS63196990A (en) | Bar-code reader | |
JP3891097B2 (en) | Index generation method and apparatus, program, and computer-readable recording medium | |
JP3905230B2 (en) | Magnetic disk drive and synchrobyte detection signal generation method used therefor | |
JP4033142B2 (en) | Video / scenario matching method, apparatus and program | |
JP2896315B2 (en) | Logic simulation method | |
JP2908184B2 (en) | Text file editing method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050214 |
|
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: 20050411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050424 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130513 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |