JP4268327B2 - 音響信号の符号化方法 - Google Patents
音響信号の符号化方法 Download PDFInfo
- Publication number
- JP4268327B2 JP4268327B2 JP2000270015A JP2000270015A JP4268327B2 JP 4268327 B2 JP4268327 B2 JP 4268327B2 JP 2000270015 A JP2000270015 A JP 2000270015A JP 2000270015 A JP2000270015 A JP 2000270015A JP 4268327 B2 JP4268327 B2 JP 4268327B2
- Authority
- JP
- Japan
- Prior art keywords
- code data
- unit
- pitch
- sound
- integrated
- 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
【産業上の利用分野】
本発明は、放送メディア(ラジオ、テレビ)、通信メディア(CS映像・音声配信、インターネット音楽配信、通信カラオケ)、パッケージメディア(CD、MD、カセット、ビデオ、LD、CD−ROM、ゲームカセット、携帯音楽プレーヤ向け固体メモリ媒体)などで提供する各種オーディオコンテンツの制作、並びに、専用携帯音楽プレーヤ、携帯電話・PHS・ポケベルなどに向けたボーカルを含む音楽コンテンツ、歌舞伎・能・読経・詩歌など文芸作品の音声素材または語学教育音声教材のMIDI伝送に利用するのに好適な音響信号の符号化技術に関する。
【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号公報、特願平11−58431号明細書、特願平11−177875号明細書、特願平11−329297号明細書には、任意の時系列信号について、構成要素となる周波数を解析し、その解析結果からMIDIデータを作成することができる種々の方法が提案されている。
【0006】
【発明が解決しようとする課題】
上記各公報または明細書において提案してきたMIDI符号化方式により、音響信号の効率的な符号化が可能になった。特に、特開平11−95753号公報において提案している手法においては、時系列上の単位区間ごとに生成した符号データについて、連続する符号データ同士が類似している場合に両者を統合することにより、さらなるデータ量の削減が可能となっている。しかしながら、従来の統合手法では、連続する符号データ同士の類似性のみに着目して統合をおこなっているため、滑らかに音の高さが変化するような演奏を行った場合に得られる符号データに対しては、上手く統合することができない。
【0007】
そこで、本発明は、連続的に音の高さが変化するような演奏についても、原音響信号をより忠実に再現することが可能な音響信号の符号化方法を提供することを課題とする。
【0008】
【課題を解決するための手段】
上記課題を解決するため、本発明では、与えられた音響信号に対して、時間軸上に複数の単位区間を設定し、設定された単位区間に対して複数の周波数に対応する信号強度を算出し、得られた信号強度を基に1つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成するようにし、この単位符号データの生成処理を、音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の高さ情報の変移の状態に基づいて、あらかじめ用意された音の高さの変移パターンにしたがって、近接する複数の単位符号データを1つの統合符号データに統合するようにしたことを特徴とする。
本発明によれば、音響信号に対して信号解析を行うことにより複数の周波数に対応する信号強度を算出し、この信号強度を基にさらに選出される周波数に対応する音の高さ、音の強さ、単位区間の始点、後続する単位区間の始点に基づいて単位符号データを生成し、近接する複数の単位符号データの変移状態に基づいてあらかじめ用意された変移パターンにしたがって統合するようにしたので、連続的に音の高さが変化するような演奏についても、原音響信号をより忠実に再現することが可能となる。
【0009】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
【0010】
(音響信号符号化方法の基本原理)
はじめに、本発明に係る音響信号の符号化方法の基本原理を述べておく。この基本原理は、前掲の各公報あるいは明細書に開示されているので、ここではその概要のみを簡単に述べることにする。
【0011】
図1(a)に示すように、時系列信号としてアナログ音響信号が与えられたものとする。図1の例では、横軸に時間t、縦軸に振幅(強度)をとって、この音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。ここでは、説明の便宜上、PCMの手法でデジタル化した音響データの波形も図1(a)のアナログ音響信号と同一の波形で示すことにする。
【0012】
続いて、この解析対象となる音響信号の時間軸上に、複数の単位区間を設定する。図1(a)に示す例では、時間軸t上に等間隔に6つの時刻t1〜t6が定義され、これら各時刻を始点および終点とする5つの単位区間d1〜d5が設定されている。図1の例では、全て同一の区間長をもった単位区間が設定されているが、個々の単位区間ごとに区間長を変えるようにしてもかまわない。あるいは、隣接する単位区間が時間軸上で部分的に重なり合うような区間設定を行ってもかまわない。
【0013】
こうして単位区間が設定されたら、各単位区間ごとの音響信号(以下、区間信号と呼ぶことにする)について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、例えば、その中で振幅の大きな周波数成分を代表周波数として選出すれば良い。代表周波数は1つだけ選出しても良いが、複数の代表周波数を選出した方が、より精度の高い符号化が可能になる。図1(b)には、個々の単位区間ごとにそれぞれ3つの代表周波数を選出し、1つの代表周波数を1つの代表符号コード(図では便宜上、音符として示してある)として符号化した例が示されている。ここでは、代表符号コード(音符)を収容するために3つのトラックT1,T2,T3が設けられているが、これは個々の単位区間ごとに選出された3つずつの代表符号コードを、それぞれ異なるトラックに収容するためである。なお、ここでの「コード」は記号を意味する「code」の意味であり、和音を示す「chord」の意味ではない。
【0014】
例えば、単位区間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)に示す概念図では、音符の横方向の位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【0015】
音響信号を符号化する形式としては、必ずしもMIDI形式を採用する必要はないが、この種の符号化形式としてはMIDI形式が最も普及しているため、実用上はMIDI形式の符号データを用いるのが好ましい。MIDI形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーNとベロシティーVを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーNとベロシティーVを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーVは、例えば、ピアノの鍵盤などを押し下げる速度(ノートオン時のベロシティー)および鍵盤から指を離す速度(ノートオフ時のベロシティー)を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【0016】
前述の方法では、第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)を所定の方法で規格化した値を用いれば良い。また、「デルタタイム」データは、各単位区間の長さに応じて設定すれば良い。
【0017】
(周期関数との相関を求める具体的な方法)
上述した基本原理の基づく方法では、区間信号に対して、1つまたは複数の代表周波数が選出され、この代表周波数をもった周期信号によって、当該区間信号が表現されることになる。ここで、選出される代表周波数は、文字どおり、当該単位区間内の信号成分を代表する周波数である。この代表周波数を選出する具体的な方法には、後述するように、短時間フーリエ変換を利用する方法と、一般化調和解析の手法を利用する方法とがある。いずれの方法も、基本的な考え方は同じであり、あらかじめ周波数の異なる複数の周期関数を用意しておき、これら複数の周期関数の中から、当該単位区間内の区間信号に対する相関が高い周期関数を見つけ出し、この相関の高い周期関数の周波数を代表周波数として選出する、という手法を採ることになる。すなわち、代表周波数を選出する際には、あらかじめ用意された複数の周期関数と、単位区間内の区間信号との相関を求める演算を行うことになる。そこで、ここでは、周期関数との相関を求める具体的な方法を述べておく。
【0018】
複数の周期関数として、図2に示すような三角関数が用意されているものとする。これらの三角関数は、同一周波数をもった正弦関数と余弦関数との対から構成されており、128通りの標準周波数f(0)〜f(127)のそれぞれについて、正弦関数および余弦関数の対が定義されていることになる。ここでは、同一の周波数をもった正弦関数および余弦関数からなる一対の関数を、当該周波数についての周期関数として定義することにする。すなわち、ある特定の周波数についての周期関数は、一対の正弦関数および余弦関数によって構成されることになる。このように、一対の正弦関数と余弦関数とにより周期関数を定義するのは、信号に対する周期関数の相関値を求める際に、相関値が位相の影響を受ける事を排除するためである。なお、図2に示す各三角関数内の変数Fおよびkは、区間信号Xについてのサンプリング周波数Fおよびサンプル番号kに相当する変数である。例えば、周波数f(0)についての正弦波は、sin(2πf(0)k/F)で示され、任意のサンプル番号kを与えると、区間信号を構成する第k番目のサンプルと同一時間位置における周期関数の振幅値が得られる。
【0019】
ここでは、128通りの標準周波数f(0)〜f(127)を図3に示すような式で定義した例を示すことにする。すなわち、第n番目(0≦n≦127)の標準周波数f(n)は、
f(n)=440×2γ (n)
γ(n)=(n−69)/12
なる式で定義されることになる。このような式によって標準周波数を定義しておくと、最終的にMIDIデータを用いた符号化を行う際に便利である。なぜなら、このような定義によって設定される128通りの標準周波数f(0)〜f(127)は、等比級数をなす周波数値をとることになり、MIDIデータで利用されるノートナンバーに対応した周波数になるからである。例えば、ノートナンバーn=69は、前述したようにピアノの鍵盤中央の「ラ音(A3音)」を示しており、440Hzの音に相当することになるが、図3に示す式によって第n番目の標準周波数f(n)を定義しておけば、n=69を代入すると、f(n)=440が得られることになる。すなわち、図3に示す式によって定義された128通りの標準周波数f(0)〜f(127)は、MIDIデータにおける128通りのノートナンバーn=0〜127に対応した周波数ということになる。ノートナンバーnは、1オクターブ上がると、周波数が2倍になる対数尺度の音階を示すため、周波数軸fに対して線形には対応しない。したがって、図2に示す128通りの標準周波数f(0)〜f(127)は、対数尺度で示した周波数軸上に等間隔(MIDIにおける半音単位)に設定した周波数ということになる。このため、本願では、図に掲載するグラフにおけるノートナンバー軸を、いずれも対数尺度で示すことにする。
【0020】
続いて、任意の区間の区間信号に対する各周期関数の相関の求め方について、具体的な説明を行う。例えば、図4に示すように、ある単位区間dについて区間信号Xが与えられていたとする。ここでは、区間長Lをもった単位区間dについて、サンプリング周波数Fでサンプリングが行なわれており、全部でw個のサンプル値が得られているものとし、サンプル番号を図示のように、0,1,2,3,・・・,k,・・・,w−2,w−1とする(白丸で示す第w番目のサンプルは、右に隣接する次の単位区間の先頭に含まれるサンプルとする)。この場合、任意のサンプル番号kについては、X(k)なる振幅値がデジタルデータとして与えられていることになる。
【0021】
このような区間信号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の振幅値との積を求め、その総和を求める式ということができる。振幅値は正負の符号を有しているので、その積も正負の符号を有したものになる。したがって、区間信号Xと正弦関数Rnとの間に全く相関がなかったとすれば、両振幅の積の符号は、全くランダムに正になったり負になったりするので、その総和は0になる。逆に、両者間に相関があれば、両振幅の積の総和の絶対値は、相関の程度に応じて大きくなる。例えば、区間信号Xの振幅が正であるときには、正弦関数Rnの振幅も常に正であり、区間信号Xの振幅が負であるときには、正弦関数Rnの振幅も常に負である、というような正の相関がある場合(区間信号Xと正弦関数Rnとが同一周波数で同位相)ならば、積の総和は正の最大値になり、これとは逆に、区間信号Xの振幅が正であるときには、正弦関数Rnの振幅は常に負であり、区間信号Xの振幅が負であるときには、正弦関数Rnの振幅は常に正である、というような負の相関がある場合(区間信号Xと正弦関数Rnとが同一周波数で逆位相)ならば、積の総和は負の最大値になる。
【0022】
同様に、図5の第2の演算式は、区間信号Xと、第n番目の標準周波数f(n)をもった余弦関数との相関値を求める式であり、両者の相関値はB(n)で与えられる。なお、相関値A(n)を求めるための第1の演算式も、相関値B(n)を求めるための第2の演算式も、最終的に2/wが乗ぜられているが、これは相関値を規格化するためのものである。すなわち、分母のwは、単位区間d内に含まれる総サンプル数であり、k=0〜w−1の全w個のサンプルについて求めた総和を、総サンプル数で割ることにより、1サンプル分についての平均を求める意味をもっている。一方、分子の2は、相関値A(n),B(n)が−1〜+1の間の値となるようにするための定数である。
【0023】
区間信号Xと標準周波数f(n)をもった標準周期関数との総合的な相関は、例えば、図5の第3の演算式に示すように、正弦関数との相関値A(n)と余弦関数との相関値B(n)との二乗和平方根値E(n)によって示すことができる。このように、二乗和平方根値を用いれば、正の相関と負の相関との双方を反映させた総合的な相関を求めることができる。例えば、正弦関数に対しては正の相関を示し、余弦関数に対しては負の相関を示すような場合、相関値A(n)は正の値となり、相関値B(n)は負の値となるが、二乗和平方根値E(n)は、両相関値の絶対値を反映した値となる。
【0024】
図5に示す演算式は、周期関数として三角関数を用いた場合の例(すなわち、波形形状が正弦関数になる関数の例)であるが、本発明を実施する上で用いる周期関数の波形形状は、正弦関数に限定されるものではなく、三角波、矩形波、鋸歯状波などの波形形状をもった周期関数を用いてもかまわない。フーリエスペクトルの実効強度Eは、図5の演算式による二乗和平方根値E(n)に他ならず、各周期関数との総合的な相関を示す値となる。
【0025】
このような相関計算を行った結果を利用すれば、区間信号Xに含まれている任意の標準周波数f(n)をもった標準周期関数Rnの振幅成分を、二乗和平方根値E(n)として得ることができる。この二乗和平方根値E(n)の値は、区間信号Xと標準周波数f(n)を有する標準周期関数Rnとの総合的な相関を示す値ということができるので、この相関値の大きな標準周期関数の周波数を代表周波数として選出すれば、この代表周波数を用いて区間信号Xを符号化することができる。
【0026】
結局、ある1つの単位区間d内の区間信号Xを符号化するのであれば、次のような手法を採れば良い。まず、図2に示すような128通りの標準周波数をもった標準周期関数をそれぞれ一対ずつ用意する(1つの周波数について、互いに位相がπ/2だけ異なる一対の周期関数を用意する)。このとき、各標準周波数値が等比級数配列となるような設定をしておくと、ノートナンバーに対応した符号データを得る上で都合が良い。そして、図5に示す演算式に基づいて、標準周波数f(n)をもった標準周期関数との相関値A(n),B(n)を求める処理を、n=0〜127のそれぞれについて行い、それぞれについて二乗和平方根値E(n)を求める。ここまでが、周波数解析の手順である。この手順により、各標準周波数について得られた二乗和平方根値E(n)が、各標準周波数についての相関値ということになり、周波数解析の結果として出力されることになる。この解析結果を用いて、もとの時系列信号を符号化するのであれば、この相関値E(n)が所定の基準以上の大きさとなる1つまたは複数の標準周波数を代表周波数として選出すれば良い。なお、ここで「相関値E(n)が所定の基準以上の大きさとなる」という選出条件は、例えば、何らかの閾値を設定しておき、相関値E(n)がこの閾値を超えるような標準周波数f(n)をすべて代表周波数として選出する、という絶対的な選出条件を設定しても良いが、例えば、相関値E(n)の大きさの順にQ番目までを選出する、というような相対的な選出条件を設定しても良い。
【0027】
(一般化調和解析の手法)
ここでは、本発明に係る時系列信号の解析方法を利用して、音響信号の符号化を行う際に有用な一般化調和解析の手法について説明する。既に説明したように、音響信号を符号化する場合、個々の単位区間内の区間信号について、相関値の高いいくつかの代表周波数を選出することになる。一般化調和解析は、より高い精度で代表周波数の選出を可能にする手法であり、その基本原理は次の通りである。
【0028】
図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)をもった信号成分ということができる。
【0029】
こうして、含有信号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個の代表周波数を選出することができる。
【0030】
結局、所定の単位区間内の区間信号Xについて、一般化調和解析の手法を適用して、合計J個の代表周波数を選出するには、まず、パラメータjを初期値1に設定し、この区間信号Xを第1番目の差分信号S(1)と定義し、前述した処理を、パラメータjをj=1〜Jまで1ずつ増やしながらJ回繰り返し実行すれば良い(j=1の場合の差分信号S(1)は、解析対象となる区間信号Xそのものであり、「差分信号」と呼ぶべきものではないが、ここでは信号S(j)を「差分信号」と呼ぶことにしているので、信号S(1)も便宜上、「差分信号」と呼ぶことにする)。要するに、この一般化調和解析の手法では、代表周波数が1つ決定されるたびに、もとの区間信号Xからこの代表周波数成分を減じた差分信号が求められ、この差分信号に対する相関に基づいて次の代表周波数が決定される、という手順がJ回繰り返されることになる。
【0031】
このような相関計算の結果として出力されるJ個の含有信号G(1)〜G(J)は、もとの区間信号Xの構成要素となる信号であり、もとの区間信号Xを符号化する場合には、これらJ個の含有信号の周波数を示す情報および振幅(強度)を示す情報を符号データとして用いるようにすれば良い。
【0032】
こうして、各単位区間について、所定数の周波数群が選出されたら、この周波数群の各周波数に対応する「音の高さを示す情報」、選出された各周波数の信号強度に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間に後続する単位区間の始点に対応する「音の発音終了時刻を示す情報」、の4つの情報を含む所定数の符号データを作成すれば、当該単位区間内の区間信号Xを所定数の符号データにより符号化することができる。符号データとして、MIDIデータを作成するのであれば、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用いるようにすれば良い。
【0033】
(符号コードの統合について)
上述の基本原理に従って符号化を行うことにより、時系列の音響信号を符号化することが可能になるが、単位区間ごとに符号化を行ったままでは、データ量が多くなるため、符号データの統合を行うことが好ましい。符号データの統合処理としては、特開平11−95753号公報に開示したような処理が行われる。具体的には、同じ音の高さ(音高)を示す音符が複数連続して配置されていた場合には、この複数の音符を1つの音符に統合するようにする。言い換えれば、複数の単位区間にまたがった音符によって、個々の単位区間ごとの音符を置換するとも言える。
【0034】
また、統合対象とする音符は、必ずしも同じ音高の音符とする必要はなく、ある程度の類似性をもった音符を統合対象としても良い。例えば、互いに1音階(すなわち半音)の差しかない一連の音符を統合対象として1つの音符に置換することもできる。この場合は、例えば、一連の音符の中で音高の低い方の音符によって置換すれば良い。一般的に拡張すれば、隣接する複数の単位区間について、所定の条件下で互いに類似する符号データがある場合、これら類似する符号データを、複数の単位区間にまたがった統合符号データに置換することにより、音符数を削減することが可能となる。
【0035】
なお、上記の符号化処理によって作成される符号データには、それぞれ強度を示すデータ(MIDIデータの場合はベロシティー)が付加されている。したがって、符号データを統合した場合、強度を示すデータも統合する必要がある。ここで、統合対象となる符号データに、それぞれ異なる強度データが定義されていた場合には、例えば、最も大きな強度データを統合後の符号データについての強度データと定めるようにすれば良い。ただ、MIDIデータの場合、2つの符号データを統合する際に、先行する符号コードの強度に比べて、後続する符号データの強度がかなり大きい場合、これら2つの符号データを統合すると不自然になる。これは、通常のMIDI音源の再生音は、楽器の演奏音から構成されており、音の強度が時間と共に減衰していくのが一般的だからである。したがって、先行する符号データの強度に比べて、後続する符号データの強度が小さい場合には、1つの統合符号データに置換しても不自然さは生じないが、逆の場合には、不自然さが生じることになる。そこで、2つの符号データの強度差が所定の基準以上であり、かつ、先行する符号データの強度に比べて、後続する符号データの強度が大きい場合には、統合を行わない。
【0036】
(本発明に係る音響信号符号化方法における統合処理)
ここで、譜面に基づいて実際に演奏を行った場合について考えてみる。図7(a)に示すような譜面についてチョーキング奏法等で演奏を行って、それを録音してPCM化し、さらにそのPCMデータを符号化することにより、図7(b)に示すような9つの単位符号データ▲1▼〜▲9▼が得られたとする。なお、図7(b)〜(d)においては、下向きの三角形が符号データを表現しており、三角形の上辺の高さ方向における位置が音の高さを示し、三角形の高さが音の強さを示し、三角形の幅が発音持続時間を示している。図7(b)の例では、全ての音の強さが同一であって、単位符号データ▲1▼〜▲3▼が同一音高「A3」で、単位符号データ▲4▼〜▲6▼については、「A#3」、「B3」、「C4」と1半音ずつ上がっていき、単位符号データ▲7▼〜▲9▼が同一音高「C#4」であることを示している。また、統合前の段階では、音符の発音持続時間は単位区間dの長さであるので、全ての単位符号データ▲1▼〜▲9▼の発音持続時間は同一となっている。図7(b)の単位符号データ群に対して同一音高のものを統合する処理を行うと、図7(c)に示すような符号データ群が得られる。これにより9つの符号データが5つの符号データに統合されることになり、データ量が削減される。しかしながら、図7(a)に示した演奏譜と比較すると、本来2つの音符で構成されていたものが、間に新たに3つの短い音符が追加されてしまうことがわかる。これは、上述のように単位区間で代表的な周波数を基に符号データを作成するためであり、演奏者がどんなに滑らかに演奏しても、解析が半音単位に行われるため音高に階段状の段差がついてしまうために生じる。上述のように、符号データを統合する場合には、同一の音高だけでなく、1半音の差があるものを統合するようにすることもできるが、これを図7(b)に示した符号データに適用したとしても、逆に、統合された音符同士の間で2半音分の大きな段差が生じることになる。
【0037】
本発明の音響信号符号化方法において用いられる特徴的な統合方法は、次のようなものとなる。符号化により得られた単位符号データにおける音の高さの変移パターンは、はじめは平坦型、上昇型、下降型のいずれにも当てはまる可能性がある。これらはいずれも統合開始位置の符号データの音高に対して所定の音高差に納まる音高の符号データが続くか否かで統合処理を重ねるごとに消去法で絞られてくる。平坦型は統合開始位置の符号データの音高と同一の音高の符号データが続く状態である。上昇型は統合開始位置の符号データの音高よりM半音分(Mは自然数)まで高い音高の符号データを統合対象とするものである。下降型は上昇型と対称的に、統合開始位置の符号データの音高よりM半音分まで低い音高の符号データを統合対象とするものである。
【0038】
具体的には、連続する所定数の符号データを抽出し、これらのうち、先行する符号データの音高に対して後続する符号データの音高がどの程度異なっているかを調べ、それが許容範囲内に納まる場合について、平坦型、上昇型、下降型を判断する。この連続する所定数は設定により変更することができる。例えば、図7(b)に示した符号データ群に対して、連続する所定数として「3」、上昇型、下降型において統合対象とする音高の差を規定する自然数MをM=2と設定した場合、まず、連続する3つの単位符号データ▲1▼〜▲3▼について判断が行なわれる。単位符号データ▲1▼〜▲3▼の音高はいずれもA3であるため、ここの3つの単位符号データ▲1▼〜▲3▼は平坦型、上昇型、下降型のいずれにも該当するが、この場合は最も条件が厳しい平坦型として判断し、図7(d)に示す統合符号データ▲1▼に統合される。
【0039】
図7(b)に示す単位符号データ▲4▼〜▲6▼の場合、まず単位符号データ▲4▼と単位符号データ▲5▼の音高の比較が行われる。単位符号データ▲4▼の音高はA#3であり、単位符号データ▲5▼の音高はB3であるため、音高の差は1半音である。これは、平坦型、下降型の許容範囲ではなく、上昇型の許容範囲であるため、上昇型であると判断される。続いて、単位符号データ▲4▼と単位符号データ▲6▼の音高の比較が行われる。単位符号データ▲4▼の音高はA#3であり、単位符号データ▲6▼の音高はC4であるため、音高の差は2半音である。これも上昇型の許容範囲であるため、単位符号データ▲4▼〜▲6▼は上昇型として図7(d)に示す統合符号データ▲4▼に統合される。統合符号データ▲4▼の音高は、統合される基となった先頭の単位符号データと同じA#3となり、これに所定の範囲内で周波数を滑らかに変化させる指定が付加される。MIDI規格では、このような指定はピッチベンド指定として用意されている。
【0040】
図7(b)に示す単位符号データ▲7▼〜▲9▼の場合、単位符号データ▲1▼〜▲3▼の場合と同様に、音高はいずれも同一であるため、3つの単位符号データ▲7▼〜▲9▼は平坦型として図7(d)に示す統合符号データ▲7▼に統合される。
【0041】
図7(c)と図7(d)を比較すると、統合符号データ▲1▼と統合符号データ▲7▼については、同じように統合されるが、単位符号データ▲4▼〜▲6▼については、図7(c)に示す従来の手法では、統合されないのに対し、図7(d)に示す本発明の手法では、統合されていることがわかる。図7(a)に示す演奏譜にしたがって、滑らかに演奏されたものが、図7(c)においては、別々の音符に分割されてしまっているが、図7(d)においては、滑らかさを残して符号化される。そのため、図7(d)に示した符号データを再現すると、より原音に忠実な音響信号が得られることになる。
【0042】
ここで、各変移パターンの最も単純な例について、統合の様子および周波数の変化を図8を用いて説明する。図8(a)〜(c)は、それぞれ平坦型、上昇型、下降型に分類される最も単純な単位符号データの配列を示している。図8(a)に示す平坦型の場合、最初の単位符号データ(左側)と後続する単位符号データ(右側)の音高が同一であるので、図8(b)に示すように最初の単位符号データの音高に合わせて統合される。このとき、図8(g)に示すように、この統合符号データの発音中の周波数は一定となる。
【0043】
図8(b)に示す上昇型の場合、後続する単位符号データの音高が最初の単位符号データの音高に対して1半音高くなっている。この場合、図8(e)に示すように最初の音符の音高に合わせて統合されるが、周波数を滑らかに変化させる指定(MIDI規格の場合、ピッチベンド指定)が付加される。ピットベンド指定は、パラメータの設定により徐々に高くなるようにも低くなるようにもできる。ここでは高くなる様に設定されるため、図8(h)に示すように、この単位符号データの演奏中の周波数は滑らかに高くなっていく。
【0044】
図8(c)に示す下降型の場合、後続する単位符号データの音高が最初の単位符号データの音高に対して1半音低くなっている。この場合も、図8(f)に示すように最初の単位符号データの音高に合わせて統合されるが、周波数を滑らかに変化させる指定(MIDI規格の場合、ピッチベンド指定)が付加される。ここではピッチベンド指定が徐々に低くなる様に設定されるため、図8(i)に示すように、この単位符号データの演奏中の周波数は滑らかに低くなっていく。
【0045】
図8の各パターンに対応したMIDIデータ例を図9に示す。図9に示すMIDIデータは、左側からイベントNo.、デルタタイム、メッセージとなっている。メッセージについては基本的には、ステータス、ノートナンバー、ベロシティの3項目からなっている。イベントNo.は時系列に発生するイベントを特定するために単純に番号を割り当てたものである。デルタタイムは、発生するイベントの時刻をその直前のイベントとの時間差で示したものである。メッセージの左端の項目であるステータスは、16進の2桁の数字で表され、左側がコマンドの種類、右側がチャンネル番号を示す。コマンドの種類は「9」が発音を開始するノートオン、「8」が発音を終了するノートオフ、「E」が周波数を滑らかに変化させるピッチベンドを示す。メッセージの中央の項目であるノートナンバーは音の高さ、右端の項目であるベロシティは音の強さを示す。
【0046】
図9(a)に示すMIDIデータは、図8(a)に示した単位符号コード群を記述したものである。図9(a)において、イベントNo.1は、チャンネル0でノートナンバー60、ベロシティ84の音符の発音を開始することを示している。イベントNo.2は、イベントNo.1発生のデルタタイム「128」経過後にチャンネル0でノートナンバー60の音符をベロシティ0にして発音を終了することを示している。つまり、イベントNo.1とイベントNo.2により図8(a)に示す左側の単位符号コードを表したことになる。また、図9(a)において、イベントNo.3は、イベントNo.2発生のデルタタイム「0」経過後、すなわちイベントNo.2の発生と同時にチャンネル0でノートナンバー60、ベロシティ64の音符の発音を開始することを示している。イベントNo.4は、イベントNo.3発生のデルタタイム「128」経過後にチャンネル0でノートナンバー60の音符をベロシティ0にして発音を終了することを示している。このイベントNo.3とイベントNo.4により図8(a)に示す右側の単位符号データを表したことになる。
【0047】
図9(d)に示すMIDIデータは、図8(d)に示した単位符号データ群を記述したもの、すなわち図9(a)に示したMIDIデータを統合したものである。図9(d)において、イベントNo.1は、統合前の図9(a)のイベントNo.1と同一である。イベントNo.2は、イベントNo.1発生のデルタタイム「256」経過後に発音を終了することを示している。図9(a)に示すように統合前の音符のベロシティはそれぞれ「84」と「64」であるが、統合後の音符のベロシティは図9(d)に示すように大きい方の「84」に合わせられる。
【0048】
図9(b)に示すMIDIデータは、図8(b)に示した単位符号コード群を記述したものであるが、イベントNo.3、4のノートナンバー以外は図9(a)と同一となっている。また、図9(e)に示すMIDIデータは、図8(e)に示した単位符号データ群を記述したもの、すなわち図9(b)に示したMIDIデータを統合したものである。図9(e)において、イベントNo.1とイベントNo.3によりデルタタイム「256」の間、ベロシティ84の音符が発音されることを示している。イベントNo.2、4、5は、いずれもそのステータスが「E0」となっており、チャンネル0において発音中の音符にピッチベンドをかけることを示している。ステータスにおける左側が「E」となっており、ピッチベンドを表している場合、メッセージにおけるその他の項目がベンド量を表す項目に変化する。ベンド量とは、ピッチベンドにより変化させる音高の量を示しており、基準値である「64」がリセット状態を示す。イベントNo.2は、イベントNo.1の発生と同時にピッチベンドをリセット状態にして開始することを示している。イベントNo.4は、イベントNo.3の発生時にベンド量が「96」になるようにピッチベンドをかけることを示している。このイベントNo.2とイベントNo.4により、イベントNo.1で発音開始してイベントNo.3で発音終了する音符に対して、開始時にベンド量64、終了時にベンド量96としてその間滑らかにベンド量が変化するような、ピッチベンドをかけることが可能となる。MIDIデータにおけるベンド量64とは、基準値を示しており、元の音符に対して変化が与えられていない状態を示す。また、ベンド量96との差であるベンド量の差分32は半音を示している。結局、イベントNo.2とイベントNo.4により発音開始時と発音終了時において半音分の差が生じるピッチベンドが行なわれることになる。イベントNo.5は、ベンド量64にして、ピッチベンドを解除することを示している。
【0049】
図9(c)に示すMIDIデータは、図8(c)に示した単位符号データ群を記述したものであり、図9(f)に示すMIDIデータは、図8(f)に示した符号コードを記述したものとなっている。図9(f)に示すMIDIデータと、図9(e)に示すMIDIデータは、イベントNo.4のベンド量が異なっている点を除くと、全く同一である。つまり、このベンド量により上昇するように発音されるか、下降するように発音されるかが決定されることになる。図9(f)のイベントNo.4では、ベンド量が「32」となっており、これは基準値「64」から1半音分低い状態を示している。
【0050】
MIDIデータでは、最大16チャンネルで符号データを記述することが可能となっており、各チャンネルには異なる楽器パートによる符号データを記録することができる。例えば、チャンネル0にはボーカル、チャンネル1にはピアノ、・・・といった具合である。本実施形態では、説明の便宜上、1つのチャンネルについて同時に発音する1セットの符号データの統合について説明している。通常は、単一のチャンネルに同時に発音する符号データが存在することになるが、ピッチベンドコマンドは、同一チャンネルに同時に発音する全ての符号データに有効な命令であるので、同一チャンネルの他の符号データにも影響する。そこで、ピッチベンドコマンドを適用する符号データのチャンネルは他の符号データと異なるものをアサインすることが行われる。例えば、図9(e)ではチャンネル1を与え、図9(f)ではチャンネル2を与え、各々メッセージの90、80、E0は91、81、E1および92、82、E2のようになる。
【0051】
ここまでは、単位符号データを音の高さに着目して統合することについて説明したが、次に単位符号データを音の強さに着目して統合する点について説明する。音の強さに着目して統合する場合においても、あらかじめ音の強さの変化パターンを用意しておき、それに従って統合する。ここで、各変化パターンの最も単純な例について、統合の様子および周波数の変化を図10を用いて説明する。図10(a)〜(c)は、それぞれ単調減衰型、単峰型、振動型に分類される最も単純な単位符号データの配列を示している。図10(a)に示す単調減衰型の場合、統合対象となる単位符号データ群の音の強さが徐々に減衰していることがわかる。このような場合、図10(d)に示すように、先頭の単位符号データの発音開始時刻を発音開始時刻とし、最後尾の単位符号データの発音終了時刻を発音終了時刻とし、先頭の単位符号データの音の強さを音の強さとして新たな統合符号データを作成する。ただし、音の強さに着目して統合を行う場合は、単峰型、振動型についても統合は同様に行なわれる。異なるのは、単調減衰型の場合は、特に音の強さ情報の変化パターンを識別するための情報が付加されず、単純に統合が行なわれる点である。なお、単調減衰型の場合、図10(g)に示すように、統合符号データの発音中の音の強さは一定となる。
【0052】
図10(b)に示す単峰型の場合、左から2番目の単位符号データが音の強さ最大となっており、これをピークとしてその他は単調に増幅または減衰している。このような場合には、図10(e)に示すように、先頭の単位符号データの発音開始時刻を発音開始時刻とし、最後尾の単位符号データの発音終了時刻を発音終了時刻とし、左から2番目の単位符号データの音の強さを音の強さとして新たな統合符号データを作成する。単峰型の場合には、この統合符号データに単峰型を識別するための情報が付加される。MIDIデータの場合、この情報としてアタックタイム指定のコマンドが付加されることになる。アタックタイム指定とは、図10(h)に示すように、音の強さがピークになるまでの時間を指定するコマンドである。ここでは、ピーク点が元の2番目の単位符号データの発音開始点になるように設定される。逆に音の強さが0付近まで減衰するまでの時間を指定するディケイタイム指定というコマンドもあり、これを併用するとより品質が原音に忠実な再生が可能になる。
【0053】
図10(c)に示す振動型の場合、左から2番目の単位符号データが音の強さ最大となっており、左から4番目の単位符号データが音の強さが2番目に大きなものとなっている。このようにピークが2つあるような場合には、図10(f)に示すように、先頭の単位符号データの発音開始時刻を発音開始時刻とし、最後尾の単位符号データの発音終了時刻を発音終了時刻とし、左から2番目の単位符号データの音の強さを音の強さとして新たな統合符号データを作成する。振動型の場合には、この統合符号データに振動型を識別するための情報が付加される。MIDIデータの場合、この情報としてモジュレーション指定のコマンドが付加されることになる。モジュレーション指定とは、図10(i)に示すように、音が短い周期で変化する振幅と周期を指定するコマンドである。ここでは、2つのピーク点がそれぞれ元の2番目の単位符号データの発音開始点、元の4番目の単位符号データの発音開始点になるように、振幅や周期が設定される。
【0054】
(倍音の除去)
次に上記統合符号データを用いた倍音の除去について説明する。倍音とは、基本成分の整数倍の周波数をもった成分のことである。例えば、ピアノの鍵盤中央の「ラ音(A3音)」の基本周波数成分は440Hzであるが、実際にこの「ラ音(A3音)」の鍵盤を弾いてみると、基本周波数成分である440Hzの音と共に、その2倍の周波数成分880Hzの音(1オクターブ上のラ音(A4音))や、3倍、4倍、・・・の周波数成分の音(倍音成分)が混在していることがわかる。したがって、例えば、代表符号コードとしてN=69(A3音)を抽出した場合、再生時には、このノートナンバーN=69の基本周波数成分である440Hzの音の他に、880Hz、1320Hz、・・・などの倍音成分が混在することになる。
【0055】
一般の音楽には和声により複数の基本周波数成分が存在し、各々が倍音成分をもつため、単一の符号データ同士の単純な比較で整数倍の周波数になっているからといって、これらが倍音関係であるという判断はできない。しかしながら、上記変移パターンを利用した統合処理により得られた、同時に発音する統合符号データが同一の変移パターンに従って統合されたものであって、一方の統合符号データの音の高さが他方の統合符号データの音の高さの整数倍である場合は、両者の統合符合データは互いに倍音関係であると判断でき、両者を統合させることができる。この際、統合により新たに得られる統合符合データの音の高さは低い方に合わせられる。これにより、倍音成分が除去されることになる。すなわち、単一の符号データ同士の処理では倍音成分の除去は困難であったが、統合符号データの変移パターンの類似性をもとに倍音成分の除去が可能になる。なお、ここでの音の高さの比較は周波数で行う。
【0056】
(音の高さに関する精度を高める手法)
以上、本発明の音響信号符号化方法において特徴となる統合の手法について説明したが、ここでは、音の高さについてさらに精度を高める手法について説明する。上記(周期関数との相関を求める具体的な方法)においては、MIDIデータで利用されるノートナンバーに対応した128種の標準周波数を有する周期関数を用意したが、さらに各標準周波数間の周波数を標準周波数として設定することにより多数の周期関数を用意するようにする。例えば、従来の各標準周波数間に12個の標準周波数を設定すれば、128×13種の周期関数が用意されることになり、1/13半音の精度で音の高さを識別することができる。
【0057】
このように、より多くの周期関数を用いた場合であっても、MIDIデータに符号化する場合には、最終的に128種の音高に絞り込まれることになる。その際、±1/2半音の範囲に含まれるものは同一音高であると判断されることになる。これを単位符号データの統合に適用すると、平坦型は統合開始位置の符号データの音高と±1/2半音の範囲に含まれる音高の符号データが続く状態である。上昇型は統合開始位置の符号データの音高より−1/2半音〜+1/2+M半音分(Mは自然数)の範囲に含まれる音高の符号データを統合対象とするものである。下降型は上昇型と対称的に、統合開始位置の符号データの音高より−1/2−M半音〜+1/2半音分(Mは自然数)の範囲に含まれる音高の符号データを統合対象とするものである。
【0058】
ここで、単位符号データを統合する例を図11に示す。このような単位符号データを統合する場合は、図11(a)に示すように最初の単位符号データの音の高さに対して±1/2半音の範囲に含まれるものは同一音高であるとみなして平坦型として統合される。
【0059】
上述の自然数MがM=1と設定されている場合、図11(b)に示すように最初の単位符号データの音の高さに対して−1/2半音〜+3/2半音の範囲に含まれるものは、上昇型として統合される。この上昇型において、−1/2半音のものが統合対象となるのは、一見、上昇という言葉に反するように思える。しかしながら、ここでは−1/2半音までを同一音高とみなしているので、音の高さは下降していないと判断するのである。また、本発明の特徴は、滑らかに音の高さが変化する場合について上手く統合することにある。そのため、−1/2半音〜+3/2半音の範囲のものが続く場合は、滑らかな上昇と判断し、上昇型に分類されることになる。
【0060】
上述の自然数MがM=1と設定されている場合、図11(c)に示すように先行する単位符号データの音の高さに対して−3/2半音〜+1/2半音の範囲に含まれるものは、下降型として統合される。この下降型については、上昇型と対称的なものとなるので、音の高さの高低を逆にすれば、基本的に上昇型と処理は同一であるので詳細な説明は省略する。
【0061】
【発明の効果】
以上、説明したように本発明によれば、与えられた音響信号に対して、時間軸上に複数の単位区間を設定し、設定された単位区間に対して複数の周波数に対応する信号強度を算出し、得られた信号強度を基に1つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成するようにし、この単位符号データの生成処理を、音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の高さ情報の変移の状態に基づいて、あらかじめ用意された音の高さの変移パターンにしたがって、近接する複数の単位符号データを1つの統合符号データに統合するようにしたので、連続的に音の高さが変化するような演奏についても、原音響信号をより忠実に再現することが可能となるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の音響信号の符号化方法の基本原理を示す図である。
【図2】本発明で利用される周期関数の一例を示す図である。
【図3】図2に示す各周期関数の周波数とMIDIノートナンバーnとの関係式を示す図である。
【図4】解析対象となる信号と周期信号との相関計算の手法を示す図である。
【図5】図4に示す相関計算を行うための計算式を示す図である。
【図6】一般化調和解析の基本的な手法を示す図である。
【図7】本発明に係る方法により符号データが統合される様子を示す図である。
【図8】音の高さに関する各変移パターンの最も単純な例について、統合の様子および周波数の変化を示す図である。
【図9】図8の各変移パターンに対応したMIDIデータ例を示す図である。
【図10】音の強さに関する各変移パターンの最も単純な例について、統合の様子および周波数の変化を示す図である。
【図11】音の高さに関する精度を高めた場合の、統合の様子および周波数の変化を示す図である。
【符号の説明】
▲1▼〜▲9▼・・・符号データ
A(n),B(n)・・・相関値
d,d1〜d5・・・単位区間
E(n)・・・相関値
G(j)・・・含有信号
n,n1〜n6・・・ノートナンバー
S(j),S(j+1)・・・差分信号
X,X(k)・・・区間信号
Claims (8)
- 与えられた音響信号に対して、時間軸上に複数の単位区間を設定する区間設定段階と、
前記単位区間に対して複数の周波数に対応する信号強度を算出するための信号解析段階と、
前記信号解析段階で得られた信号強度を基に1つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成する単位符号生成段階と、を有し、
前記単位符号生成段階における処理を前記音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の高さ情報の変移の状態に基づいて、あらかじめ用意された音の高さの変移パターンにしたがって、前記近接する複数の単位符号データを1つの統合符号データに統合する統合符号生成段階と、
を有することを特徴とする音響信号の符号化方法。 - 前記近接する複数の単位符号データのうち、ある1つの単位符号データの音の高さ情報を基準値としたときに、他の単位符号データの音の高さ情報が取り得る上限値、下限値の前記基準値との差である上限差分、下限差分を定め、
前記音の高さの変移パターンとして、前記上限差分と前記下限差分の関係がほぼ等しい平坦型、前記上限差分が前記下限差分より大きい上昇型、前記上限差分が前記下限差分より小さい下降型を有し、
前記統合符号生成段階においては、音の高さの変移状態が前記上昇型または前記下降型である場合に、統合された統合符号データに、滑らかに音の高さを変移させる制御情報を付加するようにしたことを特徴とする請求項1に記載の音響信号の符号化方法。 - 与えられた音響信号に対して、時間軸上に複数の単位区間を設定する区間設定段階と、
前記単位区間に対して複数の周波数に対応する信号強度を算出するための信号解析段階と、
前記信号解析段階で得られた信号強度を基に1つまたは複数の周波数を選出し、選出された周波数に対応する音の高さ情報と、選出された周波数の強度に対応する音の強さ情報と、前記単位区間の始点に対応する発音開始時刻と、前記単位区間に後続する単位区間の始点に対応する発音終了時刻で構成される単位符号データを生成する単位符号生成段階と、を有し、
前記単位符号生成段階における処理を前記音響信号の時間軸上に設定された全単位区間に対して行うことにより、単位区間数分の単位符号データを得た後、近接する複数の単位符号データが有するそれぞれの音の強さ情報の変移の状態に基づいて、あらかじめ用意された音の強さの変移パターンにしたがって、前記近接する複数の単位符号データを1つの統合符号データに統合する統合符号生成段階と、
を有することを特徴とする音響信号の符号化方法。 - 前記音の強さの変移パターンとして、前記近接する複数の単位符号データの各音の強さ情報が連続的に減衰する単調減衰型、各音の強さ情報が一度増幅した後連続的に減衰する単峰型、各音の強さ情報が増幅と減衰を二度以上繰り返す振動型を有し、
前記統合符号生成段階においては、音の強さの変移状態が前記単峰型または前記振動型である場合に、統合された統合符号データに、音の強さを変移させる制御情報を付加するようにしたことを特徴とする請求項3に記載の音響信号の符号化方法。 - 前記統合符号生成段階において、統合符号データの生成が行われた後、時系列上でほぼ 同時刻に位置する複数の統合符号データの変移パターンが同一で、かつ複数の統合符号データのうち一方の統合符号データの音の高さ情報に対応する周波数が他方の統合符号データの音の高さ情報に対応する周波数のほぼ整数倍の関係になる場合に、前記ほぼ同時刻に位置する複数の統合符号データをさらに統合して1つの統合符号データとすることを特徴とする請求項1から請求項4のいずれかに記載の音響信号の符号化方法。
- 前記統合符号生成段階において、前記音の高さ情報がノートナンバーで、前記音の強さ情報がベロシティで、前記発音開始時刻がノートオン時刻で、前記発音終了時刻がノートオフ時刻で記述され、前記符号データがMIDIデータであることを特徴とする請求項1から請求項5のいずれかに記載の音響信号の符号化方法。
- 前記統合符号生成段階において、前記MIDIデータのノートオン時刻からノートオフ時刻に対して、前記滑らかに音の高さを変移させる制御情報を同区間のピッチベンドデータにより記述し、前記MIDIデータに付加するようにしていることを特徴とする請求項6に記載の音響信号の符号化方法。
- 前記統合符号生成段階において、前記滑らかに音の高さを変移させる制御情報は、MIDIデータのチャンネル別に記述されることを特徴とする請求項6に記載の音響信号の符号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000270015A JP4268327B2 (ja) | 2000-09-06 | 2000-09-06 | 音響信号の符号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000270015A JP4268327B2 (ja) | 2000-09-06 | 2000-09-06 | 音響信号の符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002082669A JP2002082669A (ja) | 2002-03-22 |
JP4268327B2 true JP4268327B2 (ja) | 2009-05-27 |
Family
ID=18756531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000270015A Expired - Fee Related JP4268327B2 (ja) | 2000-09-06 | 2000-09-06 | 音響信号の符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4268327B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8483730B2 (en) | 2007-09-05 | 2013-07-09 | Electronics And Telecommunications Research Institute | Method and system for managing channel set for dynamic channel allocation |
-
2000
- 2000-09-06 JP JP2000270015A patent/JP4268327B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8483730B2 (en) | 2007-09-05 | 2013-07-09 | Electronics And Telecommunications Research Institute | Method and system for managing channel set for dynamic channel allocation |
Also Published As
Publication number | Publication date |
---|---|
JP2002082669A (ja) | 2002-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4132362B2 (ja) | 音響信号の符号化方法およびプログラム記録媒体 | |
JP4268327B2 (ja) | 音響信号の符号化方法 | |
JP4037542B2 (ja) | 音響信号の符号化方法 | |
JP4695781B2 (ja) | 音響信号の符号化方法 | |
JP4331289B2 (ja) | 音響信号の符号化方法 | |
JP3776782B2 (ja) | 音響信号の符号化方法 | |
JP4268328B2 (ja) | 音響信号の符号化方法 | |
JP4473979B2 (ja) | 音響信号の符号化方法および復号化方法ならびに当該方法を実行するプログラムを記録した記録媒体 | |
JP2001005450A (ja) | 音響信号の符号化方法 | |
JP4268322B2 (ja) | 再生用符号化データ作成方法 | |
JP3935745B2 (ja) | 音響信号の符号化方法 | |
JP4156252B2 (ja) | 音響信号の符号化方法 | |
JP4220108B2 (ja) | 音響信号符号化システム | |
JP4152502B2 (ja) | 音響信号の符号化装置および符号データの編集装置 | |
JP4331373B2 (ja) | 時系列信号の解析方法および音響信号の符号化方法 | |
JP4580548B2 (ja) | 周波数解析方法 | |
JP4156269B2 (ja) | 時系列信号の周波数解析方法および音響信号の符号化方法 | |
JP2003216147A (ja) | 音響信号の符号化方法 | |
JP4156268B2 (ja) | 時系列信号の周波数解析方法および音響信号の符号化方法 | |
JP2002244691A (ja) | 音響信号の符号化方法 | |
JP4662407B2 (ja) | 周波数解析方法 | |
JP4601865B2 (ja) | 音響信号の符号化方法 | |
JP2002215142A (ja) | 音響信号の符号化方法 | |
JP4662406B2 (ja) | 周波数解析方法および音響信号の符号化方法 | |
JP4061070B2 (ja) | 周波数解析方法および音響信号の符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070511 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081014 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081216 |
|
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: 20090121 |
|
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: 20090220 |
|
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: 20120227 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130227 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130227 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |