JP4695781B2 - Method for encoding an acoustic signal - Google Patents
Method for encoding an acoustic signal Download PDFInfo
- Publication number
- JP4695781B2 JP4695781B2 JP2001209163A JP2001209163A JP4695781B2 JP 4695781 B2 JP4695781 B2 JP 4695781B2 JP 2001209163 A JP2001209163 A JP 2001209163A JP 2001209163 A JP2001209163 A JP 2001209163A JP 4695781 B2 JP4695781 B2 JP 4695781B2
- Authority
- JP
- Japan
- Prior art keywords
- phoneme data
- unit
- intensity value
- data
- frequency
- 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
- Electrophonic Musical Instruments (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】
【産業上の利用分野】
本発明は、音楽制作における採譜と呼ばれる以下のような業務を支援するのに適用することができる。採譜業務としては、例えば、譜面が入手できない場合の素材としての既存楽曲の引用・既存楽曲のカバー曲制作、ヒット曲のメロディ・和声進行・音色の分析研究等の楽曲分析、カラオケにおけるMIDIデータ形式の演奏データ作成、ゲーム機のBGMデータの作成、携帯電話の着メロデータ作成、自動ピアノ・演奏ガイド機能付き鍵盤楽器向け演奏データの作成、楽譜出版・版下作成などがある。
【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符号化方式により、演奏録音等から得られる音響信号の効率的な符号化が可能になった。音響信号の符号化においては、常に倍音成分の扱いが問題となるが、倍音の処理についても上記特開平11−95753号公報において開示されている手法により解決を試みている。倍音とは、本来の音である基本音の周波数の整数倍の周波数を有する音であり、この倍音成分をそのまま符号化してしまうと、本来の音を正確に再現できないことになる。倍音成分は、MIDIノートナンバーでいえば、基本音の+12、+19、+24、+28、+31、・・・といった値をとるものとなる。特開平11−95753号公報においては、スペクトル成分から周波数成分を抽出する際に、整数倍に相当する成分を抽出しないような提案を行っている。
【0007】
しかしながら、上記手法を用いると、倍音に相当する周波数成分を抽出しないため、倍音と同一の音高である和音(オクターブ和音)についても抽出しないことになる。そのため、符号化されるデータには、本来の音である和音の周波数成分が含まれなくなるという問題がある。
【0008】
上記のような点に鑑み、本発明は、同一の周波数を有する周波数成分であっても、本来の音の成分を抽出し、倍音成分だけを削除することが可能な音響信号の符号化方法を提供することを課題とする。
【0009】
【課題を解決するための手段】
上記課題を解決するため、本発明では、与えられた音響信号に対して、時間軸上に複数の単位区間を設定し、設定された単位区間における音響信号と複数の周期関数との相関を求めることにより、各周期関数に対応した強度値を算出し、各周期関数が有する周波数と、各周期関数に対応した強度値と、単位区間の始点に対応する区間開始時刻と、単位区間の終点に対応する区間終了時刻で構成される単位音素データを算出し、算出された単位音素データのうち、各単位区間ごとに周波数が互いに整数倍の関係となる単位音素データ間において、周波数が高い方の単位音素データの第2強度値を、当該単位音素データの強度値から所定量を削減することにより算出し、周波数が低い方の単位音素データの第2強度値を、前記周波数が高い方の単位音素データから削減された所定量の強度値を、前記周波数が低い方の単位音素データの強度値に追加することにより算出し、算出された第2強度値の大きさ順に、各単位区間ごとに所定数の単位音素データに優先度を示す設定を行い、単位音素データの算出、第2強度値の算出、優先度の設定の処理を全単位区間に対して行うことにより得られる全単位音素データから、強度値が所定値に達していないものを削除し、残った単位音素データのうち、周波数が同一であって、区間が連続するものを連結して連結音素データとし、連結音素データの属性として、強度値は構成する単位音素データの強度値のうち最大に基づいて与え、開始時刻は先頭の単位音素データの区間開始時刻を与え、終了時刻は最後尾の単位音素データの区間終了時刻を与え、1つの連結音素データを構成する連結元の単位音素データのうち、いずれかの音素データに優先度の設定が行われている場合に、当該連結音素データに優先度の設定を行い、連結処理後の音素データのうち、優先度の設定が行われている音素データの集合により音響信号を表現するようにしたことを特徴とする。本発明によれば、周期関数との相関を求めることによって得られる単位音素データを算出し、各単位区間ごとに周波数が互いに整数倍となる関係の単位音素データについて、両者の強度値に基づいて、単位音素データの周波数の高い方の強度値を、単位音素データの周波数の低い方の強度値に移動させてそれぞれの第2強度値を算出するようにし、この第2強度値に基づいて決定される優先度に従って、符号化されるべき音素データが決定されるので、倍音の除去が可能となる。
【0010】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0011】
(音響信号符号化方法の基本原理)
はじめに、本発明に係る音響信号の符号化方法の基本原理を述べておく。この基本原理は、前掲の各公報あるいは明細書に開示されているので、ここではその概要のみを簡単に述べることにする。
【0012】
図1(a)に示すように、時系列信号としてアナログ音響信号が与えられたものとする。図1の例では、横軸に時間t、縦軸に振幅(強度)をとって、この音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。ここでは、説明の便宜上、PCMの手法でデジタル化した音響データの波形も図1(a)のアナログ音響信号と同一の波形で示すことにする。
【0013】
続いて、この解析対象となる音響信号の時間軸上に、複数の単位区間を設定する。図1(a)に示す例では、時間軸t上に等間隔に6つの時刻t1〜t6が定義され、これら各時刻を始点および終点とする5つの単位区間d1〜d5が設定されている。図1の例では、全て同一の区間長をもった単位区間が設定されているが、個々の単位区間ごとに区間長を変えるようにしてもかまわない。あるいは、隣接する単位区間が時間軸上で部分的に重なり合うような区間設定を行ってもかまわない。
【0014】
こうして単位区間が設定されたら、各単位区間ごとの音響信号(以下、区間信号と呼ぶことにする)について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、例えば、その中で成分の強度割合の大きな周波数成分を代表周波数として選出すれば良い。ここで、代表周波数とはいわゆる基本周波数が一般的であるが、音声のフォルマント周波数などの倍音周波数や、ノイズ音源のピーク周波数も代表周波数として扱うことがある。代表周波数は1つだけ選出しても良いが、音響信号によっては複数の代表周波数を選出した方が、より精度の高い符号化が可能になる。図1(b)には、個々の単位区間ごとにそれぞれ3つの代表周波数を選出し、1つの代表周波数を1つの代表符号(図では便宜上、音符として示してある)として符号化した例が示されている。ここでは、代表符号(音符)を収容するために3つのトラックT1,T2,T3が設けられているが、これは個々の単位区間ごとに選出された3つずつの代表符号を、それぞれ異なるトラックに収容するためである。
【0015】
例えば、単位区間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)に示す概念図では、音符の横方向の位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【0016】
音響信号を符号化する形式としては、必ずしもMIDI形式を採用する必要はないが、この種の符号化形式としてはMIDI形式が最も普及しているため、実用上はMIDI形式の符号データを用いるのが好ましい。MIDI形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーNとベロシティーVを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーNとベロシティーVを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーVは、例えば、ピアノの鍵盤などを押し下げる速度(ノートオン時のベロシティー)および鍵盤から指を離す速度(ノートオフ時のベロシティー)を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【0017】
前述の方法では、第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)を所定の方法で規格化した値を用いれば良い。また、「デルタタイム」データは、各単位区間の長さに応じて設定すれば良い。
【0018】
(周期関数との相関を求める具体的な方法)
上述した基本原理の基づく方法では、区間信号に対して、1つまたは複数の代表周波数が選出され、この代表周波数をもった周期信号によって、当該区間信号が表現されることになる。ここで、選出される代表周波数は、文字どおり、当該単位区間内の信号成分を代表する周波数である。この代表周波数を選出する具体的な方法には、後述するように、短時間フーリエ変換を利用する方法と、一般化調和解析の手法を利用する方法とがある。いずれの方法も、基本的な考え方は同じであり、あらかじめ周波数の異なる複数の周期関数を用意しておき、これら複数の周期関数の中から、当該単位区間内の区間信号に対する相関が高い周期関数を見つけ出し、この相関の高い周期関数の周波数を代表周波数として選出する、という手法を採ることになる。すなわち、代表周波数を選出する際には、あらかじめ用意された複数の周期関数と、単位区間内の区間信号との相関を求める演算を行うことになる。そこで、ここでは、周期関数との相関を求める具体的な方法を述べておく。
【0019】
複数の周期関数として、図2に示すような三角関数が用意されているものとする。これらの三角関数は、同一周波数をもった正弦関数と余弦関数との対から構成されており、128通りの標準周波数f(0)〜f(127)のそれぞれについて、正弦関数および余弦関数の対が定義されていることになる。ここでは、同一の周波数をもった正弦関数および余弦関数からなる一対の関数を、当該周波数についての周期関数として定義することにする。すなわち、ある特定の周波数についての周期関数は、一対の正弦関数および余弦関数によって構成されることになる。このように、一対の正弦関数と余弦関数とにより周期関数を定義するのは、信号に対する周期関数の相関値を求める際に、相関値が位相の影響を受ける事を考慮するためである。なお、図2に示す各三角関数内の変数Fおよびkは、区間信号Xについてのサンプリング周波数Fおよびサンプル番号kに相当する変数である。例えば、周波数f(0)についての正弦波は、sin(2πf(0)k/F)で示され、任意のサンプル番号kを与えると、区間信号を構成する第k番目のサンプルと同一時間位置における周期関数の振幅値が得られる。
【0020】
ここでは、128通りの標準周波数f(0)〜f(127)を図3に示すような式で定義した例を示すことにする。すなわち、第n番目(0≦n≦127)の標準周波数f(n)は、以下に示す〔数式1〕で定義されることになる。
【0021】
〔数式1〕
f(n)=440×2γ (n)
γ(n)=(n−69)/12
【0022】
このような式によって標準周波数を定義しておくと、最終的にMIDIデータを用いた符号化を行う際に便利である。なぜなら、このような定義によって設定される128通りの標準周波数f(0)〜f(127)は、等比級数をなす周波数値をとることになり、MIDIデータで利用されるノートナンバーに対応した周波数になるからである。したがって、図2に示す128通りの標準周波数f(0)〜f(127)は、対数尺度で示した周波数軸上に等間隔(MIDIにおける半音単位)に設定した周波数ということになる。
【0023】
続いて、任意の区間の区間信号に対する各周期関数の相関の求め方について、具体的な説明を行う。例えば、図4に示すように、ある単位区間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)の整数倍の値に設定することが望ましい。
【0024】
このような区間信号Xに対して、第n番目の標準周波数f(n)をもった正弦関数Rnとの相関値を求める原理を示す。両者の相関値A(n)は、図5の第1の演算式によって定義することができる。ここで、X(k)は、図4に示すように、区間信号Xにおけるサンプル番号kの振幅値であり、sin(2πf(n)k/F)は、時間軸上での同位置における正弦関数Rnの振幅値である。この第1の演算式は、単位区間d内の全サンプル番号k=0〜w−1の次元について、それぞれ区間信号Xの振幅値と正弦関数Rnの振幅ベクトルの内積を求める式ということができる。
【0025】
同様に、図5の第2の演算式は、区間信号Xと、第n番目の標準周波数f(n)をもった余弦関数との相関値を求める式であり、両者の相関値はB(n)で与えられる。なお、相関値A(n)を求めるための第1の演算式も、相関値B(n)を求めるための第2の演算式も、最終的に2/wが乗ぜられているが、これは相関値を規格化するためのものでり、前述のとおりwはnに依存して変化させるのが一般的であるため、この係数もnに依存する変数である。
【0026】
区間信号Xと標準周波数f(n)をもった標準周期関数との相関実効値は、図5の第3の演算式に示すように、正弦関数との相関値A(n)と余弦関数との相関値B(n)との二乗和平方根値E(n)によって示すことができる。この相関実効値の大きな標準周期関数の周波数を代表周波数として選出すれば、この代表周波数を用いて区間信号Xを符号化することができる。
【0027】
すなわち、この相関値E(n)が所定の基準以上の大きさとなる1つまたは複数の標準周波数を代表周波数として選出すれば良い。なお、ここで「相関値E(n)が所定の基準以上の大きさとなる」という選出条件は、例えば、何らかの閾値を設定しておき、相関値E(n)がこの閾値を超えるような標準周波数f(n)をすべて代表周波数として選出する、という絶対的な選出条件を設定しても良いが、例えば、相関値E(n)の大きさの順にQ番目までを選出する、というような相対的な選出条件を設定しても良い。
【0028】
(一般化調和解析の手法)
ここでは、本発明に係る音響信号の符号化を行う際に有用な一般化調和解析の手法について説明する。既に説明したように、音響信号を符号化する場合、個々の単位区間内の区間信号について、相関値の高いいくつかの代表周波数を選出することになる。一般化調和解析は、より高い精度で代表周波数の選出を可能にする手法であり、その基本原理は次の通りである。
【0029】
図6(a)に示すような単位区間dについて、信号S(j)なるものが存在するとする。ここで、jは後述するように、繰り返し処理のためのパラメータである(j=1〜J)。まず、この信号S(j)に対して、図2に示すような128通りの周期関数すべてについての相関値を求める。そして、最大の相関値が得られた1つの周期関数の周波数を代表周波数として選出し、当該代表周波数をもった周期関数を要素関数として抽出する。続いて、図6(b)に示すような含有信号G(j)を定義する。この含有信号G(j)は、抽出された要素関数に、その振幅として、当該要素関数の信号S(j)に対する相関値を乗じることにより得られる信号である。例えば、周期関数として図2に示すように、一対の正弦関数と余弦関数とを用い、周波数f(n)が代表周波数として選出された場合、振幅A(n)をもった正弦関数A(n)sin(2πf(n)k/F)と、振幅B(n)をもった余弦関数B(n)cos(2πf(n)k/F)との和からなる信号が含有信号G(j)ということになる(図6(b)では、図示の便宜上、一方の関数しか示していない)。ここで、A(n),B(n)は、図5の式で得られる規格化された相関値であるから、結局、含有信号G(j)は、信号S(j)内に含まれている周波数f(n)をもった信号成分ということができる。
【0030】
こうして、含有信号G(j)が求まったら、信号S(j)から含有信号G(j)を減じることにより、差分信号S(j+1)を求める。図6(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個の代表周波数を選出することができる。
【0031】
このような相関計算の結果として出力されるJ個の含有信号G(1)〜G(J)は、もとの区間信号Xの構成要素となる信号であり、もとの区間信号Xを符号化する場合には、これらJ個の含有信号の周波数を示す情報および振幅(強度)を示す情報を符号データとして用いるようにすれば良い。尚、Jは代表周波数の個数であると説明してきたが、標準周波数f(n)の個数と同一すなわちJ=128であってもよく、周波数スペクトルを求める目的においてはそのように行うのが通例である。
【0032】
こうして、各単位区間について、所定数の周波数群が選出されたら、この周波数群の各周波数に対応する「音の高さを示す情報」、選出された各周波数の信号強度に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間に後続する単位区間の始点に対応する「音の発音終了時刻を示す情報」、の4つの情報を含む所定数の符号データを作成すれば、当該単位区間内の区間信号Xを所定数の符号データにより符号化することができる。符号データとして、MIDIデータを作成するのであれば、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用いるようにすれば良い。
【0033】
(本発明に係る音響信号の符号化方法)
ここまでに説明した従来技術とも共通する本発明の基本原理を要約すると、原音響信号に単位区間を設定し、単位区間ごとに複数の周波数に対応する信号強度を算出し、得られた信号強度を基に用意された周期関数を利用して1つまたは複数の代表周波数を選出し、選出された代表周波数に対応する音の高さ情報と、選出された代表周波数の強度に対応する音の強さ情報と、単位区間の始点に対応する発音開始時刻と、単位区間の終点に対応する発音終了時刻で構成される符号データを作成することにより、音響信号の符号化が行われていることになる。
【0034】
本発明の音響信号符号化方法は、上記基本原理において、得られた信号強度を基に、用意された周期関数に対応する周波数を全て利用し、これら各周波数と、各周波数の強度と、単位区間の始点に対応する区間開始時刻と、単位区間の終点に対応する区間終了時刻で構成されるデータを「音素データ」と定義し、この音素データをさらに加工することにより最終的な符号化データを得るようにしたものである。
【0035】
ここからは、本発明の音響信号符号化方法について、図7に示すフローチャートを用いて説明する。まず、音響信号の時間軸上の全区間に渡って単位区間を設定する(ステップS1)。このステップS1における手法は、上記基本原理において、図1(a)を用いて説明した通りである。
【0036】
続いて、各単位区間ごとの音響信号、すなわち区間信号について、周波数解析を行って各周波数に対応する強度値を算出し、周波数、強度値、単位区間の始点、終点の4つの情報からなる単位音素データを算出する(ステップS2)。具体的には、図2に示したような128種の周期関数に対して区間信号の相関強度を求め、その周期関数の周波数、求めた相関強度、単位区間の始点、終点の4つの情報を「単位音素データ」と定義する。この単位音素データとは、音素データのうち、特に単位区間長のものとする。本実施形態では、上記基本原理で説明した場合のように、代表周波数を選出するのではなく、用意した周期関数全てに対応する単位音素データを取得する。このステップS2の処理を全単位区間に対して行うことにより、M×N個の単位音素データからなる単位音素データ群が得られる。ここで、Nは周期関数の総数(上述の例ではN=128)、Mは音響信号において設定された単位区間の総数である。
【0037】
続いて、各単位区間ごとに単位音素データが有する強度値に基づいて、各周波数の第2強度値を算出する(ステップS3)。ここで、第2強度値算出の具体例を図8を用いて説明する。図8は、ある単位区間における単位音素データのうち、その強度値が所定値以上のものを抽出し、結果として10個を抽出した状態を示している。図8において、音階(ノートナンバー)、強度値は単位音素データを構成するものである。強度値順位は、この強度値の大きい順に順位付けをしたものであり、倍音の処理を行わない場合は、この順位に従って符号化が行われることになる。なお、ここで音階およびノートナンバーは、単位音素データの属性である周波数と同義であるが、ここでは、説明の便宜上、周波数ではなく、音階およびノートナンバーを使用する。
【0038】
倍音処理のための第2強度値の算出にあたっては、ノートナンバーの大きい方から処理を行っていく。まず、10個の単位音素データのうち、ノートナンバーが大きい音階D5について処理を行う。音階D5が他の音の2倍音になっているかどうかを調べると、そのような音、すなわちノートナンバー86から−12となるノートナンバー74(音階でいえばD4)は他の9個の単位音素データには存在しない。音階D5が他の音の3倍音になっているかどうかを調べると、ノートナンバー86から−19となるノートナンバー67(音階G3)が存在していることがわかる。このような音が見つかったら、この音階D5の音は、音階G3の3倍音であるとみなす。図8に示す倍音構成とは、各音階の音がどの音の倍音であるとみなすかを示している。音階D5は他の音の倍音であるとみなされたので、第2強度値算出処理が行われる。具体的には、単位音素データとして音階D5が有している強度値をすべて基本音の強度値であるとみなして、第2強度値を0とする。
【0039】
図8において、第2強度値算出の項目は、単位音素データが有する強度値から第2強度値を算出する際の増減処理を示している。上記音階D5のように第2強度値が0となった場合は、元の強度値分40が削減されたことになる。この削減された分は、音階D5の基本音とみなされた音階G3の第2強度値として付加されることになる。
【0040】
同様な処理により、音階C5の音は、音階C4の2倍音であるとみなされて第2強度値は0となり、その削減分25は、音階C5の基本音とみなされた音階C4の第2強度値に付加される。音階B4、音階G4、音階E4についても同様に処理される。音階C4については、上記のように音階C5の基本音であるとみなされたが、自身も音階C3の2倍音となっている。この場合、音階C4本来の強度値50に音階C5からの強度値25を付加することにより得られた強度値75を削減して、音階C4の第2強度値を0とする。この削減分75は音階C4の基本音とみなされた音階C3の第2強度値として付加される。
【0041】
音階G3は、音階D5と音階G4の基本音とみなされるので、両者の強度値が第2強度値として付加される。一方、音階G3は音階G2の2倍音である可能性もある。倍音は、基本音に基づいて発生する音であり、状況によっては基本音よりも大きな音になる場合も有り得るが、基本音の数倍の大きさになるということはない。ところが、音階G3と音階G2の強度値を比較すると、音階G3の強度値が120であるのに対して、音階G2の強度値は20であり、倍音であると考えられる音階G3の強度値が音階G2の強度値の6倍に達している。このような場合は、音階G3は音階G2の倍音ではない、とみなすことにして第2強度値には変更を与えない。結果として、音階G3の第2強度値には、音階D5と音階G4による影響だけが付加される。なお、倍音とみなすかどうかの判定基準については、後述する〔数式2〕が用いられる。
【0042】
音階E3、音階C3、音階G2については、その基本音となる音が抽出した単位音素データに存在しないため、図8の倍音構成の欄は空白となっている。また、音階E3は、音階B4と音階E4の基本音とみなされるので、両者の強度値が第2強度値として付加され、音階C3は、音階C4の基本音とみなされるので、その強度値が付加される。音階G2は他の音の基本音でもなく、倍音でもないので、第2強度値としては、強度値がそのまま与えられる。
【0043】
以上のようにして、各単位音素データの第2強度値が算出されることになる。第2強度値は、元の強度値に対して増減を行うことにより算出されるので、抽出された10個の単位音素データの強度値の総和と、第2強度値の総和は等しいものとなる。優先度は、この第2強度値の大きさ順に決定されることになる。例えば、図8に示した10個の単位音素データから4つを抽出しようとする場合、倍音処理を行わない場合は、強度値順位に基づいて、音階G3、E3、C3、G4が抽出される。しかし、上記説明のような倍音処理を行うことにより、優先度に基づいて、上位3つは同一であるが、4番目は音階G4ではなく、音階G2が抽出されることになる。これは、音階G4が倍音であると判定されて倍音処理により削除されたことを意味している。
【0044】
図8で具体的に示したステップS3の第2強度値の算出処理について、図9のフローチャートを用いて整理しておく。まず、ノートナンバーが最大のもの、すなわち高音側から処理を行うために、ノートナンバーn=127に設定する(ステップS11)。なお、このフローチャートでは、複雑になるため示していないが、該当するノートナンバーに対応する強度値E(n)が所定値以下である場合は、ステップS12以降の処理を行わず、ノートナンバーを1つ減らして、次のノートナンバーの単位音素データに対して処理を行うことになる。
【0045】
強度値E(n)が所定値以上となる単位音素データが見つかったら、まず、倍音設定変数m=2に設定する(ステップS12)。これは、処理対象となっている単位音素データが2倍音であるかどうかから調べることを意味している。具体的に、他の音の倍音となっているかどうかは、以下の〔数式2〕により判定されることになる。
【0046】
〔数式2〕
E(n−O(m)) > P(n)×α/2
【0047】
上記〔数式2〕において、P(n)はノートナンバーnの積算強度値で上述の第2強度値の中間データであり、最終的に確定した積算強度値が第2強度値である。ある。また、O(m)は倍音ノートナンバーのオフセット(m=2〜8)であり、具体的には、O(2)=12, O(3)=19, O(4)=24, O(5)=28, O(6)=31,O(7)=34, O(8)=36という値をとる。αは倍音除去係数であり、通常は0<α≦1の範囲で設定により定めることができる。この倍音除去係数αは、音響信号の種類により設定が異なる。例えば、音響信号が楽器のみによる演奏を録音したものである場合、αは設定範囲の最大値である1に近い値、あるいは楽器により1を超える値を設定する。これは、楽器による演奏では必ず倍音成分が存在し、管楽器などでは共鳴体の特性により倍音が顕著に強調される場合があるためである。また、音響信号がボーカルを含む演奏を録音したものである場合、αは0.3〜0.5程度の値を設定する。これは、ボーカルは、そもそも倍音を発生することにより音声として聞こえる特徴を有しており、倍音成分を全て削除してしまうと、ボーカルとして再現できなくなるおそれがあるためである。
【0048】
ステップS13においては、上記〔数式2〕を用いてノートナンバーnの単位音素データが他の倍音となっているかを判定するわけであるが、ここで、図8に示した音階D5の単位音素データの例について説明する。この場合、ノートナンバーn=86となり、2倍音を判定する際には、m=2となる。すなわち、O(2)=12であるので左辺はE(74)となり、ノートナンバー74の単位音素データの強度値を示すことになる。右辺のP(n)はノートナンバーnの積算強度値であるが、この時点では積算されていないため、本来の強度値である40が用いられる。図8の例では、倍音除去係数α=1と設定しているので、右辺の値は20となる。図8において、ノートナンバー74が存在しないことからもわかるように、左辺のE(74)は非常に小さな値となり、〔数式2〕は成立しない。よって、音階D5を2倍音とする基本音は存在しないことになり、引き続き音階D5を3倍音とする基本音についてステップS13における判定を行うことになる。m=3の場合、左辺はE(67)すなわち120となり、右辺は変更なく20のままである。よって、〔数式2〕が成立するため、ステップS14に進むことになる。ステップS14においては、以下の〔数式3〕の処理を実行することになる。
【0049】
〔数式3〕
P(n−O(m)) ← P(n−O(m))+ P(n)×α
P(n) ← P(n)×(1−α)
【0050】
上記〔数式3〕において上側の式は、基本音であると判定された単位音素データの積算強度値P(n−O(m))に、倍音であると判定された単位音素データの積算強度値P(n)に倍音除去係数αを乗算したものを加える処理を示している。すなわち、倍音の強度値は、基本音の影響を受けて得られたものであると考えられるので、基本音の強度値に加えてやるのである。また、上記〔数式3〕において下側の式は、基本音であると判定された単位音素データに追加した所定の強度P(n)×αを、倍音であると判定された単位音素データの積算強度値P(n)から減算することを示している。
【0051】
上記ステップS12からステップS14の処理を全ノートナンバーに対して繰り返す(ステップS15)ことにより、1つの単位区間について各単位音素データの積算強度値すなわち第2強度値が算出される。図9にその詳細を示したステップS3の処理は全単位区間に対して処理が行われ、全ての単位音素データについて第2強度値が算出されることになる。
【0052】
上記図8の例および図9のフローチャートで示した第2強度の算出処理は、ノートナンバーが高い方から順に積算強度値を直前の1/m倍音(mは2以上の整数)の積算強度値に積算し、1/m倍音が元の音の半分以下のときは積算を行わず、1/(m+1)倍音を探索するという処理を繰り返すことにより行われることになる。
【0053】
続いて、算出された第2強度値に基づいて、各単位音素データの優先度を決定する(ステップS4)。具体的には、各単位区間ごとに第2強度値の大きいものから所定数の値は変更せずにそのままとし、それ以外の第2強度値を0に変更する。この所定数は、設定により変更可能であるが、通常MIDI規格の同時発音可能な音の数である16が設定される。これにより、第2強度値がそのままとなった単位音素データは、優先度の設定が行われたのと同様の効果を生じることになる。第2強度値をそのままとされた単位音素データを以降優先音素データと呼ぶことにする。
【0054】
このようにして優先音素データを含む単位音素データ群が得られたら、この単位音素データ群を構成する単位音素データのうち、強度値が所定の基準以下である単位音素データを削除する(ステップS5)。ここで、強度値が所定の基準以下である単位音素データを削除するのは、信号レベルがほとんど0であって、実際には音が存在していないと判断される音素を削除するためである。そのため、この所定の基準としては、音が実際に存在しないレベルとみなされる値が設定される。この時点で単位音素データの数はM×N個より減ることになる。
【0055】
強度値が所定以下の単位音素データを削除したら、残った単位音素データ群において、同一周波数で時系列方向に連続する複数の単位音素データを1つの連結音素データとして連結する(ステップS6)。図10は単位音素データの連結を説明するための概念図である。図10(a)は連結前の単位音素データ群の様子を示す図である。図10(a)において、格子状に仕切られた各矩形は単位音素データを示しており、網掛けがされている矩形は、上記ステップS3において強度値が所定の基準以下であると判断されて削除された単位音素データであり、その他の矩形は削除されなかった単位音素データを示す。ステップS6においては、同一周波数(同一ノートナンバー)で時間t方向に連続する単位音素データを連結するため、図10(a)に示す単位音素データ群に対して連結処理を実行すると、図10(b)に示すような複数の連結音素データ、複数の単位音素データからなる音素データ群が得られる。例えば、図10(a)に示した単位音素データA1、A2、A3は連結されて、図10(b)に示すような連結音素データAが得られることになる。このとき、構成される単位音素データA1、A2、A3のいずれか1つは優先音素データ、すなわち第2強度値が正の値になっている単位音素データでなければならず、いずれも優先音素データでない場合は連結されずにこの段階で削除され、次のステップS7には渡されない。連結が行われる場合、新たに得られる連結音素データAの周波数としては、単位音素データA1、A2、A3に共通の周波数が与えられ、強度値としては、単位音素データA1、A2、A3の強度値のうち最大のものが与えられ、開始時刻としては、先頭の単位音素データA1の区間開始時刻t1が与えられ、終了時刻としては、最後尾の単位音素データA3の区間終了時刻t4が与えられる。なお、連結音素データAの強度値としては、単位音素データA1、A2、A3の強度値の平均値を与えるようにすることも可能である。最終的な符号化時には、第2強度値は符号化されず、周波数(ノートナンバー)、強度値、開始時刻、終了時刻の4つの情報だけで構成されるため、3つの単位音素データが1つの連結音素データに統合されることにより、データ量は3分の1に削減される。このことは、最終的にMIDI符号化される場合には、短い音符3つではなく、長い音符1つとして表現されることを意味している。また、図10(a)に示した優先音素データBのように、同一周波数で時系列方向に連続する単位音素データがない場合で、当該単位音素データが優先音素データである場合には、図10(b)に示すように、連結されずにそのまま残ることになるが、以降の処理においては、連結音素データも、連結されなかった単位区間長の優先音素データもまとめて「音素データ」として扱う。
【0056】
続いて、全区間において音素データの総数が所定数を超えないように音素データの削除を行って符号化を行う(ステップS7)。所定数としては、例えば、MIDIデータに符号化するのであれば、1秒間あたりの音素数として250(符号長20kbps)未満に設定される。具体的にどの音素データを削除するかについては、各音素データの(終了時刻−開始時刻)×強度値、により算出される値を採用する。すなわち、この値が低いものを順次削除していくことになる。音素データの総数の調整が行われたら、MIDI形式に符号化を行う。
【0057】
以上説明したように、本発明に係る音響信号の符号化方法によれば、倍音成分だけを効率的に削除することが可能となる。ただし、本発明は、倍音成分の除去過程において用いる倍音係数αの設定を変更することにより、音響効果に活用することも可能である。すなわち、倍音の除去割合を増大させれば音色が欠落して譜面調の表現になり、倍音の除去割合を減少させれば音色成分を残した原音調の表現が可能となる。
【0058】
以上、本発明の好適な実施形態について説明したが、上記符号化方法は、コンピュータ等で実行されることは当然である。具体的には、図7のフローチャートに示したようなステップを上記手順で実行するためのプログラムをコンピュータに搭載しておく。そして、音響信号をPCM方式等でデジタル化した後、コンピュータに取り込み、ステップS1〜ステップS7の処理を行った後、MIDI形式等の符号データをコンピュータより出力する。出力された符号データは、例えば、MIDIデータの場合、MIDIシーケンサ、MIDI音源を用いて音声として再生される。
【0059】
【発明の効果】
以上、説明したように本発明によれば、与えられた音響信号に対して、時間軸上に複数の単位区間を設定し、設定された単位区間における音響信号と複数の周期関数との相関を求めることにより、各周期関数に対応した強度値を算出し、各周期関数が有する周波数と、各周期関数に対応した強度値と、単位区間の始点に対応する区間開始時刻と、単位区間の終点に対応する区間終了時刻で構成される単位音素データを算出し、算出された単位音素データのうち、各単位区間ごとに周波数が互いに整数倍の関係となる単位音素データ間において、周波数が高い方の単位音素データの第2強度値を、当該単位音素データの強度値から所定量を削減することにより算出し、周波数が低い方の単位音素データの第2強度値を、前記周波数が高い方の単位音素データから削減された所定量の強度値を、前記周波数が低い方の単位音素データの強度値に追加することにより算出し、算出された第2強度値の大きさ順に、各単位区間ごとに所定数の単位音素データに優先度を示す設定を行い、単位音素データの算出、第2強度値の算出、優先度の設定の処理を全単位区間に対して行うことにより得られる全単位音素データから、強度値が所定値に達していないものを削除し、残った単位音素データのうち、周波数が同一であって、区間が連続するものを連結して連結音素データとし、連結音素データの属性として、強度値は構成する単位音素データの強度値に基づいて与え、開始時刻は先頭の単位音素データの区間開始時刻を与え、終了時刻は最後尾の単位音素データの区間終了時刻を与え、1つの連結音素データを構成する連結元の単位音素データのうち、いずれかの音素データに優先度の設定が行われている場合に、当該連結音素データに優先度の設定を行い、連結処理後の音素データのうち、優先度の設定が行われている音素データの集合により音響信号を表現するようにしたので、倍音の除去が可能となるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の音響信号の符号化方法の基本原理を示す図である。
【図2】本発明で利用される周期関数の一例を示す図である。
【図3】図2に示す各周期関数の周波数とMIDIノートナンバーnとの関係式を示す図である。
【図4】解析対象となる信号と周期信号との相関計算の手法を示す図である。
【図5】図4に示す相関計算を行うための計算式を示す図である。
【図6】一般化調和解析の基本的な手法を示す図である。
【図7】本発明の音響信号符号化方法のフローチャートである。
【図8】第2強度値算出の具体例を説明するための図である。
【図9】図7のステップS3の詳細を示すフローチャートである。
【図10】単位音素データの連結を説明するための概念図である。
【符号の説明】
A(n),B(n)・・・相関値
d,d1〜d5・・・単位区間
E(n)・・・相関値
G(j)・・・含有信号
n,n1〜n6・・・ノートナンバー
S(j),S(j+1)・・・差分信号
X,X(k)・・・区間信号[0001]
[Industrial application fields]
The present invention can be applied to support the following work called music transcription in music production. For music transcription, for example, citation of existing music as a material when musical score is not available, cover music production of existing music, music analysis such as melody, harmony progression, tone analysis of hit music, MIDI data in karaoke Format performance data creation, game machine BGM data creation, mobile phone ringtone data creation, performance data creation for keyboard instruments with automatic piano and performance guide function, score publication and block creation.
[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 analysis method, an acoustic signal can be encoded. 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 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]
[Problems to be solved by the invention]
The MIDI encoding method proposed in each of the above publications enables efficient encoding of sound signals obtained from performance recording and the like. In the encoding of acoustic signals, the handling of overtone components is always a problem, but overtone processing has also been attempted by the technique disclosed in the above-mentioned JP-A-11-95753. A harmonic is a sound having a frequency that is an integral multiple of the frequency of the basic sound, which is the original sound. If the harmonic component is encoded as it is, the original sound cannot be accurately reproduced. In terms of the MIDI note number, the overtone component takes values such as +12, +19, +24, +28, +31,. In Japanese Patent Laid-Open No. 11-95753, a proposal is made not to extract a component corresponding to an integral multiple when extracting a frequency component from a spectrum component.
[0007]
However, if the above method is used, a frequency component corresponding to a harmonic overtone is not extracted, so that a chord (octave chord) having the same pitch as the overtone is not extracted. Therefore, there is a problem that the encoded data does not include the frequency component of the chord that is the original sound.
[0008]
In view of the above points, the present invention provides an audio signal encoding method capable of extracting the original sound component and deleting only the overtone component even if the frequency components have the same frequency. The issue is to provide.
[0009]
[Means for Solving the Problems]
In order to solve the above problems, in the present invention, a plurality of unit sections are set on a time axis for a given acoustic signal, and correlations between the acoustic signal and the plurality of periodic functions in the set unit section are obtained. Thus, the intensity value corresponding to each periodic function is calculated, the frequency that each periodic function has, the intensity value corresponding to each periodic function, the section start time corresponding to the start point of the unit section, and the end point of the unit section The unit phoneme data composed of the corresponding section end time is calculated, and among the calculated unit phoneme data, the higher one of the unit phoneme data whose frequency is an integer multiple of each unit section The second intensity value of the unit phoneme data is calculated by reducing a predetermined amount from the intensity value of the unit phoneme data, and the second intensity value of the unit phoneme data having the lower frequency is calculated as the single intensity value of the unit phoneme data having the higher frequency. The intensity values of the reduced predetermined quantity from the phonemic data, calculated by adding the intensity values of the unit phonemic data of the lower frequency, the order of magnitude of the second intensity value calculated, for each unit interval All unit phoneme data obtained by setting priority to a predetermined number of unit phoneme data, and performing unit phoneme data calculation, second intensity value calculation, and priority setting processing for all unit sections From which the intensity value does not reach the predetermined value is deleted, and among the remaining unit phoneme data, those having the same frequency and continuous sections are connected to be connected phoneme data, and the attribute of the connected phoneme data The intensity value is given based on the maximum intensity value of the constituent unit phoneme data, the start time gives the section start time of the first unit phoneme data, and the end time shows the section end time of the last unit phoneme data. Of the unit phoneme data constituting the connected phoneme data, when priority is set for any phoneme data, priority is set for the connected phoneme data, Among the phoneme data after processing, an acoustic signal is expressed by a set of phoneme data for which priority is set. According to the present invention, unit phoneme data obtained by obtaining a correlation with a periodic function is calculated, and for unit phoneme data in which the frequency is an integral multiple of each unit interval, based on the intensity values of both The second intensity value is calculated by moving the intensity value of the higher frequency of the unit phoneme data to the intensity value of the lower frequency of the unit phoneme data, and is determined based on the second intensity value. in accordance with the priority that is, since the phonemic data to be encoded is determined, it is possible to remove the overtones.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0011]
(Basic principle of acoustic signal encoding method)
First, the basic principle of the audio 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.
[0012]
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. Here, for convenience of explanation, the waveform of the acoustic data digitized by the PCM method is also shown by the same waveform as the analog acoustic signal of FIG.
[0013]
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, unit sections having the same section length are set, but the section length may be changed for each unit section. Alternatively, the section setting may be performed such that adjacent unit sections partially overlap on the time axis.
[0014]
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), but this means that three representative codes selected for each unit section are assigned to different tracks. It is for accommodating.
[0015]
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, the track T1 includes e (d1,1), e (d2,1)... Along 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.
[0016]
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.
[0017]
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.
[0018]
(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. Prepare a plurality of periodic functions with different frequencies in advance, and from these periodic functions, a periodic function that has a high correlation with the section signal in the unit section. And a method of 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.
[0019]
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 with respect to the frequency f (0) is represented 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.
[0020]
Here, an example in which 128 standard frequencies f (0) to f (127) are defined by the equations as shown in FIG. That is, the nth (0 ≦ n ≦ 127) standard frequency f (n) is defined by the following [Formula 1].
[0021]
[Formula 1]
f (n) = 440 × 2 γ (n)
γ (n) = (n−69) / 12
[0022]
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.
[0023]
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. 4, 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.
[0024]
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. Both correlation values A (n) can be defined by the first arithmetic expression of FIG. Here, X (k) is the amplitude value of the sample number k in the section signal X, as shown in FIG. 4, and sin (2πf (n) k / F) is the sine at the same position on the time axis. This is the amplitude value of the function Rn. This first arithmetic expression can be said to be 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 the dimensions of all sample numbers k = 0 to w−1 in the unit section d. .
[0025]
Similarly, the second arithmetic expression in FIG. 5 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 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.
[0026]
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, the cosine function, as shown in the third arithmetic expression of FIG. Of the square sum of squares E (n) with the correlation value B (n). 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.
[0027]
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.
[0028]
(Method of generalized harmonic analysis)
Here, a generalized harmonic analysis technique useful when encoding an acoustic signal according to the present invention 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 enables the selection of representative frequencies with higher accuracy, and the basic principle thereof is as follows.
[0029]
Assume that there is a signal S (j) for the 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. 6B 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). ) Sin (2πf (n) k / F) and a signal composed of the sum of cosine function B (n) cos (2πf (n) k / F) having amplitude B (n) is included signal G (j) (In FIG. 6B, 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. 5, 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).
[0030]
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. 6C shows the difference 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.
[0031]
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. For the purpose of obtaining a frequency spectrum, this is usually done. It is.
[0032]
Thus, when a predetermined number of frequency groups are selected for each unit section, “information indicating the pitch” corresponding to each frequency of this frequency group, and “sound intensity” corresponding to the signal intensity of each selected frequency. "Information indicating strength", "information indicating the start time of sound generation" corresponding to the start point of the unit section, "information indicating the end time of sound generation" corresponding to the start point of the unit section subsequent to the unit section, If a predetermined number of pieces of code data including the four pieces of information are created, the section signal X in the unit section can be encoded with the predetermined number of pieces 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”.
[0033]
(Acoustic signal encoding method according to the present invention)
To summarize the basic principle of the present invention common to the conventional techniques described so far, unit intervals are set in the original sound signal, signal intensities corresponding to a plurality of frequencies are calculated for each unit interval, and the obtained signal intensities are calculated. One or more representative frequencies are selected using a periodic function prepared based on the sound pitch information corresponding to the selected representative frequency and the sound frequency corresponding to the intensity of the selected representative frequency. The sound signal is encoded by creating code data composed of intensity information, a sounding start time corresponding to the start point of the unit section, and a sounding end time corresponding to the end point of the unit section. become.
[0034]
The acoustic signal encoding method of the present invention uses all the frequencies corresponding to the prepared periodic functions based on the obtained signal strength in the above basic principle, and each of these frequencies, the strength of each frequency, and the unit Data consisting of the section start time corresponding to the start point of the section and the section end time corresponding to the end point of the unit section is defined as “phoneme data”, and final encoded data is obtained by further processing this phoneme data. It is something to get.
[0035]
From here, the acoustic signal encoding method of the present invention will be described with reference to the flowchart shown in FIG. First, a unit section is set over all sections on the time axis of the acoustic signal (step S1). The technique in step S1 is as described with reference to FIG. 1A in the basic principle.
[0036]
Subsequently, for each acoustic signal in each unit section, that is, the section signal, a frequency analysis is performed to calculate an intensity value corresponding to each frequency, and a unit comprising four pieces of information of frequency, intensity value, unit section start point, and end point Phoneme data is calculated (step S2). Specifically, the correlation strength of the section signal is obtained for 128 types of periodic functions as shown in FIG. 2, and four pieces of information of the frequency of the periodic function, the calculated correlation strength, the start point and the end point of the unit section are obtained. It is defined as “unit phoneme data”. The unit phoneme data is assumed to have a unit section length among the phoneme data. In the present embodiment, unit phoneme data corresponding to all the prepared periodic functions is acquired instead of selecting a representative frequency as in the case described in the basic principle. By performing the process of step S2 for all unit sections, a unit phoneme data group composed of M × N unit phoneme data is obtained. Here, N is the total number of periodic functions (N = 128 in the above example), and M is the total number of unit sections set in the acoustic signal.
[0037]
Subsequently, the second intensity value of each frequency is calculated based on the intensity value of the unit phoneme data for each unit section (step S3). Here, a specific example of the second intensity value calculation will be described with reference to FIG. FIG. 8 shows a state in which unit phoneme data in a certain unit section is extracted when the intensity value is equal to or greater than a predetermined value, and as a result, ten are extracted. In FIG. 8, the scale (note number) and the intensity value constitute unit phoneme data. The intensity values are ranked in descending order of the intensity values, and when harmonic processing is not performed, encoding is performed according to this order. Note that the scale and the note number are synonymous with the frequency that is the attribute of the unit phoneme data, but here, for convenience of explanation, the scale and the note number are used instead of the frequency.
[0038]
In calculating the second intensity value for overtone processing, the processing is performed from the larger note number. First, of the ten unit phoneme data, the scale D5 having a large note number is processed. When it is checked whether or not the scale D5 is a second overtone of other sounds, such a sound, that is, note number 74 (D4 in terms of scale) having the
[0039]
In FIG. 8, the second intensity value calculation item indicates an increase / decrease process when calculating the second intensity value from the intensity value of the unit phoneme data. When the second intensity value becomes 0 as in the scale D5, the
[0040]
By the same processing, the sound of the scale C5 is regarded as being a second overtone of the scale C4 and the second intensity value becomes 0, and the
[0041]
Since the scale G3 is regarded as a basic sound of the scale D5 and the scale G4, the intensity values of both are added as the second intensity value. On the other hand, the scale G3 may be a second overtone of the scale G2. The overtone is a sound generated based on the basic sound, and may be louder than the basic sound depending on the situation, but it is not several times larger than the basic sound. However, when the intensity values of the scale G3 and the scale G2 are compared, the intensity value of the scale G3 is 120, whereas the intensity value of the scale G2 is 20, and the intensity value of the scale G3 considered to be a harmonic is obtained. It has reached 6 times the intensity value of the scale G2. In such a case, the second intensity value is not changed by assuming that the scale G3 is not a harmonic overtone of the scale G2. As a result, only the influence of the scale D5 and the scale G4 is added to the second intensity value of the scale G3. In addition, [Equation 2] described later is used as a criterion for determining whether or not it is regarded as a harmonic.
[0042]
The scale E3, the scale C3, and the scale G2 do not exist in the extracted unit phoneme data because the sound that is the basic sound does not exist, so the overtone structure column in FIG. 8 is blank. The scale E3 is regarded as the basic sound of the scale B4 and the scale E4, so the intensity value of both is added as the second intensity value, and the scale C3 is regarded as the basic sound of the scale C4, so the intensity value is Added. Since the scale G2 is neither a basic sound nor a harmonic overtone, the intensity value is given as it is as the second intensity value.
[0043]
As described above, the second intensity value of each unit phoneme data is calculated. Since the second intensity value is calculated by increasing or decreasing the original intensity value, the sum of the intensity values of the extracted ten unit phoneme data is equal to the sum of the second intensity values. . The priority is determined in the order of the second intensity value. For example, when four pieces are to be extracted from the ten unit phoneme data shown in FIG. 8, scales G3, E3, C3, and G4 are extracted based on the intensity value ranking when harmonic processing is not performed. . However, by performing overtone processing as described above, based on the priority, the top three are the same, but the fourth is not the scale G4, but the scale G2 is extracted. This means that the scale G4 is determined to be a harmonic and is deleted by the harmonic processing.
[0044]
The calculation process of the second intensity value in step S3 specifically shown in FIG. 8 is organized using the flowchart of FIG. First, note number n = 127 is set to perform processing from the highest note number, that is, from the high sound side (step S11). Although not shown in this flowchart because of complexity, when the intensity value E (n) corresponding to the corresponding note number is equal to or smaller than a predetermined value, the processing after step S12 is not performed and the note number is set to 1. One unit phoneme data of the next note number is processed.
[0045]
When unit phoneme data having an intensity value E (n) equal to or greater than a predetermined value is found, first, a harmonic setting variable m = 2 is set (step S12). This means that the unit phoneme data to be processed is checked from whether it is a second overtone. Specifically, whether or not it is a harmonic of another sound is determined by the following [Equation 2].
[0046]
[Formula 2]
E (n-O (m))> P (n) × α / 2
[0047]
In the above [Equation 2], P (n) is the integrated intensity value of the note number n and is intermediate data of the above-described second intensity value, and the finally determined integrated intensity value is the second intensity value. is there. O (m) is an offset of the harmonic note number (m = 2 to 8). Specifically, O (2) = 12, O (3) = 19, O (4) = 24, O ( 5) = 28, O (6) = 31, O (7) = 34, O (8) = 36. α is a harmonic removal coefficient, and can be determined by setting in the range of 0 <α ≦ 1. This overtone removal coefficient α is set differently depending on the type of acoustic signal. For example, when the acoustic signal is a performance recorded only by a musical instrument, α is set to a value close to 1, which is the maximum value of the setting range, or a value exceeding 1 depending on the musical instrument. This is because a harmonic component always exists in the performance by a musical instrument, and in a wind instrument or the like, a harmonic may be remarkably emphasized due to the characteristics of a resonator. Further, when the acoustic signal is a recording of a performance including vocals, α is set to a value of about 0.3 to 0.5. This is because vocals have a characteristic that they can be heard as sound by generating overtones in the first place, and if all overtone components are deleted, they may not be reproduced as vocals.
[0048]
In step S13, it is determined whether the unit phoneme data of note number n is another harmonic using the above [Equation 2]. Here, unit phoneme data of scale D5 shown in FIG. An example will be described. In this case, note number n = 86, and m = 2 when determining the second overtone. That is, since O (2) = 12, the left side is E (74), indicating the intensity value of the unit phoneme data of note number 74. P (n) on the right side is the integrated intensity value of the note number n, but since it has not been integrated at this point, 40, which is the original intensity value, is used. In the example of FIG. 8, since the harmonic overtone removal coefficient α = 1 is set, the value on the right side is 20. In FIG. 8, as can be seen from the fact that the note number 74 does not exist, E (74) on the left side is a very small value, and [Equation 2] does not hold. Therefore, there is no basic sound with the scale D5 as the second overtone, and the determination at step S13 is made for the basic sound with the scale D5 as the third overtone. When m = 3, the left side is E (67) or 120, and the right side remains 20 without change. Therefore, since [Formula 2] is established, the process proceeds to step S14. In step S14, the following [Formula 3] is executed.
[0049]
[Formula 3]
P (n-O (m)) ← P (n-O (m)) + P (n) × α
P (n) ← P (n) × (1-α)
[0050]
In the above [Equation 3], the upper equation represents the integrated intensity of the unit phoneme data determined to be a harmonic over the integrated intensity value P (n−O (m)) of the unit phoneme data determined to be a basic sound. The process of adding the value P (n) multiplied by the overtone removal coefficient α is shown. That is, the intensity value of the harmonic overtone is considered to have been obtained under the influence of the basic sound, so it is added to the intensity value of the basic sound. In addition, the lower expression in the above [Formula 3] indicates that the predetermined intensity P (n) × α added to the unit phoneme data determined to be a basic sound is equal to the unit phoneme data determined to be a harmonic. It indicates that the accumulated intensity value P (n) is subtracted.
[0051]
By repeating the processing from step S12 to step S14 for all the note numbers (step S15), the integrated intensity value of each unit phoneme data, that is, the second intensity value is calculated for one unit section. The process in step S3, the details of which are shown in FIG. 9, is performed for all unit sections, and the second intensity values are calculated for all unit phoneme data.
[0052]
In the second intensity calculation process shown in the example of FIG. 8 and the flowchart of FIG. 9, the integrated intensity value is the integrated intensity value of the previous 1 / m harmonic (m is an integer of 2 or more) in order from the highest note number. When the 1 / m overtone is less than half of the original sound, the integration is not performed and the process of searching for the 1 / (m + 1) overtone is repeated.
[0053]
Subsequently, the priority of each unit phoneme data is determined based on the calculated second intensity value (step S4). Specifically, for each unit section, a predetermined number of values from the largest second intensity value are left unchanged, and the other second intensity values are changed to zero. The predetermined number can be changed by setting, but is set to 16, which is the number of sounds that can be generated simultaneously in the normal MIDI standard. As a result, the unit phoneme data in which the second intensity value is maintained as it is has the same effect as when the priority is set. The unit phoneme data in which the second intensity value is left as it is is hereinafter referred to as priority phoneme data.
[0054]
When a unit phoneme data group including priority phoneme data is obtained in this way, unit phoneme data having an intensity value equal to or less than a predetermined reference is deleted from the unit phoneme data constituting the unit phoneme data group (step S5). ). Here, the unit phoneme data whose intensity value is equal to or less than a predetermined reference is deleted in order to delete a phoneme whose signal level is almost zero and in which it is determined that no sound actually exists. . Therefore, a value that is regarded as a level at which no sound actually exists is set as the predetermined reference. At this time, the number of unit phoneme data is reduced from M × N.
[0055]
When the unit phoneme data having an intensity value equal to or less than a predetermined value is deleted, a plurality of unit phoneme data continuous in the time-series direction at the same frequency are connected as one connected phoneme data in the remaining unit phoneme data group (step S6). FIG. 10 is a conceptual diagram for explaining connection of unit phoneme data. FIG. 10A is a diagram showing a state of unit phoneme data groups before connection. In FIG. 10A, each rectangle partitioned in a grid pattern indicates unit phoneme data, and the shaded rectangle is determined to have an intensity value equal to or less than a predetermined reference in step S3. The unit phoneme data has been deleted, and the other rectangles indicate the unit phoneme data that has not been deleted. In step S6, in order to concatenate unit phoneme data continuous in the time t direction at the same frequency (same note number), when the concatenation process is executed on the unit phoneme data group shown in FIG. A phoneme data group consisting of a plurality of connected phoneme data and a plurality of unit phoneme data as shown in b) is obtained. For example, unit phoneme data A1, A2, and A3 shown in FIG. 10A are connected to obtain connected phoneme data A as shown in FIG. 10B. At this time, any one of the configured unit phoneme data A1, A2, A3 must be priority phoneme data, that is, unit phoneme data in which the second intensity value is a positive value. If it is not data, it is not linked and deleted at this stage, and is not passed to the next step S7. When concatenation is performed, a frequency common to unit phoneme data A1, A2, and A3 is given as a frequency of newly obtained concatenated phoneme data A, and intensity values of unit phoneme data A1, A2, and A3 are used as intensity values. The maximum value is given, the start time is the start time t1 of the first unit phoneme data A1, and the end time is the end time t4 of the last unit phoneme data A3. . As the intensity value of the connected phoneme data A, an average value of the intensity values of the unit phoneme data A1, A2, and A3 can be given. At the time of final encoding, the second intensity value is not encoded, and is composed of only four pieces of information of frequency (note number), intensity value, start time, and end time. By integrating the connected phoneme data, the amount of data is reduced to one third. This means that when MIDI encoding is finally performed, it is expressed not as three short notes but as one long note. Further, when there is no unit phoneme data continuous in the time-series direction at the same frequency as the priority phoneme data B shown in FIG. 10A, the unit phoneme data is the priority phoneme data. As shown in FIG. 10 (b), it remains as it is without being connected, but in the subsequent processing, the connected phoneme data and the priority phoneme data of the unit interval length not connected are collectively referred to as “phoneme data”. deal with.
[0056]
Subsequently, the phoneme data is deleted and encoded so that the total number of phoneme data does not exceed a predetermined number in all sections (step S7). As the predetermined number, for example, when encoding into MIDI data, the number of phonemes per second is set to less than 250 (
[0057]
As described above, according to the method of encoding an acoustic signal according to the present invention, it is possible to efficiently delete only overtone components. However, the present invention can also be used for the acoustic effect by changing the setting of the overtone coefficient α used in the process of removing overtone components. That is, if the overtone removal ratio is increased, the tone color is lost and the musical tone is expressed, and if the overtone removal ratio is decreased, the original tone leaving the timbre component can be expressed.
[0058]
Although the preferred embodiments of the present invention have been described above, the encoding method is naturally executed by a computer or the like. Specifically, a program for executing the steps as shown in the flowchart of FIG. Then, after the acoustic signal is digitized by the PCM method or the like, it is taken into a computer, and after performing the processing of Steps S1 to S7, code data such as MIDI format is output from the computer. 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.
[0059]
【The invention's effect】
As described above, according to the present invention, for a given acoustic signal, a plurality of unit sections are set on the time axis, and the correlation between the acoustic signal and the plurality of periodic functions in the set unit section is calculated. By calculating the intensity value corresponding to each periodic function, the frequency of each periodic function, the intensity value corresponding to each periodic function, the section start time corresponding to the start point of the unit section, and the end point of the unit section The unit phoneme data composed of the section end time corresponding to is calculated, and among the calculated unit phoneme data, the higher one of the unit phoneme data in which the frequency is an integer multiple of each unit section The second intensity value of the unit phoneme data is calculated by reducing a predetermined amount from the intensity value of the unit phoneme data, and the second intensity value of the unit phoneme data having the lower frequency is calculated as the second intensity value of the unit phoneme data having the higher frequency. single The intensity values of the reduced predetermined quantity from the phonemic data, calculated by adding the intensity values of the unit phonemic data of the lower frequency, the order of magnitude of the second intensity value calculated, for each unit interval All unit phoneme data obtained by setting priority to a predetermined number of unit phoneme data, and performing unit phoneme data calculation, second intensity value calculation, and priority setting processing for all unit sections From which the intensity value does not reach the predetermined value is deleted, and among the remaining unit phoneme data, those having the same frequency and continuous sections are connected to be connected phoneme data, and the attribute of the connected phoneme data The intensity value is given based on the intensity value of the constituent unit phoneme data, the start time gives the section start time of the first unit phoneme data, and the end time gives the section end time of the last unit phoneme data. One When priority is set for any phoneme data among the unit phoneme data constituting the connected phoneme data, the priority is set for the connected phoneme data, and the phoneme after the connection processing is set. among the data. Thus to represent the audio signals by a set of phonemic data for setting the degree of priority has been an effect that removal of the overtones is possible.
[Brief description of the drawings]
FIG. 1 is a diagram showing a basic principle of an audio 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.
3 is a diagram showing a relational expression between the frequency of each periodic function shown in FIG. 2 and a MIDI note number n. FIG.
FIG. 4 is a diagram illustrating a method of calculating a correlation between a signal to be analyzed and a periodic signal.
FIG. 5 is a diagram showing a calculation formula for performing the correlation calculation shown in FIG. 4;
FIG. 6 is a diagram showing a basic method of generalized harmonic analysis.
FIG. 7 is a flowchart of an acoustic signal encoding method according to the present invention.
FIG. 8 is a diagram for explaining a specific example of calculating a second intensity value.
FIG. 9 is a flowchart showing details of step S3 in FIG. 7;
FIG. 10 is a conceptual diagram for explaining connection of unit phoneme data.
[Explanation of symbols]
A (n), B (n) ... correlation values d, d1 to d5 ... unit interval E (n) ... correlation value G (j) ... containing signal n, n1 to n6 ... Note number S (j), S (j + 1)... Difference signal X, X (k).
Claims (4)
前記単位区間における音響信号と複数の周期関数との相関を求めることにより、各周期関数に対応した強度値を算出し、各周期関数が有する周波数と、前記各周期関数に対応した強度値と、単位区間の始点に対応する区間開始時刻と、単位区間の終点に対応する区間終了時刻で構成される単位音素データを算出する単位音素データ算出段階と、
前記単位音素データのうち、各単位区間ごとに周波数が互いに整数倍の関係となる単位音素データ間において、周波数が高い方の単位音素データの第2強度値を、当該単位音素データの強度値から所定量を削減することにより算出し、周波数が低い方の単位音素データの第2強度値を、前記周波数が高い方の単位音素データから削減された所定量の強度値を、前記周波数が低い方の単位音素データの強度値に追加することにより算出する第2強度値算出段階と、
前記算出された第2強度値の大きさ順に、各単位区間ごとに所定数の単位音素データに優先度を示す設定を行う優先度設定段階と、
前記単位音素データ算出段階、第2強度値算出段階、優先度設定段階の処理を全単位区間に対して行うことにより得られる全単位音素データから、強度値が所定値に達していないものを削除する単位音素データ削除段階と、
前記残った単位音素データのうち、周波数が同一であって、区間が連続するものを連結して連結音素データとし、連結音素データの属性として、強度値は構成する単位音素データの強度値に基づいて与え、開始時刻は先頭の単位音素データの区間開始時刻を与え、終了時刻は最後尾の単位音素データの区間終了時刻を与え、1つの連結音素データを構成する連結元の単位音素データのうち、いずれかの音素データに優先度の設定が行われている場合に、当該連結音素データに優先度の設定を行う音素データ連結段階と、
前記連結処理後の音素データのうち、優先度の設定が行われている音素データの集合により音響信号を表現する符号化段階と、
を有することを特徴とする音響信号の符号化方法。A section setting stage for setting a plurality of unit sections on the time axis for a given acoustic signal,
By calculating the correlation between the acoustic signal in the unit section and a plurality of periodic functions, the intensity value corresponding to each periodic function is calculated, the frequency of each periodic function, the intensity value corresponding to each periodic function, A unit phoneme data calculation stage for calculating unit phoneme data composed of a section start time corresponding to the start point of the unit section and a section end time corresponding to the end point of the unit section;
Among the unit phoneme data, the second intensity value of the unit phoneme data having a higher frequency is calculated from the intensity value of the unit phoneme data between the unit phoneme data having a frequency that is an integral multiple of each unit interval. Calculated by reducing the predetermined amount, the second intensity value of the unit phoneme data having the lower frequency is set as the second intensity value of the unit phoneme data having the higher frequency, and the intensity value of the predetermined amount reduced from the unit phoneme data having the higher frequency is set to the lower one. A second intensity value calculating step of calculating by adding to the intensity value of unit phoneme data of
A priority setting step for setting the priority for a predetermined number of unit phoneme data for each unit section in the order of the calculated second intensity values;
Delete all unit phoneme data obtained by performing the unit phoneme data calculation stage, the second intensity value calculation stage, and the priority setting stage processing for all unit sections, those whose intensity values have not reached a predetermined value. A unit phoneme data deletion stage to perform,
Of the remaining unit phoneme data, those having the same frequency and continuous sections are connected to form connected phoneme data, and as an attribute of the connected phoneme data, the intensity value is based on the intensity value of the constituting unit phoneme data. The start time gives the section start time of the first unit phoneme data, and the end time gives the section end time of the last unit phoneme data, among the unit phoneme data of the concatenation source constituting one connected phoneme data , When a priority is set for any phoneme data, a phoneme data connection stage for setting a priority for the connected phoneme data;
Among the phoneme data after the concatenation process, an encoding step for expressing an acoustic signal by a set of phoneme data for which priority is set;
A method for encoding an acoustic signal, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001209163A JP4695781B2 (en) | 2001-07-10 | 2001-07-10 | Method for encoding an acoustic signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001209163A JP4695781B2 (en) | 2001-07-10 | 2001-07-10 | Method for encoding an acoustic signal |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003022096A JP2003022096A (en) | 2003-01-24 |
JP4695781B2 true JP4695781B2 (en) | 2011-06-08 |
Family
ID=19044856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001209163A Expired - Fee Related JP4695781B2 (en) | 2001-07-10 | 2001-07-10 | Method for encoding an acoustic signal |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4695781B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4650662B2 (en) | 2004-03-23 | 2011-03-16 | ソニー株式会社 | Signal processing apparatus, signal processing method, program, and recording medium |
DE102004049517B4 (en) * | 2004-10-11 | 2009-07-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Extraction of a melody underlying an audio signal |
JP6047863B2 (en) * | 2011-07-13 | 2016-12-21 | 大日本印刷株式会社 | Method and apparatus for encoding acoustic signal |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04318597A (en) * | 1991-04-17 | 1992-11-10 | Casio Comput Co Ltd | Chord decision device and automatic accompaniment device using the same |
JP2000293188A (en) * | 1999-04-12 | 2000-10-20 | Alpine Electronics Inc | Chord real time recognizing method and storage medium |
JP2001005450A (en) * | 1999-06-24 | 2001-01-12 | Dainippon Printing Co Ltd | Method of encoding acoustic signal |
JP2001265330A (en) * | 2000-03-21 | 2001-09-28 | Alpine Electronics Inc | Device and method for extracting melody |
-
2001
- 2001-07-10 JP JP2001209163A patent/JP4695781B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04318597A (en) * | 1991-04-17 | 1992-11-10 | Casio Comput Co Ltd | Chord decision device and automatic accompaniment device using the same |
JP2000293188A (en) * | 1999-04-12 | 2000-10-20 | Alpine Electronics Inc | Chord real time recognizing method and storage medium |
JP2001005450A (en) * | 1999-06-24 | 2001-01-12 | Dainippon Printing Co Ltd | Method of encoding acoustic signal |
JP2001265330A (en) * | 2000-03-21 | 2001-09-28 | Alpine Electronics Inc | Device and method for extracting melody |
Also Published As
Publication number | Publication date |
---|---|
JP2003022096A (en) | 2003-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4132362B2 (en) | Acoustic signal encoding method and program recording medium | |
JP4695781B2 (en) | Method for encoding an acoustic signal | |
JP2000293188A (en) | Chord real time recognizing method and storage medium | |
JP2000099009A (en) | Acoustic signal coding method | |
JP3776782B2 (en) | Method for encoding an acoustic signal | |
JP4156252B2 (en) | Method for encoding an acoustic signal | |
JP4268328B2 (en) | Method for encoding an acoustic signal | |
JP2003216147A (en) | Encoding method of acoustic signal | |
JP4697919B2 (en) | Method for encoding an acoustic signal | |
JP3935745B2 (en) | Method for encoding acoustic signal | |
JP2008257020A (en) | Method and device for calculating degree of similarity of melody | |
JP4220108B2 (en) | Acoustic signal coding system | |
JP2002244691A (en) | Encoding method for sound signal | |
JP4156268B2 (en) | Frequency analysis method for time series signal and encoding method for acoustic signal | |
JP4662407B2 (en) | Frequency analysis method | |
JP4662406B2 (en) | Frequency analysis method and acoustic signal encoding method | |
JP4156269B2 (en) | Frequency analysis method for time series signal and encoding method for acoustic signal | |
JP2002215142A (en) | Encoding method for acoustic signal | |
JP4061070B2 (en) | Frequency analysis method and acoustic signal encoding method | |
JP4580548B2 (en) | Frequency analysis method | |
JP4268327B2 (en) | Method for encoding an acoustic signal | |
JP4601865B2 (en) | Method for encoding an acoustic signal | |
JP4473979B2 (en) | Acoustic signal encoding method and decoding method, and recording medium storing a program for executing the method | |
JP4398049B2 (en) | Time-series signal analysis method and acoustic signal encoding method | |
JP2003263155A (en) | Frequency analyzer and acoustic signal encoding device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080701 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110120 |
|
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: 20110215 |
|
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: 20110228 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140304 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |