JP4398049B2 - Time-series signal analysis method and acoustic signal encoding method - Google Patents

Time-series signal analysis method and acoustic signal encoding method Download PDF

Info

Publication number
JP4398049B2
JP4398049B2 JP2000068520A JP2000068520A JP4398049B2 JP 4398049 B2 JP4398049 B2 JP 4398049B2 JP 2000068520 A JP2000068520 A JP 2000068520A JP 2000068520 A JP2000068520 A JP 2000068520A JP 4398049 B2 JP4398049 B2 JP 4398049B2
Authority
JP
Japan
Prior art keywords
section
signal
time
unit
correlation
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.)
Expired - Fee Related
Application number
JP2000068520A
Other languages
Japanese (ja)
Other versions
JP2001255893A (en
Inventor
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2000068520A priority Critical patent/JP4398049B2/en
Publication of JP2001255893A publication Critical patent/JP2001255893A/en
Application granted granted Critical
Publication of JP4398049B2 publication Critical patent/JP4398049B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To divide time series signals into plural unit segments that are not overlapped with each other and to analyze them so that discontinuity at a segment boundary is suppressed. SOLUTION: Time series signals X which are objects of analysis are inputted as digital data and divided into three unit segments d1, d2 and d3. Each unit segment is set to satisfy four conditions, i.e., starting and ending points of each unit segment become zero crossing points of the signals X, the segment has a segment length within the range of beforehand set minimum and maximum segment lengths, equivalent to integer periods of the signals X is included within the segment and the ending point comes to the position of the constriction portion of the signals X. Correlation computations are conducted with many kinds of periodic functions for every signal in an individual unit segment. The computations are conducted only for a correlation computation object segment which has a length that is a multiple of integer of the period of a periodic function Rn being the object of the correlation computation and is defined as a segment having a maximum length within the range that does not exceed the unit segment. A correlation value that is the result of the computations is outputted as a result of the analysis and based on the analysis result, a coding of the signals X is conducted.

Description

【0001】
【発明の属する技術分野】
本発明は時系列信号の解析方法および音響信号の符号化方法に関し、時系列の強度信号として与えられる時系列信号から、その構成要素となる複数の周期信号を抽出することにより解析を行い、更に、この解析方法を利用して音響信号を符号化する技術に関する。特に、本発明は一般の音響信号を、MIDI形式の符号データに効率良く変換する処理への利用に適しており、放送メディア(ラジオ、テレビ)、通信メディア(CS映像・音声配信、インターネット配信)、パッケージメディア(CD、MD、カセット、ビデオ、LD、CD−ROM、ゲームカセット)などで提供する各種オーディオコンテンツを制作する種々の産業分野や、医療聴診音(たとえば、心音)などの各種音響信号解析や診断の分野への応用が期待される。
【0002】
【従来の技術】
音響信号に代表される時系列信号には、その構成要素として複数の周期信号が含まれている。このため、与えられた時系列信号にどのような周期信号が含まれているかを解析する手法は、古くから知られている。たとえば、フーリエ解析は、与えられた時系列信号に含まれる周波数成分を解析するための方法として広く利用されている。
【0003】
このような時系列信号の解析手法を利用すれば、音響信号を符号化することも可能である。コンピュータの普及により、原音となるアナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして取り込むことが容易にできるようになってきており、こうして取り込んだデジタルデータに対してフーリエ解析などの手法を適用し、原音信号に含まれていた周波数成分を抽出すれば、各周波数成分を示す符号によって原音信号の符号化が可能になる。
【0004】
一方、電子楽器による楽器音を符号化しようという発想から生まれたMIDI(Musical Instrument Digital Interface)規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このMIDI規格による符号データ(以下、MIDIデータという)は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このMIDIデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したMIDI音源が別途必要になるが、その符号化効率の高さが注目を集めており、MIDI規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウエアに広く採り入れられている。
【0005】
そこで、音響信号に代表される時系列信号に対して、所定の手法で解析を行うことにより、その構成要素となる周期信号を抽出し、抽出した周期信号をMIDIデータを用いて符号化しようとする提案がなされている。たとえば、特開平10−247099号公報、特開平11−73199号公報、特開平11−73200号公報、特開平11−95753号公報、特願平10−283453号明細書、特願平10−283454号明細書、特願平11−58431号明細書、特願平11−177875号明細書、特願平11−329297号明細書、には、任意の時系列信号について、構成要素となる周波数成分を解析し、その解析結果からMIDIデータを作成することができる種々の方法が提案されている。
【0006】
【発明が解決しようとする課題】
前掲の各文献に開示された解析方法は、いずれも、解析対象となる時系列信号の時間軸に沿って複数の単位区間を設定し、各単位区間ごとに相関の高い所定の周期関数を対応させ、各周期関数に相当する信号を構成要素となる周期信号として抽出するという手順を採っている。このとき、1つの単位区間の長さをどのように設定するかは、解析結果に大きな影響を与える重要な問題である。すなわち、区間長を短く設定すればするほど、時間分解能が向上するため、音声信号(ボーカル信号)などの周波数変化を解析するには好都合であるが、逆に、周波数分解能は低下するため、解析精度は低下するという問題が生じることになる。そこで従来は、1つの単位区間の中に、解析に最も都合が良いと思われるサンプル数(たとえば、1024サンプル)が含まれるように、標準的な区間長を予め定めておき、この固定の区間長に基づいて時間軸を機械的に区切ってゆくという方法を採るのが一般的である。
【0007】
しかしながら、固定長の単位区間を機械的に設定するという方法では、解析対象となる時系列信号がどのような信号であるかに拘らず、常に一義的な区間設定が行われることになるため、単位区間の境界部分において不連続性が生じるおそれがある。すなわち、隣接する単位区間についての周波数解析の結果に、大きな差が生じてしまうことがある。一般に、得られた周波数解析の結果を、スペクトルのグラフとして観察するために利用するような場合には、単位区間の境界において解析結果に差が生じていても、大きな問題にはならない。ところが、音響信号に対する解析結果を利用して、原音響信号に対応する符号データを作成するような場合、境界部分における不連続性は大きな問題となる。このような方法で符号化されたデータに基づいて、原音響信号を再生しようとすると、単位区間の境界において、音程の急激な変動が生じたり、音とびが生じたりすることになる。
【0008】
このような境界における不連続性を避けるために、時間軸上において単位区間を部分的に重複させて設定する方法も提案されているが、時間軸上の同一部分に対して重複した解析処理が必要になるため、演算負担が増加するという別な問題が生じることになる。
【0009】
そこで本発明は、時系列信号を互いに重複することのない複数の単位区間に分割しつつ、単位区間の境界において解析結果に不連続性が生じることのない正確な周波数解析を行うことができ、原音響信号の符号化を高い品質をもって行うことが可能な時系列信号の解析方法および音響信号の符号化方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
(1) 本発明の第1の態様は、時間的に振幅が変化する時系列信号から、その構成要素となる複数の周期信号を抽出する時系列信号の解析方法において、
解析対象となる時系列信号を、それぞれ所定の振幅をもった一連のサンプルからなるデジタルデータとして取り込む入力段階と、
取り込んだ時系列信号の時間軸上に複数の単位区間を設定する区間設定段階と、
複数通りの周波数を設定し、各周波数をもった周期関数を定義する周期関数定義段階と、
各単位区間内の時系列信号をそれぞれ各単位区間についての区間信号として抽出し、各区間信号と各周期関数との相関を計算し、その結果を各単位区間ごとに出力する相関演算段階と、
を行うようにし、
区間設定段階において、
予め、単位区間についての最小区間長と最大区間長とを定めておき、
時間軸上における所定の起点を第1の単位区間の始点とし、以下、前の単位区間の終点または終点以降に位置する点を次の単位区間の始点として、時間軸上に複数の単位区間を順次設定する処理を行うようにし、
1つの単位区間の終点を決める際に、当該単位区間の区間長が最小区間長〜最大区間長の範囲となるように、かつ、時系列信号を構成する一連のサンプルについて、1つのサンプルの振幅の符号が直前のサンプルの振幅の符号に対して反転している箇所を零交差点として検出し、いずれかの零交差点を構成するサンプルの位置が単位区間の終点として選択されるように、終点を決めるようにしたものである。
【0012】
(2) 本発明の第2の態様は、上述の第1の態様に係る時系列信号の解析方法において、
始点および終点を除いた単位区間内に奇数個の零交差点が含まれる、という条件を満たすように、終点を決めるようにしたものである。
【0013】
(3) 本発明の第3の態様は、上述の第1または2の態様に係る時系列信号の解析方法において、
隣接する零交差点間に存在するサンプルの中で振幅の絶対値が最大となるピークサンプルを求め、各ピークサンプルの振幅の絶対値をピーク値と定義したときに、このピーク値が極小となるようなピークサンプルの近傍に位置する極小零交差点を求め、この極小零交差点を構成するサンプルの位置を単位区間の終点として選択するようにしたものである。
【0014】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る時系列信号の解析方法において、
相関演算段階で、区間信号と特定の周期関数との相関を求める際に、当該特定の周期関数の周期の整数倍の長さをもった区間のうち、当該単位区間を越えない範囲内で最大の長さをもった区間を、相関計算対象区間と定め、この相関計算対象区間内についての相関のみを計算するようにしたものである。
【0015】
(5) 本発明の第5の態様は、上述の第1〜第4の態様に係る時系列信号の解析方法において、
相関演算段階で、区間信号と各周期関数との相関を計算する際に、第j番目の差分信号S(j)と周期関数定義段階で定義されたすべての周期関数との相関を求め、最大の相関が得られた周期関数を第j番目の要素関数として抽出し、この要素関数にその相関値を乗じることにより第j番目の含有信号G(j)を求め、差分信号S(j)から含有信号G(j)を減じることにより得られる信号を新たな差分信号S(j+1)とする処理を、区間信号を第1番目の差分信号S(1)として、j=1〜J(Jは任意の整数)までJ回繰り返し実行し、得られたJ個の含有信号G(1)〜G(J)を、当該区間に関する相関演算の結果として出力するようにしたものである。
【0016】
(6) 本発明の第6の態様は、時間的に振幅が変化する時系列信号として与えられた音響信号を符号化する音響信号の符号化方法において、
与えられた時系列信号を、それぞれ所定の振幅をもった一連のサンプルからなるデジタルデータとして取り込む入力段階と、
取り込んだ時系列信号の時間軸上に複数の単位区間を設定する区間設定段階と、
複数通りの周波数を設定し、各周波数をもった周期関数を定義する周期関数定義段階と、
各単位区間内の時系列信号をそれぞれ各単位区間についての区間信号として抽出し、各区間信号と各周期関数との相関を示す相関値をそれぞれ計算する相関演算段階と、
各単位区間について、相関値が大きい順にQ個の周期関数をそれぞれ選出し、選出された周期関数の周波数に対応する「音の高さを示す情報」、選出された周期関数の相関値に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間の終点に対応する「音の発音終了時刻を示す情報」、なる4つの情報を含むQ個の符号データを作成し、1つの単位区間内の音響信号をQ個の符号データにより符号化する符号化段階と、
を行うようにし、
区間設定段階において、
予め、単位区間についての最小区間長と最大区間長とを定めておき、
時間軸上における所定の起点を第1の単位区間の始点とし、以下、前の単位区間の終点または終点以降に位置する点を次の単位区間の始点として、時間軸上に複数の単位区間を順次設定する処理を行うようにし、
1つの単位区間の終点を決める際に、当該単位区間の区間長が最小区間長〜最大区間長の範囲となるように、かつ、時系列信号を構成する一連のサンプルについて、1つのサンプルの振幅の符号が直前のサンプルの振幅の符号に対して反転している箇所を零交差点として検出し、いずれかの零交差点を構成するサンプルの位置が単位区間の終点として選択されるように、終点を決めるようにしたものである。
【0017】
(7) 本発明の第7の態様は、上述の第6の態様に係る音響信号の符号化方法において、
符号化段階で、第1の符号データの発音終了時刻と第2の符号データの発音開始時刻が一致し、これら2つの符号データに含まれる「音の高さを示す情報」および「音の強さを示す情報」が所定の許容範囲で類似している場合に、第1の符号データの発音終了時刻を第2の符号データの発音終了時刻に変更するとともに第2の符号データを削除することにより、これら2つの符号データを単一の符号データに統合する処理を更に行うようにしたものである。
【0018】
(8) 本発明の第8の態様は、上述の第6または第7の態様に係る音響信号の符号化方法において、
符号化段階で、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用い、符号データとしてMIDIデータを作成するようにしたものである。
【0019】
(9) 本発明の第9の態様は、上述の第1〜第8の態様に係る時系列信号の解析方法または音響信号の符号化方法をコンピュータに実行させるためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【0020】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【0021】
§1.本発明に係る解析方法および符号化方法の基本原理
はじめに、本発明に係る時系列信号の解析方法および音響信号の符号化方法の基本原理を述べておく。この基本原理は、前掲の各公報あるいは明細書に開示されているので、ここではその概要のみを簡単に述べることにする。
【0022】
いま、図1(a) に示すように、時系列信号としてアナログ音響信号が与えられたものとしよう。図示の例では、横軸に時間t、縦軸に振幅(強度)をとってこの音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周期でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えばよい。すなわち、この音響信号は、それぞれ所定の振幅をもった一連のサンプルからなるデジタルデータとして取り込まれることになる。
【0023】
続いて、この解析対象となる音響信号の時間軸上に、複数の単位区間を設定する。図1(a) に示す例では、時間軸t上に等間隔に6つの時刻t1〜t6が定義され、これら各時刻を始点および終点とする5つの単位区間d1〜d5が設定されている。もっとも、この図1に示す例は、従来提案されている一般的な解析方法における単位区間の設定例であり、すべて同一の固定区間長をもった単位区間が時間軸上で機械的に割り当てられている。本発明のポイントは、この単位区間の設定方法にあり、従来のように固定区間長を定めて機械的に割り当てる代わりに、解析対象となる音響信号の内容に応じた変動区間を設定する点にある。その詳細な方法については後述する。
【0024】
こうして単位区間が設定されたら、各単位区間ごとの音響信号(以下、区間信号と呼ぶことにする)について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、たとえば、その中で振幅の大きな周波数成分を代表周波数として選出すればよい。代表周波数は1つだけ選出してもよいが、複数Q個の代表周波数を選出した方が、より精度の高い符号化が可能になる。図1(b) には、個々の単位区間ごとにそれぞれ3つの代表周波数(Q=3)を選出し、1つの代表周波数を1つの代表符号コード(図では便宜上、音符として示してある)として符号化した例が示されている。ここでは、代表符号コード(音符)を収容するために3つのトラックT1,T2,T3が設けられているが、これは個々の単位区間ごとに選出された3つずつの代表符号コードを、それぞれ異なるトラックに収容するためである。なお、ここでの「コード」は記号を意味する「code」の意味であり、和音を示す「chord」の意味ではない。
【0025】
たとえば、単位区間d1について選出された代表符号コードn(d1,1),n(d1,2),n(d1,3)は、それぞれトラックT1,T2,T3に収容されている。ここで、各コードn(d1,1),n(d1,2),n(d1,3)は、MIDI符号におけるノートナンバーを示すコードである。MIDI符号におけるノートナンバーは、0〜127までの128通りの値をとり、それぞれピアノの鍵盤の1つのキーを示すことになる。具体的には、たとえば、代表周波数として440Hzが選出された場合、この周波数はノートナンバーn=69(ピアノの鍵盤中央の「ラ音(A3音)」に対応)に相当するので、代表符号コードとしては、n=69が選出されることになる。もっとも、図1(b) は、上述の方法によって得られる代表符号コードを音符の形式で示した概念図であり、実際には、各音符にはそれぞれ強度に関するデータも付加されている。たとえば、トラックT1には、ノートナンバーn(d1,1),n(d2,1)…なる音階を示すデータとともに、e(d1,1),e(d2,1)…なる強度を示すデータが収容されることになる。この強度を示すデータは、各代表周波数の成分が、もとの区間信号にどの程度の度合いで含まれていたかによって決定される。具体的には、各代表周波数をもった周期関数の区間信号に対する相関値に基づいて強度を示すデータが決定されることになる。また、図1(b) に示す概念図では、音符の横方向の位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【0026】
音響信号を符号化する形式としては、必ずしもMIDI形式を採用する必要はないが、この種の符号化形式としてはMIDI形式が最も普及しているため、実用上はMIDI形式の符号データを用いるのが最も好ましい。MIDI形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーNとベロシティーVとを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーNとベロシティーVとを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーVは、たとえば、ピアノの鍵盤などを押し下げる速度(ノートオン時のベロシティー)および鍵盤から指を離す速度(ノートオフ時のベロシティー)を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【0027】
前述の方法では、第i番目の単位区間diについて、代表符号コードとしてQ個のノートナンバーn(di,1),n(di,2),…,n(di,Q)が得られ、このそれぞれについて強度e(di,1),e(di,2),…,e(di,Q)が得られる。そこで、次のような手法により、MIDI形式の符号データを作成することができる。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーNとしては、得られたノートナンバーn(di,1),n(di,2),…,n(di,Q)をそのまま用いればよい。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーVとしては、得られた強度e(di,1),e(di,2),…,e(di,Q)を、所定の方法で規格化した値を用いればよい。また、「デルタタイム」データは、各単位区間の長さに応じて設定すればよい。
【0028】
§2.周波数解析の基本手順
図2は、上述した基本原理に基づいて、任意の時系列信号についての周波数解析を行う基本手順を示す流れ図である。まず、ステップS1において、時系列信号の入力段階が行われる。ここでは、解析対象となる時系列信号を、それぞれ所定の振幅をもった一連のサンプルからなるデジタルデータとして取り込む処理が行われる。図3は、このようにして取り込まれたデジタルデータの具体例を示す図である。この例では、22kHzのサンプリング周波数による取り込みが行われており、時間軸上において、約45.5μs間隔で所定の振幅をもったサンプルが取り込まれることになる。
【0029】
続くステップS2において、取り込んだ時系列信号の時間軸上に複数の単位区間を設定する区間設定段階が行われる。たとえば、1024サンプル分を含むような固定区間長Lを定めておいたとすると、図3に示すように、約47msの長さをもった区間が第1の単位区間d1として設定されることになる。別言すれば、第1の単位区間d1の終点は、始点位置から1024サンプル分だけ経過した位置として決定されることになる。この第1の単位区間d1の終点を、後続する単位区間の始点として、同様に1024サンプル分だけ経過した位置に終点を決めれば、第2の単位区間d2が設定される。図1(a) に示す各単位区間d1〜d5は、このようにして設定された区間である。ただ、このような単位区間設定を行うと、既に述べたように、区間の境界部分において、解析結果が不連続になり、そのような解析結果に基づいて符号化を行った場合、再生時に音が不連続になるという問題が生じるおそれがある。そこで、時間軸上において部分的に重複させながら、単位区間設定を行う提案もなされている。たとえば、図4に示す例では、単位区間d1,d2,d3,d4,…は、いずれも相互に重複しており、このように重複して設定した個々の単位区間ごとに周波数解析を行えば、区間境界における不連続性を緩和することができる。しかしながら、同一の信号成分を、複数の単位区間で重複して解析する必要が生じるため、演算負担はかなり重くなり、決して効率的な方法とは言えない。本発明の区間設定方法では、単位区間を重複して設定することなしに、区間境界における不連続性を緩和することが可能になるが、その具体的な方法については、§3において詳述する。
【0030】
次のステップS3において、複数通りの周波数を設定し、各周波数をもった周期関数を定義する周期関数定義段階が行われる。一般に、時系列信号の周波数解析は、予め多数の周期関数を用意しておき、これら各周期関数のそれぞれに対する時系列信号の相関を求めることにより行われる。相関の大きな周期関数は、この時系列信号にそれだけ多く含まれている周波数成分であると考えることができる。ステップS3において定義される周期関数は、このような相関を求めるための周期関数である。
【0031】
以上の各段階を経たら、周波数解析の準備は完了である。以下、個々の単位区間ごとに、それぞれ周波数解析を実行することになる。まず、ステップS4において、区間信号抽出段階が行われる。この段階では、特定の単位区間内の時系列信号が、解析対象となる信号として抽出されることになる。ここでは、このように各単位区間について抽出された信号を区間信号と呼ぶことにする。続くステップS5の相関計算段階では、抽出した区間信号と、各周期関数のそれぞれとの相関を求めるため、具体的な相関値が計算される。こうして計算された各周期関数ごとの相関値は、ステップS6の相関出力段階において出力される。このようなステップS4〜S6の処理が、ステップS7を経て、設定されたすべての単位区間について繰り返し実行される。
【0032】
結局、ステップS6において出力される各周期関数ごとの相関値が、個々の単位区間内の信号(区間信号)の周波数解析結果ということになる。たとえば、相関値の大きい順に上位3つまでの周期関数を選出すれば、これら選出された周期関数の周波数は、当該区間信号についての代表周波数ということになる。この3つの代表周波数を、MIDIのノートナンバーとして表現すれば、たとえば、単位区間d1については、ノートナンバーn(d1,1),n(d1,2),n(d1,3)が得られ、これら代表周波数をもった周期関数についての相関値に相当する値を強度(振幅)と定義すれば、上記各ノートナンバーについて、それぞれ強度e(d1,1),e(d1,2),e(d1,3)が得られることになる。図1(b) の各トラックT1〜T3に配置された各符号データは、このようにして得られる。
【0033】
最終的に、MIDIデータとして符号化するのであれば、ステップS3において用意する周期関数は、MIDIの各ノートナンバーに対応した標準周波数をもった周期関数にしておくと便利である。図5は、このような周期関数として、一対の三角関数を用意した例を示している。この図5に示された三角関数は、同一周波数をもった正弦関数と余弦関数との対から構成されており、128通りの標準周波数f(0)〜f(127)のそれぞれについて、正弦関数および余弦関数の対が定義されていることになる。ここでは、同一の周波数をもった正弦関数および余弦関数からなる一対の関数が、当該周波数についての周期関数ということになる。別言すれば、ある特定の周波数についての周期関数は、一対の正弦関数および余弦関数によって構成されることになる。このように、一対の正弦関数と余弦関数とにより周期関数を定義するのは、区間信号に対する周期関数の相関値を求める際に、相関値が位相の影響を受けることを排除するためである。なお、図5に示す各三角関数内の変数Fおよびkは、区間信号についてのサンプリング周波数Fおよびサンプル番号kに相当する変数である。たとえば、周波数f(0)についての正弦波は、sin (2πf(0)k/F)で示され、任意のサンプル番号kを与えると、区間信号を構成する第k番目のサンプルと同一時間位置における周期関数の振幅値が得られる。
【0034】
ここでは、128通りの標準周波数f(0)〜f(127)を、図6に示すような式で定義している。すなわち、第n番目(0≦n≦127)の標準周波数f(n)は、
f(n)=440・2γ(n)
γ(n)=(n−69)/12
なる式で定義されることになる。このような式によって標準周波数を定義しておくと、最終的にMIDIデータを用いた符号化を行う際に便利である。なぜなら、このような定義によって設定される128通りの標準周波数f(0)〜f(127)は、等比級数をなす周波数値をとることになり、MIDIデータで利用されるノートナンバーに対応した周波数になるからである。たとえば、ノートナンバーn=69は、前述したようにピアノの鍵盤中央の「ラ音(A3音)」を示しており、440Hzの音に相当することになるが、図6に示す式によって第n番目の標準周波数f(n)を定義しておけば、n=69を代入すると、f(n)=440が得られることになる。別言すれば、図6に示す式によって定義された128通りの標準周波数f(0)〜f(127)は、MIDIデータにおける128通りのノートナンバーn=0〜127に対応した周波数ということになる。ノートナンバーnは、1オクターブ上がると、周波数が2倍になる対数尺度の音階を示すため、周波数軸fに対して線形には対応しない。したがって、図5に示す128通りの標準周波数f(0)〜f(127)は、対数尺度で示した周波数軸上に等間隔(MIDIにおける半音単位)に設定した周波数ということになる。
【0035】
§3.本発明の特徴となる区間設定方法の基本概念
さて、既に述べたように、本発明の特徴は、時間軸上における単位区間の設定方法にあり、その基本的な考え方は、図3に示すような固定区間長Lを採らずに、個々の単位区間ごとにそれぞれ区間長が異なる可変区間長を採る点にある。たとえば、第i番目の単位区間であれば、当該区間に最も適した可変区間長Liが設定されることになる。
【0036】
いま、図3に基づいて、一義的な固定区間長Lを採用した場合の弊害を考えてみよう。固定区間長Lを採ることによる最も顕著な弊害は、区間の終点位置が信号の振幅とは全く無関係に決められてしまうという点である。たとえば、図3に示す例の場合、単位区間d1の始点位置における信号の振幅は零となっているが、終点位置における信号は任意の振幅値を有している(図示の例の場合、ほぼピークに近い振幅値をもったサンプル位置が終点となっている)。このように、たまたま振幅が大きな箇所に区間境界が設定されてしまうと、この区間境界における解析結果に不連続性が生じやすい。たとえば、解析結果をMIDIデータで表現して符号化したとすると、この区間境界を挟んで、それぞれ別個のMIDI音符が作成されることになる。図1における単位区間d1,d2については、それぞれ3つずつの音符が示されているが、単位区間d1について作成された音符と、単位区間d2について作成された音符との間に、大きな音程差が生じていると、再生した際に、音の不連続性が生じることになる。
【0037】
本発明における最も重要な考え方は、振幅が零となるような位置を区間境界として設定すれば、このような不連続性を抑制できるであろう、という考え方である。たとえば、図3に示すような区間設定を行う代わりに、図7に示すような区間設定を行うと、区間の始点位置および終点位置の双方とも、振幅が零となる。そこで、時間軸上における所定の起点(できれば、振幅が零となるような箇所を起点として定めるのが好ましい)を第1の単位区間d1の始点とし、以下、前の単位区間の終点を次の単位区間の始点として、時間軸上に複数の単位区間を順次設定する処理を行うようにし、第i番目の単位区間diを設定する際に、「終点位置の時系列信号の振幅が零になる」という条件に基づいて、可変長区間Liを設定するようにすれば、第(i+1)番目の単位区間の始点位置の振幅も零になるので、個々の区間境界がすべて「振幅が零の位置」に設定されることになる。ただし、このような区間設定処理は、所定のサンプリング間隔で取り込まれたデジタルデータに対して行われるので、個々のサンプルの振幅値それ自身が零になることはまれである。したがって、実際には、「終点位置の時系列信号の振幅が『ほぼ零になる』」という条件に基づいて、可変長区間の設定を行うことになる。なお、「ほぼ零になる」という条件を満足したか否かを判断する具体的な手法については後述する。
【0038】
ところで、実際に単位区間の終点位置を決定するにあたっては、振幅がほぼ零になる位置ならどこにでも終点位置を決めてよい、というわけにはゆかない。なぜなら、1つの単位区間の区間長は、後に行われる解析の結果に大きな影響を与える重要なファクターとなるからである。すなわち、区間長を短く設定すればするほど、時間分解能が向上するが、逆に、周波数分解能は低下するため、解析精度は低下するという問題が生じることになる。そこで、本発明では、予め、単位区間についての最小区間長Lmin と最大区間長Lmax とを定めておき、1つの単位区間の終点を決める際に、当該単位区間の区間長がこの最小区間長Lmin 〜最大区間長Lmax の範囲となる、という条件を満足するようにしている。ここで、最小区間長Lmin と最大区間長Lmax とは、時間分解能および周波数分解能の兼ね合いを考慮して、適当な値に設定しておくようにする。一般的には、最小区間長Lmin は最大区間長Lmax の半分程度に設定するのが好ましい。
【0039】
図8は、このような条件を考慮した上で、単位区間の終点を決定する方法を示す図である。任意の単位区間diの可変区間長Liは、どんなに短くても最小区間長Lmin 未満となることはなく、どんなに長くても最大区間長Lmax を越えることはない。したがって、この単位区間diの終点としては、図示した終点探索区間内の1点が選ばれることになる。結局、本発明では、「終点位置の時系列信号の振幅が『ほぼ零になる』」という第1の条件と、「区間長が最小区間長Lmin 〜最大区間長Lmax の範囲となる」という第2の条件との2条件(以下、2つの主条件という)を満足するような位置に、単位区間の終点が置かれることになる。具体的には、図8に示す終点探索区間内を探索し、この終点探索区間内において振幅がほぼ零になる位置を見つけ出し、その位置を終点とすればよい。
【0040】
続いて、「振幅がほぼ零になる」という第1の条件を満たすサンプル位置を決定するための具体的な方法を説明する。いま、図9に示すような時系列信号Xについてサンプリングが行われ、いくつかのサンプルが得られているものとする。図において、k−3,k−2,k−1,k,k+1,k+2,k+3と記した時間軸上の位置は、各サンプルの位置である。デジタルデータとして入力された時系列信号Xは、もはや図示されているようなカーブをもった信号としての情報はもっておらず、各サンプル位置における振幅値(たとえば、X(k−1),X(k),X(k+1)といった値)しかもっていないことになる。したがって、時系列信号Xの本来のカーブが横軸と交差する点Z(すなわち、振幅が零となる点、以下、零交差点と呼ぶことにし、図面上では黒い四角形で示すことにする)がたまたまサンプル位置となることは稀であり、また、各サンプルの振幅値からこの零交差点Zの正確な位置を直接求めることはできない。ただ、零交差点Zの両側に位置する2つのサンプル、すなわち、図示の例の場合、第k番目のサンプルと、第(k+1)番目のサンプルは、両者の振幅の符号が反転していることから認識することができる。
【0041】
この点に着目すれば、時間軸上に所定間隔で並んだ一連のサンプルの各振幅を追ってゆき、1つのサンプルの振幅の符号が直前のサンプルの振幅の符号に対して反転している箇所が発見できれば、その箇所に零交差点があると認識することが可能である。たとえば、図9に示す例の場合、振幅X(k−1),X(k)まではいずれも符号が正であったのに、次の振幅X(k+1)では符号が負に反転している。したがって、第k番目のサンプルと、第(k+1)番目のサンプルの間に、零交差点Zが存在すると認識することができる。この場合、零交差点Zを挟む2つのサンプル(ここでは、零交差点Zを構成するサンプルと呼ぶことにする)の位置は、いずれも「振幅がほぼ零になる」という第1の条件を満たすサンプル位置であるので、これらのうちのいずれかのサンプル位置を単位区間の終点として選択してよいことになる。零交差点Zを構成する2つのサンプルの位置のいずれを選択しても大差はないが、理論的には、零交差点Zを構成する2つのサンプルのうち、振幅の絶対値がより小さい方を、単位区間の終点として選択するのが好ましい。
【0042】
図9では、1つの零交差点Zの周辺を拡大して示したが、実際には、図10に示すように、時系列信号Xの振動に伴い、時間軸上に多数の零交差点が認識されることになる。図では、合計10個の零交差点Z1〜Z10が認識された例が示されている。前述した2つの主条件を満たす終点を決定するには、終点探索区間内に認識されたいずれかの零交差点を構成するサンプル位置(零交差点を挟むサンプル位置)を終点位置として選択すればよい。
【0043】
ただ、実際には、終点探索区間内に多数の零交差点が認識されるのが一般的であり、これら多数の零交差点のうちの1つを終点位置として選択する際には、上記2つの主条件の他に、いくつかの副条件を定めておき、多数の零交差点の中から単位区間の終点として最も好ましい零交差点を選択するようにする方がよい。そこで、ここでは次のような2つの副条件を定めて、終点の選択を行うようにしている。
【0044】
まず、第1の副条件は、「始点および終点を除いた単位区間内に奇数個の零交差点が含まれる」という条件である。たとえば、図10に示す例において、零交差点Z1を始点とする新たな単位区間を設定する場合を考えよう。この場合、始点位置から最小区間長Lmin 内に含まれてしまう零交差点および最大区間長Lmax を越えた範囲内にある零交差点は除かれるものの、終点探索区間内に存在する零交差点はすべて終点位置として選択することができる。上記第1の副条件は、別言すれば、「始点位置にある零交差点Z1を第1番目の零交差点として数えたときに、偶数番目にある零交差点を選択の対象から除外する」ということを意味している。具体的には、図10において、零交差点Z2,Z4,Z6,Z8,Z10は、選択対象から除外されることになる。なぜなら、もしこれらの零交差点を終点位置として選択すると、「始点および終点を除いた単位区間内に偶数個の零交差点が含まれる」ことになってしまうからである。たとえば、零交差点Z8を終点位置に選択すると、始点(Z1)および終点(Z8)を除いた単位区間内に、Z2〜Z7という6個(偶数個)の零交差点が含まれてしまうことになる。
【0045】
単位区間内に偶数個の零交差点が含まれると好ましくない理由は、単位区間内の時系列信号Xの周期が整数個にならないためである。たとえば、図10において、Z1を始点、Z3を終点とする区間内には、時系列信号が1周期分含まれており、Z1を始点、Z5を終点とする区間内には、時系列信号が2周期分含まれており、Z1を始点、Z7を終点とする区間内には、時系列信号が3周期分含まれている。このように、「始点および終点を除いた区間内に奇数個の零交差点が含まれる」という条件を満たす区間の場合、時系列信号が整数周期分含まれる。ところが、Z1を始点、Z4を終点とする区間内には、時系列信号が1.5周期分含まれ、Z1を始点、Z6を終点とする区間内には、時系列信号が2.5周期分含まれ、Z1を始点、Z9を終点とする区間内には、時系列信号が3.5周期分含まれることになり、「始点および終点を除いた区間内に偶数個の零交差点が含まれる」という条件を満たす区間の場合、時系列信号が半周期分余分に含まれてしまう。
【0046】
一般に、周期信号を整数周期分取り出せば、振幅の正負がバランスをとりあうことになるが、半周期分だけ余分になると、この半周期分によって、振幅の正負のバランスが崩れてしまうことになる。このように正負のバランスが崩れた信号について、各周期関数との相関計算を行うと、実際には相関のない周期関数に対しても相関を示す結果が現れる可能性がある。このような弊害を避けるためには、単位区間内には、時系列信号Xの整数周期分が含まれていた方が好ましいことになる。第1の副条件である「始点および終点を除いた単位区間内に奇数個の零交差点が含まれる」なる条件は、正に、この点を考慮した条件であり、この条件を満足するように終点位置を決定すれば、必ず時系列信号Xの整数周期分を含んだ単位区間が設定されることになる。
【0047】
第2の副条件は、時系列信号Xの振幅に着目し、「できるだけ振幅のくびれた部分を終点として選択する」という基本概念に基づく条件である。たとえば、図1(a) に示す時系列信号を見ると、信号の振幅には、いわゆる「うねり」が存在することがわかる。一般的な音響信号の場合、信号にこのような「うねり」が存在することが多い。ここで、たとえば、時刻t2の位置は、大きな「うねり」が収まった直後の「くびれた部分」に対応しているのに対し、時刻t3の位置は、大きな「うねり」に乗った位置となっている。信号自体は振動しているため、時刻t2の位置にも、時刻t3の位置にも、それぞれ零交差点が存在することになるが、区間境界における音の不連続性を抑制する、という本発明の目的を達成するためには、「うねり」に乗った時刻t3の位置を単位区間の終点として選択するよりも、「くびれた部分」に対応する時刻t2の位置を単位区間の終点として選択した方が好ましいことがわかる。
【0048】
このように、概念的には、「できるだけ振幅のくびれた部分を終点として選択する」ということになるが、実際には、次のような方法を行うことにより、このような概念に合致した最適の零交差点を選択することが可能になる。まず、それぞれ隣接する零交差点間に存在するサンプルの中で振幅の絶対値が最大となるピークサンプルを求める。たとえば、図10に示す時系列信号Xについて、このようなピークサンプルを求めると、図11のようになる。ここで、矢印で示すP2〜P10がそれぞれピークサンプルである。なお、ここで最初のピークサンプルを、P1とせずにP2としたのは、後の説明において、各ピークサンプルをそれぞれ後続する零交差点に対応づけるための便宜である。隣接する零交差点間に存在するサンプルの中で振幅の絶対値が最大となるサンプル1つだけがピークサンプルとなるので、たとえば、図12に示すように、隣接する零交差点Za,Zb間に、2つのピークPa,Pbが存在したとしても、絶対値の大きなピークPbのみがピークサンプルとして認識されることになる。
【0049】
続いて、各ピークサンプルの振幅の絶対値をピーク値と定義し、このピーク値が極小となるようなピークサンプルの近傍に位置する零交差点を求める。このような零交差点を極小零交差点と呼ぶことにする。ピーク値が極小となるようなピークサンプルの近傍に位置する零交差点は、当該ピークサンプルを挟む位置に2つ存在するが、ここでは、便宜上、当該ピークサンプルに後続する零交差点を、極小零交差点とすることにする。図13は、図11に示す各ピークサンプルP2〜P10のピーク値(矢印の長さ)を比較するために、各矢印の向きをすべて上向きにして並べた図である。ここで、各矢印の先端を結ぶ包絡線Eを描けば、ピークサンプルP9のピーク値が極小となっていることがわかる。このピークサンプルP9の近傍に位置する零交差点は、ピークサンプルP9を挟む位置にある零交差点Z8およびZ9であるが、ここでは、ピークサンプルP9に後続する零交差点Z9を極小零交差点とする。こうして求めた極小零交差点Z9は、もとの時系列信号Xの振幅のくびれた部分に位置することになる。したがって、この極小零交差点Z9を構成するサンプルの位置を単位区間の終点として選択すれば、第2の副条件を考慮した終点決定を行うことができる。なお、終点候補となる極小零交差点が複数存在する場合には、たとえば、対応するピークサンプルのピーク値がより小さい方を選択する、といった基準を設定しておけばよい。あるいは、できるだけ解析精度を高めるために、できるだけ区間長を長く設定したいという要望があれば、より最大区間長Lmax に近い区間長を確保できるように、時間軸上でより右側にある極小零交差点を選択する、といった基準を設定するようにしてもかまわない。
【0050】
§4.具体的な区間設定の手順
上述したように、本発明では、主条件として「終点位置の時系列信号の振幅が『ほぼ零になる』」という第1の条件と、「区間長が最小区間長Lmin 〜最大区間長Lmax の範囲となる」という第2の条件を設定し、更に、副条件として、「始点および終点を除いた単位区間内に奇数個の零交差点が含まれる」という第1の条件と、「できるだけ振幅のくびれた部分を終点として選択する」という第2の条件を設定している。ここでは、これら4条件を満たす区間設定を行うための具体的な方法を図14の流れ図に基づいて説明する。
【0051】
まず、ステップS11において、入力した全時系列信号Xにわたって、零交差点を求める処理を行う。零交差点の認識方法は、既に述べたように、時間軸上に所定間隔で並んだ一連のサンプルの各振幅を追ってゆき、1つのサンプルの振幅の符号が直前のサンプルの振幅の符号に対して反転している箇所を発見すればよい。ここでは、たとえば、図15(a) に示すように、時系列信号Xについて零交差点Z1〜Z7が求まったものとしよう。
【0052】
続くステップS12では、これらの零交差点のうち、偶数番目の零交差点を消去する処理が行われる。図15(a) の場合、零交差点Z2,Z4,Z6が消去されることになる。この偶数番目の零交差点を消去する理由は、「始点および終点を除いた単位区間内に奇数個の零交差点が含まれる」という第1の副条件を満たすことが可能な零交差点のみを、終点位置の候補として残すためである。
【0053】
次のステップS13では、残った零交差点(すなわち、奇数番目の零交差点)について、直前の零交差点(残っている零交差点の中で直前のもの)との間の区間における振幅の絶対値の最大値を、当該零交差点についてのピーク値として求める処理を行う。これは、「できるだけ振幅のくびれた部分を終点として選択する」という第2の副条件を考慮するための処理であり、隣接する零交差点間に存在するピークサンプルを求め、このピークサンプルのピーク値を、後続する零交差点についてのピーク値とする処理である。たとえば、図15(a) に示す例について、ステップS12における偶数番目の零交差点を消去する処理を行った後、ステップS13の処理を行うと、図15(b) に示すように、零交差点Z3についてはピークサンプルP3、零交差点Z5についてはピークサンプルP5、零交差点Z7についてはピークサンプルP7がそれぞれ対応づけられ、各零交差点Z3,Z5,Z7のピーク値として、それぞれピークサンプルP3,P5,P7のピーク値が与えられることになる。なお、この例では、たまたますべてのピークサンプルが正の振幅をもっているが、もちろん負の振幅をもったピークサンプルが選ばれることもありうる。
【0054】
次のステップS14では、こうして所定のピーク値が与えられた零交差点のうち、ピーク値が所定のしきい値Pmin よりも小さい零交差点が存在した場合には、これを消去する処理が行われる。これは、振幅の小さなノイズ成分が含まれていたときに、このノイズ成分に関するピークを無視するための処置である。こうして残った零交差点は、いずれも単位区間の始点/終点として選択されるのに相応しい零交差点であり、ここではノード点と呼ぶことにする。ここでは、図15(b) に示す例において、零交差点Z3,Z5,Z7がいずれもノード点として残ったものとして、以下の説明を行う。
【0055】
ステップS15において、単位区間の番号を示すパラメータiを初期値1に設定する。そして、第1のノード点(図15(b) に示す例の場合は、ノード点Z1)を第1の単位区間d1の始点とする。このように、単位区間d1の始点が定まれば、この始点を基準として、図15(b) に示すように、最小区間長Lmin に相当する区間および最大区間長Lmax に相当する区間も定まり、両区間の差に相当する終点探索区間も定まる。そこで、ステップS16において、終点探索区間内にノード点があるか否かを調べる。通常は、終点探索区間内に複数のノード点が存在する。図15(b) の例では、2つのノード点Z5,Z7が終点探索区間内に存在している。そこで、ステップS17において、この終点探索区間内において、ピーク値が最小となるノード点を捜し、そのようなノード点を(正確に言えば、そのようなノード点を挟む一対のサンプル位置のいずれか一方を)、第i番目の単位区間の終点とする(図15(b) の例では、i=1)。したがって、図示の例の場合、ノード点Z5のピーク値(ピークサンプルP5の振幅値)とノード点Z7のピーク値(ピークサンプルP7の振幅値)とが比較され、小さい方のノード点Z7(正確には、ノード点Z7を挟む一対のサンプル位置のいずれか一方)が、第1番目の単位区間d1の終点として選択されることになる。
【0056】
こうして、第1番目の単位区間d1の終点が求まったら、ステップS18からステップS19へと進む。ステップS19では、第i番目の単位区間の終点を、第(i+1)番目の単位区間の始点とする処理が行われる。この例の場合、第1番目の単位区間d1の終点が、第2番目の単位区間d2の始点となる。以下、同様の処理が、ステップS20において、パラメータiを1ずつ増加させながら繰り返し実行され、必要なすべての単位区間の設定が完了したら、ステップS18を経て、この手順は完了することになる。
【0057】
なお、時系列信号X内に、実質的に信号成分がしばらく途絶えているような箇所が存在する場合、ステップS16において、終点探索区間内に1つもノード点が発見されないことも起こり得る。その場合は、ステップS16からステップS21へと分岐し、無音区間設定処理が行われる。この無音区間設定処理は、ノード点が存在しない区間を無音区間として設定するための処理であり、この無音区間は、いわば単位区間どうしの空白ともいうべき区間になる。これまでの説明では、各単位区間は密接に隣接し、1つの単位区間の終点は次の単位区間の始点となるように区間設定が行われていたが、実質的に信号成分がしばらく途絶えているような箇所が存在する場合には、このような無音区間を例外的に設定するのが望ましい。
【0058】
ステップS21の無音区間の設定処理は、具体的には次のように行えばよい。まず、終点探索区間内を探索した結果、ノード点が1つも発見されなかった場合には、とにかく最初のノード点が発見できるまで、最大区間長Lmax を越えて更に時間軸上で右方向へと探索を続けてゆく。そして、最初のノード点が発見できたら、現時点での始点位置から、当該最初に発見されたノード点位置までを無音区間として設定し、この最初に発見されたノード点の位置まで現時点の始点位置を移動させ、ステップS16の処理へ戻るようにする。たとえば、図15(c) に示すように、始点としてノード点Zaが与えられ(これは、前の単位区間の終点として与えられる)、終点探索区間内を探索した結果、1つもノード点が発見されなかった場合には、探索範囲を更に右へと延伸し、最初のノード点Zbが発見されるまで探索を続ける。そしてノード点Za〜Zbまでの区間を無音区間として設定する(この無音区間は実体のある本来の区間ではなく、当然、この無音区間については、周波数解析の処理は実行しないことになる)。そして、第i番目の単位区間の始点をノード点Zbに設定しなおし、再びステップS16の処理へと戻り、当該単位区間を設定する処理を続けてゆけばよい。無音区間は、特に区間長の制限がないので、たとえば、人間の会話などの音声信号が時系列信号として入力されたような場合、会話が中断した部分などを効率的に処理することが可能になる。このように実体のない無音区間が設定されると、本来の単位区間の終点とその次の単位区間の始点とは一致しなくなる。
【0059】
§5.相関計算の具体的な方法
以上、§3および§4にわたって説明した単位区間の設定方法は、本発明の重要な特徴となる方法であり、図2に示すステップS2の段階で行われる方法である。こうして、各単位区間が定まったら、ステップS3で各周期関数が定義され、ステップS4で各区間ごとの区間信号が抽出され、ステップS5において、区間信号と各周期関数との相関が計算され、その結果がステップS6で出力されることになる。そこで、ここでは、ステップS5における相関計算の具体的な方法を述べておく。
【0060】
いま、第i番目の単位区間diについて、図16に示すような区間信号X(解析対象となる時系列信号Xのうちの単位区間di内の部分)が得られたものとしよう。このとき、単位区間diの区間長Liが、可変区間長となることは、§3および§4で述べたとおりである。ここでは、この単位区間diの中に、サンプリング周波数Fでサンプリングを行うことにより得られた合計w個のサンプルが含まれていたものとし、サンプル番号を図示のように、0,1,2,3,…,k,…,w−2,w−1としよう(白丸で示す第w番目のサンプルは、右に隣接する次の単位区間の先頭に含まれるサンプルとする)。この場合、任意のサンプル番号kについては、X(k)なる振幅値がデジタルデータとして与えられていることになる。前述した基本概念に基づいて区間設定が行われた場合、単位区間diの始点および終点は零交差点となり、区間信号Xとして整数周期分(図示の例では2周期分)の周期信号がこの単位区間di内に得られることになる。
【0061】
一方、複数の周期関数としては、前述したように、図5に示すような128通りの三角関数対が用意される。各三角関数内の変数Fおよびkは、図16に示すように、区間信号Xについてのサンプリング周波数Fおよびサンプル番号kに相当する変数である。たとえば、周波数f(0)についての正弦関数は、sin (2πf(0)k/F)で示され、任意のサンプル番号kを与えると、第k番目のサンプルと同一時間位置における周期関数の振幅値が得られる。また、128通りの標準周波数f(0)〜f(127)は、等比級数をなす周波数値をとることになり、MIDIデータで利用されるノートナンバーに対応した周波数になる。相関計算段階では、これらすべての三角関数と、区間信号Xとの相関が計算されることになる。
【0062】
続いて、図16を参照しながら、区間信号Xと、第n番目の標準周波数f(n)をもった正弦関数Rnとの相関値を求める原理を示そう。両者の相関値A(n)は、図17の第1の演算式によって定義することができる。ここで、X(k)は、図16に示すように、区間信号Xにおけるサンプル番号kの振幅値であり、sin (2πf(n)・k/F)は、時間軸上での同位置における正弦関数Rnの振幅値である。この第1の演算式は、単位区間di内の全サンプル番号k=0〜w−1の位置について、それぞれ区間信号Xの振幅値と正弦関数Rnの振幅値との積を求め、その総和を求める式ということができる。振幅値は正負の符号を有しているので、その積も正負の符号を有したものになる。したがって、区間信号Xと正弦関数Rnとの間に全く相関がなかったとすれば、両振幅の積の符号は、全くランダムに正になったり負になったりするので、その総和は0になる。逆に、両者間に相関があれば、両振幅の積の総和の絶対値は、相関の程度に応じて大きくなる。たとえば、区間信号Xの振幅が正である時には、正弦関数Rnの振幅も常に正であり、区間信号Xの振幅が負である時には、正弦関数Rnの振幅も常に負である、というような正の相関がある場合(区間信号Xと正弦関数Rnとが同一周波数で同位相)ならば、積の総和は正の最大値になり、これとは逆に、区間信号Xの振幅が正である時には、正弦関数Rnの振幅は常に負であり、区間信号Xの振幅が負である時には、正弦関数Rnの振幅は常に正である、というような負の相関がある場合(区間信号Xと正弦関数Rnとが同一周波数で逆位相)ならば、積の総和は負の最大値になる。
【0063】
同様に、図17の第2の演算式は、区間信号Xと、第n番目の標準周波数f(n)をもった余弦関数との相関値を求める式であり、両者の相関値はB(n)で与えられる。なお、相関値A(n)を求めるための第1の演算式も、相関値B(n)を求めるための第2の演算式も、最終的に係数2/wが乗ぜられているが、これは相関値を規格化するためのものである。すなわち、分母のwは、単位区間di内に含まれる総サンプル数であり、k=0〜w−1の全w個のサンプルについて求めた総和を、総サンプル数wで割ることにより、1サンプル分についての平均を求める意味をもっている。一方、分子の2は、相関値A(n),B(n)が−1〜+1の間の値となるようにするための定数である。
【0064】
区間信号Xと標準周波数f(n)をもった標準周期関数との総合的な相関は、たとえば、図17の第3の演算式に示すように、正弦関数との相関値A(n)と余弦関数との相関値B(n)との二乗和平方根値E(n)によって示すことができる。このように、二乗和平方根値を用いれば、正の相関と負の相関との双方を反映させた総合的な相関を求めることができる。たとえば、正弦関数に対しては正の相関を示し、余弦関数に対しては負の相関を示すような場合、相関値A(n)は正の値となり、相関値B(n)は負の値となるが、二乗和平方根値E(n)は、両相関値の絶対値を反映した値となる。
【0065】
図17に示す演算式は、周期関数として三角関数を用いた場合の例(別言すれば、波形形状が正弦関数になる関数の例)であるが、本発明を実施する上で用いる周期関数の波形形状は、正弦関数に限定されるものではなく、三角波、矩形波、鋸歯状波などの波形形状をもった周期関数を用いてもかまわない。フーリエスペクトルの実効強度Eは、図17の演算式による二乗和平方根値E(n)に他ならず、各周期関数との総合的な相関を示す値となる。
【0066】
このような相関計算を行った結果を利用すれば、区間信号Xに含まれている任意の標準周波数f(n)をもった標準周期関数Rnの振幅成分を、二乗和平方根値E(n)として得ることができる。この二乗和平方根値E(n)の値は、区間信号Xと標準周波数f(n)を有する標準周期関数Rnとの総合的な相関を示す値ということができるので、この相関値の大きな標準周期関数の周波数を代表周期数として選出すれば、この代表周波数を用いて区間信号Xを符号化することができる。
【0067】
結局、ある1つの単位区間di内の区間信号Xを符号化するのであれば、次のような手法を採ればよい。まず、図5に示すような128通りの標準周波数をもった標準周期関数をそれぞれ一対ずつ用意する(1つの周波数について、互いに位相がπ/2だけ異なる一対の周期関数を用意する)。このとき、各標準周波数値が等比級数配列となるような設定をしておくと、ノートナンバーに対応した符号データを得る上で都合がよい。そして、図17に示す演算式に基いて、標準周波数f(n)をもった標準周期関数との相関値A(n),B(n)を求める処理を、n=0〜127のそれぞれについて行い、それぞれについて二乗和平方根値E(n)を求める。ここまでが、周波数解析の手順である。この手順により、各標準周波数について得られた二乗和平方根値E(n)が、各標準周波数についての相関値ということになり、周波数解析の結果として出力されることになる。この解析結果を用いて、もとの時系列信号を符号化するのであれば、この相関値E(n)が所定の基準以上の大きさとなる1つまたは複数の標準周波数を代表周波数として選出すればよい。なお、ここで「相関値E(n)が所定の基準以上の大きさとなる」という選出条件は、たとえば、何らかの閾値を設定しておき、相関値E(n)がこの閾値を越えるような標準周波数f(n)をすべて代表周波数として選出する、という絶対的な選出条件を設定してもよいが、たとえば、相関値E(n)の大きさの順にQ番目までを選出する、というような相対的な選出条件を設定してもよい。
【0068】
こうして、各単位区間について、相関値の大きい順にQ個の標準周波数が選出されたら、このQ個の標準周波数に対応する「音の高さを示す情報」、選出された標準周波数の相関値に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間の終点に対応する「音の発音終了時刻を示す情報」、なる4つの情報を含むQ個の符号データを作成すれば当該単位区間内の区間信号XをQ個の符号データにより符号化することができる。符号データとして、MIDIデータを作成するのであれば、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用いるようにすればよい。
【0069】
§6.相関計算対象区間の設定
さて、§5で述べた相関計算は、当然、1つ1つの単位区間ごとに行われることになる。たとえば、図16に示す例の場合、単位区間di内に存在する区間信号Xと、同じく単位区間di内に存在する所定の周期関数Rn(図示の例では標準周波数f(n)をもった正弦関数)との相関が計算されることになる。しかしながら、より精度の高い相関計算の結果を得るためには、この単位区間diの全区間長Liにわたって相関計算を行わない方がよい。その理由を以下に説明する。
【0070】
既に述べたように、図16に示す区間信号Xと周期関数Rnとの相関は、図17に示す演算式により求められる相関値A(n),B(n)で与えられることになる。ところが、この演算式に示す相関値A(n),B(n)は、必ずしも正確な相関値にはならない。たとえば、区間信号Xが周波数f(n)をもった正弦関数であった場合、同じ周波数f(n)をもった正弦関数からなる周期関数Rnに対する相関値は、本来であれば最大になるはずであるが、任意の可変区間長Liについて、図17の式による計算を行うと、相関値A(n)は必ずしも最大値をとらない。同様に、区間信号Xが周期関数Rnに対して全く相関がない場合、本来であれば相関値が零になるはずであるが、任意の可変区間長Liについて、図17の式による計算を行うと、相関値A(n)は必ずしも零にはならない。なぜなら、可変区間長Liは、区間信号Xにとって都合のよい区間として(周波数解析時に境界での不連続性がなるべく生じないような区間として)設定されたわけであるが、周期関数Rnの周期との間には何ら関係がないため、相関計算の対象となる区間が必ずしも周期関数Rnの周期の整数倍にはならないためである。
【0071】
たとえば、図16に図示されている例では、単位区間di内に、周期関数Rnが約1.25周期分含まれている。このように、周期関数Rnの周期の整数倍にはならない区間について、相関計算を行うと、区間信号Xが完全相関を示す信号であった場合でも、計算により得られる相関値は最大値にはならず、逆に、区間信号Xが全く相関のない信号であった場合でも、計算によって得られる相関値は零にはならない。そもそも、図17に示す式は、周期関数の整数倍の区間を計算対象区間とする前提で立てられた式なのである。したがって、より精度の高い相関計算を行うためには、相関計算の対象区間を、周期関数の周期の整数倍に相当する長さをもった区間とし、この相関計算対象区間に対してのみ、相関計算を実行するようにしなくてはならない。
【0072】
これを図18に示す具体例で説明してみよう。この例では、可変区間長Liをもった単位区間diが示されており、この単位区間di内に区間信号Xが与えられている。この区間信号Xについての周波数解析を行うために、種々の周波数をもった周期関数との相関が計算されるわけであるが、このとき、各周期関数ごとに、異なる相関計算対象区間を設定するのである。たとえば、第n番目の標準周波数f(n)をもった標準周期関数Rnとの相関計算を行う場合、この標準周期関数Rnの周期の整数倍に相当する区間を相関計算対象区間とし、この相関計算対象区間に対してのみ、相関計算を実行するのである。図示の例の場合、単位区間di内には、サンプル番号0〜w−1までの全w個のサンプルが含まれているが(前述のように、第w番目のサンプルは右に隣接する次の単位区間の先頭に含まれるサンプルとして取り扱う)、この単位区間diの区間長Liは、標準周期関数Rnの周期の整数倍にはなっていない。そこで、標準周期関数Rnの周期の整数倍となるような区間、すなわち、サンプル番号0〜w(n)に至る区間を相関計算対象区間として設定する。この相関計算対象区間内には、サンプル番号0〜w(n)−1までの全w(n)個のサンプルが含まれることになる(第w(n)番目のサンプルは、相関計算対象区間内のサンプルとしては取り扱わない)。
【0073】
1つの単位区間に含まれるサンプル数wは、個々の単位区間ごとに異なる。なぜなら、個々の単位区間の区間長は可変となるためである。しかしながら、一旦、1つの単位区間についての区間長が決定されたら、この単位区間内に含まれるサンプル数wも一義的に決定されることになる。したがって、図18において、第i番目の単位区間diについての区間長Liが、§3で述べた手順により決定されれば、この単位区間diの終点に位置するサンプル番号wは一義的に定まる。これに対し、サンプル番号w(n)は、標準周波数f(n)をもった標準周期関数Rnとの相関計算を行うために、この標準周波数f(n)に応じて定まる番号ということになる。したがって、図5に示す128通りの標準周波数をもった標準周期関数との相関計算を行う際には、それぞれの相関計算ごとに異なる相関計算対象区間が設定されることになる。このように、標準周期関数の周期の整数倍の区間についてのみ相関計算を行うようにすれば、より精度の高い相関値を得ることができるようになる。
【0074】
上述のような手法を用いることにより、高精度の相関値A(n),B(n)および二乗和平方根値E(n)を求めるには、図17に示す演算式の代わりに、図19に示す演算式を用いるようにすればよい。図17の演算式における定数wの代わりに、図19の演算式では変数w(n)が用いられている。ここで、変数w(n)は、上述したように、相関計算の対象となる標準周期関数Rnの周波数f(n)に応じて定まる値であり、標準周期関数Rnの周期の整数倍に相当する相関計算対象区間を設定したときに、その中に含まれるサンプルの総数に相当する値ということになる。区間信号Xと標準周期関数Rnとの振幅値の積は、k=0から、k=w(n)−1に至るまでの合計w(n)個分だけ加算されることになる。
【0075】
ところで、相関計算対象区間は、理論的には、標準周期関数Rnの周期の整数倍に相当する区間であれば、どのような長さをもった区間であってもかまわないが、実用上は、単位区間を超えない範囲内で、できるだけ長い区間に設定した方が好ましい。相関計算を行う上で、できるだけサンプル数を増やした方が、精度の高い結果が得られるのは当然である。そこで、実用上は、単位区間を超えない範囲内で最も長く、かつ、標準周期関数Rnの周期の整数倍の長さを有する区間を、相関計算対象区間に設定すればよい。この条件を式で示せば、w(n)は、w(n)≦wという条件下で、w(n)=M・F/f(n)を満たす最大値(Mは整数)ということになる。ここで、Fはサンプリング周波数、f(n)は標準周期関数Rnの周波数であり、F/f(n)は、標準周期関数Rnの1周期分に含まれるサンプル数ということになり、標準周期関数Rnの周期のM倍に相当する区間が相関計算対象区間として設定されることになる。
【0076】
なお、図17の演算式における変数kが、図19の演算式では(k+K)に置き換わっているが、これは、区間信号Xを構成する各サンプルの番号を、絶対サンプル番号として示したためである。すなわち、これまでの説明では、ある1つの単位区間内の区間信号Xを符号化する手順を述べたが、実際には、時間軸上に多数の単位区間が隣接配置され、個々の単位区間ごとにそれぞれ符号化を行うことになる。したがって、特定の単位区間内においてのみ意味をもつ相対サンプル番号(当該単位区間の先頭のサンプルを第0番目のサンプルとしたもの)を用いる代わりに、どの単位区間についても共通の絶対サンプル番号を用いた方が好ましい。たとえば、第1の単位区間の始点に位置するサンプルを第0番目のサンプルとして、以下連続番号を付した番号を絶対サンプル番号として用いることができる。結局、図18の左端のサンプルは、単位区間di内における相対サンプル番号としては、第0番目のサンプルということになるが、絶対サンプル番号としては、第K番目のサンプルということになる。したがって、単位区間d内において相対サンプル番号kで特定されるサンプルは、絶対サンプル番号を用いて表記すると、絶対サンプル番号(k+K)で特定されることになる。
【0077】
図20は、以上のような理論に基づいて、実際に設定された相関計算対象区間の一例を示す図である。図20(a) は、解析対象となる時系列信号Xを示している。§3で述べた方法で各単位区間の設定を行えば、時刻t1〜t4が各単位区間の始点あるいは終点として決定され、図20(b) に示されるように、3つの単位区間d1,d2,d3が設定されることになる。これらの単位区間は、§3で述べたすべての条件を満たしている。すなわち、いずれの単位区間も、始点および終点は、時系列信号Xの零交差点となっており、最小区間長Lmin 〜最大区間長Lmax の範囲内の区間長を有している。また、各単位区間内には、奇数個の零交差点が存在し(別言すれば、整数周期分の信号が含まれており)、振幅のくびれた部分に終点が置かれている。
【0078】
さて、このような3つの単位区間d1,d2,d3内の各区間信号に対して、第n番目の標準周波数f(n)をもった標準周期関数Rnについての相関演算を行う場合に、相関計算対象区間を設定すると、図20(c) に示すような形になる。ここで、各単位区間に描かれている標準周期関数Rnはいずれも同一の標準周波数f(n)をもった正弦関数であるが、いずれも整数周期分だけが描かれている。たとえば、単位区間d1では、周期関数Rnの3周期分に相当する区間が相関計算対象区間となり、相関計算は、この3周期分に相当する区間についてのみ行われることになる。もちろん、第(n+1)番目の標準周波数f(n+1)をもった標準周期関数Rn+1についての相関演算を行う場合には、それぞれの単位区間において、標準周期関数Rn+1の整数周期分に相当する相関計算対象区間が設定されることになる。結局、図5に示す128通りの標準周期関数すべてとの相関計算を行うには、各単位区間ごとに128通りの相関計算対象区間が設定されることになる。
【0079】
こうして、128通りの標準周期関数のそれぞれについての相関計算が行われたら、図20(d) に示すように、各周期関数と、そのそれぞれについての相関値とが、周波数解析の結果として出力されることになる。符号化を行うのであれば、各単位区間ごとに、たとえば、相関値の大きさの順にQ個の標準周期関数を選出し、この標準周期関数の周波数を音の高さとして示し、相関値を音の強さとして示す示す符号データを作成すればよい。
【0080】
§7.一般化調和解析の手法
ここでは、本発明に係る時系列信号の解析方法を利用して、音響信号の符号化を行う際に有用な一般化調和解析の手法を述べておく。既に述べたように、音響信号を符号化する場合、個々の単位区間内の区間信号について、相関値の高いいくつかの代表周波数を選出することになる。一般化調和解析は、より高い精度で代表周波数の選出を可能にする手法であり、その基本原理は次のとおりである。
【0081】
いま、図21(a) に示すような単位区間dについて、信号S(j)なるものが存在するとしよう。ここで、jは後述するように、繰り返し処理のためのパラメータである(j=1〜J)。まず、この信号S(j)に対して、図5に示すような128通りの周期関数すべてについての相関値を求める。そして、最大の相関値が得られた1つの周期関数の周波数を代表周波数として選出し、当該代表周波数をもった周期関数を要素関数として抽出する。続いて、図21(b) に示すような含有信号G(j)を定義する。この含有信号G(j)は、抽出された要素関数に、その振幅として、当該要素関数の信号S(j)に対する相関値を乗じることにより得られる信号である。たとえば、周期関数として図5に示すように、一対の正弦関数と余弦関数とを用い、周波数f(n)が代表周波数として選出された場合、振幅A(n)をもった正弦関数A(n) sin(2πf(n)k/F)と、振幅B(n)をもった余弦関数B(n) cos(2πf(n)k/F)との和からなる信号が含有信号G(j)ということになる(図21(b) では、図示の便宜上、一方の関数しか示していない)。ここで、A(n),B(n)は、図17の式で得られる規格化された相関値であるから、結局、含有信号G(j)は、信号S(j)内に含まれている周波数f(n)をもった信号成分ということができる。
【0082】
こうして、含有信号G(j)が求まったら、信号S(j)から含有信号G(j)を減じることにより、差分信号S(j+1)を求める。図21(c) は、このようにして求まった差分信号S(j+1)を示している。この差分信号S(j+1)は、もとの信号S(j)の中から、周波数f(n)をもった信号成分を取り去った残りの信号成分からなる信号ということができる。そこで、パラメータjを1だけ増加させることにより、この差分信号S(j+1)を新たな信号S(j)として取り扱い、同様の処理を、パラメータjをj=1〜Jまで1ずつ増やしながらJ回繰り返し実行すれば、J個の代表周波数を選出することができる。
【0083】
結局、所定の単位区間内の区間信号Xについて、一般化調和解析の手法を適用して、合計J個の代表周波数を選出するには、まず、パラメータjを初期値1に設定し、この区間信号Xを第1番目の差分信号S(1)と定義し、前述した処理を、パラメータjをj=1〜Jまで1ずつ増やしながらJ回繰り返し実行すればよい(j=1の場合の差分信号S(1)は、解析対象となる区間信号Xそのものであり、「差分信号」と呼ぶべきものではないが、ここでは信号S(j)を「差分信号」と呼ぶことにしているので、信号S(1)も、便宜上、「差分信号」と呼ぶことにする。)。要するに、この一般化調和解析の手法では、代表周波数が1つ決定されるたびに、もとの区間信号Xからこの代表周波数成分を減じた差分信号が求められ、この差分信号に対する相関に基づいて次の代表周波数が決定される、という手順がJ回繰り返されることになる。
【0084】
このような相関計算の結果として出力されるJ個の含有信号G(1)〜G(J)は、もとの区間信号Xの構成要素となる信号であり、もとの区間信号Xを符号化する場合には、これらJ個の含有信号の周波数を示す情報および振幅(強度)を示す情報を符号データとして用いるようにすればよい。
【0085】
§8.符号データの統合処理
さて、本発明による時系列信号の解析方法を行うと、各単位区間ごとに、それぞれいくつかの代表周波数(音の高さを示す情報)とその相関値(音の強さを示す情報)とが得られることになる。この解析結果に基づいて、もとの時系列信号を符号化するのであれば、これらの情報に、更に各単位区間の始点(発音開始時刻を示す情報)と終点(発音終了時刻を示す情報)を加えた符号データを作成すればよい。
【0086】
たとえば、図22(a) は、隣接する2つの単位区間について作成された符号データの概念図である。この例は、1単位区間について1代表周波数のみを抽出した例であるため、合計2つの符号データA,Bによって、2つの単位区間についての音響信号が符号化されている。第1の単位区間は、時刻t1〜t2にわたる区間であり、第2の単位区間は、時刻t2〜t3にわたる区間である。上述のように、本発明に係る単位区間設定方法では、無音区間が設けられる例外を除き、第1の単位区間の終点t2が、第2の単位区間の始点t2に一致する。ここで、符号データA,Bは、いずれも、音の高さを示す情報(MIDIデータの場合はノートナンバー)と、音の強さを示す情報(MIDIデータの場合はベロシティー)と、発音開始時刻(始点)を示す情報(MIDIデータの場合はノートオン時刻)と、発音終了時刻(終点)を示す情報(MIDIデータの場合はノートオフ時刻)と、を有している。
【0087】
このように、隣接する2つの符号データが生成された場合に、もし、両符号データの有する音の高さの情報と音の強さの情報とが、所定の許容範囲で類似している場合(もちろん、完全に一致している場合も含めて)は、両符号を統合する処理を行った方が、効率的な符号化が可能になる。たとえば、図22(a) において、符号データA,BがMIDIデータであったとして、両者のノートナンバーおよびベロシティーが同一もしくは近似していた場合には、図22(b) に示すように、符号データBを消去する代わりに、符号データAのノートオフ時刻をt2からt3に変更する処理を行えばよい。
【0088】
一般的には、第1の符号データの発音終了時刻と第2の符号データの発音開始時刻が一致し、これら2つの符号データに含まれる音の高さを示す情報および音の強さを示す情報が所定の許容範囲で類似している場合に、第1の符号データの発音終了時刻を第2の符号データの発音終了時刻に変更するとともに第2の符号データを削除することにより、これら2つの符号データを単一の符号データに統合する処理を行えばよいことになる。ここでは、隣接する2つの符号データの統合処理のみを示したが、もちろん、このような統合処理を時間軸上の左側から右側へ沿って順次実施してゆけば、連続配置された3つ以上の符号データを順次統合してゆくことが可能になり、全体として符号データの数を減らし、効率的な符号化が可能になる。
【0089】
以上、本発明を図示する実施形態に基づいて説明したが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々の態様で実施可能である。また、本発明に係る時系列信号の解析方法および音響信号の符号化方法は、コンピュータによって実行される処理であり、コンピュータにこのような処理を行わせるためのプログラムは、コンピュータ読み取り可能な記録媒体に記録して配付することが可能である。
【0090】
【発明の効果】
以上のとおり本発明によれば、時系列信号を互いに重複することのない複数の単位区間に分割しつつ、単位区間の境界において解析結果に不連続性が生じることのない正確な周波数解析を行うことができ、原音響信号の符号化を高い品質をもって行うことが可能になる。
【図面の簡単な説明】
【図1】本発明に係る時系列信号の解析方法の基本概念を示す図である。
【図2】本発明に係る時系列信号の解析方法の基本手順を示す流れ図である。
【図3】図2のステップS1における時系列信号の入力段階を説明する図である。
【図4】入力した時系列信号に対して、部分的に重複した複数の単位区間設定を行った例を示す図である。
【図5】図2のステップS3における周期関数定義段階で定義される周期関数の一例を示す図である。
【図6】図5に示す周期関数のもつ周波数f(n)が、ノートナンバーに対応していることを示す図である。
【図7】本発明に係る解析方法の特徴となる可変区間長Liをもった単位区間diを設定する際の第1の主条件を示す図である。
【図8】本発明に係る解析方法の特徴となる可変区間長Liをもった単位区間diを設定する際の第2の主条件を示す図である。
【図9】時系列信号Xについての零交差点Zを認識する方法を示す図である。
【図10】時系列信号Xについて認識された複数の零交差点Z1〜Z10を示す図である。
【図11】図10に示す時系列信号Xについて、ピークサンプルP2〜P10を求めた状態を示す図である。
【図12】隣接する零交差点間には、ただ一つのピークサンプルのみが求められることを示す図である。
【図13】各ピークサンプルのピーク値の包絡線Eに基づいて、時系列信号Xのくびれた部分を認識する方法を示す図である。
【図14】本発明に係る方法によって単位区間設定を行う具体的な手順を示す流れ図である。
【図15】図14の流れ図に示す手順の内容を具体的に説明する図である。
【図16】本発明に係る方法における相関計算の具体的な方法を示す図である。
【図17】図16に示す相関計算において用いられる計算式を示す図である。
【図18】単位区間diに対して、相関計算対象区間を設定した状態を示す図である。
【図19】図18に示すような相関計算対象区間を設定した場合に用いられる相関計算の計算式を示す図である。
【図20】具体的な時系列信号Xに対して、単位区間設定を行うとともに、相関計算対象区間の設定も行った状態を示す図である。
【図21】本発明に係る音響信号の符号化方法を実施する上で有用な一般化調和解析の基本概念を示す図である。
【図22】本発明に係る音響信号の符号化方法によって得られた符号データに対して施す統合処理を説明する図である。
【符号の説明】
A,B…符号データ
A(n),B(n)…相関値
d,d1〜d5,di…単位区間
E…ピーク値の包絡線
E(n)…相関値(実効値)
e(d1,1),e(d1,2),e(d1,3),e(d2,1),e(d2,2),e(d2,3)…振幅強度
F…サンプリング周波数
f(0)〜f(127),f(n)…標準周波数
G(j)…含有信号
i…単位区間を示すパラメータ
j…繰り返し回数を示すパラメータ
k…サンプル番号を示すパラメータ
L…固定区間長
Li…第i番目の単位区間について設定された可変区間長
Lmax …最大区間長
Lmin …最小区間長
n,n(d1,1),n(d1,2),n(d1,3),n(d2,1),n(d2,2),n(d2,3)…ノートナンバー
P2〜P10…ピークサンプル
Pa,Pb…ピーク位置のサンプル
Rn…周期関数
S(j),S(j+1)…差分信号
T1〜T3…トラック
t1〜t6…時刻
w…サンプル番号
X…時系列信号/区間信号
X(k)…第k番目のサンプルの振幅値
Z,Z1〜Z10,Za,Zb…零交差点
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a time-series signal analysis method and an acoustic signal encoding method, and performs analysis by extracting a plurality of periodic signals as constituent elements from a time-series signal given as a time-series intensity signal. The present invention also relates to a technique for encoding an acoustic signal using this analysis method. In particular, the present invention is suitable for use in a process for efficiently converting a general audio signal into MIDI format code data, and includes broadcast media (radio, television), communication media (CS video / audio distribution, Internet distribution). , Various industrial fields that produce various audio contents provided by package media (CD, MD, cassette, video, LD, CD-ROM, game cassette), and various acoustic signals such as medical auscultatory sounds (eg heart sounds) Application to the field of analysis and diagnosis is expected.
[0002]
[Prior art]
A time-series signal represented by an acoustic signal includes a plurality of periodic signals as its constituent elements. For this reason, a method for analyzing what kind of periodic signal is included in a given time-series signal has been known for a long time. For example, Fourier analysis is widely used as a method for analyzing a frequency component included in a given time series signal.
[0003]
By using such a time-series signal analysis method, it is possible to encode an acoustic signal. With the spread of computers, it has become easy to sample an analog audio signal as the original sound at a predetermined sampling frequency, quantize the signal intensity at each sampling, and capture it as digital data. If a method such as Fourier analysis is applied to the data and the frequency components included in the original sound signal are extracted, the original sound signal can be encoded by a code indicating each frequency component.
[0004]
On the other hand, the MIDI (Musical Instrument Digital Interface) standard, which was born from the idea of encoding musical instrument sounds by electronic musical instruments, has been actively used with the spread of personal computers. The code data according to the MIDI standard (hereinafter referred to as MIDI data) is basically data that describes the operation of the musical instrument performance such as which keyboard key of the instrument is played with what strength. The data itself does not include the actual sound waveform. Therefore, when reproducing the actual sound, a MIDI sound source storing the waveform of the instrument sound is separately required. However, its high encoding efficiency is attracting attention, and encoding and decoding according to the MIDI standard are being attracted attention. This technology is currently widely adopted in software that uses a personal computer to perform musical instrument performance, musical instrument practice, composition, etc.
[0005]
Therefore, by analyzing a time-series signal represented by an acoustic signal by a predetermined method, a periodic signal as a constituent element is extracted, and the extracted periodic signal is encoded using MIDI data. Proposals have been made. For example, JP-A-10-247099, JP-A-11-73199, JP-A-11-73200, JP-A-11-95753, JP-A-10-283453, JP-A-10-283454. In Japanese Patent Application No. 11-58431, Japanese Patent Application No. 11-177875, and Japanese Patent Application No. 11-329297, there are frequency components that constitute constituent elements of an arbitrary time series signal. Various methods have been proposed which can analyze MIDI and create MIDI data from the analysis results.
[0006]
[Problems to be solved by the invention]
Each of the analysis methods disclosed in the above-mentioned literatures sets a plurality of unit sections along the time axis of the time series signal to be analyzed, and supports a predetermined periodic function with high correlation for each unit section. Thus, a procedure of extracting a signal corresponding to each periodic function as a periodic signal as a constituent element is adopted. At this time, how to set the length of one unit section is an important problem that greatly affects the analysis result. In other words, the shorter the section length, the better the time resolution, so it is convenient for analyzing frequency changes such as voice signals (vocal signals). There is a problem that the accuracy decreases. Therefore, conventionally, a standard section length is determined in advance so that the number of samples (for example, 1024 samples) considered to be most convenient for analysis is included in one unit section. In general, the time axis is mechanically divided based on the length.
[0007]
However, in the method of mechanically setting a fixed-length unit interval, a unique interval setting is always performed regardless of what kind of signal the time series signal to be analyzed is. There is a risk of discontinuity at the boundary of the unit section. That is, a large difference may occur in the result of frequency analysis for adjacent unit sections. In general, when the obtained frequency analysis result is used for observing as a graph of a spectrum, even if a difference occurs in the analysis result at the boundary of the unit section, it does not cause a big problem. However, when the code data corresponding to the original sound signal is created using the analysis result of the sound signal, the discontinuity at the boundary becomes a big problem. When an original sound signal is to be reproduced based on data encoded by such a method, a sudden change in pitch occurs or a sound skip occurs at the boundary between unit intervals.
[0008]
In order to avoid such discontinuity at the boundary, a method of setting a unit interval by overlapping partly on the time axis has also been proposed. However, overlapping analysis processing is performed for the same part on the time axis. Since this is necessary, another problem arises that the calculation burden increases.
[0009]
Therefore, the present invention can perform accurate frequency analysis without causing discontinuity in the analysis results at the boundaries of the unit sections while dividing the time series signal into a plurality of unit sections that do not overlap each other. It is an object of the present invention to provide a time-series signal analysis method and an audio signal encoding method capable of encoding an original audio signal with high quality.
[0010]
[Means for Solving the Problems]
  (1) A first aspect of the present invention is a time-series signal analysis method for extracting a plurality of periodic signals as constituent elements from a time-series signal whose amplitude changes with time.
  An input stage for capturing time series signals to be analyzed as digital data consisting of a series of samples each having a predetermined amplitude,
  A section setting stage for setting a plurality of unit sections on the time axis of the captured time series signal,
  Periodic function definition stage that sets multiple frequencies and defines a periodic function with each frequency,
  A time series signal in each unit section is extracted as a section signal for each unit section, a correlation between each section signal and each periodic function is calculated, and a correlation calculation stage that outputs the result for each unit section;
  And do
  In the section setting stage,
  The minimum section length and the maximum section length for the unit section are determined in advance,
  A predetermined starting point on the time axis is set as the start point of the first unit section, and a plurality of unit sections are set on the time axis by using the end point of the previous unit section or a point located after the end point as the start point of the next unit section. So that the process of setting sequentially,
  When determining the end point of one unit section, the section length of the unit section ranges from the minimum section length to the maximum section length.For a series of samples constituting a time-series signal, a point where the sign of the amplitude of one sample is inverted with respect to the sign of the amplitude of the immediately preceding sample is detected as a zero crossing point, So that the position of the sample constituting the zero crossing is selected as the end point of the unit interval,The end point is determined.
[0012]
  (2)   Of the present inventionSecond aspectIs the aboveFirst aspectIn the time series signal analysis method according to
  The end point is determined so as to satisfy the condition that an odd number of zero crossing points are included in the unit section excluding the start point and the end point.
[0013]
  (3)   Of the present inventionThird aspectIs the aboveFirst or second aspectIn the time series signal analysis method according to
  When a peak sample with the maximum absolute value among the samples existing between adjacent zero crossings is obtained, and the absolute value of the amplitude of each peak sample is defined as the peak value, this peak value is minimized. The minimum zero crossing located in the vicinity of the peak sample is obtained, and the position of the sample constituting the minimum zero crossing is selected as the end point of the unit section.
[0014]
  (Four)   Of the present inventionFourth aspectIs the above1st-3rd aspectIn the time series signal analysis method according to
  When calculating the correlation between the interval signal and a specific periodic function in the correlation calculation stage, the maximum is within the range that does not exceed the unit interval among the intervals that are integral multiples of the period of the specific periodic function. Is defined as the correlation calculation target section, and only the correlation within the correlation calculation target section is calculated.
[0015]
  (Five)   Of the present inventionFifth aspectIs the above1st-4th aspectIn the time series signal analysis method according to
  When calculating the correlation between the interval signal and each periodic function in the correlation calculation stage, the correlation between the jth differential signal S (j) and all the periodic functions defined in the periodic function definition stage is obtained, and the maximum Is extracted as the j-th element function, and the element function is multiplied by the correlation value to obtain the j-th contained signal G (j), from the difference signal S (j). The process of setting the signal obtained by subtracting the contained signal G (j) as a new difference signal S (j + 1), and the interval signal as the first difference signal S (1), j = 1 to J (J is The J inclusion signals G (1) to G (J) are output as a result of the correlation calculation relating to the section.
[0016]
  (6) The sixth aspect of the present invention is:In the method of encoding an acoustic signal for encoding an acoustic signal given as a time-series signal whose amplitude changes with time,
An input stage for capturing a given time-series signal as digital data consisting of a series of samples each having a predetermined amplitude;
A section setting stage for setting a plurality of unit sections on the time axis of the captured time series signal,
Periodic function definition stage that sets multiple frequencies and defines a periodic function with each frequency,
A correlation operation stage that extracts a time series signal in each unit section as a section signal for each unit section and calculates a correlation value indicating a correlation between each section signal and each periodic function;
For each unit section, Q periodic functions are selected in descending order of correlation value, “information indicating the pitch” corresponding to the frequency of the selected periodic function, and correlation value of the selected periodic function "Information indicating sound intensity", "information indicating sound start time of sound" corresponding to the start point of the unit section, "information indicating sound end time of sound" corresponding to the end point of the unit section Q code data including four pieces of information is created, and an acoustic signal in one unit section is encoded with Q code data.An encoding stage;
And do
In the section setting stage,
The minimum section length and the maximum section length for the unit section are determined in advance,
  A predetermined starting point on the time axis is set as the start point of the first unit section, and a plurality of unit sections are set on the time axis by using the end point of the previous unit section or a point located after the end point as the start point of the next unit section. So that the process of setting sequentially,
When determining the end point of one unit section, the amplitude of one sample is set so that the section length of the unit section is in the range from the minimum section length to the maximum section length, and for a series of samples constituting the time-series signal. Is detected as a zero crossing point, and the end point is selected so that the position of the sample constituting one of the zero crossing points is selected as the end point of the unit interval. I decided to decide.
[0017]
  (7)   Of the present inventionSeventh aspectIs the aboveSixth aspectIn the method of encoding an acoustic signal according to
  In the encoding stage,The sound generation end time of the first code data matches the sound generation start time of the second code data, and “information indicating the pitch” and “information indicating the sound intensity” included in these two code data Are similar to each other within a predetermined allowable range, by changing the sounding end time of the first code data to the sounding end time of the second code data and deleting the second code data, A process of integrating the code data into a single code data is further performed.
[0018]
  (8)   Of the present inventionEighth aspectIs the above6th or 7th aspectIn the method of encoding an acoustic signal according to
  In the encoding stage,The note number is used as the “information indicating the pitch”, the velocity is used as the “information indicating the intensity of the sound”, the note-on time is used as the “information indicating the start time of sound generation”, and the “ Note-off time is used as “information indicating pronunciation end time”, and MIDI data is created as code data.
[0019]
  (9)   Of the present inventionNinth aspectIs the above1st to 8th aspectsA program for causing a computer to execute the time-series signal analysis method or the acoustic signal encoding method according to the present invention is recorded on a computer-readable recording medium.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described based on the illustrated embodiments.
[0021]
§1. Basic principle of analysis method and encoding method according to the present invention
First, the basic principle of the time-series signal analysis method and acoustic signal encoding method according to the present invention will be described. Since this basic principle is disclosed in the above-mentioned publications or specifications, only the outline will be briefly described here.
[0022]
Suppose that an analog acoustic signal is given as a time-series signal as shown in FIG. In the illustrated example, this acoustic signal is shown with time t on the horizontal axis and amplitude (intensity) on the vertical axis. Here, first, the analog sound signal is processed as digital sound data. This may be performed by using a conventional general PCM method, sampling the analog acoustic signal at a predetermined sampling period, and converting the amplitude into digital data using a predetermined number of quantization bits. That is, this acoustic signal is captured as digital data composed of a series of samples each having a predetermined amplitude.
[0023]
Subsequently, a plurality of unit sections are set on the time axis of the acoustic signal to be analyzed. In the example shown in FIG. 1A, six times t1 to t6 are defined at equal intervals on the time axis t, and five unit intervals d1 to d5 having these times as the start point and the end point are set. However, the example shown in FIG. 1 is an example of setting unit sections in a conventionally proposed general analysis method, and all unit sections having the same fixed section length are mechanically allocated on the time axis. ing. The point of the present invention lies in the method of setting the unit interval, and instead of determining a fixed interval length and mechanically assigning it as in the prior art, it sets a variable interval according to the content of the acoustic signal to be analyzed. is there. The detailed method will be described later.
[0024]
When the unit section is set in this way, representative frequencies are selected for the acoustic signals (hereinafter referred to as section signals) for each unit section. Each section signal usually includes various frequency components. For example, a frequency component having a large amplitude may be selected as the representative frequency. Although only one representative frequency may be selected, encoding with higher accuracy becomes possible by selecting a plurality of Q representative frequencies. In FIG. 1 (b), three representative frequencies (Q = 3) are selected for each unit section, and one representative frequency is represented as one representative code code (in the drawing, shown as a note for convenience). An encoded example is shown. Here, three tracks T1, T2, and T3 are provided to accommodate representative code codes (musical notes), but this means that three representative code codes selected for each unit section, This is to accommodate different trucks. Here, “code” means “code” meaning a symbol, not “chord” indicating a chord.
[0025]
For example, representative code codes n (d1,1), n (d1,2), n (d1,3) selected for the unit section d1 are accommodated in tracks T1, T2, T3, respectively. Here, each code n (d1,1), n (d1,2), n (d1,3) is a code indicating a note number in the MIDI code. The note number in the MIDI code takes 128 values from 0 to 127, each indicating one key of the piano keyboard. Specifically, for example, when 440 Hz is selected as the representative frequency, this frequency corresponds to the note number n = 69 (corresponding to “ra sound (A3 sound)” in the center of the piano keyboard). As a result, n = 69 is selected. However, FIG. 1B is a conceptual diagram showing the representative code code obtained by the above-described method in the form of a note. Actually, data relating to strength is also added to each note. For example, the track T1 includes data indicating the scales of note numbers n (d1,1), n (d2,1)... And data indicating the intensity of e (d1,1), e (d2,1). Will be housed. The data indicating the intensity is determined by the degree to which the component of each representative frequency is included in the original section signal. Specifically, the data indicating the intensity is determined based on the correlation value with respect to the section signal of the periodic function having each representative frequency. In addition, in the conceptual diagram shown in FIG. 1 (b), the position of each unit section on the time axis is indicated by the position of the note in the horizontal direction. Is accurately added as a numerical value to each note.
[0026]
As a format for encoding an acoustic signal, it is not always necessary to adopt the MIDI format. However, since the MIDI format is the most popular as this type of encoding, code data in the MIDI format is practically used. Is most preferred. In the MIDI format, “note-on” data or “note-off” data exists while interposing “delta time” data. “Note-on” data is data that designates a specific note number N and velocity V to instruct the start of performance of a specific sound, and “note-off” data is specific note number N and velocity V. Is data that designates the end of the performance of a specific sound. The “delta time” data is data indicating a predetermined time interval. Velocity V is a parameter indicating, for example, the speed at which the piano keyboard is pressed down (velocity at note-on) and the speed at which the finger is released from the keyboard (velocity at note-off). Or it shows the strength of the performance end operation.
[0027]
In the above-described method, Q note numbers n (di, 1), n (di, 2),..., N (di, Q) are obtained as representative code codes for the i-th unit interval di. Intensities e (di, 1), e (di, 2),..., E (di, Q) are obtained for each. Therefore, MIDI format code data can be created by the following method. First, as the note number N described in the “note on” data or “note off” data, the obtained note numbers n (di, 1), n (di, 2),..., N (di, Q ) Can be used as they are. On the other hand, as the velocity V described in the “note-on” data or “note-off” data, the obtained intensities e (di, 1), e (di, 2),..., E (di, Q) A value normalized by a predetermined method may be used. The “delta time” data may be set according to the length of each unit section.
[0028]
§2. Basic procedure for frequency analysis
FIG. 2 is a flowchart showing a basic procedure for performing frequency analysis on an arbitrary time-series signal based on the basic principle described above. First, in step S1, a time-series signal input stage is performed. Here, a process is performed in which a time series signal to be analyzed is captured as digital data consisting of a series of samples each having a predetermined amplitude. FIG. 3 is a diagram showing a specific example of the digital data captured in this way. In this example, capturing is performed at a sampling frequency of 22 kHz, and samples having a predetermined amplitude are captured at intervals of about 45.5 μs on the time axis.
[0029]
In the subsequent step S2, a section setting stage for setting a plurality of unit sections on the time axis of the captured time series signal is performed. For example, if a fixed section length L including 1024 samples is determined, a section having a length of about 47 ms is set as the first unit section d1 as shown in FIG. Become. In other words, the end point of the first unit section d1 is determined as a position where 1024 samples have elapsed from the start position. If the end point of the first unit section d1 is determined as the start point of the subsequent unit section and the end point is determined at a position where 1024 samples have passed, the second unit section d2 is set. Each unit section d1 to d5 shown in FIG. 1 (a) is a section set in this way. However, when such a unit interval setting is performed, as described above, the analysis result becomes discontinuous at the boundary portion of the interval, and when encoding is performed based on such an analysis result, sound is reproduced during playback. May cause a problem of discontinuity. In view of this, a proposal has been made to set unit intervals while partially overlapping on the time axis. For example, in the example shown in FIG. 4, the unit sections d1, d2, d3, d4,... All overlap each other, and if frequency analysis is performed for each unit section set in such a manner as described above, Discontinuity at the section boundary can be alleviated. However, since it is necessary to analyze the same signal component repeatedly in a plurality of unit sections, the calculation burden becomes considerably heavy, and it cannot be said that it is an efficient method. In the section setting method of the present invention, it is possible to alleviate discontinuities at the section boundaries without setting unit sections in duplicate. The specific method will be described in detail in §3. .
[0030]
In the next step S3, a periodic function defining step is performed in which a plurality of frequencies are set and a periodic function having each frequency is defined. In general, frequency analysis of a time-series signal is performed by preparing a large number of periodic functions in advance and obtaining the correlation of the time-series signal with respect to each of these periodic functions. A periodic function having a large correlation can be considered to be a frequency component that is included in the time-series signal. The periodic function defined in step S3 is a periodic function for obtaining such correlation.
[0031]
After the above steps, the preparation for frequency analysis is complete. Hereinafter, frequency analysis is performed for each unit section. First, in step S4, a section signal extraction stage is performed. At this stage, a time-series signal in a specific unit section is extracted as a signal to be analyzed. Here, the signal extracted for each unit section in this way is referred to as a section signal. In the subsequent correlation calculation stage of step S5, a specific correlation value is calculated in order to obtain the correlation between the extracted section signal and each periodic function. The correlation value for each periodic function calculated in this way is output in the correlation output stage of step S6. Such processes of steps S4 to S6 are repeatedly executed for all set unit sections through step S7.
[0032]
As a result, the correlation value for each periodic function output in step S6 is the frequency analysis result of the signal (section signal) in each unit section. For example, if the top three periodic functions are selected in descending order of the correlation value, the frequencies of the selected periodic functions are representative frequencies for the section signal. If these three representative frequencies are expressed as MIDI note numbers, for example, note numbers n (d1,1), n (d1,2), n (d1,3) are obtained for the unit interval d1, If the value corresponding to the correlation value for the periodic function having the representative frequency is defined as intensity (amplitude), the intensity e (d1,1), e (d1,2), e ( d1,3) is obtained. Each code data arranged in each track T1 to T3 in FIG. 1B is obtained in this way.
[0033]
Finally, if encoding is performed as MIDI data, it is convenient that the periodic function prepared in step S3 is a periodic function having a standard frequency corresponding to each MIDI note number. FIG. 5 shows an example in which a pair of trigonometric functions are prepared as such a periodic function. The trigonometric function shown in FIG. 5 is composed of a pair of a sine function and a cosine function having the same frequency, and each of the 128 standard frequencies f (0) to f (127) is a sine function. And a pair of cosine functions will be defined. Here, a pair of functions consisting of a sine function and a cosine function having the same frequency is a periodic function for the frequency. In other words, the periodic function for a specific frequency is constituted by a pair of sine function and cosine function. The reason why the periodic function is defined by a pair of sine function and cosine function is to eliminate the influence of the correlation value on the correlation value when obtaining the correlation value of the periodic function with respect to the interval signal. Note that the variables F and k in each trigonometric function shown in FIG. 5 are variables corresponding to the sampling frequency F and the sample number k for the section signal. For example, a sine wave with respect to the frequency f (0) is expressed by sin (2πf (0) k / F), and given an arbitrary sample number k, the same time position as the k-th sample constituting the section signal The amplitude value of the periodic function at is obtained.
[0034]
Here, 128 standard frequencies f (0) to f (127) are defined by equations as shown in FIG. That is, the nth (0 ≦ n ≦ 127) standard frequency f (n) is
f (n) = 440 · 2γ (n)
γ (n) = (n−69) / 12
Will be defined by the expression If the standard frequency is defined by such an expression, it is convenient when finally encoding using MIDI data is performed. This is because the 128 standard frequencies f (0) to f (127) set by such a definition take frequency values forming a geometric series, and correspond to the note numbers used in the MIDI data. This is because it becomes a frequency. For example, note number n = 69 represents the “ra sound (A3 sound)” at the center of the piano keyboard as described above, and corresponds to a sound of 440 Hz. If the th standard frequency f (n) is defined, when n = 69 is substituted, f (n) = 440 is obtained. In other words, 128 standard frequencies f (0) to f (127) defined by the equation shown in FIG. 6 are frequencies corresponding to 128 note numbers n = 0 to 127 in MIDI data. Become. The note number n indicates a logarithmic scale whose frequency is doubled by one octave, and therefore does not correspond linearly to the frequency axis f. Accordingly, the 128 standard frequencies f (0) to f (127) shown in FIG. 5 are frequencies set at equal intervals (in semitone units in MIDI) on the frequency axis shown on the logarithmic scale.
[0035]
§3. Basic concept of section setting method which is a feature of the present invention
As already described, the feature of the present invention is the unit interval setting method on the time axis, and the basic idea is that each of the individual intervals without taking the fixed interval length L as shown in FIG. The variable section length is different for each unit section. For example, if it is the i-th unit section, the variable section length Li most suitable for the section is set.
[0036]
Now, based on FIG. 3, let us consider the adverse effects of adopting a unique fixed section length L. The most remarkable adverse effect of adopting the fixed section length L is that the end point position of the section is determined regardless of the amplitude of the signal. For example, in the example shown in FIG. 3, the signal amplitude at the start point position of the unit interval d1 is zero, but the signal at the end point position has an arbitrary amplitude value (in the case of the illustrated example, The sample position with an amplitude value close to the peak is the end point). Thus, if a section boundary is set at a location where the amplitude is large, discontinuity is likely to occur in the analysis result at the section boundary. For example, if the analysis result is expressed by MIDI data and encoded, separate MIDI notes are created across the section boundary. Although three notes are shown for each of the unit sections d1 and d2 in FIG. 1, there is a large pitch difference between the notes created for the unit section d1 and the notes created for the unit section d2. If this occurs, sound discontinuity will occur during playback.
[0037]
The most important idea in the present invention is that such a discontinuity can be suppressed if a position where the amplitude is zero is set as a section boundary. For example, if the section setting as shown in FIG. 7 is performed instead of the section setting as shown in FIG. 3, the amplitude of both the start point position and the end point position of the section becomes zero. Therefore, a predetermined starting point on the time axis (preferably, a point where the amplitude is zero is preferably set as the starting point) is set as the starting point of the first unit section d1, and the end point of the previous unit section is set as the following point. A process of sequentially setting a plurality of unit sections on the time axis as the start point of the unit section is performed, and when setting the i-th unit section di, “the amplitude of the time series signal at the end point position becomes zero If the variable length section Li is set on the basis of the condition “”, the amplitude of the starting point position of the (i + 1) th unit section is also zero. Will be set. However, since such section setting processing is performed on digital data captured at a predetermined sampling interval, the amplitude value of each sample is rarely zero. Therefore, in practice, the variable length section is set based on the condition that “the amplitude of the time-series signal at the end position is“ approximately zero ””. A specific method for determining whether or not the condition “substantially zero” is satisfied will be described later.
[0038]
By the way, when actually determining the end point position of the unit section, it is not always possible to determine the end point position wherever the amplitude becomes almost zero. This is because the section length of one unit section is an important factor that greatly affects the results of analysis performed later. That is, as the section length is set shorter, the time resolution is improved, but conversely, the frequency resolution is lowered, so that the analysis accuracy is lowered. Therefore, in the present invention, when the minimum section length Lmin and the maximum section length Lmax are determined in advance for a unit section and the end point of one unit section is determined, the section length of the unit section is the minimum section length Lmin. The condition that the maximum section length Lmax is satisfied is satisfied. Here, the minimum section length Lmin and the maximum section length Lmax are set to appropriate values in consideration of the balance between time resolution and frequency resolution. In general, the minimum section length Lmin is preferably set to about half of the maximum section length Lmax.
[0039]
FIG. 8 is a diagram illustrating a method for determining the end point of a unit section in consideration of such conditions. The variable section length Li of an arbitrary unit section di does not become less than the minimum section length Lmin no matter how short, and does not exceed the maximum section length Lmax no matter how long. Therefore, one point in the illustrated end point search section is selected as the end point of the unit section di. Eventually, in the present invention, the first condition that “the amplitude of the time-series signal at the end point position is“ approximately zero ”” and the first condition that “the section length is in the range of the minimum section length Lmin to the maximum section length Lmax”. The end point of the unit section is placed at a position satisfying two conditions (hereinafter referred to as two main conditions). Specifically, the end point search section shown in FIG. 8 is searched, a position where the amplitude becomes almost zero in the end point search section is found, and that position is set as the end point.
[0040]
Next, a specific method for determining a sample position that satisfies the first condition that “the amplitude becomes substantially zero” will be described. Now, it is assumed that sampling is performed on the time series signal X as shown in FIG. 9 and several samples are obtained. In the figure, the positions on the time axis indicated as k-3, k-2, k-1, k, k + 1, k + 2, k + 3 are the positions of the samples. The time-series signal X input as digital data no longer has information as a signal having a curve as shown in the figure, and amplitude values (for example, X (k−1), X ( k) and X (k + 1)). Therefore, a point Z where the original curve of the time series signal X intersects the horizontal axis (that is, a point where the amplitude becomes zero, hereinafter referred to as a zero crossing point and will be indicated by a black square in the drawing) happens to occur. The sample position is rare, and the exact position of the zero crossing point Z cannot be directly determined from the amplitude value of each sample. However, the two samples located on both sides of the zero crossing Z, that is, in the case of the illustrated example, the k-th sample and the (k + 1) -th sample have their amplitude signs reversed. Can be recognized.
[0041]
If attention is paid to this point, the amplitude of a series of samples arranged at predetermined intervals on the time axis is followed, and a place where the sign of the amplitude of one sample is inverted with respect to the sign of the amplitude of the immediately preceding sample. If it can be found, it can be recognized that there is a zero crossing at that point. For example, in the case of the example shown in FIG. 9, the sign is positive for the amplitudes X (k−1) and X (k), but the sign is inverted negative for the next amplitude X (k + 1). Yes. Therefore, it can be recognized that the zero crossing point Z exists between the k-th sample and the (k + 1) -th sample. In this case, the positions of two samples sandwiching the zero-crossing point Z (here, referred to as samples constituting the zero-crossing point Z) are both samples satisfying the first condition that “the amplitude is almost zero”. Since it is the position, any one of these sample positions may be selected as the end point of the unit section. There is not much difference in selecting either of the positions of the two samples constituting the zero-crossing point Z, but theoretically, of the two samples constituting the zero-crossing point Z, the one with the smaller absolute value of the amplitude, It is preferable to select the end point of the unit section.
[0042]
In FIG. 9, the periphery of one zero-crossing point Z is shown in an enlarged manner, but actually, as shown in FIG. 10, a large number of zero-crossing points are recognized on the time axis as the time series signal X vibrates. Will be. In the figure, an example in which a total of ten zero crossings Z1 to Z10 are recognized is shown. In order to determine an end point that satisfies the two main conditions described above, a sample position that constitutes any zero crossing point recognized in the end point search section (a sample position across the zero crossing point) may be selected as the end point position.
[0043]
However, in practice, a large number of zero crossings are generally recognized in the end point search section. When one of these many zero crossings is selected as the end point position, the above two main cross points are used. In addition to the conditions, it is preferable to define some subconditions and select the most preferable zero crossing point as the end point of the unit section from among many zero crossing points. Therefore, here, the following two sub-conditions are defined and the end point is selected.
[0044]
First, the first subcondition is a condition that “an odd number of zero crossings are included in a unit section excluding a start point and an end point”. For example, in the example shown in FIG. 10, consider a case where a new unit section starting from the zero crossing Z1 is set. In this case, zero crossings that are included in the minimum section length Lmin from the start position and zero crossings within the range exceeding the maximum section length Lmax are excluded, but all zero crossings existing in the end point search section are end point positions. Can be selected. In other words, the first sub-condition is that “when the zero-crossing point Z1 at the start point is counted as the first zero-crossing point, the even-numbered zero-crossing point is excluded from the selection target”. Means. Specifically, in FIG. 10, zero crossing points Z2, Z4, Z6, Z8, and Z10 are excluded from selection targets. This is because if these zero crossing points are selected as end point positions, “an even number of zero crossing points are included in the unit section excluding the start point and the end point”. For example, if the zero crossing point Z8 is selected as the end point position, six (even number) zero crossing points Z2 to Z7 are included in the unit section excluding the start point (Z1) and the end point (Z8). .
[0045]
The reason why it is not preferable that an even number of zero-crossing points is included in the unit section is that the period of the time series signal X in the unit section is not an integer. For example, in FIG. 10, a time series signal is included for one period in a section having Z1 as a start point and Z3 as an end point, and a time series signal is included in a section having Z1 as a start point and Z5 as an end point. Two periods are included, and a time-series signal is included for three periods in a section starting from Z1 and ending at Z7. Thus, in the case of a section satisfying the condition that “an odd number of zero crossings are included in the section excluding the start point and the end point”, time series signals are included for an integer period. However, the time series signal is included in 1.5 periods within the section starting from Z1 and Z4 as the end point, and the time series signal is 2.5 periods within the section starting from Z1 and the end point Z6. In the section including Z1 as the start point and Z9 as the end point, the time-series signal will be included for 3.5 cycles, and “an even number of zero crossings are included in the section excluding the start point and end point. In the case of the section satisfying the condition “required”, the time-series signal is included in an extra half cycle.
[0046]
In general, if an integer number of periodic signals are taken out, the positive and negative amplitudes will be balanced, but if there is an extra half cycle, the balance between positive and negative amplitudes will be lost by this half cycle. . When a correlation calculation with each periodic function is performed on a signal in which the positive / negative balance is lost in this way, there is a possibility that a result showing a correlation appears even for a periodic function that is not actually correlated. In order to avoid such an adverse effect, it is preferable that the unit interval includes an integer period of the time series signal X. The first sub-condition that “an odd number of zero crossings are included in the unit interval excluding the start point and end point” is a condition that takes this point into account, and satisfies this condition. When the end point position is determined, a unit interval including an integer period of the time series signal X is always set.
[0047]
The second sub-condition is a condition based on the basic concept of “selecting a portion with a constricted amplitude as much as possible as an end point” by paying attention to the amplitude of the time-series signal X. For example, looking at the time-series signal shown in FIG. 1 (a), it can be seen that there is a so-called “swell” in the amplitude of the signal. In the case of a general acoustic signal, such a “swell” is often present in the signal. Here, for example, the position at time t2 corresponds to the “constricted portion” immediately after the large “swell” is settled, whereas the position at time t3 is a position on a large “swell”. ing. Since the signal itself is oscillating, there will be zero crossings at both the position of time t2 and the position of time t3, but the discontinuity of sound at the section boundary is suppressed. In order to achieve the purpose, rather than selecting the position of the time t3 on the “swell” as the end point of the unit section, the position of the time t2 corresponding to the “constricted portion” is selected as the end point of the unit section Is preferable.
[0048]
In this way, conceptually, it means “select the part with the narrowest amplitude as possible as the end point”, but in practice, the following method is used to achieve the optimum that matches such a concept. It is possible to select zero crossing points. First, a peak sample having the maximum absolute value of amplitude among samples existing between adjacent zero crossing points is obtained. For example, when such a peak sample is obtained for the time series signal X shown in FIG. 10, it is as shown in FIG. Here, P2 to P10 indicated by arrows are peak samples, respectively. Here, the reason that the first peak sample is set to P2 instead of P1 is a convenience for associating each peak sample with the subsequent zero crossing point in the following description. Since only one sample having the maximum amplitude in the samples existing between the adjacent zero crossing points becomes the peak sample, for example, as shown in FIG. 12, between the adjacent zero crossing points Za and Zb, Even if there are two peaks Pa and Pb, only the peak Pb having a large absolute value is recognized as a peak sample.
[0049]
Subsequently, the absolute value of the amplitude of each peak sample is defined as a peak value, and a zero crossing point located in the vicinity of the peak sample at which the peak value is minimized is obtained. Such a zero crossing point will be called a minimum zero crossing point. There are two zero crossings located in the vicinity of the peak sample where the peak value becomes the minimum, but there are two positions where the peak sample is sandwiched. Here, for convenience, the zero crossing subsequent to the peak sample is defined as the minimum zero crossing. Let's say. FIG. 13 is a diagram in which the directions of the arrows are all arranged upward in order to compare the peak values (the lengths of the arrows) of the peak samples P2 to P10 shown in FIG. Here, if an envelope E connecting the tips of the arrows is drawn, it can be seen that the peak value of the peak sample P9 is minimal. The zero crossing points located in the vicinity of the peak sample P9 are zero crossing points Z8 and Z9 located between the peak sample P9. Here, the zero crossing point Z9 following the peak sample P9 is a minimum zero crossing point. The minimum zero crossing point Z9 obtained in this way is located in the narrowed portion of the amplitude of the original time series signal X. Therefore, if the position of the sample constituting the minimal zero crossing Z9 is selected as the end point of the unit section, the end point can be determined in consideration of the second subcondition. In addition, when there are a plurality of minimum zero crossing points as end point candidates, for example, a criterion may be set such that a smaller peak value of a corresponding peak sample is selected. Alternatively, if there is a request to set the section length as long as possible in order to improve the analysis accuracy as much as possible, the minimum zero crossing point on the right side on the time axis can be secured so that a section length closer to the maximum section length Lmax can be secured. You may make it set the standard of selecting.
[0050]
§4. Specific section setting procedure
As described above, in the present invention, the main condition is that the first condition “the amplitude of the time-series signal at the end point position is“ approximately zero ”” and “the section length is the minimum section length Lmin to the maximum section length Lmax”. The second condition of “becomes a range” is set, and further, as a sub-condition, the first condition “an odd number of zero-crossing points are included in the unit section excluding the start point and end point”, A second condition “select a constricted portion as an end point” is set. Here, a specific method for setting a section satisfying these four conditions will be described based on the flowchart of FIG.
[0051]
First, in step S11, a process for obtaining a zero-crossing point is performed over the input entire time series signal X. As already described, the method of recognizing the zero-crossing point follows each amplitude of a series of samples arranged at predetermined intervals on the time axis, and the sign of the amplitude of one sample corresponds to the sign of the amplitude of the immediately preceding sample. What is necessary is just to discover the place which is reversed. Here, for example, as shown in FIG. 15 (a), it is assumed that zero-crossing points Z1 to Z7 are obtained for the time series signal X.
[0052]
In the subsequent step S12, processing for erasing even-numbered zero crossings among these zero crossings is performed. In the case of FIG. 15 (a), the zero crossing points Z2, Z4 and Z6 are deleted. The reason for eliminating this even-numbered zero-crossing is that only the zero-crossing that can satisfy the first sub-condition “the odd-numbered zero-crossing is included in the unit section excluding the start and end points” This is to leave it as a position candidate.
[0053]
In the next step S13, the maximum absolute value of the amplitude in the section between the remaining zero crossing (that is, the odd-numbered zero crossing) and the immediately preceding zero crossing (the previous one among the remaining zero crossings). A process for obtaining a value as a peak value for the zero crossing is performed. This is a process for taking into account the second sub-condition of “selecting the constricted part of the amplitude as much as possible as the end point”, obtaining a peak sample existing between adjacent zero crossing points, and obtaining the peak value of this peak sample. Is the peak value for the subsequent zero crossing. For example, in the example shown in FIG. 15A, when the processing of step S13 is performed after the even-numbered zero crossing in step S12 is deleted, the zero crossing Z3 is performed as shown in FIG. 15B. Is associated with the peak sample P3, the zero crossing Z5 is associated with the peak sample P5, and the zero crossing Z7 is associated with the peak sample P7. The peak values of the zero crossings Z3, Z5, Z7 are respectively associated with the peak samples P3, P5, P7. Will be given. In this example, all the peak samples happen to have a positive amplitude, but of course, a peak sample having a negative amplitude may be selected.
[0054]
In the next step S14, if there is a zero crossing point where the peak value is smaller than the predetermined threshold value Pmin among the zero crossing points to which the predetermined peak value is given in this way, a process of deleting this is performed. This is a measure for ignoring a peak related to a noise component when a noise component having a small amplitude is included. The zero crossings remaining in this way are all zero crossings suitable for being selected as the start / end points of the unit section, and will be referred to as node points here. Here, in the example shown in FIG. 15B, the following explanation will be made on the assumption that all of the zero crossing points Z3, Z5 and Z7 remain as node points.
[0055]
In step S15, the parameter i indicating the unit section number is set to an initial value 1. Then, the first node point (in the example shown in FIG. 15B, the node point Z1) is set as the start point of the first unit section d1. Thus, when the starting point of the unit section d1 is determined, the section corresponding to the minimum section length Lmin and the section corresponding to the maximum section length Lmax are determined based on the starting point, as shown in FIG. The end point search section corresponding to the difference between the two sections is also determined. In step S16, it is checked whether there is a node point in the end point search section. Usually, there are a plurality of node points in the end point search section. In the example of FIG. 15B, two node points Z5 and Z7 exist in the end point search section. Therefore, in step S17, a node point having the minimum peak value is searched for in this end point search section, and such a node point (to be precise, either one of a pair of sample positions sandwiching such a node point). One is the end point of the i-th unit section (i = 1 in the example of FIG. 15B). Therefore, in the case of the illustrated example, the peak value of the node point Z5 (the amplitude value of the peak sample P5) and the peak value of the node point Z7 (the amplitude value of the peak sample P7) are compared, and the smaller node point Z7 (exactly (One of a pair of sample positions sandwiching the node point Z7) is selected as the end point of the first unit section d1.
[0056]
Thus, when the end point of the first unit section d1 is obtained, the process proceeds from step S18 to step S19. In step S19, a process is performed in which the end point of the i-th unit section is the start point of the (i + 1) -th unit section. In this example, the end point of the first unit section d1 is the start point of the second unit section d2. Thereafter, the same processing is repeatedly executed in step S20 while increasing the parameter i by 1. When the setting of all necessary unit sections is completed, this procedure is completed through step S18.
[0057]
If there is a location in the time series signal X where the signal component is substantially interrupted for a while, no node point may be found in the end point search section in step S16. In that case, the process branches from step S16 to step S21, and a silent section setting process is performed. This silent section setting process is a process for setting a section in which no node point exists as a silent section, and the silent section is a section that should be called a space between unit sections. In the description so far, each unit section is closely adjacent and the end point of one unit section is set to be the start point of the next unit section. However, the signal component is substantially interrupted for a while. If there is such a part, it is desirable to set such a silent section as an exception.
[0058]
Specifically, the silent section setting process in step S21 may be performed as follows. First, as a result of searching the end point search section, if no node point is found, the maximum section length Lmax is exceeded and further to the right on the time axis until the first node point is found anyway. Continue searching. When the first node point is found, the current start point position to the first found node point position is set as a silent section, and the current start point position up to the first found node point position is set. To return to the process of step S16. For example, as shown in FIG. 15 (c), a node point Za is given as the start point (this is given as the end point of the previous unit section), and as a result of searching the end point search section, no node point is found. If not, the search range is further extended to the right and the search is continued until the first node point Zb is found. Then, the section from the node points Za to Zb is set as a silent section (this silent section is not an actual original section, and of course, the frequency analysis process is not executed for this silent section). Then, the starting point of the i-th unit section may be reset to the node point Zb, the process may return to step S16 again, and the process of setting the unit section may be continued. Silent sections are not particularly limited in length, so that, for example, when speech signals such as human conversation are input as time-series signals, it is possible to efficiently process portions where conversation is interrupted. Become. When a silent section without an entity is set in this way, the end point of the original unit section does not match the start point of the next unit section.
[0059]
§5. Specific method of correlation calculation
The unit section setting method described above over §3 and §4 is a method that is an important feature of the present invention, and is a method performed in the step S2 shown in FIG. Thus, when each unit section is determined, each periodic function is defined in step S3, a section signal for each section is extracted in step S4, and a correlation between the section signal and each periodic function is calculated in step S5. The result is output in step S6. Therefore, here, a specific method of the correlation calculation in step S5 will be described.
[0060]
Assume that the section signal X (the portion in the unit section di of the time series signal X to be analyzed) is obtained for the i-th unit section di as shown in FIG. At this time, the section length Li of the unit section di becomes the variable section length as described in §3 and §4. Here, it is assumed that a total of w samples obtained by sampling at the sampling frequency F are included in the unit interval di, and the sample numbers are 0, 1, 2, 2, as shown in the figure. 3,..., K,..., W-2, w-1 (the w-th sample indicated by a white circle is a sample included at the head of the next unit section adjacent to the right). In this case, for an arbitrary sample number k, an amplitude value of X (k) is given as digital data. When the section setting is performed based on the basic concept described above, the start point and end point of the unit section di are zero crossings, and the period signal of an integer period (two periods in the illustrated example) is used as the section signal X. will be obtained within di.
[0061]
On the other hand, as described above, 128 trigonometric function pairs as shown in FIG. 5 are prepared as the plurality of periodic functions. The variables F and k in each trigonometric function are variables corresponding to the sampling frequency F and the sample number k for the section signal X, as shown in FIG. For example, the sine function for the frequency f (0) is expressed as sin (2πf (0) k / F), and given an arbitrary sample number k, the amplitude of the periodic function at the same time position as the kth sample. A value is obtained. Further, the 128 standard frequencies f (0) to f (127) take frequency values forming a geometric series, and are frequencies corresponding to the note numbers used in the MIDI data. In the correlation calculation stage, the correlation between all these trigonometric functions and the interval signal X is calculated.
[0062]
Subsequently, referring to FIG. 16, the principle for obtaining the correlation value between the interval signal X and the sine function Rn having the nth standard frequency f (n) will be described. The correlation value A (n) between the two can be defined by the first arithmetic expression in FIG. Here, X (k) is the amplitude value of the sample number k in the section signal X as shown in FIG. 16, and sin (2πf (n) · k / F) is at the same position on the time axis. This is the amplitude value of the sine function Rn. This first arithmetic expression obtains the product of the amplitude value of the section signal X and the amplitude value of the sine function Rn for the positions of all sample numbers k = 0 to w−1 in the unit section di, and sums the products. It can be said that it is a desired expression. Since the amplitude value has a positive / negative sign, the product also has a positive / negative sign. Therefore, if there is no correlation between the section signal X and the sine function Rn, the sign of the product of both amplitudes becomes positive or negative at random, and the sum is zero. On the contrary, if there is a correlation between the two, the absolute value of the sum of the products of both amplitudes increases according to the degree of correlation. For example, when the amplitude of the interval signal X is positive, the amplitude of the sine function Rn is always positive, and when the amplitude of the interval signal X is negative, the amplitude of the sine function Rn is always negative. When the interval signal X and the sine function Rn have the same frequency and the same phase, the sum of the products becomes a positive maximum value, and conversely, the amplitude of the interval signal X is positive. Sometimes the amplitude of the sine function Rn is always negative, and when the amplitude of the interval signal X is negative, there is a negative correlation such that the amplitude of the sine function Rn is always positive (interval signal X and sine If the function Rn is at the same frequency and opposite phase), the sum of the products is the negative maximum value.
[0063]
Similarly, the second arithmetic expression in FIG. 17 is an expression for obtaining a correlation value between the interval signal X and the cosine function having the nth standard frequency f (n), and the correlation value between the two is B ( n). The first arithmetic expression for obtaining the correlation value A (n) and the second arithmetic expression for obtaining the correlation value B (n) are finally multiplied by the coefficient 2 / w. This is for normalizing the correlation value. That is, w of the denominator is the total number of samples included in the unit interval di, and 1 sum is obtained by dividing the sum obtained for all w samples of k = 0 to w−1 by the total number of samples w. Means to find the average of the minutes. On the other hand, the numerator 2 is a constant for causing the correlation values A (n) and B (n) to be values between −1 and +1.
[0064]
The overall correlation between the section signal X and the standard periodic function having the standard frequency f (n) is, for example, the correlation value A (n) with the sine function as shown in the third arithmetic expression in FIG. It can be represented by a square sum square root value E (n) with a correlation value B (n) with a cosine function. In this way, by using the square sum square root value, it is possible to obtain a comprehensive correlation that reflects both a positive correlation and a negative correlation. For example, when a positive correlation is shown for a sine function and a negative correlation is shown for a cosine function, the correlation value A (n) is a positive value and the correlation value B (n) is a negative value. The square sum square root value E (n) is a value reflecting the absolute value of both correlation values.
[0065]
The arithmetic expression shown in FIG. 17 is an example in which a trigonometric function is used as a periodic function (in other words, an example of a function in which the waveform shape is a sine function), but the periodic function used in implementing the present invention. The waveform shape is not limited to a sine function, and a periodic function having a waveform shape such as a triangular wave, a rectangular wave, or a sawtooth wave may be used. The effective intensity E of the Fourier spectrum is not only the square sum square root value E (n) according to the arithmetic expression of FIG. 17 but also a value indicating a comprehensive correlation with each periodic function.
[0066]
If the result of the correlation calculation is used, the amplitude component of the standard periodic function Rn having an arbitrary standard frequency f (n) included in the section signal X is calculated as a square sum square root value E (n). Can be obtained as The value of the root sum square value E (n) can be said to be a value indicating a comprehensive correlation between the section signal X and the standard periodic function Rn having the standard frequency f (n). If the frequency of the periodic function is selected as the number of representative periods, the section signal X can be encoded using this representative frequency.
[0067]
After all, if the section signal X in one unit section di is to be encoded, the following method may be adopted. First, a pair of standard periodic functions having 128 standard frequencies as shown in FIG. 5 are prepared (a pair of periodic functions having phases different from each other by π / 2 are prepared for one frequency). At this time, it is convenient to obtain code data corresponding to the note number if the standard frequency values are set in a geometric series arrangement. Then, processing for obtaining correlation values A (n) and B (n) with the standard periodic function having the standard frequency f (n) based on the arithmetic expression shown in FIG. 17 is performed for each of n = 0 to 127. The square sum of squares E (n) is obtained for each. This is the frequency analysis procedure. By this procedure, the root sum square value E (n) obtained for each standard frequency is a correlation value for each standard frequency, and is output as a result of frequency analysis. If this analysis result is used to encode the original time-series signal, one or more standard frequencies whose correlation value E (n) is greater than or equal to a predetermined reference are selected as representative frequencies. That's fine. Here, the selection condition that “correlation value E (n) is greater than or equal to a predetermined reference” is, for example, a standard in which some threshold value is set and correlation value E (n) exceeds this threshold value. An absolute selection condition that all frequencies f (n) are selected as representative frequencies may be set. For example, up to the Qth in the order of the correlation value E (n) is selected. A relative selection condition may be set.
[0068]
Thus, when Q standard frequencies are selected in descending order of the correlation value for each unit section, the “information indicating the pitch” corresponding to the Q standard frequencies is set to the correlation value of the selected standard frequency. Corresponding “information indicating sound intensity”, “information indicating sound start time of sound” corresponding to the start point of the unit section, “information indicating sound end time of sound” corresponding to the end point of the unit section, If Q code data including the four pieces of information is created, the section signal X in the unit section can be encoded with the Q code data. If MIDI data is created as code data, a note number is used as “information indicating the pitch of the sound”, velocity is used as the “information indicating the intensity of the sound”, and “sound generation start time is set. The note-on time may be used as the “information indicating” and the note-off time may be used as the “information indicating the end time of sound generation”.
[0069]
§6. Setting the correlation calculation target section
The correlation calculation described in §5 is naturally performed for each unit section. For example, in the case of the example shown in FIG. 16, a section signal X existing in the unit section di and a predetermined periodic function Rn (also a sine having a standard frequency f (n) in the illustrated example) existing in the unit section di. Function) is calculated. However, in order to obtain a more accurate correlation calculation result, it is better not to perform the correlation calculation over the entire section length Li of the unit section di. The reason will be described below.
[0070]
As already described, the correlation between the section signal X and the periodic function Rn shown in FIG. 16 is given by the correlation values A (n) and B (n) obtained by the arithmetic expression shown in FIG. However, the correlation values A (n) and B (n) shown in this arithmetic expression are not necessarily accurate correlation values. For example, if the interval signal X is a sine function having the frequency f (n), the correlation value for the periodic function Rn consisting of the sine function having the same frequency f (n) should be maximized. However, when calculation is performed according to the equation of FIG. 17 for an arbitrary variable section length Li, the correlation value A (n) does not necessarily take the maximum value. Similarly, when the section signal X has no correlation with the periodic function Rn, the correlation value should be zero originally, but calculation is performed with respect to an arbitrary variable section length Li using the equation of FIG. Thus, the correlation value A (n) is not necessarily zero. This is because the variable section length Li is set as a section that is convenient for the section signal X (as a section in which discontinuity at the boundary does not occur as much as possible at the time of frequency analysis), but with the period of the periodic function Rn. This is because there is no relationship between them, and the interval to be subjected to correlation calculation is not necessarily an integral multiple of the period of the periodic function Rn.
[0071]
For example, in the example illustrated in FIG. 16, the periodic function Rn is included for about 1.25 periods in the unit interval di. As described above, when the correlation calculation is performed for the section that does not become an integral multiple of the period of the periodic function Rn, even when the section signal X is a signal indicating complete correlation, the correlation value obtained by the calculation is the maximum value. On the contrary, even if the section signal X is a signal having no correlation, the correlation value obtained by calculation does not become zero. In the first place, the expression shown in FIG. 17 is an expression established on the assumption that a section that is an integral multiple of the periodic function is a calculation target section. Therefore, in order to perform correlation calculation with higher accuracy, the correlation calculation target section is a section having a length corresponding to an integer multiple of the period of the periodic function, and only the correlation calculation target section is correlated. You must try to perform the calculation.
[0072]
This will be explained with a specific example shown in FIG. In this example, a unit section di having a variable section length Li is shown, and a section signal X is given in the unit section di. In order to perform frequency analysis on the section signal X, correlations with periodic functions having various frequencies are calculated. At this time, different correlation calculation target sections are set for each periodic function. It is. For example, when performing correlation calculation with the standard periodic function Rn having the nth standard frequency f (n), a section corresponding to an integer multiple of the period of the standard periodic function Rn is set as a correlation calculation target section. The correlation calculation is executed only for the calculation target section. In the example shown in the figure, the unit interval di includes all w samples from sample numbers 0 to w−1 (as described above, the w th sample is the next adjacent to the right). The section length Li of the unit section di is not an integral multiple of the period of the standard periodic function Rn. Therefore, a section that is an integral multiple of the period of the standard periodic function Rn, that is, a section that reaches sample numbers 0 to w (n) is set as a correlation calculation target section. This correlation calculation target section includes all w (n) samples from sample numbers 0 to w (n) -1 (the w (n) th sample is the correlation calculation target section). Not treated as a sample in).
[0073]
The number of samples w included in one unit section is different for each unit section. This is because the section length of each unit section is variable. However, once the section length for one unit section is determined, the number of samples w included in this unit section is also uniquely determined. Therefore, in FIG. 18, if the section length Li for the i-th unit section di is determined by the procedure described in §3, the sample number w located at the end point of the unit section di is uniquely determined. On the other hand, the sample number w (n) is a number determined according to the standard frequency f (n) in order to perform correlation calculation with the standard periodic function Rn having the standard frequency f (n). . Therefore, when performing correlation calculation with the standard periodic function having 128 standard frequencies shown in FIG. 5, a different correlation calculation target section is set for each correlation calculation. As described above, if the correlation calculation is performed only in the interval that is an integral multiple of the period of the standard periodic function, a more accurate correlation value can be obtained.
[0074]
In order to obtain the highly accurate correlation values A (n), B (n) and the square sum square root value E (n) by using the method as described above, instead of the arithmetic expression shown in FIG. The arithmetic expression shown in FIG. In place of the constant w in the arithmetic expression of FIG. 17, the variable w (n) is used in the arithmetic expression of FIG. Here, as described above, the variable w (n) is a value determined according to the frequency f (n) of the standard periodic function Rn to be subjected to correlation calculation, and corresponds to an integer multiple of the period of the standard periodic function Rn. This is a value corresponding to the total number of samples included in the correlation calculation target section. The product of the amplitude values of the section signal X and the standard periodic function Rn is added by a total of w (n) from k = 0 to k = w (n) −1.
[0075]
By the way, the correlation calculation target section may theoretically be any section as long as it is a section corresponding to an integral multiple of the period of the standard periodic function Rn. It is preferable to set the section as long as possible within the range not exceeding the unit section. In performing the correlation calculation, it is natural that more accurate results can be obtained by increasing the number of samples as much as possible. Therefore, in practice, the interval that is the longest within the range not exceeding the unit interval and has a length that is an integral multiple of the period of the standard periodic function Rn may be set as the correlation calculation target interval. If this condition is expressed by an equation, w (n) is a maximum value (M is an integer) satisfying w (n) = MF · f (n) under the condition of w (n) ≦ w. Become. Here, F is the sampling frequency, f (n) is the frequency of the standard periodic function Rn, and F / f (n) is the number of samples included in one period of the standard periodic function Rn. A section corresponding to M times the period of the function Rn is set as a correlation calculation target section.
[0076]
Note that the variable k in the arithmetic expression of FIG. 17 is replaced with (k + K) in the arithmetic expression of FIG. 19 because the number of each sample constituting the section signal X is shown as an absolute sample number. . That is, in the description so far, the procedure for encoding the section signal X in one unit section has been described. However, in practice, a large number of unit sections are arranged adjacent to each other on the time axis. Each is encoded. Therefore, instead of using a relative sample number that is meaningful only within a specific unit interval (the first sample in the unit interval is the 0th sample), a common absolute sample number is used for all unit intervals. Is better. For example, a sample located at the start point of the first unit section can be used as the 0th sample, and a number given a serial number can be used as an absolute sample number. After all, the leftmost sample in FIG. 18 is the 0th sample as the relative sample number in the unit interval di, but the Kth sample as the absolute sample number. Therefore, the sample specified by the relative sample number k in the unit interval d is specified by the absolute sample number (k + K) when expressed using the absolute sample number.
[0077]
FIG. 20 is a diagram illustrating an example of a correlation calculation target section that is actually set based on the above theory. FIG. 20A shows a time series signal X to be analyzed. If each unit section is set by the method described in §3, times t1 to t4 are determined as the start point or end point of each unit section, and as shown in FIG. 20 (b), three unit sections d1, d2 , D3 are set. These unit sections satisfy all the conditions described in §3. That is, in any unit section, the start point and the end point are zero-crossing points of the time-series signal X, and have a section length within the range of the minimum section length Lmin to the maximum section length Lmax. In each unit section, there are an odd number of zero crossings (in other words, a signal for an integer period is included), and an end point is placed at a portion where the amplitude is constricted.
[0078]
Now, when performing correlation calculation for the standard periodic function Rn having the nth standard frequency f (n) for each of the section signals in the three unit sections d1, d2, and d3, the correlation is performed. When the calculation target section is set, a form as shown in FIG. Here, although the standard periodic functions Rn drawn in each unit section are all sine functions having the same standard frequency f (n), only the integer period is drawn. For example, in the unit section d1, a section corresponding to three periods of the periodic function Rn is a correlation calculation target section, and the correlation calculation is performed only for a section corresponding to the three periods. Of course, the standard periodic function R having the (n + 1) th standard frequency f (n + 1).n + 1When performing the correlation calculation for each unit interval, the standard periodic function Rn + 1Correlation calculation target sections corresponding to an integer period of are set. As a result, in order to perform correlation calculation with all 128 standard periodic functions shown in FIG. 5, 128 correlation calculation target sections are set for each unit section.
[0079]
When the correlation calculation is performed for each of the 128 standard periodic functions in this way, as shown in FIG. 20 (d), each periodic function and the correlation value for each are output as a result of the frequency analysis. Will be. If encoding is performed, for each unit section, for example, Q standard periodic functions are selected in the order of the correlation value, the frequency of the standard periodic function is shown as the pitch of the sound, and the correlation value is What is necessary is just to produce the code | symbol data shown as a sound intensity.
[0080]
§7. Generalized harmonic analysis method
Here, a generalized harmonic analysis technique useful when encoding an acoustic signal using the time-series signal analysis method according to the present invention will be described. As already described, when encoding an acoustic signal, several representative frequencies having a high correlation value are selected for the section signal in each unit section. Generalized harmonic analysis is a technique that enables the selection of representative frequencies with higher accuracy, and the basic principle thereof is as follows.
[0081]
Now, let us assume that there is a signal S (j) for a unit interval d as shown in FIG. Here, j is a parameter for repetitive processing (j = 1 to J), as will be described later. First, correlation values for all 128 periodic functions as shown in FIG. 5 are obtained for this signal S (j). Then, the frequency of one periodic function having the maximum correlation value is selected as a representative frequency, and the periodic function having the representative frequency is extracted as an element function. Subsequently, the inclusion signal G (j) as shown in FIG. 21 (b) is defined. The inclusion signal G (j) is a signal obtained by multiplying the extracted element function by the correlation value of the element function with respect to the signal S (j) of the element function. For example, when a frequency f (n) is selected as a representative frequency using a pair of sine function and cosine function as shown in FIG. 5 as a periodic function, a sine function A (n) having an amplitude A (n). ) A signal composed of the sum of sin (2πf (n) k / F) and cosine function B (n) cos (2πf (n) k / F) having amplitude B (n) is included signal G (j) (In FIG. 21B, only one function is shown for convenience of illustration). Here, since A (n) and B (n) are normalized correlation values obtained by the equation of FIG. 17, the inclusion signal G (j) is eventually included in the signal S (j). It can be said that the signal component has a certain frequency f (n).
[0082]
When the inclusion signal G (j) is obtained in this way, the difference signal S (j + 1) is obtained by subtracting the inclusion signal G (j) from the signal S (j). FIG. 21 (c) shows the difference signal S (j + 1) obtained in this way. This differential signal S (j + 1) can be said to be a signal composed of the remaining signal components obtained by removing the signal component having the frequency f (n) from the original signal S (j). Therefore, the difference signal S (j + 1) is handled as a new signal S (j) by increasing the parameter j by 1, and the same processing is performed J times while increasing the parameter j by 1 from j = 1 to J. If it is repeatedly executed, J representative frequencies can be selected.
[0083]
After all, in order to select a total of J representative frequencies by applying the generalized harmonic analysis method to the section signal X in a predetermined unit section, first, the parameter j is set to the initial value 1, and this section The signal X is defined as the first differential signal S (1), and the above-described processing may be repeated J times while increasing the parameter j by 1 from j = 1 to J (difference when j = 1). The signal S (1) is the section signal X itself to be analyzed and should not be referred to as “difference signal”, but here the signal S (j) is referred to as “difference signal”. The signal S (1) is also referred to as “difference signal” for convenience.) In short, in this generalized harmonic analysis method, every time one representative frequency is determined, a difference signal obtained by subtracting this representative frequency component from the original interval signal X is obtained, and based on the correlation with this difference signal. The procedure that the next representative frequency is determined is repeated J times.
[0084]
The J inclusion signals G (1) to G (J) output as a result of such correlation calculation are signals that are constituent elements of the original section signal X, and the original section signal X is encoded. In this case, information indicating the frequency of these J contained signals and information indicating the amplitude (intensity) may be used as the code data.
[0085]
§8. Code data integration processing
Now, when the time series signal analysis method according to the present invention is performed, for each unit section, several representative frequencies (information indicating the pitch) and their correlation values (information indicating the intensity of the sound) Will be obtained. If the original time-series signal is to be encoded based on the analysis result, the information further includes the start point (information indicating the pronunciation start time) and the end point (information indicating the pronunciation end time) of each unit section. It is sufficient to create code data to which is added.
[0086]
For example, FIG. 22A is a conceptual diagram of code data created for two adjacent unit sections. Since this example is an example in which only one representative frequency is extracted for one unit section, acoustic signals for two unit sections are encoded by a total of two code data A and B. The first unit section is a section extending from time t1 to t2, and the second unit section is a section extending from time t2 to t3. As described above, in the unit interval setting method according to the present invention, the end point t2 of the first unit interval coincides with the start point t2 of the second unit interval, with the exception that a silent interval is provided. Here, both the code data A and B are information indicating the pitch (note number in the case of MIDI data), information indicating the intensity of sound (velocity in the case of MIDI data), and pronunciation. It has information (note-on time in the case of MIDI data) indicating start time (start point) and information (note-off time in the case of MIDI data) indicating end time of sound generation (end point).
[0087]
Thus, when two adjacent code data are generated, if the pitch information and the intensity information of both code data are similar within a predetermined tolerance range (Of course, including the case where they completely match) When the process of integrating both codes is performed, efficient encoding becomes possible. For example, in FIG. 22 (a), if the code data A and B are MIDI data, and both note numbers and velocities are the same or approximate, as shown in FIG. 22 (b), Instead of erasing the code data B, a process of changing the note-off time of the code data A from t2 to t3 may be performed.
[0088]
Generally, the sound generation end time of the first code data coincides with the sound generation start time of the second code data, and information indicating the pitch of the sound included in these two code data and the sound intensity are indicated. When the information is similar within a predetermined allowable range, by changing the sounding end time of the first code data to the sounding end time of the second code data and deleting the second code data, these 2 A process of integrating two pieces of code data into a single piece of code data may be performed. Here, only integration processing of two adjacent code data is shown, but of course, if such integration processing is sequentially performed from the left side to the right side on the time axis, three or more consecutively arranged The code data can be integrated sequentially, and the number of code data can be reduced as a whole, thereby enabling efficient encoding.
[0089]
As mentioned above, although this invention was demonstrated based on embodiment shown in figure, this invention is not limited to these embodiment, In addition, it can implement in a various aspect. The time-series signal analysis method and the sound signal encoding method according to the present invention are processes executed by a computer, and a program for causing a computer to perform such a process is a computer-readable recording medium. It is possible to record and distribute it.
[0090]
【The invention's effect】
As described above, according to the present invention, the time series signal is divided into a plurality of unit sections that do not overlap each other, and accurate frequency analysis is performed without causing discontinuity in the analysis result at the boundary of the unit sections. Therefore, the original sound signal can be encoded with high quality.
[Brief description of the drawings]
FIG. 1 is a diagram showing a basic concept of a time-series signal analysis method according to the present invention.
FIG. 2 is a flowchart showing a basic procedure of a time-series signal analysis method according to the present invention.
FIG. 3 is a diagram for explaining a time-series signal input stage in step S1 of FIG. 2;
FIG. 4 is a diagram illustrating an example in which a plurality of partially overlapping unit sections are set for an input time-series signal.
FIG. 5 is a diagram illustrating an example of a periodic function defined in a periodic function definition stage in step S3 of FIG.
6 is a diagram showing that a frequency f (n) of the periodic function shown in FIG. 5 corresponds to a note number. FIG.
FIG. 7 is a diagram showing a first main condition when setting a unit section di having a variable section length Li, which is a feature of the analysis method according to the present invention.
FIG. 8 is a diagram showing a second main condition when setting a unit section di having a variable section length Li, which is a feature of the analysis method according to the present invention.
9 is a diagram showing a method for recognizing a zero crossing point Z for a time series signal X. FIG.
10 is a diagram showing a plurality of zero-crossing points Z1 to Z10 recognized for a time-series signal X. FIG.
11 is a diagram showing a state in which peak samples P2 to P10 are obtained for the time series signal X shown in FIG.
FIG. 12 is a diagram showing that only one peak sample is obtained between adjacent zero crossings.
FIG. 13 is a diagram showing a method for recognizing a constricted portion of a time-series signal X based on an envelope E of a peak value of each peak sample.
FIG. 14 is a flowchart showing a specific procedure for setting a unit interval by the method according to the present invention.
FIG. 15 is a diagram for specifically explaining the contents of the procedure shown in the flowchart of FIG. 14;
FIG. 16 is a diagram showing a specific method of correlation calculation in the method according to the present invention.
17 is a diagram showing a calculation formula used in the correlation calculation shown in FIG.
FIG. 18 is a diagram illustrating a state in which a correlation calculation target section is set for a unit section di.
FIG. 19 is a diagram showing a calculation formula for correlation calculation used when a correlation calculation target section as shown in FIG. 18 is set.
FIG. 20 is a diagram illustrating a state in which a unit interval is set for a specific time series signal X and a correlation calculation target interval is also set.
FIG. 21 is a diagram showing a basic concept of generalized harmonic analysis useful for carrying out the audio signal encoding method according to the present invention.
FIG. 22 is a diagram for explaining integration processing performed on code data obtained by the audio signal encoding method according to the present invention.
[Explanation of symbols]
A, B ... Code data
A (n), B (n) ... correlation value
d, d1 to d5, di ... unit interval
E ... Peak value envelope
E (n) ... correlation value (effective value)
e (d1,1), e (d1,2), e (d1,3), e (d2,1), e (d2,2), e (d2,3) ... amplitude intensity
F ... Sampling frequency
f (0) to f (127), f (n) ... standard frequency
G (j) ... Inclusion signal
i: Parameter indicating unit interval
j: Parameter indicating the number of repetitions
k: Parameter indicating the sample number
L: Fixed section length
Li: Variable section length set for the i-th unit section
Lmax ... Maximum section length
Lmin ... Minimum section length
n, n (d1, 1), n (d1, 2), n (d1, 3), n (d2, 1), n (d2, 2), n (d2, 3) ... note number
P2 to P10 ... Peak sample
Pa, Pb ... Sample of peak position
Rn ... periodic function
S (j), S (j + 1) ... difference signal
T1-T3 ... track
t1-t6 ... Time
w ... Sample number
X: Time series signal / section signal
X (k): Amplitude value of the kth sample
Z, Z1-Z10, Za, Zb ... Zero crossing

Claims (13)

時間的に振幅が変化する時系列信号から、その構成要素となる複数の周期信号を抽出する時系列信号の解析方法であって、
解析対象となる時系列信号を、それぞれ所定の振幅をもった一連のサンプルからなるデジタルデータとして取り込む入力段階と、
取り込んだ時系列信号の時間軸上に複数の単位区間を設定する区間設定段階と、
複数通りの周波数を設定し、各周波数をもった周期関数を定義する周期関数定義段階と、
各単位区間内の時系列信号をそれぞれ各単位区間についての区間信号として抽出し、各区間信号と前記各周期関数との相関を計算し、その結果を各単位区間ごとに出力する相関演算段階と、
を有し、
前記区間設定段階において、
予め、単位区間についての最小区間長と最大区間長とを定めておき、
時間軸上における所定の起点を第1の単位区間の始点とし、以下、前の単位区間の終点または終点以降に位置する点を次の単位区間の始点として、時間軸上に複数の単位区間を順次設定する処理を行うようにし、
1つの単位区間の終点を決める際に、当該単位区間の区間長が前記最小区間長〜前記最大区間長の範囲となるように、かつ、時系列信号を構成する一連のサンプルについて、1つのサンプルの振幅の符号が直前のサンプルの振幅の符号に対して反転している箇所を零交差点として検出し、いずれかの零交差点を構成するサンプルの位置が単位区間の終点として選択されるように、終点を決めることを特徴とする時系列信号の解析方法。
A time-series signal analysis method for extracting a plurality of periodic signals as constituent elements from a time-series signal whose amplitude changes with time,
An input stage for capturing time series signals to be analyzed as digital data consisting of a series of samples each having a predetermined amplitude,
A section setting stage for setting a plurality of unit sections on the time axis of the captured time series signal,
Periodic function definition stage that sets multiple frequencies and defines a periodic function with each frequency,
A time series signal in each unit section is extracted as a section signal for each unit section, a correlation between each section signal and each periodic function is calculated, and a correlation calculation stage for outputting the result for each unit section; ,
Have
In the section setting stage,
The minimum section length and the maximum section length for the unit section are determined in advance,
A predetermined starting point on the time axis is set as the start point of the first unit section, and a plurality of unit sections are set on the time axis by using the end point of the previous unit section or a point located after the end point as the start point of the next unit section. So that the process of setting sequentially,
When determining the end point of one unit section , one sample for a series of samples constituting the time series signal so that the section length of the unit section is in the range of the minimum section length to the maximum section length. The position where the sign of the amplitude of is inverted with respect to the sign of the amplitude of the immediately preceding sample is detected as a zero crossing point, and the position of the sample constituting any zero crossing point is selected as the end point of the unit interval. A method for analyzing a time-series signal, characterized by determining an end point.
請求項1に記載の時系列信号の解析方法において、
始点および終点を除いた単位区間内に奇数個の零交差点が含まれる、という条件を満たすように、終点を決めることを特徴とする時系列信号の解析方法。
The time series signal analysis method according to claim 1,
A time-series signal analysis method, wherein an end point is determined so as to satisfy a condition that an odd number of zero crossing points are included in a unit section excluding a start point and an end point.
請求項1または2に記載の時系列信号の解析方法において、
隣接する零交差点間に存在するサンプルの中で振幅の絶対値が最大となるピークサンプルを求め、各ピークサンプルの振幅の絶対値をピーク値と定義したときに、このピーク値が極小となるようなピークサンプルの近傍に位置する極小零交差点を求め、この極小零交差点を構成するサンプルの位置を単位区間の終点として選択することを特徴とする時系列信号の解析方法。
In the time series signal analysis method according to claim 1 or 2,
When a peak sample with the maximum absolute value among the samples existing between adjacent zero crossings is obtained, and the absolute value of the amplitude of each peak sample is defined as the peak value, this peak value is minimized. A method for analyzing a time series signal, wherein a minimal zero crossing located in the vicinity of a simple peak sample is obtained, and a position of the sample constituting the minimal zero crossing is selected as an end point of a unit section.
請求項1〜3のいずれかに記載の時系列信号の解析方法において、
相関演算段階で、区間信号と特定の周期関数との相関を求める際に、当該特定の周期関数の周期の整数倍の長さをもった区間のうち、当該単位区間を越えない範囲内で最大の長さをもった区間を、相関計算対象区間と定め、この相関計算対象区間内についての相関のみを計算するようにしたことを特徴とする時系列信号の解析方法。
In the time series signal analysis method according to any one of claims 1 to 3,
When calculating the correlation between a section signal and a specific periodic function in the correlation calculation stage, the maximum is within a range that does not exceed the unit section among sections having an integral multiple of the period of the specific periodic function. The time series signal analysis method is characterized in that a section having a length of is defined as a correlation calculation target section, and only the correlation within the correlation calculation target section is calculated.
請求項1〜4のいずれかに記載の時系列信号の解析方法において、
相関演算段階で、区間信号と各周期関数との相関を計算する際に、第j番目の差分信号S(j)と周期関数定義段階で定義されたすべての周期関数との相関を求め、最大の相関が得られた周期関数を第j番目の要素関数として抽出し、この要素関数にその相関値を乗じることにより第j番目の含有信号G(j)を求め、前記差分信号S(j)から前記含有信号G(j)を減じることにより得られる信号を新たな差分信号S(j+1)とする処理を、前記区間信号を第1番目の差分信号S(1)として、j=1〜J(Jは任意の整数)までJ回繰り返し実行し、得られたJ個の含有信号G(1)〜G(J)を、当該区間に関する相関演算の結果として出力することを特徴とする時系列信号の解析方法。
In the time series signal analysis method according to any one of claims 1 to 4,
When calculating the correlation between the interval signal and each periodic function in the correlation calculation stage, the correlation between the jth differential signal S (j) and all the periodic functions defined in the periodic function definition stage is obtained, and the maximum Is extracted as the j-th element function, and the element value is multiplied by the correlation value to obtain the j-th contained signal G (j), and the difference signal S (j) The signal obtained by subtracting the content signal G (j) from the first difference signal S (j + 1) is defined as j = 1 to J. It is repeatedly executed J times up to (J is an arbitrary integer), and the obtained J inclusion signals G (1) to G (J) are output as the result of the correlation calculation regarding the section, Signal analysis method.
時間的に振幅が変化する時系列信号として与えられた音響信号を符号化する方法であって、A method of encoding an acoustic signal given as a time-series signal whose amplitude changes with time,
与えられた時系列信号を、それぞれ所定の振幅をもった一連のサンプルからなるデジタルデータとして取り込む入力段階と、  An input stage for capturing a given time-series signal as digital data consisting of a series of samples each having a predetermined amplitude;
取り込んだ時系列信号の時間軸上に複数の単位区間を設定する区間設定段階と、  A section setting stage for setting a plurality of unit sections on the time axis of the captured time series signal,
複数通りの周波数を設定し、各周波数をもった周期関数を定義する周期関数定義段階と、  Periodic function definition stage that sets multiple frequencies and defines a periodic function with each frequency,
各単位区間内の時系列信号をそれぞれ各単位区間についての区間信号として抽出し、各区間信号と前記各周期関数との相関を示す相関値をそれぞれ計算する相関演算段階と、  A correlation operation stage for extracting a time series signal in each unit section as a section signal for each unit section and calculating a correlation value indicating a correlation between each section signal and each periodic function;
各単位区間について、相関値が大きい順にQ個の周期関数をそれぞれ選出し、選出された周期関数の周波数に対応する「音の高さを示す情報」、選出された周期関数の相関値に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間の終点に対応する「音の発音終了時刻を示す情報」、なる4つの情報を含むQ個の符号データを作成し、1つの単位区間内の音響信号をQ個の符号データにより符号化する符号化段階と、  For each unit section, Q periodic functions are selected in descending order of correlation value, “information indicating the pitch” corresponding to the frequency of the selected periodic function, and correlation value of the selected periodic function "Information indicating sound intensity", "information indicating sound start time of sound" corresponding to the start point of the unit section, "information indicating sound end time of sound" corresponding to the end point of the unit section An encoding step of generating Q code data including four pieces of information and encoding an acoustic signal in one unit section with Q code data;
を有し、  Have
前記区間設定段階において、  In the section setting stage,
予め、単位区間についての最小区間長と最大区間長とを定めておき、  The minimum section length and the maximum section length for the unit section are determined in advance,
時間軸上における所定の起点を第1の単位区間の始点とし、以下、前の単位区間の終点または終点以降に位置する点を次の単位区間の始点として、時間軸上に複数の単位区間を順次設定する処理を行うようにし、A predetermined starting point on the time axis is set as the start point of the first unit section, and a plurality of unit sections are set on the time axis by using the end point of the previous unit section or a point located after the end point as the start point of the next unit section. So that the process of setting sequentially,
1つの単位区間の終点を決める際に、当該単位区間の区間長が前記最小区間長〜前記最大区間長の範囲となるように、かつ、時系列信号を構成する一連のサンプルについて、1つのサンプルの振幅の符号が直前のサンプルの振幅の符号に対して反転している箇所を零交差点として検出し、いずれかの零交差点を構成するサンプルの位置が単位区間の終点として選択されるように、終点を決めることを特徴とする音響信号の符号化方法。  When determining the end point of one unit section, one sample for a series of samples constituting the time-series signal so that the section length of the unit section is in the range of the minimum section length to the maximum section length. The position where the sign of the amplitude of is inverted with respect to the sign of the amplitude of the previous sample is detected as a zero crossing point, and the position of the sample constituting any zero crossing point is selected as the end point of the unit interval. A method for encoding an acoustic signal, wherein an end point is determined.
請求項6に記載の音響信号の符号化方法において、
符号化段階で、第1の符号データの発音終了時刻と第2の符号データの発音開始時刻が一致し、これら2つの符号データに含まれる「音の高さを示す情報」および「音の強さを示す情報」が所定の許容範囲で類似している場合に、前記第1の符号データの発音終了時刻を前記第2の符号データの発音終了時刻に変更するとともに前記第2の符号データを削除することにより、これら2つの符号データを単一の符号データに統合する処理を更に行うことを特徴とする音響信号の符号化方法。
The method of encoding an acoustic signal according to claim 6,
At the encoding stage, the sound generation end time of the first code data coincides with the sound generation start time of the second code data, and “information indicating the pitch” and “sound strength” included in these two code data. When the “information indicating the similarity” is similar within a predetermined allowable range, the sound generation end time of the first code data is changed to the sound generation end time of the second code data, and the second code data is A method of encoding an acoustic signal, further comprising a process of integrating the two code data into a single code data by deleting.
請求項6または7に記載の音響信号の符号化方法において、
符号化段階で、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用い、符号データとしてMIDIデータを作成することを特徴とする音響信号の符号化方法。
The method for encoding an acoustic signal according to claim 6 or 7,
At the encoding stage, the note number is used as “information indicating the pitch of the sound”, the velocity is used as “information indicating the intensity of the sound”, and the note-on time is set as “information indicating the start time of sound generation”. A method of encoding an acoustic signal, comprising using note-off time as “information indicating the end time of sound generation” and generating MIDI data as code data.
請求項6〜8のいずれかに記載の音響信号の符号化方法において、In the encoding method of the acoustic signal in any one of Claims 6-8,
区間設定段階で、始点および終点を除いた単位区間内に奇数個の零交差点が含まれる、という条件を満たすように、終点を決めることを特徴とする音響信号の符号化方法。  An acoustic signal encoding method, wherein an end point is determined so as to satisfy a condition that an odd number of zero-crossing points are included in a unit interval excluding a start point and an end point in an interval setting stage.
請求項6〜9のいずれかに記載の音響信号の符号化方法において、In the encoding method of the acoustic signal in any one of Claims 6-9,
区間設定段階で、隣接する零交差点間に存在するサンプルの中で振幅の絶対値が最大となるピークサンプルを求め、各ピークサンプルの振幅の絶対値をピーク値と定義したときに、このピーク値が極小となるようなピークサンプルの近傍に位置する極小零交差点を求め、この極小零交差点を構成するサンプルの位置を単位区間の終点として選択することを特徴とする音響信号の符号化方法。  This peak value is obtained when the peak sample having the maximum absolute value among the samples existing between adjacent zero crossings is obtained at the section setting stage, and the absolute value of the amplitude of each peak sample is defined as the peak value. A method for encoding an acoustic signal, comprising: obtaining a minimum zero crossing located in the vicinity of a peak sample such that the minimum is a minimum, and selecting a position of a sample constituting the minimum zero crossing as an end point of a unit section.
請求項6〜10のいずれかに記載の音響信号の符号化方法において、In the encoding method of the acoustic signal in any one of Claims 6-10,
相関演算段階で、区間信号と特定の周期関数との相関を求める際に、当該特定の周期関数の周期の整数倍の長さをもった区間のうち、当該単位区間を越えない範囲内で最大の長さをもった区間を、相関計算対象区間と定め、この相関計算対象区間内についての相関のみを計算するようにしたことを特徴とする音響信号の符号化方法。  When calculating the correlation between the interval signal and a specific periodic function in the correlation calculation stage, the maximum is within the range that does not exceed the unit interval among the intervals that are integral multiples of the period of the specific periodic function. A method of encoding an acoustic signal, characterized in that a section having a length of is defined as a correlation calculation target section, and only a correlation within the correlation calculation target section is calculated.
請求項6〜11のいずれかに記載の音響信号の符号化方法において、In the encoding method of the acoustic signal in any one of Claims 6-11,
相関演算段階で、区間信号と各周期関数との相関を計算する際に、第j番目の差分信号S(j)と周期関数定義段階で定義されたすべての周期関数との相関を求め、最大の相関が得られた周期関数を第j番目の要素関数として抽出し、この要素関数にその相関値を乗じることにより第j番目の含有信号G(j)を求め、前記差分信号S(j)から前記含有信号G(j)を減じることにより得られる信号を新たな差分信号S(j+1)とする処理を、前記区間信号を第1番目の差分信号S(1)として、j=1〜J(Jは任意の整数)までJ回繰り返し実行し、得られたJ個の含有信号G(1)〜G(J)を、当該区間の相関値とすることを特徴とする音響信号の符号化方法。  When calculating the correlation between the interval signal and each periodic function in the correlation calculation stage, the correlation between the jth differential signal S (j) and all the periodic functions defined in the periodic function definition stage is obtained, and the maximum Is extracted as the j-th element function, and the element value is multiplied by the correlation value to obtain the j-th contained signal G (j), and the difference signal S (j) The signal obtained by subtracting the inclusion signal G (j) from the first difference signal S (1) is defined as j = 1 to J. An acoustic signal encoding characterized in that it is repeatedly executed J times up to (J is an arbitrary integer), and the obtained J inclusion signals G (1) to G (J) are used as correlation values of the section. Method.
請求項1〜12のいずれかに記載の時系列信号の解析方法または音響信号の符号化方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。  A computer-readable recording medium recording a program for causing a computer to execute the time-series signal analysis method or the acoustic signal encoding method according to claim 1.
JP2000068520A 2000-03-13 2000-03-13 Time-series signal analysis method and acoustic signal encoding method Expired - Fee Related JP4398049B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000068520A JP4398049B2 (en) 2000-03-13 2000-03-13 Time-series signal analysis method and acoustic signal encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000068520A JP4398049B2 (en) 2000-03-13 2000-03-13 Time-series signal analysis method and acoustic signal encoding method

Publications (2)

Publication Number Publication Date
JP2001255893A JP2001255893A (en) 2001-09-21
JP4398049B2 true JP4398049B2 (en) 2010-01-13

Family

ID=18587568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000068520A Expired - Fee Related JP4398049B2 (en) 2000-03-13 2000-03-13 Time-series signal analysis method and acoustic signal encoding method

Country Status (1)

Country Link
JP (1) JP4398049B2 (en)

Also Published As

Publication number Publication date
JP2001255893A (en) 2001-09-21

Similar Documents

Publication Publication Date Title
JP4132362B2 (en) Acoustic signal encoding method and program recording medium
JP4037542B2 (en) Method for encoding an acoustic signal
JP4398049B2 (en) Time-series signal analysis method and acoustic signal encoding method
JP2000293188A (en) Chord real time recognizing method and storage medium
JP4331373B2 (en) Time-series signal analysis method and acoustic signal encoding method
JP4695781B2 (en) Method for encoding an acoustic signal
JP4268328B2 (en) Method for encoding an acoustic signal
JP2001005450A (en) Method of encoding acoustic signal
JP4156252B2 (en) Method for encoding an acoustic signal
JP2002244691A (en) Encoding method for sound signal
JP4156269B2 (en) Frequency analysis method for time series signal and encoding method for acoustic signal
JP4662407B2 (en) Frequency analysis method
JP4473979B2 (en) Acoustic signal encoding method and decoding method, and recording medium storing a program for executing the method
JP3776782B2 (en) Method for encoding an acoustic signal
JP4220108B2 (en) Acoustic signal coding system
JP4061070B2 (en) Frequency analysis method and acoustic signal encoding method
JP4662406B2 (en) Frequency analysis method and acoustic signal encoding method
JP2002215142A (en) Encoding method for acoustic signal
JP4580548B2 (en) Frequency analysis method
JP3935745B2 (en) Method for encoding acoustic signal
JP4268327B2 (en) Method for encoding an acoustic signal
JPH1173199A (en) Acoustic signal encoding method and record medium readable by computer
JP4156268B2 (en) Frequency analysis method for time series signal and encoding method for acoustic signal
JP4697919B2 (en) Method for encoding an acoustic signal
JP2001148633A (en) Encoding method for acoustic signal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090924

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: 20091020

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091022

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121030

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131030

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees