JP4037542B2 - 音響信号の符号化方法 - Google Patents
音響信号の符号化方法 Download PDFInfo
- Publication number
- JP4037542B2 JP4037542B2 JP28345398A JP28345398A JP4037542B2 JP 4037542 B2 JP4037542 B2 JP 4037542B2 JP 28345398 A JP28345398 A JP 28345398A JP 28345398 A JP28345398 A JP 28345398A JP 4037542 B2 JP4037542 B2 JP 4037542B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- encoding
- acoustic signal
- intensity
- 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 - Lifetime
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は音響信号の符号化方法に関し、時系列の強度信号として与えられる音響信号を符号化し、これを復号化して再生する技術に関する。特に、本発明は一般の音響信号を、MIDI形式の符号データに効率良く変換する処理に適しており、音声を記録する種々の産業分野への応用が期待される。
【0002】
【従来の技術】
音響信号を符号化する技術として、PCM(Pulse Code Modulation )の手法は最も普及している手法であり、現在、オーディオCDやDATなどの記録方式として広く利用されている。このPCMの手法の基本原理は、アナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして表現する点にあり、サンプリング周波数や量子化ビット数を高くすればするほど、原音を忠実に再生することが可能になる。ただ、サンプリング周波数や量子化ビット数を高くすればするほど、必要な情報量も増えることになる。そこで、できるだけ情報量を低減するための手法として、信号の変化差分のみを符号化するADPCM(Adaptive Differential Pulse Code Modulation )の手法も用いられている。
【0003】
一方、電子楽器による楽器音を符号化しようという発想から生まれたMIDI(Musical Instrument Digital Interface)規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このMIDI規格による符号データ(以下、MIDIデータという)は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このMIDIデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したMIDI音源が別途必要になる。しかしながら、上述したPCMの手法で音を記録する場合に比べて、情報量が極めて少なくてすむという特徴を有し、その符号化効率の高さが注目を集めている。このMIDI規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウエアに広く採り入れられており、カラオケ、ゲームの効果音といった分野でも広く利用されている。
【0004】
【発明が解決しようとする課題】
上述したように、PCMの手法により音響信号を符号化する場合、十分な音質を確保しようとすれば情報量が膨大になり、データ処理の負担が重くならざるを得ない。したがって、通常は、ある程度の情報量に抑えるため、ある程度の音質に妥協せざるを得ない。もちろん、MIDI規格による符号化の手法を採れば、非常に少ない情報量で十分な音質をもった音の再生が可能であるが、上述したように、MIDI規格そのものが、もともと楽器演奏の操作を符号化するためのものであるため、広く一般音響への適用を行うことはできない。別言すれば、MIDIデータを作成するためには、実際に楽器を演奏するか、あるいは、楽譜の情報を用意する必要がある。
【0005】
このように、従来用いられているPCMの手法にしても、MIDIの手法にしても、それぞれ音響信号の符号化方法としては一長一短があり、一般の音響について、少ない情報量で十分な音質を確保することはできない。ところが、一般の音響についても効率的な符号化を行いたいという要望は、益々強くなってきている。いわゆるヴォーカル音響と呼ばれる人間の話声や歌声を取り扱う分野では、かねてからこのような要望が強く出されている。たとえば、語学教育、声楽教育、犯罪捜査などの分野では、ヴォーカル音響信号を効率的に符号化する技術が切望されている。このような要求に応えるために、特願平9−273949号明細書には、MIDIデータを利用することが可能な新規な符号化方法が提案されている。この方法では、音響信号の時間軸に沿って複数の単位区間を設定し、各単位区間ごとにフーリエ変換を行ってスペクトルを求め、このスペクトルに応じたMIDIデータを作成するという手順が実行される。しかしながら、MIDIデータはもともと音符に相当するデータであり、周波数に関しては非線形な特性を有する。これに対して、従来の一般的なフーリエ変換の手法は、線形な周波数軸を用いたスペクトルを得ることを前提としている。このため、従来の一般的なフーリエ変換の手法を用いた場合、MIDIデータなどの非線形な符号データへの変換を効率良く行うことができないという問題があった。
【0006】
そこで本発明は、MIDIデータのような非線形な符号データへの変換を効率よく行うことが可能な音響信号の符号化方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
(1) 本発明の第1の態様は、時系列の強度信号として与えられる音響信号を符号化するための音響信号の符号化方法において、
符号化対象となる音響信号の時間軸上に複数の単位区間を設定する区間設定段階と、
対数尺度の周波数軸上に互いに等間隔となるように複数M個の測定ポイントを離散的に設定するとともに、このM個の測定ポイントにそれぞれ対応する周波数値を示す合計M個の符号コードを定める符号定義段階と、
個々の単位区間ごとに、当該単位区間内の音響信号に含まれるM個の測定ポイントに相当する周波数成分のスペクトル強度を求める強度演算段階と、
この強度演算段階において求めたスペクトル強度に基いて、個々の単位区間ごとに、M個の全符号コードの中から当該単位区間を代表するP個の代表符号コードを抽出し、これら抽出した代表符号コードおよびそのスペクトル強度によって、個々の単位区間の音響信号を表現する符号化段階と、
を行い、
符号化段階で、各単位区間について抽出された複数P個の代表符号コードを複数のトラックに分配して配置し、同一トラック上に隣接して配置された代表符号コードが所定の類似条件を満足する場合には、この隣接配置された代表符号コードを単一の代表符号コードに統合する処理を行うようにしたものである。
【0008】
(2) 本発明の第2の態様は、上述の第1の態様に係る音響信号の符号化方法において、
複数P個の代表符号コードを複数のトラックに分配して配置する際に、同一トラック上に隣接して配置される代表符号コードが類似条件を満足する確率が高くなるように、分配の順序を調整するようにしたものである。
【0009】
(3) 本発明の第3の態様は、上述の第1または第2の態様に係る音響信号の符号化方法において、
符号定義段階で、複数M個の符号コードとしてMIDIデータで利用されるノートナンバーを用い、
符号化段階で、個々の単位区間の音響信号を、代表符号コードとして抽出されたノートナンバーと、そのスペクトル強度に基いて決定されたベロシティーと、当該単位区間の長さに基いて決定されたデルタタイムと、を示すデータからなるMIDI形式の符号データによって表現するようにしたものである。
【0010】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る音響信号の符号化方法において、
強度演算段階で、周波数f(m)に相当する第m番目の測定ポイントにおけるスペクトル強度S(m)を演算する際に、各測定ポイントのそれぞれに相当する周波数をもったM個の正弦関数および余弦関数との相関を求める演算を行うようにしたものである。
【0011】
(5) 本発明の第5の態様は、上述の第1〜第4の態様に係る音響信号の符号化方法において、
強度演算段階で、単位区間の区間長にわたる重みづけを定義した重み関数を用意し、単位区間内の音響信号にこの重み関数を乗じることによりスペクトル強度を求めるようにしたものである。
【0012】
(6) 本発明の第6の態様は、上述の第1〜第5の態様に係る音響信号の符号化方法において、
区間設定段階で、隣接する単位区間が時間軸上で部分的に重複するような設定を行うようにしたものである。
【0013】
(7) 本発明の第7の態様は、上述の第1〜第6の態様に係る音響信号の符号化方法において、
符号化対象となる音響信号を所定のサンプリング周波数Fでサンプリングし、第x番目のサンプルの振幅値をA(x)とする音響データとして取り込み、この取り込んだ音響データに対して各単位区間を設定するようにし、
強度演算段階で、第h番目のサンプルからはじまり合計K個のサンプルを含む単位区間について、周波数f(m)に相当する第m番目の測定ポイントにおけるスペクトル強度S(m)を演算する際に、所定の重み関数W(k)を用いて、
S(m)=(1/K)・Σ k=0〜(K−1) (W(k)
・A(h+k)・exp(−j2πf(m)・(h+k)/F))
なる式を用いるようにしたものである。
【0014】
(8) 本発明の第8の態様は、上述の第1〜第6の態様に係る音響信号の符号化方法において、
符号化対象となる音響信号を所定のサンプリング周波数Fでサンプリングし、第x番目のサンプルの振幅値をA(x)とする音響データとして取り込み、この取り込んだ音響データに対して各単位区間を設定するようにし、
強度演算段階で、第h番目のサンプルからはじまり合計K個のサンプルを含む単位区間について、周波数f(m)に相当する第m番目の測定ポイントにおけるスペクトル強度S(m)を演算する際に、所定の重み関数W(k)を用いて、
なる式を用いるようにしたものである。
【0017】
(9) 本発明の第9の態様は、上述の第1〜第8の態様に係る音響信号の符号化方法を実行するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【0018】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【0019】
§1. 本発明に係る音響信号の符号化方法の基本原理
はじめに、本発明に係る音響信号の符号化方法の基本原理を図1を参照しながら説明する。いま、図1(a) に示すように、時系列の強度信号としてアナログ音響信号が与えられたものとしよう。図示の例では、横軸に時間t、縦軸に振幅(強度)をとってこの音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周期でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えばよい。ここでは、説明の便宜上、PCMの手法でデジタル化した音響データの波形も、図1(a) のアナログ音響信号と同一の波形で示すことにする。
【0020】
続いて、この符号化対象となる音響信号の時間軸上に、複数の単位区間を設定する。図1(a) に示す例では、時間軸t上に等間隔に6つの時刻t1〜t6が定義され、これら各時刻を始点および終点とする5つの単位区間d1〜d5が設定されている(より実用的な区間設定方法については後述する)。
【0021】
こうして単位区間が設定されたら、各単位区間ごとの音響信号に対してそれぞれフーリエ変換を行い、スペクトルを作成する(実際には、§3で述べるように、一般のフーリエ変換とは異なる手法を採る)。このとき、ハニング窓(Hanning Window )などの重み関数で、切り出した音響信号にフィルタをかけてフーリエ変換を施すことが望ましい。一般にフーリエ変換は、切り出した区間前後に同様な信号が無限に存在することが想定されているため、重み関数を用いない場合、作成したスペクトルに高周波ノイズがのることが多い。このような場合、ハニング窓関数など区間の両端の重みが0になるような重み関数を用いるのが望ましい。ハニング窓関数H(k)は、単位区間長をLとすると、k=1…Lに対して、
H(k)=0.5−0.5*cos(2πk/L)
で与えられる関数である。
【0022】
図1(b) には、単位区間d1について作成されたスペクトルの一例が示されている。このスペクトルでは、横軸上に定義された周波数fによって、単位区間d1内の音響信号に含まれる周波数成分(0〜F:ここでFはサンプリング周波数)が示されており、縦軸上に定義された複素強度Aによって、各周波数成分ごとの複素強度が示されている。
【0023】
次に、このスペクトルの周波数軸fに対応させて、離散的に複数M個の符号コードを定義する。この例では、符号コードとしてMIDIデータで利用されるノートナンバーnを用いており、n=0〜127までの128個の符号コードを定義している。ノートナンバーnは、音符の音階を示すパラメータであり、たとえば、ノートナンバーn=69は、ピアノの鍵盤中央の「ラ音(A3音)」を示しており、440Hzの音に相当する。このように、128個のノートナンバーには、いずれも所定の周波数が対応づけられるので、スペクトルの周波数軸f上の所定位置に、それぞれ128個のノートナンバーnが離散的に定義されることになる。
【0024】
ここで、ノートナンバーnは、1オクターブ上がると、周波数が2倍になる対数尺度の音階を示すため、周波数軸fに対して線形には対応しない。そこで、ここでは周波数軸fを対数尺度で表し、この対数尺度軸上にノートナンバーnを定義した強度グラフを作成してみる。図1(c) は、このようにして作成された単位区間d1についての強度グラフを示す。この強度グラフの横軸は、図1(b) に示すスペクトログラムの横軸を対数尺度に変換したものであり、ノートナンバーn=0〜127が等間隔にプロットされている。一方、この強度グラフの縦軸は、図1(b) に示すスペクトルの複素強度Aを実効強度Eに変換したものであり、各ノートナンバーnの位置における強度を示している。一般に、フーリエ変換によって得られる複素強度Aは、実数部Rと虚数部Iとによって表されるが、実効強度Eは、E=(R2+I2)1/2なる演算によって求めることができる。
【0025】
こうして求められた単位区間d1の強度グラフは、単位区間d1の音響信号に含まれる振動成分について、ノートナンバーn=0〜127に相当する各振動成分の割合を実効強度として示すグラフということができる。そこで、この強度グラフに示されている各実効強度に基いて、全M個(この例ではM=128)のノートナンバーの中からP個のノートナンバーを選択し、このP個のノートナンバーnを、単位区間d1を代表する代表符号コードとして抽出する。ここでは、説明の便宜上、P=3として、全128個の候補の中から3個のノートナンバーを代表符号コードとして抽出する場合を示すことにする。たとえば、「候補の中から強度の大きい順にP個の符号コードを抽出する」という基準に基いて抽出を行えば、図1(c) に示す例では、第1番目の代表符号コードとしてノートナンバーn(d1,1)が、第2番目の代表符号コードとしてノートナンバーn(d1,2)が、第3番目の代表符号コードとしてノートナンバーn(d1,3)が、それぞれ抽出されることになる。
【0026】
このようにして、P個の代表符号コードが抽出されたら、これらの代表符号コードとその実効強度によって、単位区間d1の音響信号を表現することができる。たとえば、上述の例の場合、図1(c) に示す強度グラフにおいて、ノートナンバーn(d1,1)、n(d1,2)、n(d1,3)の実効強度がそれぞれe(d1,1)、e(d1,2)、e(d1,3)であったとすれば、以下に示す3組のデータ対によって、単位区間d1の音響信号を表現することができる。
【0027】
n(d1,1),e(d1,1)
n(d1,2),e(d1,2)
n(d1,3),e(d1,3)
以上、単位区間d1についての処理について説明したが、単位区間d2〜d5についても、それぞれ別個に同様の処理が行われ、代表符号コードおよびその強度を示すデータが得られることになる。たとえば、単位区間d2については、
n(d2,1),e(d2,1)
n(d2,2),e(d2,2)
n(d2,3),e(d2,3)
なる3組のデータ対が得られる。このようにして各単位区間ごとに得られたデータによって、原音響信号を符号化することができる。
【0028】
図2は、上述の方法による符号化の概念図である。図2(a) には、図1(a) と同様に、原音響信号について5つの単位区間d1〜d5を設定した状態が示されており、図2(b) には、各単位区間ごとに得られた符号データが音符の形式で示されている。この例では、個々の単位区間ごとに3個の代表符号コードを抽出しており(P=3)、これら代表符号コードに関するデータを3つのトラックT1〜T3に分けて収容するようにしている。たとえば、単位区間d1について抽出された代表符号コードn(d1,1),n(d1,2),n(d1,3)は、それぞれトラックT1,T2,T3に収容されている。もっとも、図2(b) は、本発明によって得られる符号データを音符の形式で示した概念図であり、実際には、各音符にはそれぞれ強度に関するデータが付加されている。たとえば、トラックT1には、ノートナンバーn(d1,1),n(d2,1),n(d3,1)…なる音階を示すデータとともに、e(d1,1),e(d2,1),e(d3,1)…なる強度を示すデータが収容されることになる。
【0029】
本発明における符号化の形式としては、必ずしもMIDI形式を採用する必要はないが、この種の符号化形式としてはMIDI形式が最も普及しているため、実用上はMIDI形式の符号データを用いるのが最も好ましい。MIDI形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーNとベロシティーVとを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーNとベロシティーVとを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーVは、たとえば、ピアノの鍵盤などを押し下げる速度(ノートオン時のベロシティー)および鍵盤から指を離す速度(ノートオフ時のベロシティー)を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【0030】
本実施形態では、上述したように、第i番目の単位区間diについて、代表符号コードとしてP個のノートナンバーn(di,1),n(di,2),…,n(di,P)が得られ、このそれぞれについて実効強度e(di,1),e(di,2),…,e(di,P)が得られる。そこで本実施形態では、次のような手法により、MIDI形式の符号データを作成している。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーNとしては、得られたノートナンバーn(di,1),n(di,2),…,n(di,P)をそのまま用いている。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーVとしては、得られた実効強度e(di,1),e(di,2),…,e(di,P)を、値が0〜1の範囲となるように規格化し、この規格化後の実効強度Eの平方根に127を乗じた値を用いている。すなわち、実効強度Eについての最大値をEmax とした場合、
V=(E/Emax )1/2・127
なる演算で求まる値Vをベロシティーとして用いている。あるいは対数をとって、
V=log(E/Emax )・127+127
(ただし、V<0の場合はV=0とする)
なる演算で求まる値Vをベロシティーとして用いてもよい。また、「デルタタイム」データは、各単位区間の長さに応じて設定すればよい。
【0031】
結局、上述した実施形態では、3トラックからなるMIDI符号データが得られることになる。このMIDI符号データを3台のMIDI音源を用いて再生すれば、6チャンネルのステレオ再生音として音響信号が再生される。
【0032】
上述した手順による符号化処理は、実際にはコンピュータを用いて実行される。本発明による符号化処理を実現するためのプログラムは、磁気ディスクや光ディスクなどのコンピュータ読み取り可能な記録媒体に記録して供給することができ、また、本発明による符号化処理によって符号化された符号データは、同様に、磁気ディスクや光ディスクなどのコンピュータ読み取り可能な記録媒体に記録して供給することができる。
【0033】
§2. より実用的な区間設定方法
これまで、本発明に係る音響信号の符号化方法の基本原理を述べたが、以下、より実用的な符号化方法を述べる。ここでは、区間設定を行う上でのより実用的な手法を説明する。図2(a) に示された例では、時間軸t上に等間隔に定義された6つの時刻t1〜t6を境界として、5つの単位区間d1〜d5が設定されている。このような区間設定に基いて符号化を行った場合、再生時に、境界となる時刻において音の不連続が発生しやすい。したがって、実用上は、隣接する単位区間が時間軸上で部分的に重複するような区間設定を行うのが好ましい。
【0034】
図3(a) は、このように部分的に重複する区間設定を行った例である。図示されている単位区間d1〜d4は、いずれも部分的に重なっており、このような区間設定に基いて前述の処理を行うと、図3(b) の概念図に示されているような符号化が行われることになる。この例では、それぞれの単位区間の中心を基準位置として、各音符をそれぞれの基準位置に配置しているが、単位区間に対する相対的な基準位置は、必ずしも中心に設定する必要はない。図3(b) に示す概念図を図2(b) に示す概念図と比較すると、音符の密度が高まっていることがわかる。このように重複した区間設定を行うと、作成される符号データの数は増加することになるが、再生時に音の不連続が生じない自然な符号化が可能になる。
【0035】
図4は、時間軸上で部分的に重複する区間設定を行う具体的な手法を示す図である。この具体例では、音響信号を22kHzのサンプリング周波数でサンプリングすることによりデジタル音響データとして取り込み、個々の単位区間の区間長Lを1024サンプル分(約47msec)に設定し、各単位区間ごとのずれ量を示すオフセット長ΔLを20サンプル分(約0.9msec)に設定したものである。すなわち、任意のiに対して、第i番目の単位区間の始点と第(i+1)番目の単位区間の始点との時間軸上での隔たりがオフセット長ΔLに設定されることになる。たとえば、第1番目の単位区間d1は、1〜1024番目のサンプルを含んでおり、第2番目の単位区間d2は、20サンプル分ずれた21〜1044番目のサンプルを含んでいることになる。
【0036】
このように、時間軸上で部分的に重複する区間設定を行った場合、隣接する単位区間においてかなりのサンプルが共通して用いられることになり、各単位区間ごとに求めたスペクトルに有効な差が生じないことが予想される。たとえば、上述の例の場合、第1番目の単位区間d1と第2番目の単位区間d2とを比較すると、21〜1024番目のサンプルは両単位区間で全く共通して利用されており、両者の相違は、わずか20サンプル分に依存していることになる。ただ、幸いにして、§3に述べるフーリエ変換の処理では、20サンプルに相当する位相の差が生じるため、両単位区間における複素強度Aに大幅な差が生じる。しかし実効強度Eには、あまり差がみられないと予想される。このように、隣接する単位区間のスペクトルに十分な差が得られないと、変化の激しい音響信号に追従できず、結果的に時間分解能が低下するという問題が生じることになる。このような問題に対処するためには、わずか20サンプル分の相違により、フーリエ変換の入力側に大きな変化が生じるような対策を講じればよい。
【0037】
そこで、本願発明者は、§1で言及した重み関数に対して、変化する20サンプル分を強調するような細工を施すことを考案した。前述した周知のハニング窓関数は、むしろ隣接区間の変動を抑える方向に働くため、上述の問題に対処する観点からは逆効果である。そこで、区間両端の重みが減少するというハニング窓関数の特徴を継承しつつ、20サンプル分を強調するような関数を考案し、実際に適用してみた。具体的には、単位区間の区間長をL、オフセット長をΔLとして、
α=L/2−ΔL/2
β=L/2+ΔL/2
なるα,βを定め、区間[α,β]で表される中央近傍区間(単位区間の中央位置に定義された幅ΔLの区間)を定義し、
k=1…αのとき
W(k)=0.5−0.5*cos(πk/2α)
k=α…βのとき
W(k)=0.5−0.5
*cos(π(k−α)/ΔL+π/2)
k=β…Lのとき
W(k)=0.5−0.5
*cos(π(k−β)/2α+3π/2)
なる改良型窓関数W(k)を重み関数として用いるようにすればよい。この改良型窓関数W(k)は、半値幅がちょうどΔLになるように狭幅に変形した分布関数であり、この関数を用いて実験を行ったところ、十分な効果が確認できた。
【0038】
§3. スペクトル強度の効率的な演算方法
さて、図1で説明した原理によれば、本発明に係る符号化方法の基本手順は、まず、図1(a) に示すように、音響データの時間軸上に複数の単位区間d1,d2,d3,…を設定し、区間d1内の音響データに対してフーリエ変換を行い、図1(b) に示すようなスペクトルを求め、図1(c) に示すように、このスペクトルのピーク周波数に相当するいくつかの符号n(d1,1),n(d1,2),n(d1,3)によって、区間d1の音響信号を表現する、ということになる。ここでは、図1(b) に示すようなスペクトルを求めるための効率的な演算方法を述べることにする。
【0039】
図1(a) に示すような振動成分をもった信号について、図1(b) に示すようなスペクトルを得る場合、フーリエ変換を利用するのが一般的であり、実用上は、高速フーリエ変換(FFT)の手法を用いた演算が行われる。しかしながら、一般的なフーリエ変換は、線形な周波数軸を用いたスペクトルを得ることを前提としており、MIDIデータなどの非線形な符号データへの変換には必ずしも適していない。これは次のような理由によるものである。
【0040】
いま、図5に示すような線形尺度によるフーリエスペクトルを考えてみよう。このフーリエスペクトルは、横軸に線形尺度による周波数fをとり、縦軸にスペクトル強度をとったグラフである。ここで、横軸(周波数軸)上には、複数M個の測定ポイントが等間隔に離散的に定義されており、各測定ポイントごとに、そのスペクトル強度が棒グラフで示されている。グラフの下欄▲1▼には、各測定ポイントの番号が記されており、グラフの下欄▲2▼には、これら各測定ポイントに相当する周波数値が記されている。この例は、サンプリング周波数F=22.05kHzで音響信号をデータとして取り込んだ例であり、測定ポイントの数M=1024に設定してある。したがって、周波数f=0となる第0番目の測定ポイントから、周波数f=11014Hz(サンプリング周波数Fのほぼ1/2)となる第1023番目の測定ポイントに至るまで、合計1024個の測定ポイントのそれぞれにおいて、棒グラフの長さに相当するスペクトル強度が求まっている。一般のフーリエ変換では、このように線形な周波数軸上に等間隔で定義された多数の測定ポイントについて、それぞれスペクトル強度が求められることになる。
【0041】
ところが、この図5のように、線形な周波数軸上に等間隔で定義された測定ポイントについて強度が得られているスペクトルを、MIDIデータのように、周波数に関して非線形な特性を有する符号系への変換に利用することは効率的ではない。図6は、図5に示すスペクトルの周波数軸を対数尺度に書き直したものである。グラフの下欄▲1▼には、各測定ポイントの番号が記されており、グラフの下欄▲2▼には、これら各測定ポイントに対応づけられたノートナンバー(log fに相当)が記されている。測定ポイントの数M=1024である点は図5と同じであるが、周波数軸が対数尺度となっているため、各測定ポイントは横軸上で等間隔には配置されていない。別言すれば、低周波領域では、測定ポイントの配置は粗いが、高周波領域にゆくにしたがって、測定ポイントの配置は密になる。
【0042】
図6の例における低周波領域では、第1の測定ポイントについては、ノートナンバーn=4、第2の測定ポイントについては、ノートナンバーn=16、第3の測定ポイントについては、ノートナンバーn=24を割り当てているが、これらの中間に位置するノートナンバーについては対応する測定ポイントが存在しないため、スペクトル強度が得られない結果となっており、いわば歯抜けの櫛のような状態となっている。したがって、サンプリング周波数F=22.05kHz、測定ポイントの数M=1024という設定では、ノートナンバーn=5〜15,17〜23についての強度を定義することができなくなる。もちろん、測定ポイントの数M=1024を更に増やすようにすれば、歯抜けの状態を解消することは可能であるが、そのような多数の測定ポイントについての演算を行うこと自体が非効率的である。
【0043】
逆に、高周波領域では、第970番目の測定ポイント〜第1023番目の測定ポイントに至るまでの合計54個の測定ポイントが、同一のノートナンバーn=124に割り当てられている。もちろん、この場合、全54個の測定ポイントについてのスペクトル強度の平均値をノートナンバーn=124についての強度と定義すれば問題はないが、1つのノートナンバーn=124についての強度値を求めるのに、54個もの測定ポイントについての演算を行うこと自体が非効率的である。
【0044】
結局、MIDIデータのような非線形な符号コードへの変換を効率よく行うためには、必要な符号コードに合わせて周波数軸上に複数M個の測定ポイントを離散的に定義し、音響信号に含まれるM個の測定ポイントに相当する周波数成分についてのスペクトル強度だけを求めるようにすればよい。特に、MIDIデータへの変換を行う場合は、対数尺度の周波数軸上で等間隔となるように複数M個の測定ポイントを離散的に定義すればよい。別言すれば、各測定ポイントの周波数が等比数列をなすように、複数M個の測定ポイントを離散的に定義すればよい。図7は、このようにして定義した測定ポイントの一部分を示す図である。図示されている各測定ポイントには、ノートナンバーn=60〜65が割り当てられており、これら各測定ポイントは、対数尺度の周波数軸上で等間隔となっている。また、各測定ポイントの具体的な周波数値262,278,294,…に着目すると、等比数列をなしている。フーリエ変換によりスペクトル強度を演算する際には、これら各測定ポイントについてのスペクトル強度のみを演算するようにすれば、無駄な演算を省くことができる。
【0045】
以下、このような無駄を省いた効率的な演算を行うための具体的な方法を説明する。まず、説明の便宜上、本発明の符号化方法に、一般的なフーリエ変換を適用する手順を説明する。ここでは、図8に示すような音響信号に対してフーリエ変換を行い、符号化を行う場合を考える。前述したように、本発明では、音響信号の時間軸上に単位区間を設定し、この単位区間をP個の代表符号コードによって表現することになる。図8に示す単位区間diは、区間長Lを有する第i番目の単位区間を示しており、ここでは、この単位区間di内にK個のサンプルが含まれているものとする。すなわち、サンプリング周波数をFとして、区間長Lを時間の単位で表せば、K/F=Lとなる。また、音響信号の左端の位置に基準時刻t=t0を設定し、単位区間diの左端の時刻を区間開始時刻t=ts、右端の時刻を区間終了時刻t=teとする。更に、基準時刻t0から区間開始時刻tsまでの時間をΔthとし、このΔthの時間内に含まれるサンプル数をhとする。
【0046】
一方、このフーリエ変換によって、図9に示すようなフーリエスペクトルを求める場合を考える。このフーリエスペクトルでは、周波数軸上にM個の測定ポイントが定義されており、第m番目(m=0,1,2,…,M−1)の測定ポイントは、周波数f(m)に相当し、そのスペクトル強度はS(m)となっている。既に述べたように、従来の一般的なフーリエ変換では、M個の測定ポイントは、線形尺度の周波数軸上に等間隔で定義される。フーリエ変換の基本原理は、種々の周波数をもった正弦関数および余弦関数からなる参照信号を用意し、フーリエ変換の対象となる音響信号と種々の参照信号との相関を求め、その相関の程度をスペクトル強度として示すことにある。たとえば、図9において、周波数f(m)に相当する第m番目の測定ポイントにおけるスペクトル強度S(m)の値は、同じ周波数f(m)をもった参照信号との相関の程度を示す値ということになる。結局、単位区間di内の音響信号について、図9に示すようなフーリエスペクトルを求めるためには、この単位区間di内の音響信号を、周波数f(0)〜f(M−1)をもった個々の参照信号と比較し、それぞれの相関の程度を、スペクトル強度S(0)〜S(M−1)として求めればよい。
【0047】
このような相関を求める演算の基本手法を、図10を参照しながら説明する。図10の上段に示す信号波形は、フーリエ変換の対象となる音響信号の波形であり、図10の下段に示す信号波形は、第m番目の周波数f(m)をもった参照信号(この例では余弦関数)の波形である。いずれの信号波形も、基準時刻t=t0を時間軸の基準としており、その振幅値は、−1〜+1の範囲内の値をとるように規格化されている。さて、上段のグラフの時間軸上に設定した単位区間di内に含まれる音響信号波形と、下段のグラフに示された周波数f(m)をもった参照信号との相関を示す値、すなわち、周波数f(m)におけるスペクトル強度S(m)は、図11に示すような式によって求めることができる。この式を用いた変換はコサイン変換(フーリエ変換における虚数成分を考慮しない変換)と呼ばれている。実はフーリエ変換を示す式は図12のようになるが、ここでは便宜上、まず図11のコサイン変換を示す式について説明する。
【0048】
この図11の式で、右辺のA(h+k)なる項は、音響信号の第i番目の単位区間di内の第k番目(k=0,1,2,…,K−1)のサンプルの振幅値を示している。図10の上段のグラフでは、基準時刻t0から区間開始時刻tsに至るまでの時間Δth内に含まれるサンプル数がhであり、区間開始時刻tsから数えて第k番目のサンプルは、基準時刻t0から数えると第(h+k)番目のサンプルということになる。よって、基準時刻t0から数えて第(h+k)番目のサンプルの振幅値はA(h+k)であり、区間開始時刻tsから当該サンプルに至るまでの時間をΔtkとすれば、基準時刻t0から当該サンプルに至るまでの時間は(Δth+Δtk)ということになる。
【0049】
また、この図11の式の右辺のcos(2π・f(m)・(Δth+Δtk))なる項は、周波数f(m)の参照信号(余弦関数)の上記サンプルに相当する位置の振幅値を示している。すなわち、図10の下段のグラフにおいて、基準時刻t0から時間(Δth+Δtk)だけ隔たった位置(上段のグラフの第(h+k)番目のサンプルと同じ位置)における参照信号の振幅値ということになる。右辺において項A(h+k)と、項cos(2π・f(m)・(Δth+Δtk))との積が求められているのは、この時間軸上の特定の位置における両者の相関を求めるためである。単位区間di内には、全部でK個のサンプルが含まれているので、この全K個のサンプルについて同様に相関を示す値を求め、これらの総和を計算する。図11に示す式におけるΣ記号は、k=0,1,2,…,(K−1)についての総和を示しており、右辺頭の(1/K)は、サンプル数Kによる割り算を行うことにより相関の平均を求めるためのものである。前述のように、音響信号の振幅値も、参照信号の振幅値も、いずれも−1〜+1の範囲内の値をとるように規格化されているので、相関の程度が大きいほど、スペクトル強度S(m)の値は大きくなる。したがって、得られたスペクトル強度S(m)の値は、単位区間di内の音響信号波形に含まれる周波数f(m)の成分の強度を示すものになる。
【0050】
一方、フーリエ変換では、図11に示す式の代わりに、図12に示す式が用いられる。この図12に示す式の右辺のW(k)なる項は、区間長Lにわたって作用させる重み関数であり、単位区間di内の第k番目のサンプル(基準時刻t0から数えて第(h+k)番目のサンプル)の振幅値A(h+k)に対する重みづけを示すものである。この重み関数W(k)については、§2で述べたとおりである。一方、右辺のexp(−j2πf(m)・(h+k)/F)なる項は、図12にも示されているとおり、cos(2π・f(m)・(h+k)/F)−jsin(2π・f(m)・(h+k)/F)なる形に展開され、余弦関数の振幅値を実数軸に、正弦関数の振幅値を虚数軸にとった三角関数の複素強度を示すものである。ここで、Fはサンプリング周波数であるから、(h+k)/F=Δth+Δtkとなり、余弦関数の項は図11に示す式における余弦関数の項と同じになる。結局、図11に示すコサイン変換の式では、余弦関数との相関のみを考慮していたのに対し、図12に示すフーリエ変換の式では、余弦関数との相関と正弦関数との相関との双方を考慮することができ、音響信号と参照信号との間の位相のずれによる影響を解消することができる。また、図12に示す式では、上述のように重み関数W(k)を乗じることにより、隣接する単位区間との間の差をより強調することができる。
【0051】
こうして図12に示す式を用いることにより、第m番目の周波数f(m)についてのスペクトル強度S(m)を求めることができるので、m=0,1,2,…,(M−1)のすべてについて同様の演算を行えば、図9に示すようなフーリエスペクトルが得られることになる。ただ、従来の一般的なフーリエ変換では、上述したように、M個の測定ポイントは線形尺度の周波数軸上に等間隔に定義されており、たとえば、図13に示すように、f(m)=F・m/M(ただし、m=0,1,2,…,M−1)のように設定される。具体的には、サンプリング周波数F=22.05kHz、M=1024の場合であれば、図13の表に示されているような周波数f(m)をもったM個の測定ポイントが定義されることになる(実際には、サンプリング定理により、サンプリング周波数Fの1/2を越える周波数部分については、正しいスペクトル強度は求められない)。このように、線形尺度の周波数軸上に等間隔に測定ポイントを定義して求めたフーリエスペクトルを、MIDIデータのような非線形特性を有する符号系への変換に利用すると、図6に示すように、低周波領域ではノートナンバーの歯抜けが生じ、高周波領域ではあまりに冗長な周波数精度で演算結果が得られることになり、極めて非効率的であることは既に述べたとおりである。
【0052】
そこで本実施形態では、たとえば、図14に示すように、
f(m)=440・10γ(n)
なる式(n=0,1,2,…,127)によって、対数尺度の周波数軸上に等間隔となるように、合計128個の測定ポイントを定義している。ここで、nはMIDIデータのノートナンバーであり、
γ(n)=(n−69)・log 2/12
なる式が成り立つ。ここで、「12」は1オクターブ(周波数が2倍になる幅)に含まれる半音の数に相当する。図14の表は、ノートナンバーnと、γ(n)と、f(m)との関係を示している。図示のとおり、ノートナンバー69(ピアノの鍵盤中央の「ラ音(A3音」に相当)の場合、γ(n)=0となり、周波数f(m)=440Hzとなっている。周波数f(m)の値は等比数列をなし、対数尺度の周波数軸上で等間隔となっている。
【0053】
結局、図13の表に示されているような従来の一般的なフーリエ変換における測定ポイントを用いる代わりに、本発明では、図14の表に示されているような測定ポイントを用いてスペクトル演算を行うようにしたため、符号化に必要な周波数値についてのみ必要な演算が行われるようになる。本発明の最終目的は、フーリエスペクトルを得ることではなく、音響信号を符号化することであり、しかも符号化に必要な周波数(用いる符号に対応する周波数)は予め定まっている。そこで、この予め定まっている周波数の成分(図14の表のf(m)欄に示された周波数成分)を求める演算だけを行うことにより演算効率を高めよう、という思想が、本発明の基本的技術思想である。
【0054】
もっとも、一般的なフーリエ変換を行う場合、高速フーリエ変換(FFT)の演算手法を利用して、演算時間の短縮化を図る方法が採られる。このFFTの演算手法では、M個の測定ポイントが線形周波数軸上に等間隔に定義され、かつ、単位区間内のサンプル数をKとした場合に、M=Kに設定することが前提となる。このため、本発明に係る方法には、FFTの演算手法を利用することはできない。しかしながら、サンプリング周波数F=22.05kHz、単位区間内のサンプル数K=1024に設定して、図12の式に基いて本発明に係るフーリエ変換を実行したところ、従来のFFTの演算手法を利用したフーリエ変換(低周波領域のノートナンバーに歯抜けが生じる)に要する時間の約2倍ほどの演算時間で演算が完了した。したがって、本発明に係る方法は、実用上、十分に利用価値がある。
【0055】
また、図14に示す例では、MIDIデータのノートナンバーn=0〜127の範囲をカバーするため、全128個の測定ポイントを設定しているが、再生用のMIDI音源によっては、必ずしもこれらすべてのノートナンバーは必要ではないので、用いるMIDI音源に応じて必要なノートナンバーについてのスペクトル強度演算だけを行うようにすれば、演算時間を更に短縮させることができる。たとえば、再生用のMIDI音源としてピアノの音源を用いる場合、一般的なピアノの最も左側の鍵盤はノートナンバーn=21、最も右側の鍵盤はノートナンバーn=108であるから、ノートナンバーn=21〜108の範囲内について、スペクトル強度演算を行うだけで足りる。更に、たとえば、ハ長調のみを用いて符号化するという限定事項を付加すれば、ピアノの黒鍵に相当するノートナンバーは不要になるので、演算時間を更に短縮させることも可能である。
【0056】
以上、本発明に係る音響信号の符号化方法の基本的な手法を説明したが、本願発明者は、上述の手法に細かな改良を施すことにより、更に良好な結果が得られることを見出だした。すなわち、図10に示すような位相関係のもとで音響信号と参照信号との相関を求める代わりに、図15に示すような位相関係のもとで相関を求めるのである。両者の相違点は、前者では、参照信号の時間軸上の基準点が基準時刻t=t0に設定されているのに対し、後者では、参照信号の時間軸上の基準点が区間開示時刻tsに設定されている点である。別言すれば、前者では、音響信号と参照信号との位相関係は固定されており、いずれの単位区間についての演算を行う場合でも、この固定された位相関係での相関がとられることになる。これに対し、後者では、音響信号と参照信号との位相関係は、個々の単位区間についての演算を行うごとに変動することになる。たとえば、図15において、単位区間diについての参照信号は図示のとおりの位相を有しているが、これに後続する単位区間d(i+1)についての参照信号は、図示されている参照信号の位相を若干右へずらしたものになる。
【0057】
図10に示すような位相関係のもとで相関を求める場合には、前述したように図12に示す式が用いられる。これに対して、図15に示すような位相関係のもとで相関を求める場合には、図16に示す式を用いればよい。両者の相違点は、前者における指数関数内の(h+k)なる項をhに置き換えた点である。これは、図15の下段に示されているように、参照信号の時間軸上の基準点が区間開始時刻tsとなったため、三角関数内の時間項がΔtkとなるためである。
【0058】
本願発明者は、同一のヴォーカル音響信号に対して、図10に示す位相関係のもとでスペクトル強度を求める強度演算を行うことにより得られたMIDI符号データと、図15に示す位相関係のもとで強度演算を行うことにより得られたMIDI符号データとを比較してみた。その結果、概して、後者のMIDI符号データの方がもとの音響信号を正確に表現していることが判明した。その理由についての詳細な解析は行っていないが、おそらく参照信号の時間軸上の基準点を個々の単位区間ごとに移動させてゆくと、各単位区間ごとに誤った相関を示す確率が分散され、全体として正しい符号化が行われるものと考えられる。もちろん、もとの音響信号が、正確な正弦波のような場合は、むしろ図10に示すような固定された位相関係のもとで強度演算を行う方が正確な符号化が行われるものと予想されるが、ヴォーカル音響信号のように、不規則な信号波形に対しては、図15に示すような変動する位相関係のもとで強度演算を行う方が、相関の検出エラーが分散されることになり、より適した符号化が行われるものと考えられる。
【0059】
§4. 符号コードの統合処理
上述の§2で述べたように、部分的に重複する区間設定を行った場合、作成される符号コードの数はかなり増えることになる。ここでは、最終的に作成される符号コードの数をできるだけ削減するために効果的な統合処理を説明する。
【0060】
たとえば、図17(a) に示すような音符で示される符号コードが作成された場合を考える。図示の例では、すべての符号コードが八分音符から構成されている。これは、区間長Lが一定であるため、作成される個々の符号コードも同一の長さになるためである。しかしながら、この図17(a) に示す音符群は、図17(b) に示すように書き直すことができる。すなわち、同じ音階を示す音符が複数連続して配置されていた場合には、この複数の音符を1つの音符に統合することができる。別言すれば、複数の単位区間に跨がった音符によって、個々の単位区間ごとの音符を置換することができる。
【0061】
この図17に示す例では、同じ音階の音符のみを統合したが、統合対象となる音符は、必ずしも同じ音階の音符に限定されるものではなく、ある程度の類似性をもった音符を統合対象としてかまわない。たとえば、互いに1音階の差しかない一連の音符を統合対象として、1つの音符に置換することもできる。この場合は、たとえば、一連の音符の中で音階の低い方の音符によって置換すればよい。一般的に拡張すれば、隣接する複数の単位区間について、所定の条件下で互いに類似する代表符号コードがある場合、これら類似する代表符号コードを、複数の単位区間に跨がった統合符号コードに置換することにより、音符数を削減することが可能になる。
【0062】
なお、図17では、音符を統合する例について、符号コードの統合処理の概念を説明したが、本発明に係る符号化処理によって作成される符号コードには、それぞれ強度を示すデータ(MIDIデータの場合はベロシティー)が付加されている。したがって、符号コードを統合した場合、強度を示すデータも統合する必要がある。ここで、統合対象となる符号コードに、それぞれ異なる強度データが定義されていた場合には、たとえば、最も大きな強度データを統合後の符号コードについての強度データと定めるようにすればよい。ただ、MIDIデータの場合、2つの符号コードを統合する際に、先行する符号コードの強度に比べて、後続する符号コードの強度がかなり大きい場合、これら2つの符号コードを統合すると不自然になる。これは、通常のMIDI音源の再生音は、楽器の演奏音から構成されており、音の強度が時間とともに減衰してゆくのが一般的だからである。したがって、先行する符号コードの強度に比べて、後続する符号コードの強度が小さい場合には、1つの統合符号コードに置換しても不自然さは生じないが、逆の場合には、不自然さが生じることになる。そこで、2つの符号コードの強度差が所定の基準以上であり、かつ、先行する符号コードの強度に比べて、後続する符号コードの強度が大きい場合には、統合を行わない、というような条件を設定しておくのが好ましい。
【0063】
ところで、一般的なMIDI規格では、符号コードを複数のトラックに分けて収録することができる。したがって、本発明において作成された符号コードも、実用上は複数のトラックに収録されることになる。たとえば、図3(b) には、3つのトラックT1〜T3に分けて代表符号コード(図示の例では音符)が収録された状態が示されている。この場合、同一トラック上に隣接して配置された代表符号コードが所定の類似条件を満足する場合に、この隣接配置された代表符号コードを単一の代表符号コードに統合する処理を行うことになる。
【0064】
上述のように、符号コードの統合処理が行われると、符号コードの数を低減させるメリットが得られるので、できる限り統合処理が促進されるような配慮を行うのが望ましい。そこで、複数の代表符号コードを複数のトラックに分配して配置する際に、同一トラック上に隣接して配置される代表符号コードが類似条件を満足する確率が高くなるように、分配の順序を調整するようにするのが好ましい。具体的には、各符号コードを周波数に基いてソートしてから各トラックに収容すればよい。たとえば、図3(b) に示すように、3つの符号データを3個のトラックT1,T2,T3に分配する場合、3つのうち最も周波数の低いものをトラックT1へ、次に周波数の低いものをトラックT2へ、最も周波数の高いものをトラックT3へ、それぞれ収容するように分配方法を決めておけば、周波数に全く無関係に分配した場合に比べて、統合対象となる音符が出現する確率は向上すると考えられる。
【0065】
また、図18の例に示すように、信号区間の再編成処理を行うと、符号コードの統合処理を更に促進させることができる。たとえば、図18(a) に示すように、1つのトラック上に5つの符号コード(ノートナンバーのみ示す)n3,n1,n2,n1,n3が配置されていた場合を考える。ここでは、矩形で示された各符号コードの横幅が当該符号コードの信号区間長を示し、高さがその信号強度を示している。ここでは、次の4つの段階▲1▼〜▲4▼により、信号区間の再編成を行っている。
【0066】
段階▲1▼:信号強度が所定のレベル以下で、かつ、信号区間長が所定の長さ以下であるような符号コードを削除する。具体的には、図18(a) における第3番目の符号コードn2がこの条件に該当したとすれば、これを削除することにより図18(b) に示すような状態になる。
【0067】
段階▲2▼:個々の符号コードの信号区間長を、隣接する符号コードに重ならない範囲内で、所定の長さだけ右方に延長する。具体的には、図18(b) に示す4つの符号コードの信号区間長が延長され、図18(c) に示すような状態になる。
【0068】
段階▲3▼:隣接配置された符号コードが所定の類似条件を満たしていれば、これを統合する。これは上述した統合処理であり、具体的には、図18(c) における第2番目の符号コードn1と第3番目の符号コードn1とが統合され、図18(d) に示すように、両者を連結した信号区間を有する統一符号コードn1が作成される。
【0069】
段階▲4▼:信号区間長が所定の長さ以下であるような符号コードを削除する。ここでは、この基準となる所定の長さを段階▲1▼の所定の長さよりも大きく設定しているため、図18(d) に示す第1番目の符号コードn3が削除され、最終的に図18(e) に示すような状態になる。
【0070】
以上のような信号区間の再編成処理を行うことにより、最終的に2つの符号コードのみが残ったことになる。
【0071】
【発明の効果】
以上のとおり本発明に係る符号化方法によれば、MIDIデータのような非線形な符号データへの変換を効率よく行うことが可能になる。
【図面の簡単な説明】
【図1】本発明に係る音響信号の符号化方法の基本原理を示す図である。
【図2】図1(c) に示す強度グラフに基いて作成された符号コードを示す図である。
【図3】時間軸上に部分的に重複するように単位区間設定を行うことにより作成された符号コードを示す図である。
【図4】時間軸上に部分的に重複するような単位区間設定の具体例を示す図である。
【図5】周波数軸を線形尺度で表示したフーリエスペクトルの一例を示すグラフである。
【図6】周波数軸を対数尺度で表示したフーリエスペクトルの一例を示すグラフである。
【図7】周波数軸を対数尺度で表示したフーリエスペクトルとノートナンバーとの対応関係を示すグラフである。
【図8】フーリエスペクトルを得る演算のための諸設定を示す図である。
【図9】周波数軸上に定義されたM個の測定ポイントについて求められたスペクトル強度を示すグラフである。
【図10】フーリエ変換を用いてフーリエスペクトルを得るための第1の演算手法を示す図である。
【図11】所定の周波数f(m)におけるスペクトル強度S(m)を求めるための基本式を説明する図である。
【図12】所定の周波数f(m)におけるスペクトル強度S(m)を求めるための第1の式を説明する図である。
【図13】線形尺度の周波数軸上に等間隔に定義された測定ポイントの周波数f(m)の具体的な値を示す図表である。
【図14】対数尺度の周波数軸上に等間隔に定義された測定ポイントの周波数f(m)の具体的な値を示す図表である。
【図15】フーリエ変換を用いてフーリエスペクトルを得るための第2の演算手法を示す図である。
【図16】所定の周波数f(m)におけるスペクトル強度S(m)を求めるための第2の式を説明する図である。
【図17】単位区間の統合処理により符号データの量を削減した例を示す図である。
【図18】信号区間再編成処理により符号データの量を削減した例を示す図である。
【符号の説明】
A…複素強度
A(h+k)…基準時刻t0から数えて第(h+k)番目のサンプルの振幅値
d1〜d5…単位区間
E…実効強度
e(i,j)…符号コードn(i,j)の実効強度
F…サンプリング周波数
f…周波数
f(m)…第m番目の測定ポイントの周波数
h…第i番目の単位区間の区間開始時刻tsと基準時刻t0との間に含まれるサンプル数
K…1単位区間内のサンプル数
k…1単位区間内の着目サンプル番号
L…単位区間の区間長
ΔL…オフセット長
M…測定ポイントの数
m…測定ポイントの番号(m=0,1,2,…,M−1)
n,n1,n2,n3…ノートナンバー
n(i,j)…単位区間diについて抽出された第j番目の符号コード
S(m)…第m番目の測定ポイントにおけるスペクトル強度
T1〜T3…トラック
t1〜t6…時刻
t0…基準時刻
te…第i番目の単位区間diの区間終了時刻
ts…第i番目の単位区間diの区間開始時刻
Δth,Δtk…時間幅
Claims (9)
- 時系列の強度信号として与えられる音響信号を符号化するための符号化方法であって、
符号化対象となる音響信号の時間軸上に複数の単位区間を設定する区間設定段階と、
対数尺度の周波数軸上に互いに等間隔となるように複数M個の測定ポイントを離散的に設定するとともに、前記M個の測定ポイントにそれぞれ対応する周波数値を示す合計M個の符号コードを定める符号定義段階と、
個々の単位区間ごとに、当該単位区間内の音響信号に含まれる前記M個の測定ポイントに相当する周波数成分のスペクトル強度を求める強度演算段階と、
前記強度演算段階において求めたスペクトル強度に基いて、個々の単位区間ごとに、M個の全符号コードの中から当該単位区間を代表するP個の代表符号コードを抽出し、これら抽出した代表符号コードおよびそのスペクトル強度によって、個々の単位区間の音響信号を表現する符号化段階と、
を有し、
前記符号化段階で、各単位区間について抽出された複数P個の代表符号コードを複数のトラックに分配して配置し、同一トラック上に隣接して配置された代表符号コードが所定の類似条件を満足する場合には、この隣接配置された代表符号コードを単一の代表符号コードに統合する処理を行うことを特徴とする音響信号の符号化方法。 - 請求項1に記載の符号化方法において、
複数P個の代表符号コードを複数のトラックに分配して配置する際に、同一トラック上に隣接して配置される代表符号コードが類似条件を満足する確率が高くなるように、分配の順序を調整することを特徴とする音響信号の符号化方法。 - 請求項1または2に記載の符号化方法において、
符号定義段階で、複数M個の符号コードとしてMIDIデータで利用されるノートナンバーを用い、
符号化段階で、個々の単位区間の音響信号を、代表符号コードとして抽出されたノートナンバーと、そのスペクトル強度に基いて決定されたベロシティーと、当該単位区間の長さに基いて決定されたデルタタイムと、を示すデータからなるMIDI形式の符号データによって表現することを特徴とする音響信号の符号化方法。 - 請求項1〜3のいずれかに記載の符号化方法において、
強度演算段階で、周波数f(m)に相当する第m番目の測定ポイントにおけるスペクトル強度S(m)を演算する際に、各測定ポイントのそれぞれに相当する周波数をもったM個の正弦関数および余弦関数との相関を求める演算を行うことを特徴とする音響信号の符号化方法。 - 請求項1〜4のいずれかに記載の符号化方法において、
強度演算段階で、単位区間の区間長にわたる重みづけを定義した重み関数を用意し、単位区間内の音響信号に前記重み関数を乗じることによりスペクトル強度を求めるようにしたことを特徴とする音響信号の符号化方法。 - 請求項1〜5のいずれかに記載の符号化方法において、
区間設定段階で、隣接する単位区間が時間軸上で部分的に重複するような設定を行うことを特徴とする音響信号の符号化方法。 - 請求項1〜6のいずれかに記載の符号化方法において、
符号化対象となる音響信号を所定のサンプリング周波数Fでサンプリングし、第x番目のサンプルの振幅値をA(x)とする音響データとして取り込み、この取り込んだ音響データに対して各単位区間を設定するようにし、
強度演算段階で、第h番目のサンプルからはじまり合計K個のサンプルを含む単位区間について、周波数f(m)に相当する第m番目の測定ポイントにおけるスペクトル強度S(m)を演算する際に、所定の重み関数W(k)を用いて、
S(m)=(1/K)・Σ k=0〜(K−1) (W(k)
・A(h+k)・exp(−j2πf(m)・(h+k)/F))
なる式を用いることを特徴とする音響信号の符号化方法。 - 請求項1〜6のいずれかに記載の符号化方法において、
符号化対象となる音響信号を所定のサンプリング周波数Fでサンプリングし、第x番目のサンプルの振幅値をA(x)とする音響データとして取り込み、この取り込んだ音響データに対して各単位区間を設定するようにし、
強度演算段階で、第h番目のサンプルからはじまり合計K個のサンプルを含む単位区間について、周波数f(m)に相当する第m番目の測定ポイントにおけるスペクトル強度S(m)を演算する際に、所定の重み関数W(k)を用いて、
S(m)=(1/K)・Σ k=0〜(K−1) (W(k)
・A(h+k)・exp(−j2πf(m)・k/F))
なる式を用いることを特徴とする音響信号の符号化方法。 - 請求項1〜8のいずれかに記載の符号化方法を実行する音響信号の符号化のためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28345398A JP4037542B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28345398A JP4037542B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000099009A JP2000099009A (ja) | 2000-04-07 |
JP4037542B2 true JP4037542B2 (ja) | 2008-01-23 |
Family
ID=17665751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28345398A Expired - Lifetime JP4037542B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4037542B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002119912A (ja) | 2000-10-12 | 2002-04-23 | Nec Saitama Ltd | 複合音響アクチュエータ駆動回路及び携帯情報端末 |
JP4662406B2 (ja) * | 2001-07-05 | 2011-03-30 | 大日本印刷株式会社 | 周波数解析方法および音響信号の符号化方法 |
JP4568536B2 (ja) | 2004-03-17 | 2010-10-27 | ソニー株式会社 | 測定装置、測定方法、プログラム |
DE102004049517B4 (de) * | 2004-10-11 | 2009-07-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Extraktion einer einem Audiosignal zu Grunde liegenden Melodie |
DE102004049457B3 (de) * | 2004-10-11 | 2006-07-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Verfahren und Vorrichtung zur Extraktion einer einem Audiosignal zu Grunde liegenden Melodie |
US20090027648A1 (en) * | 2007-07-25 | 2009-01-29 | Asml Netherlands B.V. | Method of reducing noise in an original signal, and signal processing device therefor |
JP5879813B2 (ja) * | 2011-08-17 | 2016-03-08 | 大日本印刷株式会社 | 複数音源の識別装置および複数音源に連動する情報処理装置 |
-
1998
- 1998-09-18 JP JP28345398A patent/JP4037542B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000099009A (ja) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1144369A (zh) | 音乐伴奏演奏装置的自动音调调整 | |
JP4037542B2 (ja) | 音響信号の符号化方法 | |
JP4132362B2 (ja) | 音響信号の符号化方法およびプログラム記録媒体 | |
JP3795201B2 (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
Modegi et al. | Proposals of MIDI coding and its application for audio authoring | |
JP4331289B2 (ja) | 音響信号の符号化方法 | |
JP2001005450A (ja) | 音響信号の符号化方法 | |
JP4268328B2 (ja) | 音響信号の符号化方法 | |
JP3958841B2 (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JPH1173200A (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JP4473979B2 (ja) | 音響信号の符号化方法および復号化方法ならびに当該方法を実行するプログラムを記録した記録媒体 | |
Modegi | Multi-track MIDI encoding algorithm based on GHA for synthesizing vocal sounds | |
JP3776782B2 (ja) | 音響信号の符号化方法 | |
JP4156269B2 (ja) | 時系列信号の周波数解析方法および音響信号の符号化方法 | |
JP3935745B2 (ja) | 音響信号の符号化方法 | |
JP4156252B2 (ja) | 音響信号の符号化方法 | |
JP2002244691A (ja) | 音響信号の符号化方法 | |
JP4156268B2 (ja) | 時系列信号の周波数解析方法および音響信号の符号化方法 | |
JP4662406B2 (ja) | 周波数解析方法および音響信号の符号化方法 | |
Ding | Violin vibrato tone synthesis: Time-scale modification and additive synthesis | |
JP4580548B2 (ja) | 周波数解析方法 | |
JP4398049B2 (ja) | 時系列信号の解析方法および音響信号の符号化方法 | |
JP4697919B2 (ja) | 音響信号の符号化方法 | |
JP4662407B2 (ja) | 周波数解析方法 | |
JP2002123296A (ja) | 音響信号の符号化方法および分離方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070731 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070927 |
|
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: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071101 |
|
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: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131109 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term |