JP4156269B2 - Frequency analysis method for time series signal and encoding method for acoustic signal - Google Patents
Frequency analysis method for time series signal and encoding method for acoustic signal Download PDFInfo
- Publication number
- JP4156269B2 JP4156269B2 JP2002137273A JP2002137273A JP4156269B2 JP 4156269 B2 JP4156269 B2 JP 4156269B2 JP 2002137273 A JP2002137273 A JP 2002137273A JP 2002137273 A JP2002137273 A JP 2002137273A JP 4156269 B2 JP4156269 B2 JP 4156269B2
- Authority
- JP
- Japan
- Prior art keywords
- correlation
- frequency
- signal
- correction
- value
- 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
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【産業上の利用分野】
本発明は、放送メディア(ラジオ、テレビ)、通信メディア(CS映像・音声配信、インターネット音楽配信、通信カラオケ)、パッケージメディア(CD、MD、カセット、ビデオ、LD、CD−ROM、ゲームカセット、携帯音楽プレーヤ向け固体メモリ媒体)などで提供する各種オーディオコンテンツの制作、並びに、音楽演奏録音信号から楽譜出版、通信カラオケ配信用MIDIデータ、演奏ガイド機能付き電子楽器向け自動演奏データ、携帯電話・PHS・ポケベルなどの着信メロディデータを自動的に作成する自動採譜技術に関する。
【0002】
【従来の技術】
音響信号に代表される時系列信号には、その構成要素として複数の周期信号が含まれている。このため、与えられた時系列信号にどのような周期信号が含まれているかを解析する手法は、古くから知られている。例えば、フーリエ解析は、与えられた時系列信号に含まれる周波数成分を解析するための方法として広く利用されている。
【0003】
このような時系列信号の周波数解析方法を利用すれば、音響信号を符号化することも可能である。コンピュータの普及により、原音となるアナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして取り込むことが容易にできるようになってきており、こうして取り込んだデジタルデータに対してフーリエ解析などの手法を適用し、原音信号に含まれていた周波数成分を抽出すれば、各周波数成分を示す符号によって原音信号の符号化が可能になる。
【0004】
また、電子楽器による楽器音を符号化しようという発想から生まれたMIDI(Musical Instrument Digital Interface)規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このMIDI規格による符号データ(以下、MIDIデータという)は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このMIDIデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したMIDI音源が別途必要になるが、その符号化効率の高さが注目を集めており、MIDI規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウェアに広く採り入れられている。
【0005】
そこで、音響信号に代表される時系列信号に対して、所定の手法で解析を行うことにより、その構成要素となる周期信号を抽出し、抽出した周期信号をMIDIデータを用いて符号化しようとする提案がなされている。例えば、特開平10−247099号公報、特開平11−73199号公報、特開平11−73200号公報、特開平11−95753号公報、特開2000−99009号公報、特開2000−99092号公報、特開2000−99093号公報、特開2000−261322号公報、特開2001−5450号公報、特開2001−148633号公報には、任意の時系列信号について、構成要素となる周波数を解析し、その解析結果からMIDIデータを作成することができる種々の方法が提案されている。
【0006】
上記公報に記載された発明では、一般化調和解析の手法を用いて、時系列信号の周波数解析を行っており、短時間フーリエ変換法で問題となる周波数分解能を著しく向上させ、これまで行ってきたMIDI符号化方式においては必須の方式になっていた。
【0007】
【発明が解決しようとする課題】
上記一般化調和解析を用いた周波数解析では、短時間フーリエ変換法に比べて、周期関数である調和関数との相関演算回数が桁違いに多いため、計算負荷が大きいという問題がある。また、一般化調和解析では、元の信号から所定の周波数の信号成分を抽出し、残った信号に対して相関演算を行うという処理を繰返し行っていくため、抽出する信号成分の順番に依存して解析結果が変化してしまうという問題が生じる。
【0008】
このような問題を解決するため、本出願人は、特願2002−9223号において、時系列信号との相関計算を行う調和関数同士の相互相関を予め算出しておき、この相互相関値を利用して、時系列信号と調和関数の相関値の補正処理を行う手法を提案した。これにより、短時間フーリエ変換法と同等な計算負荷で一般化調和解析と同等な周波数分解能を実現することが可能となった。
【0009】
しかしながら、時系列信号との相関計算を行う調和関数の周波数間隔は対数スケールで設定されているため、周波数が高い程間隔が広くなる。そのため、上記相互相関値を利用した補正では、補正のかかり方がアンバランスになり、低い周波数については補正のかかり方が過剰になり、一部の成分が欠けてしまうという問題がある。また、低域部を活かすために補正を甘くすると、全体的に不用な隣接周波数成分まで残ってしまうという問題がある。
【0010】
上記のような点に鑑み、本発明は、低域部における周波数成分を忠実に抽出できるようにすると共に、不要な隣接周波数成分の発生を抑えることが可能な時系列信号の周波数解析方法および音響信号の符号化方法を提供することを課題とする。
【0011】
【課題を解決するための手段】
上記課題を解決するため、本発明では、時系列信号から複数の信号成分を分離するための周波数解析方法として、複数の周波数を設定し、当該各周波数に対応する複数の調和関数を準備する調和関数準備段階、前記準備された調和関数同士の相関を全ての組合せに対して算出した相互相関テーブルを生成する相互相関テーブル準備段階、前記時系列信号の時間軸上に複数の単位区間を設定し、個々の単位区間ごとに区間信号を抽出する区間信号抽出段階、前記複数の調和関数と前記区間信号との相関を計算し、各調和関数に対応する相関二乗値を算出した信号相関配列を生成する相関計算段階、前記信号相関配列の周波数fnなる調和関数に対応する要素Po(fn)に対して、fn以外の全ての周波数fmなる調和関数に対応する前記信号相関配列の要素Po(fm)にfnおよびfmに対応する前記相互相関テーブルの値R(fm,fn)を乗じ、fmおよびfmに対応する前記相互相関テーブルの値R(fm,fm)を除したPo(fm)R(fm,fn)/R(fm,fm)なる値を各々減算することにより補正された要素P1(fn)からなる仮補正相関配列を得る仮相関補正段階、前記信号相関配列の周波数fnなる調和関数に対応する要素Po(fn)に対して、fn以外の全ての周波数fmなる調和関数に対応する前記仮補正相関配列の要素P1(fm)にfnおよびfmに対応する前記相互相関テーブルの値R(fm,fn)を乗じ、fmおよびfmに対応する前記相互相関テーブルの値R(fm,fm)を除したP1(fm)R(fm,fn)/R(fm,fm)なる値を各々減算することにより補正された要素P2(fn)からなる正規補正相関配列を得る正規相関補正段階を実行し、前記区間信号抽出段階で定義された単位区間に対して前記相関計算段階、前記仮相関補正段階および前記正規相関補正段階を繰返し行い、各単位区間に対応する正規補正相関配列を得るようにすることを特徴とする。
【0012】
本発明によれば、あらかじめ調和関数同士の相関計算を行って相関二乗値を記録した相互相関テーブルを準備しておき、時系列信号の周波数解析を行うにあたって、短時間フーリエ変換処理を行って得た相関二乗値を、相互相関テーブルの各相互相関二乗値を利用して2段階に補正するようにしたので、低域部における周波数成分を忠実に抽出できるようにすると共に、不要な隣接周波数成分の発生を抑えることが可能となる。
【0013】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
(1.基本原理)
はじめに、本発明に係る周波数解析方法および音響信号符号化方法の基本原理を述べておく。この基本原理は、前掲の各公報に開示されているので、ここではその概要のみを簡単に述べることにする。
【0014】
図1(a)に示すように、時系列信号としてアナログ音響信号が与えられたものとする。図1の例では、横軸に時間t、縦軸に振幅(強度)をとって、この音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。
【0015】
続いて、この解析対象となる音響信号の時間軸上に、複数の単位区間を設定する。図1(a)に示す例では、時間軸t上に等間隔に6つの時刻t1〜t6が定義され、これら各時刻を始点および終点とする5つの単位区間d1〜d5が設定されている。図1の例では、全て同一の区間長をもった単位区間が時間軸上で重複せずに設定されているが、隣接する単位区間が時間軸上で部分的に重なり合うような区間設定を行ってもかまわない。
【0016】
こうして単位区間が設定されたら、各単位区間ごとの音響信号(以下、区間信号と呼ぶことにする)について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、例えば、その中で成分の強度割合の大きな周波数成分を代表周波数として選出すれば良い。ここで、代表周波数とはいわゆる基本周波数が一般的であるが、音声のフォルマント周波数などの倍音周波数や、ノイズ音源のピーク周波数も代表周波数として扱うことがある。代表周波数は1つだけ選出しても良いが、音響信号によっては複数の代表周波数を選出した方が、より精度の高い符号化が可能になる。図1(b)には、個々の単位区間ごとにそれぞれ3つの代表周波数を選出し、1つの代表周波数を1つの代表符号(図では便宜上、音符として示してある)として符号化した例が示されている。ここでは、代表符号(音符)を収容するために3つのトラックT1,T2,T3が設けられているが、これは個々の単位区間ごとに選出された3つずつの代表符号を、それぞれ異なるトラックに収容するためである。
【0017】
例えば、単位区間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)に示す概念図では、音符の横方向の位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【0018】
音響信号を符号化する形式としては、必ずしもMIDI形式を採用する必要はないが、この種の符号化形式としてはMIDI形式が最も普及しているため、実用上はMIDI形式の符号データを用いるのが好ましい。MIDI形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーNとベロシティーVを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーNとベロシティーVを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーVは、例えば、ピアノの鍵盤などを押し下げる速度(ノートオン時のベロシティー)および鍵盤から指を離す速度(ノートオフ時のベロシティー)を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【0019】
前述の方法では、第i番目の単位区間diについて、代表符号としてJ個のノートナンバーn(di,1),n(di,2),・・・,n(di,J)が得られ、このそれぞれについて強度e(di,1),e(di,2),・・・,e(di,J)が得られる。そこで、次のような手法により、MIDI形式の符号データを作成することができる。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーNとしては、得られたノートナンバーn(di,1),n(di,2),・・・,n(di,J)をそのまま用いれば良い。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーVとしては、得られた強度e(di,1),e(di,2),・・・,e(di,J)を所定の方法で規格化した値を用いれば良い。また、「デルタタイム」データは、各単位区間の長さに応じて設定すれば良い。
【0020】
(2.周期関数との相関を求める具体的な方法)
上述した基本原理に基づく方法では、区間信号に対して、1つまたは複数の代表周波数が選出され、この代表周波数をもった周期信号によって、当該区間信号が表現されることになる。ここで、選出される代表周波数は、文字どおり、当該単位区間内の信号成分を代表する周波数である。この代表周波数を選出する具体的な方法には、後述するように、短時間フーリエ変換を利用する方法と、一般化調和解析の手法を利用する方法とがある。いずれの方法も、基本的な考え方は同じであり、あらかじめ周波数の異なる複数の周期関数を調和関数として用意しておき、これら複数の周期関数の中から、当該単位区間内の区間信号に対する相関が高い周期関数を見つけ出し、この相関の高い周期関数の周波数を代表周波数として選出する、という手法を採ることになる。すなわち、代表周波数を選出する際には、あらかじめ用意された複数の周期関数と、単位区間内の区間信号との相関を求める演算を行うことになる。そこで、ここでは、周期関数との相関を求める具体的な方法を述べておく。
【0021】
複数の周期関数として、図2に示すような三角関数が用意されているものとする。これらの三角関数は、同一周波数をもった正弦関数と余弦関数との対から構成されており、128通りの標準周波数f(0)〜f(127)のそれぞれについて、正弦関数および余弦関数の対が定義されていることになる。ここでは、同一の周波数をもった正弦関数および余弦関数からなる一対の関数を、当該周波数についての周期関数として定義することにする。すなわち、ある特定の周波数についての周期関数は、一対の正弦関数および余弦関数によって構成されることになる。このように、一対の正弦関数と余弦関数とにより周期関数を定義するのは、信号に対する周期関数の相関値を求める際に、相関値が位相の影響を受ける事を考慮するためである。なお、図2に示す各三角関数内の変数Fおよびkは、区間信号Xについてのサンプリング周波数Fおよびサンプル番号kに相当する変数である。例えば、周波数f(0)についての正弦波は、sin(2πf(0)k/F)で示され、任意のサンプル番号kを与えると、区間信号を構成する第k番目のサンプルと同一時間位置における周期関数の振幅値が得られる。ここでは、128通りの標準周波数f(0)〜f(127)を以下に示す〔数式1〕で定義する。
【0022】
〔数式1〕
f(n)=440×2γ (n)
γ(n)=(n−69)/12
ただし、n=0,1,2,・・・,127
【0023】
このような式によって標準周波数を定義しておくと、最終的にMIDIデータを用いた符号化を行う際に便利である。なぜなら、このような定義によって設定される128通りの標準周波数f(0)〜f(127)は、等比級数をなす周波数値をとることになり、MIDIデータで利用されるノートナンバーに対応した周波数になるからである。したがって、図2に示す128通りの標準周波数f(0)〜f(127)は、対数尺度で示した周波数軸上に等間隔(MIDIにおける半音単位)に設定した周波数ということになる。
【0024】
(2.1.短時間フーリエ変換法)
続いて、任意の区間の区間信号に対する各周期関数の相関の求め方について、具体的な説明を行う。例えば、図3に示すように、ある単位区間dについて区間信号Xが与えられていたとする。ここでは、区間長Lをもった単位区間dについて、サンプリング周波数Fでサンプリングが行なわれており、全部でw個のサンプル値が得られているものとし、サンプル番号を図示のように、0,1,2,3,・・・,k,・・・,w−2,w−1とする(白丸で示す第w番目のサンプルは、右に隣接する次の単位区間の先頭に含まれるサンプルとする)。この場合、任意のサンプル番号kについては、X(k)なる振幅値がデジタルデータとして与えられていることになる。短時間フーリエ変換においては、X(k)に対して各サンプルごとに中央の重みが1に近く、両端の重みが0に近くなるような窓関数W(k)を乗ずることが通常である。すなわち、X(k)×W(k)をX(k)と扱って以下のような相関計算を行うもので、窓関数の形状としては余弦波形状のハミング窓が一般に用いられている。ここで、wは以下の記述においても定数のような記載をしているが、一般にはnの値に応じて変化させ、区間長Lを超えない範囲で最大となるF/f(n)の整数倍の値に設定することが望ましい。
【0025】
このような区間信号Xに対して、第n番目の標準周波数f(n)をもった正弦関数Rnとの相関値を求める原理を示す。両者の相関値A(n)は、以下の〔数式2〕によって定義することができる。
【0026】
〔数式2〕
A(n)=(2/w)Σk=0,w-1x(k) sin(2πfnk/F)
B(n)=(2/w)Σk=0,w-1x(k) cos(2πfnk/F)
E(n)={A(n)2+B(n)2}1/2
【0027】
上記〔数式2〕において、X(k)は、図3に示すように、区間信号Xにおけるサンプル番号kの振幅値であり、sin(2πfnk/F)は、時間軸上での同位置における正弦関数Rnの振幅値である。なお、数式が繁雑になるのを避けるため、数式内ではf(n)をfnと表現している。〔数式2〕の第1の演算式は、単位区間d内の全サンプル番号k=0〜w−1の次元について、それぞれ区間信号Xの振幅値と正弦関数Rnの振幅ベクトルの内積を求める式ということができる。
【0028】
同様に、上記〔数式2〕の第2の演算式は、区間信号Xと、第n番目の標準周波数f(n)をもった余弦関数との相関値を求める式であり、両者の相関値はB(n)で与えられる。なお、相関値A(n)を求めるための第1の演算式も、相関値B(n)を求めるための第2の演算式も、最終的に2/wが乗ぜられているが、これは相関値を規格化するためのものでり、前述のとおりwはnに依存して変化させるのが一般的であるため、この係数もnに依存する変数である。
【0029】
区間信号Xと標準周波数f(n)をもった標準周期関数との相関実効値は、上記〔数式2〕の第3の演算式に示すように、正弦関数との相関値A(n)と余弦関数との相関値B(n)との二乗和平方根のうち、正の値であるE(n)によって示すことができる。この相関実効値の大きな標準周期関数の周波数を代表周波数として選出すれば、この代表周波数を用いて区間信号Xを符号化することができる。
【0030】
すなわち、この相関値E(n)が所定の基準以上の大きさとなる1つまたは複数の標準周波数を代表周波数として選出すれば良い。なお、ここで「相関値E(n)が所定の基準以上の大きさとなる」という選出条件は、例えば、何らかの閾値を設定しておき、相関値E(n)がこの閾値を超えるような標準周波数f(n)をすべて代表周波数として選出する、という絶対的な選出条件を設定しても良いが、例えば、相関値E(n)の大きさの順にQ番目までを選出する、というような相対的な選出条件を設定しても良い。
【0031】
(2.2.一般化調和解析の手法)
ここでは、従来の周波数解析方法および音響信号の符号化を行う際に利用されてきた一般化調和解析の手法について説明する。既に説明したように、音響信号を符号化する場合、個々の単位区間内の区間信号について、相関値の高いいくつかの代表周波数を選出することになる。一般化調和解析は、計算量が多いが、より高い精度で代表周波数の選出を可能にする手法であり、その基本原理は次の通りである。
【0032】
図4(a)に示すような単位区間dについて、信号S(j)なるものが存在するとする。ここで、jは後述するように、繰り返し処理のためのパラメータである(j=1〜J)。まず、この信号S(j)に対して、図2に示すような128通りの周期関数すべてについての相関値を求める。そして、最大の相関値が得られた1つの周期関数の周波数を代表周波数として選出し、当該代表周波数をもった周期関数を要素関数として抽出する。続いて、図4(b)に示すような含有信号G(j)を定義する。この含有信号G(j)は、抽出された要素関数に、その振幅として、当該要素関数の信号S(j)に対する相関値を乗じることにより得られる信号である。例えば、周期関数として図2に示すように、一対の正弦関数と余弦関数とを用い、周波数f(n)が代表周波数として選出された場合、振幅A(n)をもった正弦関数A(n)sin(2πfnk/F)と、振幅B(n)をもった余弦関数B(n)cos(2πfnk/F)との和からなる信号が含有信号G(j)ということになる(図4(b)では、図示の便宜上、一方の関数しか示していない)。ここで、A(n),B(n)は、上記〔数式2〕で得られる規格化された相関値であるから、結局、含有信号G(j)は、信号S(j)内に含まれている周波数f(n)をもった信号成分ということができる。
【0033】
こうして、含有信号G(j)が求まったら、信号S(j)から含有信号G(j)を減じることにより、差分信号S(j+1)を求める。図4(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個の代表周波数を選出することができる。
【0034】
このような相関計算の結果として出力されるJ個の含有信号G(1)〜G(J)は、もとの区間信号Xの構成要素となる信号であり、もとの区間信号Xを符号化する場合には、これらJ個の含有信号の周波数を示す情報および振幅(強度)を示す情報を符号データとして用いるようにすれば良い。尚、Jは代表周波数の個数であると説明してきたが、標準周波数f(n)の個数と同一すなわちJ=128であってもよく、周波数スペクトルを求めることを目的とする周波数解析においてはそのように行うのが通例である。
【0035】
以上のような処理により、各単位区間について、各周波数に対する強度値の集合である周波数群が得られることになる。このようにして所定数の周波数群が選出されたら、この周波数群の各周波数に対応する「音の高さを示す情報」、選出された各周波数の信号強度に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間に後続する単位区間の始点に対応する「音の発音終了時刻を示す情報」、の4つの情報を含む所定数の符号データを作成すれば、当該単位区間内の区間信号Xを所定数の符号データにより符号化することができる。符号データとして、MIDIデータを作成するのであれば、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用いるようにすれば良い。
【0036】
(3.1.本発明に係る周波数解析方法および音響信号の符号化方法)
以下、本発明に係る周波数解析方法および音響信号の符号化方法について説明していく。上述したように、周波数解析を行うにあたって、短時間フーリエ変換と一般化調和解析による手法では、その演算量が大きく異なる。そこで、本発明では、あらかじめ調和関数同士の相関を全ての組合せについて算出したテーブルを準備しておき、このテーブルを利用して、短時間フーリエ変換により求めた相関値を補正するようにしている。
【0037】
図5は、本発明に係る周波数解析方法の概要を示すフローチャートである。まず、複数の標準周波数を設定し、各標準周波数に対応する標準周期関数を調和関数として準備する(ステップS1)。このとき設定される標準周波数としては、周波数解析の特性に合わせて任意に設定することができるが、音響信号の符号化に利用するためには、図2および〔数式1〕に示したように、MIDI規格のノートナンバーnに対応させて設定することが好ましい。
【0038】
続いて、各調和関数同士の相関二乗値である相互相関二乗値を全ての組合せに対して算出し、相互相関テーブルを作成する(ステップS2)。この際、周波数f(m)の調和関数の周波数f(n)の調和関数に対する相互相関二乗値R(fm,fn)は、以下の〔数式3〕により算出する。なお、表現の都合上f(n)はfnとも記載することがあり、両者は等価である。
【0039】
〔数式3〕
A(fm,fn)=(2/T(n))Σt=0,T(n)-1sin(2πfmt) sin(2πfnt)
B(fm,fn)=(2/T(n))Σt=0,T(n)-1sin(2πfmt) cos(2πfnt)
R(fm,fn)={A(fm,fn)}2+{B(fm,fn)}2
【0040】
上記〔数式3〕の第3式で算出される相互相関二乗値R(fm,fn)は2次元の相互相関テーブルの1要素を示す。図2に示したようにm、nがノートナンバーに対応している場合、相互相関テーブルには、各ノートナンバーmに対応する128個のノートナンバーの相互相関二乗値が記録され、全部で128×128個の相互相関二乗値が記録されることになる。
【0041】
相互相関テーブルの準備ができたら、解析対象となる時系列信号の全区間に渡って単位区間を設定し、設定された単位区間の時系列信号を区間信号として抽出する(ステップS3)。単位区間の設定は、図1(a)に示したように、先行する単位区間の終点と後続する単位区間の始点を同一とすることにより、両単位区間が重複しないように設定しても良いし、両単位区間が互いに重複するように設定しても良い。これは、解析対象となる時系列信号の特性に応じて設定することができる。
【0042】
続いて、抽出した区間信号に対して、全調和関数との相関計算を行う(ステップS4)。例えば、図2に示したようなノートナンバーに対応して標準周波数を設定した場合には、128個の調和関数との相関計算が行われる。このステップS4における調和関数との相関計算は、短時間フーリエ変換法により行われる。すなわち、区間信号のうち、先頭から、相関計算を行う調和関数の周期の整数倍で単位区間長を超えない部分と、調和関数との相関を算出する。算出された相関二乗値は、各単位区間ごとに用意される信号相関配列に格納される。本発明においては、短時間フーリエ変換で相関計算を行うため、1つの区間信号に対しては、各調和関数との相関計算が行われるのは、この1回だけとなる。このステップS4における標準周波数f(n)の調和関数と、区間信号x(t)との相関二乗値P0(fn)は、以下の〔数式4〕により算出される。
【0043】
〔数式4〕
A(fn)=(2/T(n))Σt=0,T(n)-1x(t) sin(2πfnt)
B(fn)=(2/T(n))Σt=0,T(n)-1x(t) cos(2πfnt)
P0(fn)={A(fn)}2+{B(fn)}2
【0044】
この〔数式4〕は、〔数式2〕の相関計算サンプル数wをノートナンバーnに依存することを明示するT(n)に置き替えただけで、実質的には上記〔数式2〕と同等の式である。ただし、〔数式2〕で算出される相関値E(n)とは、相関二乗値P0(fn)={E(n)}2の関係にある。
【0045】
信号相関配列が得られたら、配列中の各要素である相関二乗値を、相互相関テーブルを利用して仮補正する(ステップS5)。具体的には、標準周波数f(n)との相関二乗値P0(fn)の仮補正値P1(fn)は、標準周波数f(m)との相関二乗値P0(fm)、標準周波数f(m)の標準周波数f(n)に対する相互相関二乗値R(fm,fn)、標準周波数f(m)の自己相関R(fm,fm)を用いて、以下の〔数式5〕により算出される。
【0046】
〔数式5〕
P1(fn)= P0(fn)−Σm ≠ nP0(fm) R(fm,fn)/R(fm,fm)
【0047】
ただし、上記〔数式5〕におけるΣの項では、m=0からm=N−1の範囲でm=nを除いたN−1個の総和を算出する。上記〔数式5〕により算出された仮補正値P1(fn)は、仮補正相関配列の各周波数fnに対応した位置に格納される。ただし、この時点では配列内の要素のうち、負の値になっているものがある場合がある。その場合は、その値を0にすることにより、仮補正相関配列内の仮補正値P1(fn)が全て0または正の値となるようにする。
【0048】
仮補正相関配列が得られたら、配列中の各要素である仮補正値を、相互相関テーブルを利用して正規補正する(ステップS6)。具体的には、標準周波数f(n)との相関二乗値P0(fn)の正規補正値P2(fn)は、標準周波数f(n)との相関二乗値P0(fn)、仮補正値P1(fm)、標準周波数f(m)の標準周波数f(n)に対する相互相関二乗値R(fm,fn)、標準周波数f(m)の自己相関R(fm,fm)を用いて、以下の〔数式6〕により算出される。
【0049】
〔数式6〕
P2(fn)= P0(fn)−Σm ≠ nP1(fm) R(fm,fn)/R(fm,fm)
【0050】
ただし、上記〔数式6〕におけるΣの項では、m=0からm=N−1の範囲でm=nを除いたN−1個の総和を算出する。上記〔数式6〕により算出された正規補正値P2(fn)は、正規補正相関配列の各周波数fnに対応した位置に格納される。ただし、この時点では配列内の要素のうち、負の値になっているものがある場合がある。その場合は、その値を0にすることにより、正規補正相関配列内の正規補正値P2(fn)が全て0または正の値となるようにする。このように正規補正相関配列の値を0以上にするのは、相関二乗値が負の値ということは基本的に有り得ないので、現実的でない値を削除するためである。
【0051】
この時点で正規補正相関配列に格納された正規補正値P2(fn)の正の平方根である相関値E(n)を算出して、周波数f(n)および相関値E(n)の組を得ることにより周波数解析を終えても、本発明による効果は十分に得ることができる。しかし、ここまでの処理では、隣接周波数成分の影響を完全に削除することはできず、特に調和関数の周波数の設定間隔が小さい低音領域において、隣接周波数成分の影響が顕著にみられるという問題がある。すなわち、各周波数f(n)に対応する相関値E(n)は、本来の周波数f(n)の相関値に隣接する周波数の相関値が加わった値となっている。
【0052】
そこで、正規補正相関配列に格納された正規補正値P2(fn)に対して隣接成分を削除する補正を行う(ステップS7)。具体的には、まず、以下の〔数式7〕を用いて高音領域に若干残存している隣接周波数成分を完全に削除する。
【0053】
〔数式7〕
P2(fn) <P2(fn+1)×α もしくは P2(fn) <P2(fn+2)×α
ならば P2(fn)=0
【0054】
上記〔数式7〕において、αは、0≦α≦1を満たす係数であるが、好ましくはα=0.25程度を設定する。すなわち、上記〔数式7〕においては、ある周波数f(n)に着目したときに、その周波数f(n)に対応する正規補正値が、その周波数f(n)より1半音分高い隣接周波数f(n+1)、2半音分すなわち1全音分高い隣接周波数f(n+2)のいずれかの正規補正値の所定の割合以下のときに、着目した周波数f(n)の正規補正値を0とする処理を行っている。
【0055】
続いて、以下の〔数式8〕を用いて低音領域に豊富に分布する隣接周波数成分を削除する。この場合は隣接周波数成分が顕著であるため、物理的に存在する隣接周波数成分と相関計算の誤差により発生する擬似的な隣接周波数成分との識別が困難であり、〔数式7〕をそのまま適用することはできない。そこで、識別が容易な高音領域に存在する倍音周波数成分で判断する方法をとる。すなわち、判断対象とする隣接周波数成分に対応する倍音周波数成分が存在しない(値が0)場合は、当該隣接周波数成分を0にする処理を行う。具体的には下記〔数式8〕の通りである。
【0056】
〔数式8〕
▲1▼P2(fn) >0 かつ P2(fn+1) >0 かつ P2(fn+12)=0 かつ P2(fn+13) >0
ならば P2(fn)=0
▲2▼P2(fn) >0 かつ P2(fn+2) >0 かつ P2(fn+12)=0 かつ P2(fn+14) >0
ならば P2(fn)=0
▲3▼P2(fn) >0 かつ P2(fn+1) >0 かつ P2(fn+19)=0 かつ P2(fn+20) >0
ならば P2(fn)=0
▲4▼P2(fn) >0 かつ P2(fn+2) >0 かつ P2(fn+19)=0 かつ P2(fn+21) >0
ならば P2(fn)=0
【0057】
上記〔数式8〕は条件▲1▼〜▲4▼のいずれかを満たす場合に正規補正値P2(fn)を0にすることを示している。また、上記〔数式8〕において、fn+12、fn+19はfnの2倍の周波数、3倍の周波数を示しており、fn+13、fn+20はfn+1の2倍の周波数、3倍の周波数を示しており、fn+14、fn+21はfn+2の2倍の周波数、3倍の周波数を示している。すなわち、条件▲1▼は、ある周波数f(n)に着目したときに、その周波数f(n)に対応する正規補正値P2(fn)が正の値であって、その周波数f(n)より1半音分高い隣接周波数f(n+1)に対応する正規補正値P2(fn+1)も正であり、周波数f(n)の2倍の周波数である周波数f(n+12)に対応する正規補正値P2(fn+12)が0であり、周波数f(n+12)より1半音分高い隣接周波数f(n+13)に対応する正規補正値P2(fn+13)が正である場合に、着目した周波数f(n)の正規補正値を0とする処理を行っている。
【0058】
通常の音響信号においては、ある周波数成分が時系列信号の成分として実際に存在する場合には、時系列信号との相関計算を行った際に、その周波数の整数倍の周波数もそれなりの相関を有する。(ただし、対象が時系列の電気信号などではこの規則は通用しないこともある。)そのため、整数倍の周波数成分が存在しない(整数倍の周波数に対応する相関値が0)場合には、元の周波数成分も存在せず、隣接する周波数成分に影響されている可能性が高い。そこで、隣接する周波数成分が存在するものであるかどうかを確認するために、隣接する周波数成分の整数倍の周波数成分を調べる。隣接する周波数成分の整数倍の周波数成分が存在する場合には、隣接する周波数成分が存在するものとなるため、元の周波数成分は隣接周波数成分の影響により算出されたものであるとして、削除(正規補正値を0)するのである。
【0059】
条件▲2▼から▲4▼についても基本的な考え方は同じであり、条件▲2▼については、隣接する周波数および2倍の周波数を参照しており、条件▲3▼については、隣接する周波数および3倍の周波数を参照しており、条件▲4▼については、2半音分すなわち1全音分高い周波数および3倍の周波数を参照して、周波数f(n)に対応する周波数成分が本来存在するものかどうかを判断し、存在しない場合に正規補正値P2(fn)=0とする処理を行っている。このようにして正規相関配列の正規補正値P2(fn)を補正した第2補正相関配列が得られる。
【0060】
第2補正相関配列が得られたら、第2補正相関配列の各値である第2補正相関値の正の平方根である相関値E(n)を算出して、周波数f(n)および相関値E(n)の組が得られる。ステップS4における相関計算、ステップS5〜ステップS7における相関補正をステップS3において設定された全単位区間に対して行うことにより、全単位区間におけるN個の周波数成分(周波数と相関値の組)が得られることになる。
【0061】
(3.2.音響信号の符号化)
以上のようにして時系列信号の周波数解析が行われ、各単位区間について周波数成分がN個抽出される。時系列信号として音響信号を採用し、音響信号の符号化を行う場合には、標準周波数f(n)を図2に示したようにMIDIのノートナンバー、すなわち半音単位の音高の間隔で設定し、各ノートナンバーに対応するN(=128)個の周波数成分が得られる。そして、上述のように周波数成分の周波数をノートナンバー、相関値をベロシティ、単位区間の始点をノートオン時刻、後続する単位区間の始点をノートオフ時刻とするMIDIデータへの変換を行うことにより、音響信号が符号化される。
【0062】
(3.3.本発明に係る相関補正の概念)
次に、本発明による相関値の補正の効果を図6を用いて概念的に説明する。図6において、横軸はノートナンバー(周波数)に対応しており、縦軸は信号強度あるいは相関強度に対応している。ここで、本来の音として2つの音が存在した場合を考えてみる。2つの音の音源の原信号スペクトルは、図6(a)に示すように、2つの周波数で表現される。この音響信号の周波数解析を行った場合、図6(a)に示すように2つの周波数だけ抽出されれば、最も精度の高い周波数解析が行われたことになる。ところが、この音響信号に対して短時間フーリエ解析による周波数解析を行うと、図6(b)に示すように多数の周波数成分が抽出されることになる。これは、上記ステップS4の相関計算を行った状態に相当する。この状態で、上記ステップS5の仮補正を行うと、図6(c)に示すように、特に低周波領域において大きく値が補正されることになる。さらに、上記ステップS6の正規補正を行うと、図6(d)に示すような周波数成分が得られることになる。
【0063】
(3.4.周波数の設定について)
上記実施形態においては、抽出すべき周波数を、MIDI規格のノートナンバーnに対応させた標準周波数として〔数式1〕のように設定したが、実際には、さらに細かい間隔で設定することにより、精度の高い検出を行うようにすることもできる。また、周波数の設定は、上記〔数式1〕のように、ノートナンバーに比例した対数的な間隔でなく、周波数に比例して等間隔に設定するようにしても良い。ただ、時系列信号として音響信号を解析し、符号化を行う場合には、ノートナンバーに対応した間隔で設定することが好ましい。音響信号の符号化に利用するために最も好ましい周波数の設定としては、各ノートナンバー間にさらに細かい間隔で設定するようにする。例えば、各ノートナンバー間に12個の周波数を、それぞれノートナンバーの1/13間隔となるように設定する。このような設定を行った場合、周波数は全部で128×13個設定されることになり、相互相関テーブルには、(128×13)の二乗個の相関二乗値が得られることになるが、演算精度はかなり向上する。音響信号への符号化の際には、このように細かい周波数設定に対応する周波数が存在しないため、最も近いノートナンバーに対応する周波数を抽出成分とする。
【0064】
以上、本発明の好適な実施形態について説明したが、上記周波数解析方法および符号化方法は、コンピュータ等の演算処理装置で実行されることは当然である。具体的には、図5のフローチャートに示したようなステップを上記手順で実行するためのプログラムをコンピュータに搭載しておく。そして、ステップS1およびステップS2の処理を事前に実行して相互相関テーブルを準備した後、音響信号等の時系列信号をPCM方式等でデジタル化した後、コンピュータに取り込み、ステップS3〜ステップS7の処理を行った後、抽出した周波数成分もしくはMIDI形式等の符号データをデジタルデータとしてコンピュータより出力する。出力された符号データは、例えば、MIDIデータの場合、MIDIシーケンサ、MIDI音源を用いて音声として再生される。
【0065】
【発明の効果】
以上、説明したように本発明によれば、複数の周波数を設定し、当該各周波数に対応する複数の調和関数を準備し、準備された調和関数同士の相関を全ての組合せに対して算出した相互相関テーブルを生成し、時系列信号の時間軸上に複数の単位区間を設定し、個々の単位区間ごとに区間信号を抽出し、複数の調和関数と区間信号との相関を計算して各調和関数に対応する相関二乗値を算出した信号相関配列を生成し、信号相関配列の各要素に対して、信号相関配列の他の複数の要素および対応する前記相互相関テーブルの複数の要素に基づいて補正することにより仮補正相関配列を得て、仮補正相関配列の各要素に対して、仮補正相関配列の他の複数の要素および対応する相互相関テーブルの複数の要素に基づいて補正することにより正規補正相関配列を得るようにし、定義された各単位区間に対して相関二乗値の算出、仮補正相関値の算出および正規補正相関値の算出を繰返し行い、各単位区間に対応する正規補正相関配列を得るようにしたので、低域部における周波数成分を忠実に抽出できるようにすると共に、不要な隣接周波数成分の発生を抑えることが可能となるという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る周波数解析方法および音響信号符号化方法の基本原理を示す図である。
【図2】本発明で利用される周期関数の一例を示す図である。
【図3】解析対象となる信号と周期信号との相関計算の手法を示す図である。
【図4】一般化調和解析の基本的な手法を示す図である。
【図5】本発明に係る周波数解析方法および音響信号符号化方法のフローチャートである。
【図6】本発明による相関補正の効果を概念的に示した図である。[0001]
[Industrial application fields]
The present invention includes broadcast media (radio, television), communication media (CS video / audio distribution, Internet music distribution, communication karaoke), package media (CD, MD, cassette, video, LD, CD-ROM, game cassette, mobile phone). Production of various audio contents to be provided on solid-state memory media for music players), music performance recording signals to publish music scores, MIDI data for online karaoke distribution, automatic performance data for electronic musical instruments with performance guide functions, mobile phones, PHS, The present invention relates to an automatic music recording technique for automatically generating incoming melody data such as a pager.
[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 frequency components included in a given time series signal.
[0003]
By using such a time-series signal frequency 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]
In addition, the MIDI (Musical Instrument Digital Interface) standard born from the idea of encoding musical instrument sounds by electronic musical instruments has come to be 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 now widely used in software that uses a personal computer to perform musical instrument performance, practice and compose music.
[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-2000-99009, JP-A-2000-99092, JP-A-2000-99093, JP-A-2000-261322, JP-A-2001-5450, and JP-A-2001-148633 analyze the frequency as a component of an arbitrary time-series signal, Various methods for creating MIDI data from the analysis results have been proposed.
[0006]
In the invention described in the above publication, frequency analysis of time-series signals is performed using a generalized harmonic analysis technique, and the frequency resolution that is a problem in the short-time Fourier transform method is significantly improved. In the MIDI encoding method, it was an indispensable method.
[0007]
[Problems to be solved by the invention]
In the frequency analysis using the generalized harmonic analysis, there is a problem that the calculation load is large because the number of correlation operations with the harmonic function that is a periodic function is many orders of magnitude compared with the short-time Fourier transform method. In generalized harmonic analysis, the process of extracting a signal component of a predetermined frequency from the original signal and performing a correlation operation on the remaining signal is repeated, so that it depends on the order of the extracted signal components. This causes a problem that the analysis result changes.
[0008]
In order to solve such a problem, the present applicant calculates in advance Japanese Patent Application No. 2002-9223 a cross-correlation between harmonic functions that perform correlation calculation with a time-series signal, and uses this cross-correlation value. Thus, a method for correcting the correlation value between the time series signal and the harmonic function was proposed. This makes it possible to achieve a frequency resolution equivalent to that of generalized harmonic analysis with a calculation load equivalent to that of the short-time Fourier transform method.
[0009]
However, since the frequency interval of the harmonic function that performs correlation calculation with the time-series signal is set on a logarithmic scale, the interval increases as the frequency increases. Therefore, in the correction using the cross-correlation value, there is a problem that the correction is unbalanced, the correction is excessive for low frequencies, and some components are missing. In addition, if correction is made sweet in order to make use of the low frequency band, there is a problem that even adjacent frequency components that are unnecessary are left as a whole.
[0010]
In view of the above points, the present invention enables a frequency analysis method and sound of a time-series signal capable of faithfully extracting frequency components in a low frequency region and suppressing generation of unnecessary adjacent frequency components. It is an object of the present invention to provide a signal encoding method.
[0011]
[Means for Solving the Problems]
In order to solve the above problems, in the present invention, as a frequency analysis method for separating a plurality of signal components from a time-series signal, a plurality of frequencies are set, and a plurality of harmonic functions corresponding to the respective frequencies are prepared. A function preparation stage, a cross-correlation table preparation stage for generating a cross-correlation table in which correlations between the prepared harmonic functions are calculated for all combinations, and setting a plurality of unit sections on the time axis of the time series signal , A section signal extraction stage for extracting section signals for each unit section, calculating correlations between the plurality of harmonic functions and the section signals, and generating a signal correlation array that calculates a correlation square value corresponding to each harmonic function The correlation calculation step, and for the element Po (fn) corresponding to the harmonic function having the frequency fn of the signal correlation array, the signal corresponding to the harmonic function having all the frequencies fm other than fn The value R (fm, fn) of said cross-correlation table corresponding to fn and fm the elements Po correlation sequence (fm) multiplied by the value R (fm, fm) of the cross-correlation table corresponding to fm and fm the Temporary correlation correction stage for obtaining a temporary correction correlation array composed of elements P1 (fn) corrected by subtracting each value of Po (fm) R (fm, fn) / R (fm, fm) divided by the signal, Corresponding to elements Po1 (fm) corresponding to harmonic functions having all frequencies fm other than fn, corresponding to elements P1 (fm) of the provisionally corrected correlation array corresponding to the harmonic functions having the frequency fn of the correlation array correspond to fn and fm P1 (fm) R (fm, fn) / R () obtained by multiplying the cross-correlation table value R (fm, fn) and dividing the cross-correlation table value R (fm, fm) corresponding to fm and fm fm, f ) Becomes the value of each performs regular correlation correction step of obtaining a normalized corrected correlation array of corrected element P2 (fn) by subtracting the correlation computed for the interval signal extraction stage at a defined unit sections The step, the provisional correlation correction step and the normal correlation correction step are repeated to obtain a normal correction correlation array corresponding to each unit section.
[0012]
According to the present invention, a cross-correlation table in which correlation functions between harmonic functions are calculated in advance and a correlation square value is recorded is prepared, and when performing frequency analysis of a time-series signal, a short-time Fourier transform process is performed. Since the correlation square value is corrected in two steps using each cross-correlation square value of the cross-correlation table, it is possible to faithfully extract the frequency component in the low frequency part and unnecessary adjacent frequency component Can be suppressed.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
(1. Basic principle)
First, the basic principle of the frequency analysis method and the acoustic signal encoding method according to the present invention will be described. Since this basic principle is disclosed in the above-mentioned publications, only the outline will be briefly described here.
[0014]
As shown in FIG. 1A, it is assumed that an analog acoustic signal is given as a time-series signal. In the example of FIG. 1, the 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 frequency, and converting the amplitude into digital data using a predetermined number of quantization bits.
[0015]
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. In the example of FIG. 1, all unit sections having the same section length are set without overlapping on the time axis, but the section setting is performed so that adjacent unit sections partially overlap on the time axis. It doesn't matter.
[0016]
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 high component intensity ratio may be selected as the representative frequency. Here, the so-called fundamental frequency is generally used as the representative frequency, but a harmonic frequency such as a formant frequency of speech or a peak frequency of a noise source may be treated as a representative frequency. Although only one representative frequency may be selected, more accurate encoding is possible by selecting a plurality of representative frequencies depending on the acoustic signal. FIG. 1B shows an example in which three representative frequencies are selected for each unit section, and one representative frequency is encoded as one representative code (shown as a note for convenience in the drawing). Has been. Here, three tracks T1, T2, and T3 are provided to accommodate representative codes (notes). This is because three representative codes selected for each unit section are assigned to different tracks. It is for accommodating.
[0017]
For example, representative 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). N = 69 is selected. However, FIG. 1B is a conceptual diagram showing the representative code obtained by the above-described method in the form of a note. In reality, data on intensity is also added to each note. For example, in the track T1, e (d1,1), e (d2,1)..., Together with data indicating the pitches of note numbers n (d1,1), n (d2,1). Data indicating the strength is accommodated. 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. Further, in the conceptual diagram shown in FIG. 1B, the position of each unit section on the time axis is indicated by the position of the note in the horizontal direction, but in reality, the position on the time axis is shown. Is accurately added as a numerical value to each note.
[0018]
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 preferred. In the MIDI format, “note-on” data or “note-off” data exists while interposing “delta time” data. The “note-on” data is data for designating a specific note number N and velocity V to instruct the start of a specific sound, and the “note-off” data is a specific note number N and velocity V. This 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 that indicates, for example, the speed at which a piano keyboard is pressed down (velocity at the time of note-on) and the speed at which the finger is released from the keyboard (velocity at the time of note-off). Or it shows the strength of the performance end operation.
[0019]
In the above-described method, J note numbers n (di, 1), n (di, 2),..., N (di, J) are obtained as representative codes for the i-th unit interval di. Intensities e (di, 1), e (di, 2),..., E (di, J) are obtained for each of these. 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 , J) 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, A value obtained by normalizing J) by a predetermined method may be used. The “delta time” data may be set according to the length of each unit section.
[0020]
(2. Specific method for obtaining correlation with periodic function)
In the method based on the basic principle described above, one or a plurality of representative frequencies are selected for the section signal, and the section signal is represented by a periodic signal having this representative frequency. Here, the representative frequency to be selected is literally a frequency representing the signal component in the unit section. Specific methods for selecting the representative frequency include a method using a short-time Fourier transform and a method using a generalized harmonic analysis method, as will be described later. Both methods have the same basic concept, and a plurality of periodic functions with different frequencies are prepared as harmonic functions in advance, and the correlation with the section signal in the unit section is selected from the plurality of periodic functions. A method of finding a high periodic function and selecting the frequency of the highly correlated periodic function as a representative frequency is adopted. That is, when selecting a representative frequency, an operation for obtaining a correlation between a plurality of periodic functions prepared in advance and a section signal in a unit section is performed. Therefore, here, a specific method for obtaining the correlation with the periodic function will be described.
[0021]
Assume that trigonometric functions as shown in FIG. 2 are prepared as a plurality of periodic functions. These trigonometric functions are composed of a pair of a sine function and a cosine function having the same frequency. For each of 128 standard frequencies f (0) to f (127), a pair of a sine function and a cosine function. Is defined. Here, a pair of functions consisting of a sine function and a cosine function having the same frequency is defined as a periodic function for the frequency. That is, the periodic function for a specific frequency is constituted by a pair of sine function and cosine function. Thus, the periodic function is defined by a pair of sine function and cosine function in order to consider that the correlation value is influenced by the phase when obtaining the correlation value of the periodic function with respect to the signal. The variables F and k in each trigonometric function shown in FIG. 2 are variables corresponding to the sampling frequency F and the sample number k for the section signal X. For example, a sine wave for the frequency f (0) is indicated 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. Here, 128 standard frequencies f (0) to f (127) are defined by [Formula 1] shown below.
[0022]
[Formula 1]
f (n) = 440 × 2 γ (n)
γ (n) = (n−69) / 12
However, n = 0, 1, 2,..., 127
[0023]
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. Therefore, the 128 standard frequencies f (0) to f (127) shown in FIG. 2 are frequencies set at equal intervals (in semitone units in MIDI) on the frequency axis shown on the logarithmic scale.
[0024]
(2.1. Short-time Fourier transform method)
Next, a specific description will be given of how to obtain the correlation of each periodic function with respect to a section signal in an arbitrary section. For example, as shown in FIG. 3, it is assumed that a section signal X is given for a certain unit section d. Here, it is assumed that sampling is performed at the sampling frequency F for the unit interval d having the interval length L, and w sample values are obtained in total, and the sample numbers are 0, 1, 2, 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 And). In this case, for an arbitrary sample number k, an amplitude value of X (k) is given as digital data. In the short-time Fourier transform, it is usual to multiply the window function W (k) such that the center weight is close to 1 and the weights at both ends are close to 0 for each sample with respect to X (k). That is, X (k) × W (k) is treated as X (k) and the following correlation calculation is performed. As the shape of the window function, a cosine wave-shaped Hamming window is generally used. Here, w is described as a constant in the following description, but in general, it is changed according to the value of n, and F / f (n) that is maximum within a range not exceeding the section length L. It is desirable to set the value to an integer multiple.
[0025]
The principle of obtaining a correlation value with such a section signal X and the sine function Rn having the nth standard frequency f (n) is shown. The correlation value A (n) between the two can be defined by the following [Equation 2].
[0026]
[Formula 2]
A (n) = (2 / w) Σk = 0, w−1 x (k) sin (2πf n k / F)
B (n) = (2 / w) Σk = 0, w−1 x (k) cos (2πf n k / F)
E (n) = {A (n) 2 + B (n) 2 } 1/2
[0027]
In the above [Expression 2], X (k) is the amplitude value of the sample number k in the section signal X as shown in FIG. 3, and sin (2πf n k / F) is the same position on the time axis. Is the amplitude value of the sine function Rn. Note that f (n) is expressed as f n in the mathematical expression in order to avoid complicated expressions. The first arithmetic expression of [Expression 2] is an expression for obtaining the inner product of the amplitude value of the section signal X and the amplitude vector of the sine function Rn for each dimension of all sample numbers k = 0 to w−1 in the unit section d. It can be said.
[0028]
Similarly, the second arithmetic expression of [Formula 2] 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 given by 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 2 / w. Is for normalizing the correlation value. As described above, since w is generally changed depending on n, this coefficient is also a variable depending on n.
[0029]
The effective correlation value between the interval signal X and the standard periodic function having the standard frequency f (n) is the correlation value A (n) with the sine function, as shown in the third arithmetic expression of the above [Equation 2]. Of the square sum of squares with the correlation value B (n) with the cosine function, it can be represented by E (n) which is a positive value. If the frequency of the standard periodic function having a large correlation effective value is selected as the representative frequency, the section signal X can be encoded using this representative frequency.
[0030]
That is, one or a plurality of standard frequencies whose correlation value E (n) is greater than or equal to a predetermined reference may be selected as the representative frequency. 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.
[0031]
(2.2. Method of generalized harmonic analysis)
Here, a conventional frequency analysis method and a generalized harmonic analysis method that has been used when encoding an acoustic signal will be described. As already described, when encoding an acoustic signal, several representative frequencies having high correlation values are selected for the section signal in each unit section. Generalized harmonic analysis is a technique that allows a selection of a representative frequency with higher accuracy, although the calculation amount is large, and its basic principle is as follows.
[0032]
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. 2 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. 4B 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, as shown in FIG. 2, when a frequency f (n) is selected as a representative frequency using a pair of sine function and cosine function as shown in FIG. 2, a sine function A (n) having an amplitude A (n). ) and sin (2πf n k / F) , it comes to a cosine function B having an amplitude B (n) (n) cos (2πf n k / F) signal composed of the sum of the Inclusion signal G (j) (In FIG. 4B, only one function is shown for convenience of illustration). Here, since A (n) and B (n) are normalized correlation values obtained by the above [Equation 2], the inclusion signal G (j) is eventually included in the signal S (j). It can be said that the signal component has a frequency f (n).
[0033]
Thus, when the content signal G (j) is obtained, the difference signal S (j + 1) is obtained by subtracting the content signal G (j) from the signal S (j). FIG. 4C shows the differential signal S (j + 1) obtained in this way. The difference 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, by increasing the parameter j by 1, this difference signal S (j + 1) is handled as a new signal S (j), 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.
[0034]
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 inclusion signals and information indicating the amplitude (intensity) may be used as the code data. Although J has been described as the number of representative frequencies, it may be the same as the number of standard frequencies f (n), that is, J = 128. In frequency analysis for the purpose of obtaining a frequency spectrum, J It is customary to do so.
[0035]
Through the processing as described above, a frequency group that is a set of intensity values for each frequency is obtained for each unit section. When a predetermined number of frequency groups are selected in this way, “information indicating the pitch” corresponding to each frequency of this frequency group, and “sound strength corresponding to the signal intensity of each selected frequency”. Information indicating, “information indicating sound start time of sound” corresponding to the start point of the unit section, and “information indicating sound end time of sound” corresponding to the start point of the unit section subsequent to the unit section If a predetermined number of code data including information is created, the section signal X in the unit section can be encoded with the predetermined number of 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”.
[0036]
(3.1. Frequency analysis method and acoustic signal encoding method according to the present invention)
Hereinafter, a frequency analysis method and an audio signal encoding method according to the present invention will be described. As described above, when performing frequency analysis, the amount of calculation is greatly different between the technique using the short-time Fourier transform and the generalized harmonic analysis. Therefore, in the present invention, a table in which the correlation between the harmonic functions is calculated for all combinations is prepared in advance, and the correlation value obtained by the short-time Fourier transform is corrected using this table.
[0037]
FIG. 5 is a flowchart showing an outline of the frequency analysis method according to the present invention. First, a plurality of standard frequencies are set, and a standard periodic function corresponding to each standard frequency is prepared as a harmonic function (step S1). The standard frequency set at this time can be arbitrarily set according to the characteristics of frequency analysis. However, in order to use it for encoding an acoustic signal, as shown in FIG. 2 and [Equation 1]. It is preferable to set it corresponding to the note number n of the MIDI standard.
[0038]
Subsequently, cross-correlation square values, which are correlation square values between the harmonic functions, are calculated for all combinations, and a cross-correlation table is created (step S2). At this time, the cross-correlation square value R (f m , f n ) for the harmonic function of the frequency f (n) of the harmonic function of the frequency f ( m ) is calculated by the following [Equation 3]. For convenience of expression, f (n) may be described as f n , and both are equivalent.
[0039]
[Formula 3]
A (f m , f n ) = (2 / T (n)) Σt = 0, T (n) −1 sin (2πf m t) sin (2πf n t)
B (f m , f n ) = (2 / T (n)) Σt = 0, T (n) −1 sin (2πf m t) cos (2πf n t)
R (f m , f n ) = {A (f m , f n )} 2 + {B (f m , f n )} 2
[0040]
The cross-correlation square value R (f m , f n ) calculated by the third equation of [Equation 3] indicates one element of a two-dimensional cross-correlation table. As shown in FIG. 2, when m and n correspond to the note numbers, the cross-correlation table records the cross-correlation square values of 128 note numbers corresponding to the respective note numbers m. * 128 cross-correlation square values are recorded.
[0041]
When the cross-correlation table is ready, a unit section is set over all sections of the time series signal to be analyzed, and the time series signal of the set unit section is extracted as a section signal (step S3). As shown in FIG. 1A, the unit section may be set so that the end point of the preceding unit section is the same as the start point of the succeeding unit section so that both unit sections do not overlap. However, both unit sections may be set to overlap each other. This can be set according to the characteristics of the time series signal to be analyzed.
[0042]
Subsequently, a correlation calculation with the entire harmonic function is performed on the extracted section signal (step S4). For example, when the standard frequency is set corresponding to the note number as shown in FIG. 2, correlation calculation with 128 harmonic functions is performed. The correlation calculation with the harmonic function in step S4 is performed by a short-time Fourier transform method. That is, the correlation between the harmonic function and the portion of the interval signal that does not exceed the unit interval length by an integral multiple of the period of the harmonic function for which the correlation calculation is performed is calculated. The calculated correlation square value is stored in a signal correlation array prepared for each unit section. In the present invention, since the correlation calculation is performed by the short-time Fourier transform, the correlation calculation with each harmonic function is performed only once for one interval signal. The correlation square value P 0 (f n ) between the harmonic function of the standard frequency f (n) in this step S4 and the section signal x (t) is calculated by the following [Equation 4].
[0043]
[Formula 4]
A (f n ) = (2 / T (n)) Σt = 0, T (n) −1 x (t) sin (2πf n t)
B (f n ) = (2 / T (n)) Σt = 0, T (n) −1 x (t) cos (2πf n t)
P 0 (f n ) = {A (f n )} 2 + {B (f n )} 2
[0044]
This [Equation 4] is substantially equivalent to the above [Equation 2] only by replacing the correlation calculation sample number w of [Equation 2] with T (n) which clearly shows that it depends on the note number n. It is a formula. However, the correlation value E (n) calculated by [Equation 2] has a relationship of a correlation square value P 0 (f n ) = {E (n)} 2 .
[0045]
When the signal correlation array is obtained, the correlation square value that is each element in the array is provisionally corrected using the cross correlation table (step S5). Specifically, the provisional correction value P 1 (f n) of the standard frequency f (n) and the correlation square value P 0 of (f n), the correlation squared value P 0 of the standard frequency f (m) (f m ), The cross-correlation square value R (f m , f n ) of the standard frequency f (m) with respect to the standard frequency f ( n ), and the autocorrelation R (f m , f m ) of the standard frequency f (m), It is calculated by the following [Equation 5].
[0046]
[Formula 5]
P 1 (f n ) = P 0 (f n ) −Σ m ≠ n P 0 (f m ) R (f m , f n ) / R (f m , f m )
[0047]
However, in the term of Σ in the above [Equation 5], the sum total of N−1 pieces excluding m = n in the range of m = 0 to m = N−1 is calculated. The temporary correction value P 1 (f n ) calculated by the above [Equation 5] is stored at a position corresponding to each frequency f n of the temporary correction correlation array. However, at this point, some elements in the array may have a negative value. In this case, the value is set to 0 so that all the temporary correction values P 1 (f n ) in the temporary correction correlation array are 0 or a positive value.
[0048]
When the temporary correction correlation array is obtained, the temporary correction values, which are the elements in the array, are normally corrected using the cross correlation table (step S6). Specifically, the normal correction value P 2 (f n) of the standard frequency f (n) and the correlation square value P 0 of (f n), the correlation squared value P 0 of the standard frequency f (n) (f n ), Provisional correction value P 1 (f m ), cross-correlation square value R (f m , f n ) for standard frequency f (m) with respect to standard frequency f ( n ), autocorrelation R (f f m , f m ) is calculated by the following [Equation 6].
[0049]
[Formula 6]
P 2 (f n ) = P 0 (f n ) −Σ m ≠ n P 1 (f m ) R (f m , f n ) / R (f m , f m )
[0050]
However, in the term of Σ in the above [Formula 6], the sum total of N−1 pieces excluding m = n in the range of m = 0 to m = N−1 is calculated. The normal correction value P 2 (f n ) calculated by the above [Equation 6] is stored at a position corresponding to each frequency f n of the normal correction correlation array. However, at this point, some elements in the array may have a negative value. In that case, the value is set to 0 so that the normal correction values P 2 (f n ) in the normal correction correlation array are all 0 or a positive value. The reason why the value of the normal correction correlation array is set to 0 or more in this manner is to delete an unrealistic value because the correlation square value is basically impossible.
[0051]
At this time, a correlation value E (n) which is a positive square root of the normal correction value P 2 (f n ) stored in the normal correction correlation array is calculated, and the frequency f (n) and the correlation value E (n) are calculated. Even if the frequency analysis is completed by obtaining a set, the effect of the present invention can be sufficiently obtained. However, in the processing up to this point, the influence of the adjacent frequency component cannot be completely deleted, and there is a problem that the influence of the adjacent frequency component is noticeable particularly in a bass region where the frequency setting interval of the harmonic function is small. is there. That is, the correlation value E (n) corresponding to each frequency f (n) is a value obtained by adding the correlation value of the adjacent frequency to the correlation value of the original frequency f (n).
[0052]
Therefore, correction for deleting adjacent components is performed on the normal correction value P 2 (f n ) stored in the normal correction correlation array (step S7). Specifically, first, the adjacent frequency components slightly remaining in the treble region are completely deleted using the following [Equation 7].
[0053]
[Formula 7]
P 2 (f n ) <P 2 (f n + 1 ) × α or P 2 (f n ) <P 2 (f n + 2 ) × α
Then P 2 (f n ) = 0
[0054]
In the above [Expression 7], α is a coefficient satisfying 0 ≦ α ≦ 1, but preferably α = about 0.25. That is, in the above [Equation 7], when attention is paid to a certain frequency f (n), the normal correction value corresponding to the frequency f (n) is an adjacent frequency f higher by one semitone than the frequency f (n). (N + 1) A process of setting the normal correction value of the focused frequency f (n) to 0 when it is equal to or less than a predetermined ratio of the normal correction value of any one of the adjacent frequencies f (n + 2) higher by two semitones, that is, by one full tone. It is carried out.
[0055]
Subsequently, the adjacent frequency components abundantly distributed in the bass region are deleted using the following [Equation 8]. In this case, since the adjacent frequency component is remarkable, it is difficult to distinguish between the physically existing adjacent frequency component and the pseudo adjacent frequency component generated due to the error of the correlation calculation, and [Expression 7] is applied as it is. It is not possible. Therefore, a method is adopted in which a determination is made based on a harmonic frequency component existing in a high-pitched sound region that can be easily identified. That is, when there is no harmonic frequency component corresponding to the adjacent frequency component to be determined (value is 0), processing for setting the adjacent frequency component to 0 is performed. Specifically, it is as the following [Formula 8].
[0056]
[Formula 8]
(1) P 2 (f n )> 0 and P 2 (f n + 1 )> 0 and P 2 (f n + 12 ) = 0 and P 2 (f n + 13 )> 0
Then P 2 (f n ) = 0
( 2 ) P 2 (f n )> 0 and P 2 (f n + 2 )> 0 and P 2 (f n + 12 ) = 0 and P 2 (f n + 14 )> 0
Then P 2 (f n ) = 0
(3) P 2 (f n )> 0 and P 2 (f n + 1 )> 0 and P 2 (f n + 19 ) = 0 and P 2 (f n + 20 )> 0
Then P 2 (f n ) = 0
(4) P 2 (f n )> 0 and P 2 (f n + 2 )> 0 and P 2 (f n + 19 ) = 0 and P 2 (f n + 21 )> 0
Then P 2 (f n ) = 0
[0057]
The above [Equation 8] indicates that the normal correction value P 2 (f n ) is set to 0 when any one of the conditions ( 1 ) to (4) is satisfied. Further, in the above-described [Equation 8], f n + 12, f n + 19 shows the double frequency, triple frequency f n, f n + 13, f n + 20 is
[0058]
In a normal acoustic signal, when a certain frequency component actually exists as a component of a time-series signal, when calculating a correlation with the time-series signal, a frequency that is an integral multiple of that frequency also has a certain correlation. Have. (However, this rule may not apply if the target is a time-series electrical signal or the like.) Therefore, if there is no integer multiple frequency component (the correlation value corresponding to the integer multiple frequency is 0), the original There is also a high possibility that it is influenced by adjacent frequency components. Therefore, in order to check whether adjacent frequency components exist, frequency components that are integral multiples of the adjacent frequency components are examined. If there is a frequency component that is an integral multiple of the adjacent frequency component, the adjacent frequency component is present, so the original frequency component is deleted as a result of calculation based on the influence of the adjacent frequency component ( The normal correction value is set to 0).
[0059]
The basic concept is the same for the conditions (2) to (4). For the condition (2), the adjacent frequency and the doubled frequency are referred to. For the condition (3), the adjacent frequency is used. For condition (4), the frequency component corresponding to the frequency f (n) is inherently present with reference to the frequency of two semitones, that is, the frequency one whole tone higher and the frequency three times higher. If it does not exist, the normal correction value P 2 (f n ) = 0 is performed. In this way, a second corrected correlation array in which the normal correction value P 2 (f n ) of the normal correlation array is corrected is obtained.
[0060]
When the second corrected correlation array is obtained, a correlation value E (n) that is a positive square root of the second corrected correlation value that is each value of the second corrected correlation array is calculated, and the frequency f (n) and the correlation value are calculated. A set of E (n) is obtained. By performing correlation calculation in step S4 and correlation correction in steps S5 to S7 for all unit sections set in step S3, N frequency components (a set of frequency and correlation value) in all unit sections are obtained. Will be.
[0061]
(3.2. Coding of acoustic signals)
The frequency analysis of the time series signal is performed as described above, and N frequency components are extracted for each unit section. When an acoustic signal is used as a time-series signal and the encoding of the acoustic signal is performed, the standard frequency f (n) is set at a MIDI note number, that is, a pitch interval in units of semitones as shown in FIG. N (= 128) frequency components corresponding to each note number are obtained. Then, as described above, by converting the frequency component frequency into MIDI data having the note number, the correlation value as the velocity, the start point of the unit interval as the note-on time, and the start point of the subsequent unit interval as the note-off time, An acoustic signal is encoded.
[0062]
(3.3. Concept of correlation correction according to the present invention)
Next, the effect of correcting the correlation value according to the present invention will be conceptually described with reference to FIG. In FIG. 6, the horizontal axis corresponds to the note number (frequency), and the vertical axis corresponds to the signal intensity or the correlation intensity. Here, let us consider a case where two sounds exist as original sounds. The original signal spectra of the two sound sources are expressed by two frequencies as shown in FIG. When the frequency analysis of this acoustic signal is performed, if only two frequencies are extracted as shown in FIG. 6A, the most accurate frequency analysis is performed. However, when frequency analysis by short-time Fourier analysis is performed on this acoustic signal, a large number of frequency components are extracted as shown in FIG. This corresponds to the state in which the correlation calculation in step S4 is performed. In this state, when the provisional correction in step S5 is performed, the value is largely corrected particularly in the low frequency region as shown in FIG. Furthermore, when the normal correction in step S6 is performed, a frequency component as shown in FIG. 6D is obtained.
[0063]
(3.4. About frequency setting)
In the above embodiment, the frequency to be extracted is set as [Expression 1] as a standard frequency corresponding to the note number n of the MIDI standard. It is also possible to perform high detection. Further, the frequency may be set at equal intervals in proportion to the frequency instead of logarithmic intervals in proportion to the note number as in [Formula 1]. However, when an acoustic signal is analyzed as a time-series signal and encoded, it is preferable to set an interval corresponding to the note number. The most preferable frequency setting for use in encoding an acoustic signal is set at a finer interval between each note number. For example, twelve frequencies are set between each note number so as to be 1/13 intervals of the note number. When such a setting is performed, 128 × 13 frequencies are set in total, and (128 × 13) squared correlation square values are obtained in the cross-correlation table. The calculation accuracy is significantly improved. When encoding into an acoustic signal, there is no frequency corresponding to such a fine frequency setting, so the frequency corresponding to the closest note number is used as the extraction component.
[0064]
Although the preferred embodiments of the present invention have been described above, the frequency analysis method and the encoding method are naturally executed by an arithmetic processing device such as a computer. Specifically, a program for executing the steps as shown in the flowchart of FIG. Then, after executing the processing of step S1 and step S2 in advance to prepare a cross-correlation table, the time series signal such as an acoustic signal is digitized by the PCM method or the like, and then taken into a computer, and steps S3 to S7 are performed. After the processing, the extracted frequency component or code data such as MIDI format is output from the computer as digital data. For example, in the case of MIDI data, the output code data is reproduced as sound using a MIDI sequencer and a MIDI sound source.
[0065]
【The invention's effect】
As described above, according to the present invention, as described above, a plurality of frequencies are set, a plurality of harmonic functions corresponding to the respective frequencies are prepared, and correlations between prepared harmonic functions are calculated for all combinations. Generate a cross-correlation table, set multiple unit intervals on the time axis of the time series signal, extract the interval signal for each unit interval, calculate the correlation between multiple harmonic functions and interval signals, A signal correlation array in which a correlation square value corresponding to the harmonic function is calculated is generated, and for each element of the signal correlation array, based on a plurality of other elements of the signal correlation array and a corresponding plurality of elements of the cross-correlation table To obtain a temporary correction correlation array, and correct each element of the temporary correction correlation array based on the other elements of the temporary correction correlation array and the corresponding elements of the cross-correlation table. Regular A normal correlation array is obtained by repeatedly calculating a correlation square value, a temporary correction correlation value, and a normal correction correlation value for each defined unit interval so as to obtain a positive correlation sequence. As a result, it is possible to faithfully extract frequency components in the low frequency region and to suppress the occurrence of unnecessary adjacent frequency components.
[Brief description of the drawings]
FIG. 1 is a diagram showing a basic principle of a frequency analysis method and an acoustic signal encoding method according to the present invention.
FIG. 2 is a diagram showing an example of a periodic function used in the present invention.
FIG. 3 is a diagram illustrating a method of calculating a correlation between a signal to be analyzed and a periodic signal.
FIG. 4 is a diagram showing a basic method of generalized harmonic analysis.
FIG. 5 is a flowchart of a frequency analysis method and an acoustic signal encoding method according to the present invention.
FIG. 6 is a diagram conceptually showing the effect of correlation correction according to the present invention.
Claims (4)
複数の周波数を設定し、当該各周波数に対応する複数の調和関数を準備する調和関数準備段階と、
前記準備された調和関数同士の相関を全ての組合せに対して算出した相互相関テーブルを生成する相互相関テーブル準備段階と、
前記時系列信号の時間軸上に複数の単位区間を設定し、個々の単位区間ごとに区間信号を抽出する区間信号抽出段階と、
前記複数の調和関数と前記区間信号との相関を計算し、各調和関数に対応する値を算出した信号相関配列を生成する相関計算段階と、
前記信号相関配列の周波数fnなる調和関数に対応する要素P0(fn)に対して、fn以外の全ての周波数fmなる調和関数に対応する前記信号相関配列の要素P0(fm)にfnおよびfmに対応する前記相互相関テーブルの値R(fm,fn)を乗じ、fmおよびfmに対応する前記相互相関テーブルの値R(fm,fm)を除したP0(fm)R(fm,fn)/R(fm,fm)なる値を各々減算することにより補正された要素P1(fn)からなる仮補正相関配列を得る仮相関補正段階と、
前記信号相関配列の周波数fnなる調和関数に対応する要素P0(fn)に対して、fn以外の全ての周波数fmなる調和関数に対応する前記仮補正相関配列の要素P1(fm)にfnおよびfmに対応する前記相互相関テーブルの値R(fm,fn)を乗じ、fmおよびfmに対応する前記相互相関テーブルの値R(fm,fm)を除したP1(fm)R(fm,fn)/R(fm,fm)なる値を各々減算することにより補正された要素P2(fn)からなる正規補正相関配列を得る正規相関補正段階と、を有し、
前記区間信号抽出段階で定義された単位区間に対して前記相関計算段階、前記仮相関補正段階および前記正規相関補正段階を繰返し行い、各単位区間に対応する正規補正相関配列を得ることを特徴とする時系列信号の周波数解析方法。A frequency analysis method for separating a plurality of signal components from a time series signal,
A harmonic function preparation stage for setting a plurality of frequencies and preparing a plurality of harmonic functions corresponding to the respective frequencies;
A cross-correlation table preparation step for generating a cross-correlation table in which the correlation between the prepared harmonic functions is calculated for all combinations;
A section signal extraction stage for setting a plurality of unit sections on the time axis of the time series signal and extracting a section signal for each unit section;
A correlation calculation step of calculating a correlation between the plurality of harmonic functions and the interval signal, and generating a signal correlation array in which a value corresponding to each harmonic function is calculated;
Relative to the corresponding elements to the frequency fn becomes harmonic signal correlation sequence P0 (fn), elements of the signal correlation sequence corresponding to all the frequency fm becomes harmonics other than fn P0 (fm) to fn and fm Is multiplied by the value R (fm, fn) of the cross-correlation table corresponding to, and divided by the value R (fm, fm) of the cross-correlation table corresponding to fm and fm, P0 (fm) R (fm, fn) / A temporary correlation correction stage for obtaining a temporary correction correlation array composed of elements P1 (fn) corrected by subtracting each value of R (fm, fm) ;
For the element P0 (fn) corresponding to the harmonic function having the frequency fn of the signal correlation array, the elements P1 (fm) of the temporary correction correlation array corresponding to the harmonic functions having all the frequencies fm other than fn are represented by fn and fm. Is multiplied by the value R (fm, fn) of the cross-correlation table corresponding to, and divided by the value R (fm, fm) of the cross-correlation table corresponding to fm and fm, P1 (fm) R (fm, fn) / A normal correlation correction stage for obtaining a normal correction correlation array composed of elements P2 (fn) corrected by subtracting each value of R (fm, fm) ,
The correlation calculation step, the temporary correlation correction step, and the normal correlation correction step are repeatedly performed on the unit intervals defined in the interval signal extraction step to obtain a normal correction correlation array corresponding to each unit interval. Frequency analysis method for time series signals.
前記区間信号抽出段階で定義された単位区間に対して前記第2相関補正段階を繰返し行い、各単位区間に対応する第2補正相関配列を得ることを特徴とする請求項1に記載の時系列信号の周波数解析方法。When the element P2 (fn) of the normal correction correlation array is replaced with the element PA, the ratio of the element PA to the element PB is compared with the element PB of the normal correction correlation array whose frequency is adjacent to the element PA. A second correlation correction step of obtaining a second corrected correlation array by performing correction to set the value of the element PA to 0 when the value is equal to or less than a predetermined value;
The time series according to claim 1, wherein the second correlation correction step is repeated for the unit interval defined in the interval signal extraction step to obtain a second correction correlation array corresponding to each unit interval. Signal frequency analysis method.
前記区間信号抽出段階で定義された単位区間に対して前記第2相関補正段階を繰返し行い、各単位区間に対応する第2補正相関配列を得ることを特徴とする請求項1に記載の時系列信号の周波数解析方法。When the element P2 (fn) of the normal correction correlation array is replaced with the element PA, the ratio of the element PA to the element PB is compared with the element PB of the normal correction correlation array whose frequency is adjacent to the element PA. The ratio of the element PC of the normal correction correlation array whose frequency is an integer multiple of the element PA to the element PD of the normal correction correlation array whose frequency is an integer multiple of the element PB is greater than or equal to a predetermined value. A second correlation correction step of obtaining a second corrected correlation array by performing correction to set the value of the element PA to 0 when the value is equal to or less than the value;
The time series according to claim 1, wherein the second correlation correction step is repeated for the unit interval defined in the interval signal extraction step to obtain a second correction correlation array corresponding to each unit interval. Signal frequency analysis method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002137273A JP4156269B2 (en) | 2002-05-13 | 2002-05-13 | Frequency analysis method for time series signal and encoding method for acoustic signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002137273A JP4156269B2 (en) | 2002-05-13 | 2002-05-13 | Frequency analysis method for time series signal and encoding method for acoustic signal |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003330458A JP2003330458A (en) | 2003-11-19 |
JP4156269B2 true JP4156269B2 (en) | 2008-09-24 |
Family
ID=29699079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002137273A Expired - Fee Related JP4156269B2 (en) | 2002-05-13 | 2002-05-13 | Frequency analysis method for time series signal and encoding method for acoustic signal |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4156269B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5780724B2 (en) * | 2010-09-06 | 2015-09-16 | 綜合警備保障株式会社 | Sound detection device, sound detection method and sound detection system |
JP5721470B2 (en) * | 2011-02-28 | 2015-05-20 | 綜合警備保障株式会社 | Pedestrian number estimation device and pedestrian number estimation method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3120468B2 (en) * | 1991-04-04 | 2000-12-25 | カシオ計算機株式会社 | Scale detecting device and musical tone generating device using the same |
JP2000188627A (en) * | 1998-12-22 | 2000-07-04 | Nec Saitama Ltd | Portable telephone set |
JP4132362B2 (en) * | 1999-03-05 | 2008-08-13 | 大日本印刷株式会社 | Acoustic signal encoding method and program recording medium |
JP2001005450A (en) * | 1999-06-24 | 2001-01-12 | Dainippon Printing Co Ltd | Method of encoding acoustic signal |
JP2002091433A (en) * | 2000-09-19 | 2002-03-27 | Fujitsu Ltd | Method for extracting melody information and device for the same |
JP2003216169A (en) * | 2002-01-17 | 2003-07-30 | Dainippon Printing Co Ltd | Analyzing method of frequency and encoding method of acoustic signal |
-
2002
- 2002-05-13 JP JP2002137273A patent/JP4156269B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003330458A (en) | 2003-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5808225A (en) | Compressing music into a digital format | |
JP4132362B2 (en) | Acoustic signal encoding method and program recording medium | |
JP4156269B2 (en) | Frequency analysis method for time series signal and encoding method for acoustic signal | |
Zehren et al. | Analyzing and reducing the synthetic-to-real transfer gap in Music Information Retrieval: the task of automatic drum transcription | |
JP4037542B2 (en) | Method for encoding an acoustic signal | |
JP4156252B2 (en) | Method for encoding an acoustic signal | |
JP4580548B2 (en) | Frequency analysis method | |
JP4695781B2 (en) | Method for encoding an acoustic signal | |
JP4662406B2 (en) | Frequency analysis method and acoustic signal encoding method | |
JP3776782B2 (en) | Method for encoding an acoustic signal | |
JP3935745B2 (en) | Method for encoding acoustic signal | |
JP4268328B2 (en) | Method for encoding an acoustic signal | |
JP2003216147A (en) | Encoding method of acoustic signal | |
JP2001005450A (en) | Method of encoding acoustic signal | |
JP4156268B2 (en) | Frequency analysis method for time series signal and encoding method for acoustic signal | |
JP4061070B2 (en) | Frequency analysis method and acoustic signal encoding method | |
JP4662407B2 (en) | Frequency analysis method | |
JP4473979B2 (en) | Acoustic signal encoding method and decoding method, and recording medium storing a program for executing the method | |
JP2003263155A (en) | Frequency analyzer and acoustic signal encoding device | |
JP2002123296A (en) | Method for encoding acoustic signals and method for separating acoustic signals | |
JP2002215142A (en) | Encoding method for acoustic signal | |
JP2002244691A (en) | Encoding method for sound signal | |
JP2003216169A (en) | Analyzing method of frequency and encoding method of acoustic signal | |
JPH1173199A (en) | Acoustic signal encoding method and record medium readable by computer | |
JP4601865B2 (en) | Method for encoding an acoustic signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080313 |
|
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: 20080625 |
|
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: 20080709 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 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: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |