JP2001148633A - 音響信号の符号化方法 - Google Patents

音響信号の符号化方法

Info

Publication number
JP2001148633A
JP2001148633A JP32929799A JP32929799A JP2001148633A JP 2001148633 A JP2001148633 A JP 2001148633A JP 32929799 A JP32929799 A JP 32929799A JP 32929799 A JP32929799 A JP 32929799A JP 2001148633 A JP2001148633 A JP 2001148633A
Authority
JP
Japan
Prior art keywords
frequency
representative
periodic function
section
data
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.)
Pending
Application number
JP32929799A
Other languages
English (en)
Inventor
Toshio Motegi
敏雄 茂出木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP32929799A priority Critical patent/JP2001148633A/ja
Publication of JP2001148633A publication Critical patent/JP2001148633A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

(57)【要約】 【課題】 一般の音響信号をMIDIデータを用いて高
い品質をもって符号化する。 【解決手段】 符号化対象となる音響信号をデータとし
て取り込み、単位区間d内の信号Xについて相関の高い
三角関数を、周期T(n)をもった仮代表周期関数とし
て選出する。単位区間dを周期T(n)の整数m倍ずら
した参照区間r(n)を定義する。単位区間d内の信号
Xの仮代表周期関数に対する位相角θ1(n)と、参照
区間r(n)内の信号Yの仮代表周期関数に対する位相
角θ2(n)と、を求め、両位相角の差Δθ(n)を用
いて、TT(n)=(m・T(n)−T(n)・Δθ
(n)/2π)/mなる演算を行い、周期TT(n)を
求める。この周期TT(n)をもった周期関数を正式の
代表周期関数と定義し、単位区間d内の信号Xを代表さ
せる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は音響信号の符号化方
法に関し、時系列の強度信号として与えられる音響信号
を符号化し、これを復号化して再生する技術に関する。
特に、本発明は一般の音響信号を、MIDI形式の符号
データに効率良く変換する処理に適しており、放送メデ
ィア(ラジオ、テレビ)、通信メディア(CS映像・音
声配信、インターネット配信)、パッケージメディア
(CD、MD、カセット、ビデオ、LD、CD−RO
M、ゲームカセット)などで提供する各種オーディオコ
ンテンツを制作する種々の産業分野や、医療聴診音(た
とえば、心音)などの各種音響信号解析や診断の分野へ
の応用が期待される。
【0002】
【従来の技術】音響信号を符号化する技術として、PC
M(Pulse Code Modulation )の手法は最も普及してい
る手法であり、現在、オーディオCDやDATなどの記
録方式として広く利用されている。このPCMの手法の
基本原理は、アナログ音響信号を所定のサンプリング周
波数でサンプリングし、各サンプリング時の信号強度を
量子化してデジタルデータとして表現する点にあり、サ
ンプリング周波数や量子化ビット数を高くすればするほ
ど、原音を忠実に再生することが可能になる。ただ、サ
ンプリング周波数や量子化ビット数を高くすればするほ
ど、必要な情報量も増えることになる。そこで、できる
だけ情報量を低減するための手法として、信号の変化差
分のみを符号化するADPCM(Adaptive Differentia
l Pulse Code Modulation )の手法も用いられている。
【0003】一方、電子楽器による楽器音を符号化しよ
うという発想から生まれたMIDI(Musical Instrume
nt Digital Interface)規格も、パーソナルコンピュー
タの普及とともに盛んに利用されるようになってきてい
る。このMIDI規格による符号データ(以下、MID
Iデータという)は、基本的には、楽器のどの鍵盤キー
を、どの程度の強さで弾いたか、という楽器演奏の操作
を記述したデータであり、このMIDIデータ自身に
は、実際の音の波形は含まれていない。そのため、実際
の音を再生する場合には、楽器音の波形を記憶したMI
DI音源が別途必要になる。しかしながら、上述したP
CMの手法で音を記録する場合に比べて、情報量が極め
て少なくてすむという特徴を有し、その符号化効率の高
さが注目を集めている。このMIDI規格による符号化
および復号化の技術は、現在、パーソナルコンピュータ
を用いて楽器演奏、楽器練習、作曲などを行うソフトウ
エアに広く採り入れられており、カラオケ、ゲームの効
果音といった分野でも広く利用されている。
【0004】
【発明が解決しようとする課題】上述したように、PC
Mの手法により音響信号を符号化する場合、十分な音質
を確保しようとすれば情報量が膨大になり、データ処理
の負担が重くならざるを得ない。したがって、通常は、
ある程度の情報量に抑えるため、ある程度の音質に妥協
せざるを得ない。もちろん、MIDI規格による符号化
の手法を採れば、非常に少ない情報量で十分な音質をも
った音の再生が可能であるが、上述したように、MID
I規格そのものが、もともと楽器演奏の操作を符号化す
るためのものであるため、広く一般音響への適用を行う
ことはできない。別言すれば、MIDIデータを作成す
るためには、実際に楽器を演奏するか、あるいは、楽譜
の情報を用意する必要がある。
【0005】このように、従来用いられているPCMの
手法にしても、MIDIの手法にしても、それぞれ音響
信号の符号化方法としては一長一短があり、一般の音響
について、少ない情報量で十分な音質を確保することは
できない。ところが、一般の音響についても効率的な符
号化を行いたいという要望は、益々強くなってきてい
る。いわゆるヴォーカル音響と呼ばれる人間の話声や歌
声を取り扱う分野では、かねてからこのような要望が強
く出されている。たとえば、語学教育、声楽教育、犯罪
捜査などの分野では、ヴォーカル音響信号を効率的に符
号化する技術が切望されている。このような要求に応え
るために、特開平10−247099号公報、特開平1
1−73199号公報、特開平11−73200号公
報、特開平11−95753号公報、特願平10−28
3453号明細書、特願平10−283454号明細
書、特願平11−58431号明細書、特願平11−1
77875号明細書には、MIDIデータを利用するこ
とが可能な新規な符号化方法が提案されている。
【0006】これらの方法では、音響信号の時間軸に沿
って複数の単位区間を設定し、各単位区間ごとに相関の
高い所定の周期関数を対応させ、この周期関数に応じた
MIDIデータを作成するという手順が実行される。し
かしながら、これまで提案されてきたこれらの手法で
は、必ずしも原音響信号に忠実な符号化を行うことがで
きず、再生音に歪みが発生するなど品質低下の問題が生
じていた。
【0007】そこで本発明は、MIDIデータのような
符号データへの変換を高い品質をもって行うことが可能
な音響信号の符号化方法を提供することを目的とする。
【0008】
【課題を解決するための手段】(1) 本発明の第1の態
様は、時系列の強度信号として与えられる音響信号を符
号化するための符号化方法において、符号化対象となる
音響信号を、デジタルの音響データとして取り込む入力
段階と、音響データの時間軸上に複数の単位区間を設定
する区間設定段階と、複数通りの標準周波数を設定し、
各標準周波数をもった標準周期関数をそれぞれ定義する
標準周期関数定義段階と、個々の単位区間内の音響デー
タと各標準周期関数との相関を計算し、相関が所定の基
準以上の大きさとなる1つまたは複数の標準周期関数を
仮代表周期関数として選出する仮代表選出段階と、個々
の単位区間について、当該単位区間について選出された
仮代表周期関数の周期の整数倍に相当する時間だけ、当
該単位区間をずらすことにより得られる参照区間を定義
する参照区間定義段階と、個々の単位区間について、当
該単位区間について選出された仮代表周期関数と当該単
位区間内の音響データとの位相差を示す第1の位相角
と、当該単位区間について選出された仮代表周期関数と
当該単位区間についての当該仮代表周期関数の周期の整
数倍だけずれた参照区間内の音響データとの位相差を示
す第2の位相角と、を求め、第1の位相角と第2の位相
角との差に基づいて、当該仮代表周期関数の周期を補正
することにより代表周期関数を求める補正段階と、個々
の単位区間の音響データを、当該単位区間について求め
られた代表周期関数の周波数もしくはこれに近似する所
定の周波数を示す周波数情報を含む符号データによって
表現する符号化段階と、を行うようにしたものである。
【0009】(2) 本発明の第2の態様は、上述の第1
の態様に係る音響信号の符号化方法において、符号化段
階において、個々の単位区間の音響データを、当該単位
区間について求められた代表周期関数の周波数に近似し
た標準周波数を示す周波数情報を含む符号データによっ
て表現するようにしたものである。
【0010】(3) 本発明の第3の態様は、上述の第1
または第2の態様に係る音響信号の符号化方法におい
て、標準周波数として、周波数値が等比級数配列をなす
周波数を設定するようにしたものである。
【0011】(4) 本発明の第4の態様は、上述の第1
〜第3の態様に係る音響信号の符号化方法において、個
々の単位区間について、代表周期関数と当該単位区間内
の音響データとの相関値を計算し、個々の単位区間の音
響データを、当該単位区間について求められた代表周期
関数の周波数もしくはこれに近似する所定の周波数を示
す周波数情報と、当該代表周期関数について計算された
相関値を示す強度情報と、を含む符号データによって表
現するようにしたものである。
【0012】(5) 本発明の第5の態様は、上述の第1
〜第4の態様に係る音響信号の符号化方法において、個
々の単位区間について、代表周期関数と当該単位区間内
の音響データとの位相を計算し、個々の単位区間の音響
データを、当該単位区間について求められた代表周期関
数の周波数もしくはこれに近似する所定の周波数を示す
周波数情報と、当該代表周期関数について計算された位
相を示す位相情報と、を含む符号データによって表現す
るようにしたものである。
【0013】(6) 本発明の第6の態様は、上述の第1
〜第5の態様に係る音響信号の符号化方法において、仮
代表選出段階において、仮代表周期関数の選出基準とし
て、相関値が所定の閾値以上である標準周期関数を選出
する方法、または、相関値の大きい順に所定数の標準周
期関数を選出する方法を採るようにしたものである。
【0014】(7) 本発明の第7の態様は、上述の第1
〜第6の態様に係る音響信号の符号化方法において、仮
代表選出段階において、音響データのフーリエスペクト
ルにおけるスペクトル強度値に基いて、1つまたは複数
の仮代表周波数を選出するようにしたものである。
【0015】(8) 本発明の第8の態様は、上述の第1
〜第6の態様に係る音響信号の符号化方法において、第
j番目の対象音響データに対する相関が最も大きくなる
標準周期関数を第j番目の仮代表周期関数として選出
し、この第j番目の仮代表周期関数の周期を補正するこ
とにより第j番目の代表周期関数を求め、この第j番目
の代表周期関数からなる信号成分を第j番目の対象音響
データから減じることにより得られる音響データを、第
(j+1)番目の対象音響データとする処理を、j=1
〜P(Pは任意の整数)まで繰り返し実行し、P個の代
表周期関数を選出するようにしたものである。
【0016】(9) 本発明の第9の態様は、上述の第1
〜第8の態様に係る音響信号の符号化方法において、所
定の周期関数と所定区間内の音響データとの相関を計算
する際に、当該周期関数の周期の整数倍に相当する長さ
をもった区間を相関計算対象区間として設定し、当該所
定区間内のうち相関計算対象区間内の部分についてのみ
相関計算を実行するようにしたものである。
【0017】(10) 本発明の第10の態様は、上述の第
1〜第9の態様に係る音響信号の符号化方法において、
個々の周波数をもった周期関数として、それぞれ互いに
位相がπ/2だけ異なる第1の関数および第2の関数を
定義し、第1の関数に対する相関値と第2の関数に対す
る相関値との二乗和平方根値に基づいて当該周期関数に
対する相関を求め、第1の関数に対する相関値と第2の
関数に対する相関値との比率に基づいて当該周期関数に
対する位相を求めるようにしたものである。
【0018】(11) 本発明の第11の態様は、上述の第
1〜第10の態様に係る音響信号の符号化方法におい
て、ある単位区間について、仮代表周期関数の周期Tの
m倍(mは整数)だけずれた位置に参照区間が定義され
ている場合に、第1の位相角と第2の位相角との差Δθ
(ただし、−π≦Δθ≦+π)を用いて、TT=(mT
−T・Δθ/2π)/mなる補正計算によって、代表周
期関数の周期TTを求めるようにしたものである。
【0019】(12) 本発明の第12の態様は、上述の第
11の態様に係る音響信号の符号化方法において、mT
の値が所定の設定値Tmax を超えない範囲内で最大とな
るように、仮代表周期関数の周期Tに応じて異なる整数
mを設定するようにしたものである。
【0020】(13) 本発明の第13の態様は、上述の第
1〜第12の態様に係る音響信号の符号化方法におい
て、時間軸上で近接配置された複数の符号データに含ま
れる周波数情報、強度情報、位相情報なる3つの要素の
うちのいくつかが、それぞれ所定の許容範囲内で近似し
ている場合、これら複数の符号データを1つの符号デー
タに統合する処理を行うようにしたものである。
【0021】(14) 本発明の第14の態様は、上述の第
1〜第13の態様に係る音響信号の符号化方法におい
て、同一の単位区間について複数の代表周期関数が求ま
っている場合に、これら各代表周期関数と当該単位区間
内の音響データとの位相をそれぞれ計算し、一方の周波
数が他方の周波数の整数Z倍の関係にあり、かつ、それ
ぞれについて計算された位相が整数Zにより一意的に定
まる特定の条件を満たすような2つの代表周期関数が存
在する場合に、周波数の高い代表周期関数に関する符号
データを削除する処理を行うようにしたものである。
【0022】(15) 本発明の第15の態様は、上述の第
1〜第14の態様に係る音響信号の符号化方法におい
て、楽譜のノートナンバーに対応する標準周波数を予め
設定しておき、符号化段階において、代表周期関数の周
波数を、これに近似した標準周波数に対応するノートナ
ンバーによって表現し、MIDIデータにより符号化を
行うようにしたものである。
【0023】(16) 本発明の第16の態様は、上述の第
1〜第15の態様に係る音響信号の符号化方法をコンピ
ュータに実行させるためのプログラムを、コンピュータ
読み取り可能な記録媒体に記録するようにしたものであ
る。
【0024】
【発明の実施の形態】以下、本発明を図示する実施形態
に基づいて説明する。
【0025】§1.本発明に係る音響信号の符号化方法
の基本原理 はじめに、本発明に係る音響信号の符号化方法の基本原
理を述べておく。この基本原理は、前掲の各公報あるい
は明細書に開示されているので、ここではその概要のみ
を簡単に述べることにする。
【0026】いま、図1(a) に示すように、時系列の強
度信号としてアナログ音響信号が与えられたものとしよ
う。図示の例では、横軸に時間t、縦軸に振幅(強度)
をとってこの音響信号を示している。ここでは、まずこ
のアナログ音響信号を、デジタルの音響データとして取
り込む処理を行う。これは、従来の一般的なPCMの手
法を用い、所定のサンプリング周期でこのアナログ音響
信号をサンプリングし、振幅を所定の量子化ビット数を
用いてデジタルデータに変換する処理を行えばよい。こ
こでは、説明の便宜上、PCMの手法でデジタル化した
音響データの波形も、図1(a) のアナログ音響信号と同
一の波形で示すことにする。
【0027】続いて、この符号化対象となる音響信号の
時間軸上に、複数の単位区間を設定する。図1(a) に示
す例では、時間軸t上に等間隔に6つの時刻t1〜t6
が定義され、これら各時刻を始点および終点とする5つ
の単位区間d1〜d5が設定されている(より実用的な
区間設定方法については後述する)。
【0028】こうして単位区間が設定されたら、各単位
区間ごとの音響信号(ここでは、区間信号と呼ぶことに
する)について、それぞれ代表周波数を選出する。各区
間信号には、通常、様々な周波数成分が含まれている
が、その中でも振幅の大きな周波数成分を代表周波数と
して選出すればよい。代表周波数は1つだけ選出しても
よいが、複数の代表周波数を選出した方が、より精度の
高い符号化が可能になる。代表周波数を選出する方法の
ひとつは、フーリエ変換を利用する方法である。すなわ
ち、各区間信号ごとに、それぞれフーリエ変換を行い、
スペクトルを作成する。このとき、ハニング窓(Hannin
g Window )などの重み関数で、切り出した区間信号にフ
ィルタをかけてフーリエ変換を施す。一般にフーリエ変
換は、切り出した区間前後に同様な信号が無限に存在す
ることが想定されているため、重み関数を用いない場
合、作成したスペクトルに高周波ノイズがのることが多
い。ハニング窓関数など区間の両端の重みが0になるよ
うな重み関数を用いると、このような弊害をある程度抑
制できる。ハニング窓関数H(k)は、単位区間長をL
とすると、k=1…Lに対して(kは単位区間内の位置
を示すパラメータ)、 H(k)=0.5−0.5*cos(2πk/L) で与えられる関数である。
【0029】図1(b) には、単位区間d1について作成
されたスペクトルの一例が示されている。このスペクト
ルでは、横軸上に定義された周波数fによって、単位区
間d1についての区間信号に含まれる周波数成分(0〜
F:ここでFはサンプリング周波数)が示されており、
縦軸上に定義された複素強度Aによって、各周波数成分
ごとの複素強度が示されている。
【0030】次に、このスペクトルの周波数軸fに対応
させて、離散的に複数X個の符号コードを定義する。別
言すれば、周波数軸f上に、複数X通りの周波数を設定
することになる。この例では、符号コードとしてMID
Iデータで利用されるノートナンバーnを用いており、
n=0〜127までの128個の符号コードを定義して
いる。ノートナンバーnは、音符の音階を示すパラメー
タであり、たとえば、ノートナンバーn=69は、ピア
ノの鍵盤中央の「ラ音(A3音)」を示しており、44
0Hzの音に相当する。このように、128個のノート
ナンバーには、いずれも所定の設定周波数が対応づけら
れるので、スペクトルの周波数軸f上の所定位置に、そ
れぞれ128個のノートナンバーnが離散的に定義され
ることになる。
【0031】ここで、ノートナンバーnは、1オクター
ブ上がると、周波数が2倍になる対数尺度の音階を示す
ため、周波数軸fに対して線形には対応しない。すなわ
ち、周波数軸f上に離散的に定義された各ノートナンバ
ーに対応する設定周波数は、個々の周波数値が等比級数
配列をなす周波数ということになる。そこで、ここでは
周波数軸fを対数尺度で表し、この対数尺度軸上にノー
トナンバーnを定義した強度グラフを作成してみる。図
1(c) は、このようにして作成された単位区間d1につ
いての強度グラフを示す。この強度グラフの横軸は、図
1(b) に示すスペクトルの横軸を対数尺度に変換したも
のであり、ノートナンバーn=0〜127が等間隔にプ
ロットされている。一方、この強度グラフの縦軸は、図
1(b) に示すスペクトルの複素強度Aを実効強度Eに変
換したものであり、各ノートナンバーnの位置における
強度を示している。一般に、フーリエ変換によって得ら
れる複素強度Aは、実数部R(余弦関数との相関を示
す)と虚数部I(正弦関数との相関を示す)とによって
表されるが、実効強度Eは、E=(R+I1/
なる二乗和平方根値として演算によって求めることがで
きる。
【0032】こうして求められた単位区間d1の強度グ
ラフは、単位区間d1についての区間信号に含まれる振
動成分について、ノートナンバーn=0〜127に相当
する各振動成分の割合を実効強度として示すグラフとい
うことができる。そこで、この強度グラフに示されてい
る各実効強度に基いて、全128個のノートナンバーの
中からP個のノートナンバーを選択し、このP個のノー
トナンバーnを、単位区間d1を代表する代表符号コー
ドとして抽出する。これは、全128通りの設定周波数
の中から、P個の周波数を代表周波数として選出するこ
とに他ならない。ここでは、説明の便宜上、P=3とし
て、全128個の候補の中から3個のノートナンバーを
代表符号コードとして抽出する場合を示すことにする。
たとえば、「候補の中から強度の大きい順にP個の符号
コードを抽出する」という基準に基いて抽出を行えば、
図1(c) に示す例では、第1番目の代表符号コードとし
てノートナンバーn(d1,1)が、第2番目の代表符
号コードとしてノートナンバーn(d1,2)が、第3
番目の代表符号コードとしてノートナンバーn(d1,
3)が、それぞれ抽出されることになる。
【0033】このようにして、P個の代表符号コードが
抽出されたら、これらの代表符号コードとその実効強度
によって、単位区間d1についての区間信号を表現する
ことができる。たとえば、上述の例の場合、図1(c) に
示す強度グラフにおいて、ノートナンバーn(d1,
1)、n(d1,2)、n(d1,3)の実効強度がそ
れぞれe(d1,1)、e(d1,2)、e(d1,
3)であったとすれば、以下に示す3組のデータ対によ
って、単位区間d1の音響信号を表現することができ
る。 n(d1,1),e(d1,1) n(d1,2),e(d1,2) n(d1,3),e(d1,3)
【0034】以上、単位区間d1についての処理につい
て説明したが、単位区間d2〜d5についても、それぞ
れ別個に同様の処理が行われ、代表符号コードおよびそ
の強度を示すデータが得られることになる。たとえば、
単位区間d2については、 n(d2,1),e(d2,1) n(d2,2),e(d2,2) n(d2,3),e(d2,3) なる3組のデータ対が得られる。このようにして各単位
区間ごとに得られたデータによって、原音響信号を符号
化することができる。
【0035】図2は、上述の方法による符号化の概念図
である。図2(a) には、図1(a) と同様に、原音響信号
について5つの単位区間d1〜d5を設定した状態が示
されており、図2(b) には、各単位区間ごとに得られた
符号データが音符の形式で示されている。この例では、
個々の単位区間ごとに3個の代表符号コードを抽出して
おり(P=3)、これら代表符号コードに関するデータ
を3つのトラックT1〜T3に分けて収容するようにし
ている。たとえば、単位区間d1について抽出された代
表符号コードn(d1,1),n(d1,2),n(d
1,3)は、それぞれトラックT1,T2,T3に収容
されている。もっとも、図2(b) は、上述の方法によっ
て得られる符号データを音符の形式で示した概念図であ
り、実際には、各音符にはそれぞれ強度に関するデータ
が付加されている。たとえば、トラックT1には、ノー
トナンバーn(d1,1),n(d2,1),n(d
3,1)…なる音階を示すデータとともに、e(d1,
1),e(d2,1),e(d3,1)…なる強度を示
すデータが収容されることになる。また、図2(b) に示
す概念図では、音符の横方向の位置によって、個々の単
位区間の時間軸上での位置が示されているが、実際に
は、この時間軸上での位置を正確に数値として示すデー
タが各音符に付加されていることになる。
【0036】なお、ここで採用する符号化の形式として
は、必ずしもMIDI形式を採用する必要はないが、こ
の種の符号化形式としてはMIDI形式が最も普及して
いるため、実用上はMIDI形式の符号データを用いる
のが最も好ましい。MIDI形式では、「ノートオン」
データもしくは「ノートオフ」データが、「デルタタイ
ム」データを介在させながら存在する。「ノートオン」
データは、特定のノートナンバーNとベロシティーVと
を指定して特定の音の演奏開始を指示するデータであ
り、「ノートオフ」データは、特定のノートナンバーN
とベロシティーVとを指定して特定の音の演奏終了を指
示するデータである。また、「デルタタイム」データ
は、所定の時間間隔を示すデータである。ベロシティー
Vは、たとえば、ピアノの鍵盤などを押し下げる速度
(ノートオン時のベロシティー)および鍵盤から指を離
す速度(ノートオフ時のベロシティー)を示すパラメー
タであり、特定の音の演奏開始操作もしくは演奏終了操
作の強さを示すことになる。
【0037】前述の方法では、第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)を、所定の方法で
規格化した値を用いればよい。また、「デルタタイム」
データは、各単位区間の長さに応じて設定すればよい。
【0038】結局、上述した実施形態では、3トラック
からなるMIDI符号データが得られることになる。こ
のMIDI符号データを3台のMIDI音源を用いて再
生すれば、6チャンネルのステレオ再生音として音響信
号が再生される。
【0039】なお、上述の例では、区間信号のフーリエ
スペクトルを求め、その強度値の大きい順にP個の周波
数(ノートナンバー)を選出して代表周波数とする処理
を行っているが、代表周波数の選出には、その他の方法
を用いてもかまわない。たとえば、特願平11−584
31号明細書には、一般化調和解析の手法を用いて代表
周波数の選出を行う例が示されている。この方法の基本
原理は次のとおりである。たとえば、図3(a) に示すよ
うな単位区間dについて、区間信号Xjが与えられてい
るとしよう。ここで、この区間信号Xjについてのフー
リエスペクトルを求め、そのピーク位置に相当する周波
数を代表周波数として選出する。続いて、図3(b) に示
すように、選出された代表周波数をもった周期関数Gj
を定義する。このとき、周期関数Gjの振幅は、上記フ
ーリエスペクトルの代表周波数位置におけるスペクトル
強度に応じたものとなるように設定する。そして、区間
信号Xjと周期関数Gjとの差分信号Xj+1を求める
(たとえば、図3(c) のようになる)。この差分信号X
j+1を新たな区間信号Xjとして取り扱い、同様の処
理をパラメータjをj=1〜Pまで1ずつ増やしながら
P回繰り返し実行すれば、P個の代表周波数を選出する
ことができる。
【0040】また、上述した例では、非常に単純な区間
設定例を述べたが、実際には、より実用的な区間設定を
行うのが好ましい。すなわち、図2(a) に示された例で
は、時間軸t上に等間隔に定義された6つの時刻t1〜
t6を境界として、5つの単位区間d1〜d5が設定さ
れている。このような区間設定に基いて符号化を行った
場合、再生時に、境界となる時刻において音の不連続が
発生しやすい。したがって、実用上は、隣接する単位区
間が時間軸上で部分的に重複するような区間設定を行う
のが好ましい。
【0041】図4(a) は、このように部分的に重複する
区間設定を行った例である。図示されている単位区間d
1〜d4は、いずれも部分的に重なっており、このよう
な区間設定に基いて前述の処理を行うと、図4(b) の概
念図に示されているような符号化が行われることにな
る。この例では、それぞれの単位区間の中心を基準位置
として、各音符をそれぞれの基準位置に配置している
が、単位区間に対する相対的な基準位置は、必ずしも中
心に設定する必要はない。図4(b) に示す概念図を図2
(b) に示す概念図と比較すると、音符の密度が高まって
いることがわかる。このように重複した区間設定を行う
と、作成される符号データの数は増加することになる
が、再生時に音の不連続が生じない自然な符号化が可能
になる。
【0042】図5は、時間軸上で部分的に重複する区間
設定を行う具体的な手法を示す図である。この具体例で
は、音響信号を22kHzのサンプリング周波数でサン
プリングすることによりデジタル音響データとして取り
込み、個々の単位区間の区間長Lを1024サンプル分
(約47msec)に設定し、各単位区間ごとのずれ量
を示すオフセット長ΔLを20サンプル分(約0.9m
sec)に設定したものである。すなわち、任意のiに
対して、第i番目の単位区間の始点と第(i+1)番目
の単位区間の始点との時間軸上での隔たりがオフセット
長ΔLに設定されることになる。たとえば、第1番目の
単位区間d1は、1〜1024番目のサンプルを含んで
おり、第2番目の単位区間d2は、20サンプル分ずれ
た21〜1044番目のサンプルを含んでいることにな
る。時間軸上において、第1番目の単位区間d1の始点
位置に基準点t0を設定すれば、第2番目の単位区間d
2の始点位置はt0+ΔLであり、第3番目の単位区間
d3の始点位置はt0+2・ΔLとなる。もっとも、実
用上は、オフセット長ΔLを512サンプル分程度に設
定しても(別言すれば、区間長Lの半分程度のみを重複
区間としても)、再生時に音の不連続が意識されること
はない。
【0043】§2.代表周波数の具体的な選出方法 上述した基本原理に基く方法では、時系列の強度信号と
して与えられる音響信号が、デジタルの音響データとし
て取り込まれ、この音響データの時間軸上に複数の単位
区間が設定される。そして、各単位区間内の音響データ
(区間信号)に対して、1つまたは複数の代表周波数が
選出され、この代表周波数をもった周期信号(代表周期
関数)によって、当該区間信号が表現されることにな
る。ここで選出される代表周波数は、文字どおり、当該
単位区間内の信号成分を代表する周波数であり、§1で
は、この代表周波数を、区間信号のフーリエスペクトル
に基いて選出する方法および一般化調和解析の手法を利
用して選出する方法を述べた。いずれの方法であって
も、結局は、周波数の異なるいくつかの周期関数を用意
しておき、これら複数の周期関数の中から、当該単位区
間内の音響データに対する相関が高い周期関数を見つけ
出し、この相関の高い周期関数の周波数を代表周波数と
して選出する、という概念は共通している。すなわち、
代表周波数を選出する際には、予め用意された複数の周
期関数と、単位区間内の音響信号との相関を求める演算
を行うことになる。
【0044】そこで、この相関の求め方について、もう
少し具体的な説明を行っておこう。たとえば、図6に示
すように、ある単位区間dについて区間信号Xが与えら
れたとする。ここでは、区間長Lをもった単位区間dに
ついて、サンプリング周波数Fでサンプリングが行われ
ており、全部でw個のサンプル値が得られているものと
し、サンプル番号を図示のように、0,1,2,3,
…,k,…,w−2,w−1としよう(白丸で示す第w
番目のサンプルは、右に隣接する次の単位区間の先頭に
含まれるサンプルとする)。この場合、任意のサンプル
番号kについては、X(k)なる振幅値がデジタルデー
タとして与えられていることになる。
【0045】一方、複数の周期関数としては、図7に示
すような256通りの三角関数が用意されているものと
しよう。これらの三角関数は、同一周波数をもった正弦
波と余弦波との対から構成されており、128通りの標
準周波数f(0)〜f(127)のそれぞれについて、
正弦波および余弦波の対が定義されていることになる。
各三角関数内の変数Fおよびkは、図6に示すように、
区間信号Xについてのサンプリング周波数Fおよびサン
プル番号kに相当する変数である。たとえば、周波数f
(0)についての正弦波は、sin (2πf(0)k/
F)で示され、任意のサンプル番号kを与えると、第k
番目のサンプルと同一時間位置における周期関数の振幅
値が得られる。
【0046】ここでは、128通りの標準周波数f
(0)〜f(127)を、図8に示すような式で定義し
た例を示すことにする。すなわち、第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の音に相当する
ことになる。図8に示す式によって第n番目の標準周波
数f(n)を定義しておけば、n=69を代入すると、
f(n)=440が得られることになる。別言すれば、
図8に示す式によって定義された128通りの標準周波
数f(0)〜f(127)は、MIDIデータにおける
128通りのノートナンバーn=0〜127に対応した
周波数ということになる。
【0047】図9は、ある単位区間dについての区間信
号Xと、第n番目の標準周波数f(n)をもった正弦波
Rnとの相関値を求める原理を示す図である。両者の相
関値A(n)は、図10の第1の演算式によって定義す
ることができる。ここで、X(k)は、図9に示すよう
に、区間信号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とが同一周
波数で逆位相)ならば、積の総和は負の最大値になる。
【0048】同様に、図10の第2の演算式は、区間信
号Xと、第n番目の標準周波数f(n)をもった余弦波
との相関値を求める式であり、両者の相関値はB(n)
で与えられる。なお、相関値A(n)を求めるための第
1の演算式も、相関値B(n)を求めるための第2の演
算式も、最終的に係数2/wが乗ぜられているが、これ
は相関値を規格化するためのものである。すなわち、分
母のwは、単位区間d内に含まれる総サンプル数であ
り、k=0〜w−1の全w個のサンプルについて求めた
総和を、総サンプル数wで割ることにより、1サンプル
分についての平均を求める意味をもっている。一方、分
子の2は、相関値A(n),B(n)が−1〜+1の間
の値となるようにするための定数である。
【0049】区間信号Xと標準周波数f(n)をもった
標準周期関数との総合的な相関は、たとえば、図10の
第3の演算式に示すように、正弦波との相関値A(n)
と余弦波との相関値B(n)との二乗和平方根値E
(n)によって示すことができる。このように、二乗和
平方根値を用いれば、正の相関と負の相関との双方を反
映させた総合的な相関を求めることができる。たとえ
ば、正弦波に対しては正の相関を示し、余弦波に対して
は負の相関を示すような場合、相関値A(n)は正の値
となり、相関値B(n)は負の値となるが、二乗和平方
根値E(n)は、両相関値の絶対値を反映した値とな
る。
【0050】図10に示す演算式は、周期関数として三
角関数を用いた場合の例(別言すれば、波形形状が正弦
波になる関数の例)であるが、本発明を実施する上で用
いる周期関数の波形形状は、正弦波に限定されるもので
はなく、三角波、矩形波、鋸歯状波などの波形形状をも
った周期関数を用いてもかまわない。実用上は、周期関
数として、その波形形状が正弦波、三角波、矩形波、鋸
歯状波になる複数通りの関数を定義しておき、取り込ん
だ音響データの特性に基いて、所定の波形形状をもった
関数を手動(オペレータの指示)により選択的に用いる
ことができるようにしておくのが好ましい。もちろん、
オペレータの選択指示を待たずに、取り込んだ音響デー
タの特性を分析し、最も適した周期関数を自動選択する
ような機能をもたせておくこともできる。
【0051】図11に示す式は、三角関数の代わりに、
標準周波数f(n)をもった一般的な周期関数Rnを用
いた場合の相関を定義する演算式である。相関値A
(n)を求める演算式では、周期関数Rn(k)が用い
られているのに対し、相関値B(n)を求める演算式で
は、周期関数Rn(k+F/4f(n))が用いられて
いるのは、両周期関数は、同じ標準周波数f(n)を有
しているにもかかわらず、互いに位相がπ/2だけ異な
っているためである。上述したように、Fは区間信号X
のサンプリング周波数であり、F/f(n)は、1周期
内のサンプル総数に相当する。したがって、F/4f
(n)は、1/4周期に相当する時間内のサンプル数を
示す値となり、位相差π/2をサンプル番号の単位で示
した値となる。このように、標準周波数f(n)をも
ち、互いに位相がπ/2だけ異なる一対の周期関数につ
いて、それぞれ相関値A(n),B(n)を求めれば、
その二乗和平方根値E(n)が、標準周波数f(n)を
もった周期関数に対する総合的な相関を示すパラメータ
になる。
【0052】フーリエスペクトルの実効強度Eは、図1
0の演算式による二乗和平方根値E(n)に他ならな
い。たとえば、図1(c) に示すグラフには、ノートナン
バーn=0〜127のそれぞれについての実効強度Eが
示されているが、第n番目のノートナンバーnの実効強
度は、図10に示す二乗和平方根値E(n)として求め
られた値である。§1で述べたMIDIデータを利用し
た符号化方法では、この二乗和平方根値E(n)を、M
IDIデータのベロシティーとして用いることになる。
以上のような手法によれば、区間信号Xに含まれている
任意の標準周波数f(n)をもった標準周期関数Rnの
振幅成分を、二乗和平方根値E(n)として得ることが
できる。この二乗和平方根値E(n)の値は、区間信号
Xと標準周波数f(n)を有する標準周期関数Rnとの
総合的な相関を示す値ということができるので、この相
関値の大きな標準周期関数の周波数を代表周波数として
選出すれば、この代表周波数を用いて区間信号Xを符号
化することができる。
【0053】結局、ある1つの単位区間d内の区間信号
Xを符号化するのであれば、次のような手法を採ればよ
い。まず、図7に示すような127通りの標準周波数を
もった標準周期関数をそれぞれ一対ずつ用意する(1つ
の周波数について、互いに位相がπ/2だけ異なる一対
の周期関数を用意する)。このとき、各標準周波数値が
図8に示すような式で定義される等比級数配列となるよ
うな設定をしておくと、ノートナンバーに対応した符号
データを得る上で都合がよい。そして、図10に示す演
算式に基いて、標準周波数f(n)をもった標準周期関
数との相関値A(n),B(n)を求める処理を、n=
0〜127のそれぞれについて行い、それぞれについて
二乗和平方根値E(n)を求める。そして、この二乗和
平方根値E(n)が所定の基準以上の大きさとなる1つ
または複数の標準周波数を代表周波数として選出すれば
よい。なお、ここで「E(n)が所定の基準以上の大き
さとなる」という選出条件は、たとえば、何らかの閾値
を設定しておき、E(n)がこの閾値を越えるような標
準周波数f(n)をすべて代表周波数として選出する、
という絶対的な選出条件を設定してもよいが、たとえ
ば、E(n)の大きさの順に3番目までを選出する、と
いうような相対的な選出条件を設定してもよい。
【0054】§3.位相に関する情報 一般に、周期的な信号には、周波数に関する情報、振幅
(強度)に関する情報、位相に関する情報が含まれてい
る。ところが、§2で述べたような符号化を行うと、区
間信号Xに含まれていた位相に関する情報は失われてし
まう。すなわち、最終的に得られる符号がMIDIデー
タであったとすると、区間信号Xに含まれていた周波数
の情報はノートナンバーとして符号化され、区間信号X
に含まれていた振幅の情報はベロシティー(図10に示
す二乗和平方根値E(n))として符号化されるが、区
間信号Xに含まれていた位相に関する情報は、MIDI
データによっては表現されないことになる。
【0055】しかしながら、実際には、二乗和平方根値
E(n)を求めるための演算過程で、位相に関する情報
は既に得られているのである。すなわち、区間信号Xの
位相は、図10に示す相関値A(n)とB(n)との比
として定義することができる。相関値A(n)は正弦波
との相関の度合いを示す値であり、相関値B(n)は余
弦波との相関の度合いを示す値である。したがって、二
乗和平方根値E(n)は、標準周波数f(n)をもった
標準周期関数Rnとの総合的な相関(位相を考慮しない
相関)を示すパラメータとなるが、相関値の比A(n)
/B(n)は、同じ標準周波数f(n)をもった周期関
数であっても、正弦波に近いか余弦波に近いかの度合い
を示しており、位相を示すパラメータとなる。別言すれ
ば、所定の標準周波数f(n)を有し、互いに位相がπ
/2だけ異なる一対の周期関数を用意し、区間信号Xに
ついて、これら一対の周期関数との相関値A(n),B
(n)を求めれば、このA(n)/B(n)なる比(符
号を考慮した比)が、区間信号X内に含まれている標準
周波数f(n)の成分をもった周期信号の位相を示すパ
ラメータということになる。
【0056】実用上は、位相に関する情報を、位相角と
して表現すると便利である。そこで、ここでは、相関値
の比A(n)/B(n)を利用して、図12に示す演算
式によって、第n番目の標準周波数f(n)をもった標
準周期関数Rnについての位相角θ(n)を定義する。
このような定義を行うと、位相角θ(n)は、必ず0≦
θ(n)<2πの範囲の値をとる。たとえば、図10に
示す演算式を用いて相関値を演算すると、A(n)=
1,B(n)=0なる結果が得られた場合(正弦波に対
して正の最大相関を有し、余弦波に対しては全く相関を
有していない場合)、位相角θ(n)=π/2(正弦波
の位相角に一致)となる。逆に、A(n)=0,B
(n)=1なる結果が得られた場合(余弦波に対して正
の最大相関を有し、正弦波に対しては全く相関を有して
いない場合)、位相角θ(n)=0(余弦波の位相角に
一致)となる。また、A(n)=−1,B(n)=0な
る結果が得られた場合(正弦波に対して負の最大相関を
有し、余弦波に対しては全く相関を有していない場
合)、位相角θ(n)=π3/2となり、A(n)=
0,B(n)=−1なる結果が得られた場合(余弦波に
対して負の最大相関を有し、正弦波に対しては全く相関
を有していない場合)、位相角θ(n)=πとなる。
【0057】このように、各代表周波数を求める際に、
当該代表周波数をもった周期信号(代表周期関数)につ
いての位相角を求めることができるので、最終的な符号
データには、当該代表周波数の値f(n)、当該代表周
波数成分の振幅値E(n)、そして当該代表周波数につ
いての位相角θ(n)を示す情報を含ませることができ
る。たとえば、上述の手順により、3通りの代表周波数
f(n1),f(n2),f(n3)が選出されたとし
よう。この場合、各代表周波数について、それぞれ二乗
和平方根値E(n1),E(n2),E(n3)と、位
相角θ(n1),θ(n2),θ(n3)とが求まるこ
とになる。そこで、単位区間d内の区間信号Xは、代表
周波数(MIDIデータを利用する場合であれば、ノー
トナンバー)、当該代表周波数をもった周期関数Rnに
ついての二乗和平方根値(MIDIデータを利用する場
合であれば、ベロシティー)、当該単位区間dの時間軸
上での位置(MIDIデータを利用する場合であれば、
デルタタイム)、を示す情報に、更に、当該代表周波数
について計算された位相角を示す情報を付加した符号デ
ータによって表現できる。
【0058】図4では、単位区間d1内の音響データ
が、3つの音符n(d1,1),n(d1,2),n
(d1,3)によって表現される例を示した。各音符
は、その五線譜上の上下位置によって音階、すなわち周
波数を示しており(これらの周波数は、選出された3つ
の代表周波数に相当する)、また、五線譜上の左右位置
および音符の種類によって、単位区間d1の時間軸上で
の位置(始点位置と長さ/もしくは始点位置と終点位
置)を示している。また、個々の音符は、振幅強度に関
する情報e(d1,1),e(d1,2),e(d1,
3)ももっている。これに更に、位相に関する情報を付
加することができる。一般のMIDI音符では、どの音
階の音を、どの期間にわたって、どのような強さで演奏
するか、という情報だけが提示されることになるが、こ
れに位相に関する情報を更に付加しておけば、どのよう
な位相をもった音響波形で演奏するか、という位相に関
する演奏指示を与えることができるようになるので、原
音響信号をより忠実に再生することが可能になる。
【0059】§4.より精度の高い相関計算 ここでは、§2で述べた相関計算の精度をより高める工
夫について述べる。図9のグラフを用いて説明したよう
に、区間長Lをもった単位区間d内の音響信号(区間信
号X)と、所定の標準周期関数Rn(図示の例では標準
周波数f(n)をもった正弦波)との相関値A(n)
は、図10に示すような計算によって求めることができ
る。ここで、X(k)は区間信号Xを構成する第k番目
のサンプルの振幅値、sin (2πf(n)k/F)は、
時間軸上で当該サンプルと同じ位置における正弦波関数
の振幅値であり、区間長Lにわたって、k=0〜w−1
についてのw個のサンプルについて、両振幅値の積の総
和が求められ、総サンプル数wで除せられることにな
る。
【0060】しかしながら、区間長Lを任意に設定した
場合、図10に示す式によって与えられる相関値A
(n),B(n)は、必ずしも正確な相関値にはならな
い。たとえば、区間信号Xが周波数f(n)をもった理
想的な正弦波であった場合、同じ周波数f(n)をもっ
た正弦波からなる周期関数Rnに対する相関値は、本来
であれば最大になるはずであるが、任意の区間長Lにつ
いて、図10の式による計算を行うと、相関値A(n)
は必ずしも最大値をとらない。同様に、区間信号Xが周
期関数Rnに対して全く相関がない場合、本来であれば
相関値が零になるはずであるが、任意の区間長Lについ
て、図10の式による計算を行うと、相関値A(n)は
必ずしも零にはならない。なぜなら、図10に示す相関
演算式では、周期関数Rnの周期に比べ無限大に近い長
いwの区間で計算することを前提としているため、区間
長Lが周期関数Rnの整数倍か否かは計算結果にさほど
影響しないのに対し、本願のような音響信号解析分野で
は、たかだか周期の数倍レベルの短い区間で計算するこ
とが要求され、区間長Lが周期関数Rnの周期の整数倍
であるか否かが計算結果に大きな影響を与えるためであ
る。
【0061】たとえば、図9に図示されている例では、
単位区間d内に、周期関数Rnが約1.25周期分含ま
れている。このように、周期関数Rnの周期の整数倍に
はならない区間について、相関計算を行うと、区間信号
Xが完全相関を示す信号であった場合でも、計算により
得られる相関値は最大値にはならず、逆に、区間信号X
が全く相関のない信号であった場合でも、計算によって
得られる相関値は零にはならない。そもそも、図10に
示す式は、周期関数の整数倍の区間を計算対象区間とす
る前提で立てられた式なのであり、より精度の高い相関
計算を行うためには、相関計算の対象区間を、周期関数
の周期の整数倍に相当する長さをもった区間とし、この
相関計算対象区間に対してのみ、相関計算を実行するよ
うにしなくてはならない。
【0062】これを図13に示す具体例で説明してみよ
う。この例では、区間長Lをもった単位区間dが示され
ており、この単位区間d内に区間信号Xが与えられてい
る。この区間信号Xについての代表周波数を選出するた
めに、種々の周波数をもった周期関数との相関が計算さ
れるわけであるが、このとき、各周期関数ごとに、異な
る相関計算対象区間を設定するのである。たとえば、第
n番目の標準周波数f(n)をもった標準周期関数Rn
との相関計算を行う場合、この標準周期関数Rnの周期
の整数倍に相当する区間を相関計算対象区間とし、この
相関計算対象区間に対してのみ、相関計算を実行するの
である。図示の例の場合、単位区間d内には、サンプル
番号0〜w−1までの全w個のサンプルが含まれている
が(前述のように、第w番目のサンプルは右に隣接する
次の単位区間の先頭に含まれるサンプルとして取り扱
う)、この単位区間dの区間長Lは、標準周期関数Rn
の周期の整数倍にはなっていない。そこで、標準周期関
数Rnの周期の整数倍となるような区間、すなわち、サ
ンプル番号0〜w(n)に至る区間を相関計算対象区間
として設定する。この相関計算対象区間内には、サンプ
ル番号0〜w(n)−1までの全w(n)個のサンプル
が含まれることになる(第w(n)番目のサンプルは、
相関計算対象区間内のサンプルとしては取り扱わな
い)。
【0063】結局、サンプル番号wが、区間長Lに基づ
いて一義的に定まる番号であるのに対し、サンプル番号
w(n)は、標準周波数f(n)をもった標準周期関数
Rnとの相関計算を行うために、この標準周波数f
(n)に応じて定まる番号ということになる。したがっ
て、図7に示す128通りの標準周波数をもった標準周
期関数との相関計算を行う際には、それぞれの相関計算
ごとに異なる相関計算対象区間が設定されることにな
る。このように、標準周期関数の周期の整数倍の区間に
ついてのみ相関計算を行うようにすれば、より精度の高
い相関値を得ることができるようになる。
【0064】上述のような手法を用いることにより、高
精度の相関値A(n),B(n)および二乗和平方根値
E(n)を求めるには、図10に示す演算式の代わり
に、図14に示す演算式を用いるようにすればよい。図
10の演算式における定数wの代わりに、図14の演算
式では変数w(n)が用いられている。ここで、変数w
(n)は、上述したように、相関計算の対象となる標準
周期関数Rnの周波数f(n)に応じて定まる値であ
り、標準周期関数Rnの周期の整数倍に相当する相関計
算対象区間を設定したときに、その中に含まれるサンプ
ルの総数に相当する値ということになる。区間信号Xと
標準周期関数Rnとの振幅値の積は、k=0から、k=
w(n)−1に至るまでの合計w(n)個分だけ加算さ
れることになる。
【0065】ところで、相関計算対象区間は、理論的に
は、標準周期関数Rnの周期の整数倍に相当する区間で
あれば、どのような長さをもった区間であってもかまわ
ないが、実用上は、単位区間dを超えない範囲内で、で
きるだけ長い区間に設定した方が好ましい。相関計算を
行う上で、できるだけサンプル数を増やした方が、精度
の高い結果が得られるのは当然である。そこで、実用上
は、単位区間dを超えない範囲内で最も長く、かつ、標
準周期関数Rnの周期の整数倍の長さを有する区間を、
相関計算対象区間に設定すればよい。この条件を式で示
せば、w(n)は、w(n)≦wという条件下で、w
(n)=M・F/f(n)を満たす最大値(Mは整数)
ということになる。ここで、Fはサンプリング周波数、
f(n)は標準周期関数Rnの周波数であり、F/f
(n)は、標準周期関数Rnの1周期分に含まれるサン
プル数ということになり、標準周期関数Rnの周期のM
倍に相当する区間が相関計算対象区間として設定される
ことになる。
【0066】なお、図10の演算式における変数kが、
図14の演算式では(k+K)に置き換わっているが、
これは、区間信号Xを構成する各サンプルの番号を、絶
対サンプル番号として示したためである。すなわち、こ
れまでの説明では、ある1つの単位区間d内の区間信号
Xを符号化する手順を述べたが、実際には、図4(a)に
示すように、時間軸上で少しずつずらしながら、多数の
単位区間を定義し、個々の単位区間ごとにそれぞれ符号
化を行うことになる。したがって、特定の単位区間内に
おいてのみ意味をもつ相対サンプル番号(当該単位区間
の先頭のサンプルを第0番目のサンプルとしたもの)を
用いる代わりに、どの単位区間についても共通の絶対サ
ンプル番号を用いた方が好ましい。たとえば、図5に示
す基準点t0(この例では、第1の単位区間d1の始点
位置に設定しているが、時間軸上の任意の位置に設定し
てかまわない)に位置するサンプルを第0番目のサンプ
ルとして、以下連続番号を付した番号を絶対サンプル番
号として用いることができる。結局、図13の左端のサ
ンプルは、単位区間d内における相対サンプル番号とし
ては、第0番目のサンプルということになるが、絶対サ
ンプル番号としては、第K番目のサンプルということに
なる。したがって、単位区間d内において相対サンプル
番号kで特定されるサンプルは、絶対サンプル番号を用
いて標記すると、絶対サンプル番号(k+K)で特定さ
れることになる。
【0067】§5.代表周波数の補正原理 これまで述べてきたとおり、本発明に係る音響信号の符
号化方法の基本原理は、原音響信号の各単位区間ごと
に、それぞれ所定の代表周波数を決定し、この代表周波
数を示す情報を含む符号データにより、当該単位区間内
の音響信号を符号化するというものである。そして、代
表周波数を選出する具体的な方法として、たとえば、図
7に示すような128通りの標準周波数を設定してお
き、各標準周波数をもった標準周期関数との相関をそれ
ぞれ演算し、相関の高い標準周波数を代表周波数として
選出する方法を示した。しかしながら、本願発明者が行
った実験によると、このような方法によって選出された
代表周波数は、必ずしも当該単位区間内の原音響信号
(区間信号X)を代表する周波数として相応しい周波数
になるとは限らないことがわかった。その理由は、予め
用意された標準周波数が離散的な値として定義されてい
るためと考えられる。たとえば、図7に示す例では、合
計128通りの標準周波数が定義されているが、これら
の標準周波数の値は当然ながら離散的な値にならざるを
得えない。したがって、たとえば、区間信号Xに周波数
fの信号成分が含まれていたとしても、この周波数fが
いずれかの標準周波数に一致しない限り、周波数fをも
った周期関数に対する相関結果が低くなり、相対的に他
の周波数成分f’(ノイズ成分を含め)の方が高く評価
され、それらが優先的に誤選出されてしまう可能性があ
る。
【0068】このように、これまで述べてきた手法で
は、予め設定された有限個の標準周波数との相関のみに
基づいて代表周波数の選出が行われるため、本来選出さ
れるべき標準周波数が代表として選出されず、これに隣
接する標準周波数(場合によっては、かなりずれた位置
にある標準周波数)が代表として誤選出されるケースが
生じるようである。もちろん、予め設定する標準周波数
の数を増やし、離散値のきめを細かく設定するようにす
れば、誤選出はかなり解消するものと思われるが、演算
負担が著しく増加することになり、現実的ではない。ま
た、最終的にMIDIデータによる符号化を行うのであ
れば、MIDIデータのノートナンバーに相当する周波
数以外の周波数を標準周波数として用意することは意味
がない。そこで、本願発明者は、位相に関する情報を用
いて、一度選出された代表周波数に対する補正を行うと
いう手法を見出だしたのである。以下、この手法の基本
原理について説明する。
【0069】いま、図15の最上段に示すような周期T
Tをもった原信号Sが区間信号X内に含まれていたとす
る。ここで、もし代表周期関数として、図15の2段目
に示すような周期T0をもった周期関数S0が選出され
た場合(周期T0=周期TT)、正しい代表周波数をも
った周期関数S0が選出されたことになる。ところが、
図15の3段目に示すような周期T1をもった周期関数
S1が選出された場合(周期T1<周期TT)、本来の
周波数よりも高い周波数が代表周波数として選出された
ことになり、逆に、図15の4段目に示すような周期T
2をもった周期関数S2が選出された場合(周期T2>
周期TT)、本来の周波数よりも低い周波数が代表周波
数として選出されたことになる。もちろん、これまで述
べてきた手法を実施することにより、正しい代表周波数
をもった周期関数S0が、必ず代表周期関数として選出
されれば問題はない。しかしながら、実際には、周期関
数S1やS2のように、本来の代表周波数とは異なる周
波数をもった周期関数が代表として選出されるケースが
生じることになる。
【0070】ここで、各周期関数S0,S1,S2に対
する原信号Sの位相を考えてみると、時刻t0では、す
べての周期関数の位相が揃っていたのに、時間とともに
それぞれの位相に変化が生じてくる。すなわち、正しい
代表周波数をもった周期関数S0に対しては、原信号S
の位相は常に揃っているが、周期関数S1に対する原信
号Sの位相は徐々に遅れてゆき、逆に、周期関数S2に
対する原信号Sの位相は徐々に進んでゆくことになる。
たとえば、一周期後の時点では、周期関数S1に対する
原信号Sの位相は、ΔT1だけ遅れていることになり、
周期関数S2に対する原信号Sの位相は、ΔT2だけ進
んでいることになる。したがって、各周期関数の周期の
関係は、 TT=T1+ΔT1 TT=T2−ΔT2 となる。ここで、位相の進み遅れを角度で示すことにす
れば、位相差ΔT1は位相角Δθ1(ただし、Δθ1<
0)で表され、位相差ΔT2は位相角Δθ2(ただし、
Δθ2>0)で表される。位相角の符号は、位相の遅れ
または進みを示している。一周期分の進み遅れが位相角
2πに相当するので、各位相角の符号を考慮すると、 ΔT1=−TT・Δθ1/2π ΔT2=+TT・Δθ2/2π なる関係式が得られ、結局、各周期関数の周期の関係
は、 TT=T1−TT・Δθ1/2π TT=T2−TT・Δθ2/2π となる。ここで、原信号Sの周期TTが未知であり、こ
の周期TTを計算によって求めることを考えると、TT
とT1またはTTとT2とがほぼ等しいと近似して、 TT=T1−T1・Δθ1/2π TT=T2−T2・Δθ2/2π なる式が得られることになる。
【0071】図16(a) ,(b) に示す式は、上述の関係
をまとめた式である。結局、位相角に進み遅れを示す符
号をもたせ、−π〜+πの範囲内の位相角Δθを定義す
るようにすれば、位相が遅れている場合でも、位相が進
んでいる場合でも、時間軸上において1周期分隔たるこ
とにより、周期TTを有する原信号と周期Tを有する代
表周期関数との間に、位相角Δθに相当する位相の進み
遅れが生じたとすれば、図16(c) に示すように、 TT=T−T・Δθ/2π なる関係式が近似的に成り立つことになるので、既知の
周期Tを有する代表周期関数に対して、未知の周期TT
を有する原信号Sが、1周期ごとに生じる位相の進み遅
れを、位相角Δθとして求めることができれば、図16
(c) に示す式によって、未知の周期TTを計算すること
ができる。計算精度をより高めるためには、1周期ごと
に生じる位相の進み遅れの代わりに、複数m周期にわた
って累積して生じる進み遅れを求めるのが好ましい。た
とえば、時間軸上においてm周期分隔たることにより、
位相の進み遅れが位相角Δθに達したとすれば、図1
6(d) に示すように、 TT=(mT−T・Δθ/2π)/m なる式によって、未知の周期TTをより高い精度で計算
することができる。
【0072】要するに、上述の基本原理は、原信号Sに
ついて選出された代表周期関数が、原信号を代表する正
確な周期関数であるか否かを、位相の進み遅れが生じる
か否かという観点で判断できることを意味している。た
とえば、正しい代表周期関数S0が選出された場合を考
えてみよう。この場合、原信号Sと代表周期関数S0と
の位相関係は、時間の経過とともに変化することはな
く、位相の進み遅れは生じない。図15に示す例では、
たまたま原信号Sと代表周期関数S0との位相は一致し
ており、原信号Sの代表周期関数S0に対する位相角θ
は、時間軸上のどの位置においてもθ=0となっている
が、もちろん、実際には、両者の位相がずれている場合
もある。「両者の位相がずれている」ということと、
「両者の位相に進み遅れが生じる」ということとは、全
く別な事象である。たとえば、原信号Sの代表周期関数
S0に対する位相角θがθ=45°であったとすると、
両者の位相は一致していないが、時間軸上のどの位置に
おいても、この位相角θ=45°という関係は変わらな
いのであり、位相の進み遅れを示す位相角Δθ=0にな
る。両者の周波数が正確に一致していれば、複数m周期
分隔たったとしても、位相角θ=45°という関係は維
持されるので、m周期分隔たった位置における位相の進
み遅れを示す位相角Δθは、やはり0になる。したが
って、図16(d)に示す式 TT=(mT−T・Δθ/2π)/m では、TT=Tなる結果が得られる。すなわち、選出さ
れた代表周期関数S0の周期Tは、原信号Sの周期TT
に一致していることになり、代表周期関数S0は正しい
周期関数であるとの判断ができる。
【0073】ところが、誤差を含んだ代表周期関数S1
あるいはS2が選出された場合を考えると、これらの周
期関数に対しては、原信号Sは位相の進み遅れを生じる
ことになる。すなわち、1周期隔たった位置において
は、位相角Δθ(Δθ≠0)分の進み遅れが生じ、m周
期隔たった位置においては、位相角Δθ=m・Δθ分
の進み遅れが生じることになる。そこで、m周期隔たっ
た位置における位相の進み遅れΔθを求めることがで
きれば、上式を用いて、誤差を含んだ代表周期関数S1
あるいはS2の周期Tに基づいて、原信号Sの周期TT
を求めることができる。このような方法によれば、選出
された代表周期関数の周期を補正し、より正確な代表周
期関数を得ることができるようになる。
【0074】§6.正確な代表周波数の決定方法 前述した§5の基本原理を利用すれば、§4までに述べ
てきた手法によって選出された代表周波数を、より正確
な周波数に補正することが可能になる。以下、この補正
方法を図17のモデルを参照しながら説明する。ここで
は、図17の上段に示されているような原音響信号を符
号化する場合を考えよう。既に述べたように、本発明に
係る符号化は、所定の区間長Lをもった単位区間ごとに
行われる。図17上段の例では、実線で囲った矩形内部
分が、単位区間dとして設定されており、この単位区間
d内の原音響信号が区間信号Xとなる。したがって、以
下に述べる符号化方法は、この区間信号Xを符号化する
方法ということになる。図には、この区間信号Xの右に
隣接する隣接信号Y(実線の矩形外に示された波形部
分)が示されているが、後述するように、この隣接信号
Yの部分は、区間信号Xの符号化を正確に行うために参
照されることになる。
【0075】さて、まず§2で述べた方法により、区間
信号Xについての代表周波数(代表周期関数)の選出を
行う。たとえば、図7に示すように、128通りの標準
周波数を予め設定しておき、これら各標準周波数をもっ
た標準周期関数と区間信号Xとの相関を計算し、相関が
所定の基準以上の大きさとなる1つまたは複数の標準周
期関数を代表周期関数として選出する。具体的には、§
4で述べた精度の高い相関計算方法を適用し、図14に
示す式を用いて相関値A(n),B(n)を求め、二乗
和平方根値E(n)を算出し、この二乗和平方根値E
(n)の大きさに基づいて、1つまたは複数の代表周波
数(代表周期関数)を選出するのが好ましい。しかしな
がら、こうして選出した代表周波数は、必ずしも区間信
号Xを代表する正確な代表周波数になっているとは限ら
ない。そこで、ここでは、§4までの手法で選出された
代表周波数あるいは代表周期関数を、とりあえず「仮」
のものとして取り扱うことにし、「仮代表周波数」ある
いは「仮代表周期関数」と呼ぶことにする。
【0076】こうして選出された仮代表周期関数が、区
間信号Xを代表する正確な周期関数になっているか否か
は、この仮代表周期関数に対する区間信号Xの位相が進
み遅れを生じるか否かによって判断することができる。
ここでは、仮代表周波数として、第n番目の標準周波数
f(n)が選出され、その結果、図17下段に示すよう
な一対の周期関数、すなわち、 sin(2πf(n)・
(k+K)/F)およびcos(2πf(n)・(k+
K)/F)が仮代表周期関数として選出された場合を考
える。さて、区間信号Xの位相が、選出された仮代表周
期関数に対して、進み遅れを生じるか否かを調べるため
に、単位区間dを、当該仮代表周期関数の周期T(n)
(ここで、T(n)=1/f(n))の整数倍に相当す
る時間だけずらすことにより、参照区間r(n)を定義
する。図17において、一点鎖線で囲った矩形内部が、
この参照区間r(n)を示している。ここで、参照区間
は、特定の仮代表周期関数ごとにそれぞれ別個に定義さ
れるので、1つの単位区間dについて複数通りの仮代表
周期関数が選出された場合には、同一の単位区間dにつ
いて、各仮代表周期関数ごとに複数通りの参照区間が定
義されることになる。図示の参照区間r(n)は、仮代
表周波数f(n)をもった仮代表周期関数についての参
照区間を意味している。
【0077】この例では、参照区間r(n)の区間長
は、単位区間dの区間長と同一に設定してあるが、必ず
しも両区間の区間長を同一に設定する必要はない。ただ
し、各区間の先頭位置は、仮代表周期関数の周期T
(n)の整数倍に相当する時間だけずれている必要があ
る。図17には、整数m倍だけずらすことにより、単位
区間dの先頭位置に対して、参照区間r(n)の先頭位
置が、時間軸上m・T(n)だけ後方に隔たって設定さ
れている例が示されている。この例では、単位区間dの
後方に参照区間r(n)を定義しているが、逆に、単位
区間dの前方に参照区間r(n)を定義してもかまわな
い。また、この例では、単位区間dと参照区間r(n)
とが部分的に重複しているが、このように部分的に重複
するような定義を行ってもよいし、重複が全く起こらな
いような定義を行ってもよい。あるいは、単位区間dと
参照区間r(n)との間に空隙部分が生じるような定義
を行ってもかまわない。
【0078】ただ、実用上は、整数m=1程度に設定し
たのでは、たかだか1周期分についての位相の進み遅れ
しか求めることができないので、位相の進み遅れを高い
精度で検出することはできない。整数mを大きく設定す
ればするほど、位相の進み遅れが累積することになるの
で、位相の進み遅れを累積させるという観点からは、整
数mをできるだけ大きく設定し、ずれ量を大きくした方
がよい。しかしながら、ずれ量があまり大きくなりすぎ
ると、別な問題が生じることになる。すなわち、参照区
間r(n)は、区間信号Xの仮代表周期関数に対する位
相の進み遅れの有無を検出するために利用される区間で
あるため、参照区間r(n)内の隣接信号Yは、単位区
間d内の区間信号Xに対して、周波数および位相ともに
整合性をもった信号である必要がある。単位区間dと参
照区間r(n)との時間軸上でのずれ量があまり大きく
なると、区間信号Xと隣接信号Yとの間の周波数および
位相に関する整合性が確保できなくなるおそれがある。
したがって、整数mはできるだけ大きく設定した方がよ
いのであるが、ずれ量の絶対値であるm・T(n)をあ
まり大きく設定するのは好ましくない。したがって、実
用上は、m・T(n)の値が所定の上限値Tmax を超え
ない範囲内で最大となるように、仮代表周期関数の周期
T(n)に応じて異なる整数mを設定するのが好まし
い。こうすれば、仮代表周期関数の周期T(n)が小さ
い場合には、整数mの値を大きく設定することができ、
位相の進み遅れを累積させるという観点から、精度の高
い結果を得ることができる。しかも両区間の時間軸上で
のずれ量は、Tmax が上限となるため、区間信号Xと隣
接信号Yとの間の周波数および位相に関する整合性も確
保することができる。
【0079】本願発明者が行った実験によれば、上限値
Tmax を区間長Lと同じ程度に設定すると、かなり好ま
しい結果が得られた。この場合、参照区間r(n)の単
位区間dに対するずれ量は、区間長Lに近い値となり、
図17に示されている実例のm・T(n)よりも更に2
周期分ほど長くなる。このときのずれ量は、結果的に、
図13に示す相関計算対象区間に等しくなる。これは、
図13に示す相関計算対象区間も、区間長Lを超えない
範囲内で、周期関数の周期T(n)の整数M倍となるよ
うな最大区間として定義された区間だからである。結
局、この相関計算対象区間に相当する時間軸上での長さ
を、図17に示すモデルにおけるずれ量m・T(n)と
して設定すれば、サンプル数にしてちょうどw(n)個
分だけずらした区間として、参照区間r(n)が定義さ
れることになる。以下、このようなずれ量設定を行った
場合の例を述べることにする。
【0080】さて、上述のように、単位区間dに対し
て、サンプル数にしてw(n)個分だけずらした区間と
して参照区間r(n)が定義できたら、まず、区間信号
X(単位区間d内の原音響信号)と仮代表周期関数との
位相差を示す第1の位相角θ1(n)を求める。続い
て、隣接信号Y(参照区間r(n)内の原音響信号)と
仮代表周期関数との位相差を示す第2の位相角θ2
(n)を求める。更に、第1の位相角θ1(n)と第2
の位相角θ2(n)との差を、 Δθ(n)=θ2(n)−θ1(n) なる計算で求めれば、この差に相当する位相角Δθ
(n)は、−π≦Δθ(n)≦+πなる範囲の値とな
り、仮代表周期関数の周期T(n)の整数m倍だけ隔た
った時間位置における位相の進み遅れを示すパラメータ
ということになる。そこで、この図17に示すモデル
に、図16(d) に示す式を適用すれば、図18に示す式 TT(n)=(m・T(n)−T(n)・Δθ(n)/
2π)/m が得られることになる。この式は、仮代表周期関数の周
期T(n)に基づいて、区間信号Xに含まれている真の
周期関数の周期TT(n)を予想する式に他ならない。
別言すれば、Δθ(n)≠0の場合、仮代表周期関数の
周波数は、区間信号Xに含まれている真の周期関数の周
波数に対して、何らかの誤差を生じていたことになり、
上式は、この誤差を補正するための式ということにな
る。
【0081】第1の位相角θ1(n)および第2の位相
角θ2(n)を求めるには、§3で述べた手法を利用す
ればよい。まず、第1の位相角θ1(n)は、単位区間
dについて、図19に示す式を適用すればよい。ここ
で、相関値A1(n)は、単位区間d内の区間信号Xと
仮代表周波数f(n)をもった周期信号 sin(2πf
(n)・(k+K)/F)との相関値であり、相関値B
1(n)は、単位区間d内の区間信号Xと仮代表周波数
f(n)をもった周期信号 cos(2πf(n)・(k+
K)/F)との相関値である。これらの式は、図14の
式に相当するものであり、単位区間d(区間長L)全体
に含まれる全w個のサンプルについてではなく、相関計
算対象区間(区間長w(n)/F)内のw(n)個のサ
ンプルについてのみ計算を行うことにより、相関計算の
精度を向上させている。もっとも、この相関値A1
(n),B1(n)を求める計算は、既に、仮代表周波
数f(n)を選出する段階において行われているので、
実用上は、その結果をそのまま流用すれば足りる。相関
値A1(n),B1(n)が得られたら、これらの比に
基づき、図19の下半分に示す式(§3において述べた
図12の式に相当)により第1の位相角θ1(n)が得
られる。
【0082】一方、第2の位相角θ2(n)は、参照区
間r(n)について、図20に示す式を適用すればよ
い。ここで、相関値A2(n)は、参照区間r(n)内
の隣接信号Yと仮代表周波数f(n)をもった周期信号
sin(2πf(n)・(k+K+w(n))/F)との
相関値であり、相関値B1(n)は、参照区間r(n)
内の隣接信号Yと仮代表周波数f(n)をもった周期信
号 cos(2πf(n)・(k+K+w(n))/F)と
の相関値である。これらの式も、基本的には、図14の
式に相当するものであり、参照区間r(n)全体に含ま
れる全w個のサンプルについてではなく、相関計算対象
区間内のw(n)個のサンプルについてのみ計算を行う
ことにより、相関計算の精度を向上させている。なお、
この図20に示す式は、前述したように、参照区間r
(n)の単位区間dに対するずれ量を、サンプル数にし
てw(n)個分(すなわち、相関計算対象区間に相当す
る長さ)に設定した場合の例であり、隣接信号Yを示す
関数として、X(k+K+w(n))なる関数を定義し
ている。これをもう少し詳しく説明してみよう。
【0083】まず、区間信号Xと隣接信号Yとの相違を
考えてみると、両信号ともに基本的には原音響信号の一
部であり、前者が単位区間d内の信号をさすのに対し、
後者が参照区間r(n)内の信号をさすという区間の違
いがあるだけである。そこで、図20の式では、隣接信
号Yについても、区間信号Xと同じ関数名Xを用いて示
してある。区間信号Xおよび隣接信号Yを、同じ関数X
(ξ)で表した場合、区間信号Xの場合の引数ξは、
「k+K」であるのに対し、隣接信号Yの場合の引数ξ
は、「k+K+w(n)」になる。ここで、kは、相対
サンプル番号であり、k=0,1,2,…,w−1の値
をとり、Kは、絶対サンプル番号であり、単位区間dの
先頭位置にあるサンプルの累積番号に相当する。また、
w(n)は、参照区間r(n)の単位区間dに対するず
れ量に相当するサンプル数である。以上、図20の上半
分に示す式の意味を簡単に説明したが、これらの式を用
いて、相関値A2(n),B2(n)が得られたら、こ
れらの比に基づき、図20の下半分に示す式(§3にお
いて述べた図12の式に相当)により第2の位相角θ2
(n)が得られる。
【0084】このようにして、第1の位相角θ1(n)
および第2の位相角θ2(n)が求まったら、図21に
示す式により、仮代表周期関数の周期T(n)をより正
確な周期TT(n)に補正することができる。すなわ
ち、m周期分だけ累積された位相の進み遅れを示す位相
角Δθ(n)を、 Δθ(n)=θ2(n)−θ1(n) として求め、 TT(n)=(w(n)/F−T(n)・Δθ(n)/
2π)/m なる式によって、補正後の周期TT(n)が求まる。こ
の式は、図18に示す式におけるm・T(n)なる項
を、w(n)/Fなる項に置き換えたものである。これ
は、ここで述べている例が、参照区間r(n)の単位区
間dに対するずれ量を、サンプル数にしてw(n)個分
に設定した場合の例であるためであり、図17に示すモ
デルにおけるずれ量m・T(n)が、w(n)/Fに相
当するためである。こうして、仮代表周波数f(n)を
もった仮代表周期関数の周期T(n)が、周期TT
(n)に補正されたら、 ff(n)=1/TT(n) なる周波数ff(n)が、代表周波数として決定され、
この代表周波数ff(n)をもった周期関数が代表周期
関数として決定される。
【0085】もちろん、このような補正によって得られ
た代表周波数ff(n)は、予め用意した標準周波数と
は必ずしも一致しない。たとえば、図7に示すような1
28通りの標準周波数f(0)〜f(127)を用意し
て、§2に示す手順によって仮代表周波数を選出した場
合、この仮代表周波数自身は、予め用意した128通り
の標準周波数から選出された周波数になるが、上述した
方法により、この仮代表周波数に補正を施すことにより
得られる代表周波数は、必ずしも標準周波数から選出さ
れた周波数にはならない(もちろん、位相の進み遅れを
示す位相角Δθ(n)が0になった場合には、仮代表周
波数がそのまま代表周波数となる)。したがって、この
補正によって得られた代表周波数をそのまま周波数情報
として含む符号データを生成した場合、様々な周波数情
報を含んだ符号データが生成されることになる。もちろ
ん、生成した符号データを復号化する装置が、このよう
な様々な周波数情報を含んだ符号データを取り扱うこと
ができれば、特に問題は生じない。しかしながら、たと
えば、MIDIデータを取り扱う一般的な装置において
復号化を行うのが前提であれば、ノートナンバーに対応
した標準周波数のみを含む符号データを生成するのが好
ましい。この場合は、補正によって得られた代表周波数
に近似する標準周波数を、最終的な周波数情報として符
号データに含ませるようにすればよい。
【0086】標準周波数f(n)とノートナンバーN
(n)との関係は、図21に示すように、 N(n)=40・log(f(n)/440) なる式で表される(但し、N(n)は、0〜127の整
数)。したがって、補正によって得られた代表周波数f
f(n)に最も近似する標準周波数f(n)を、最終的
な符号データに含ませるようにすれば、ノートナンバー
に対応した標準周波数のみを含む符号データを生成する
ことができる。
【0087】以上、最終的に生成する符号データ内の周
波数の取り扱いについて述べたが、MIDIデータの場
合、区間信号Xの代表周波数が周波数情報(ノートナン
バー)として表現されるとともに、当該代表周波数をも
った代表周期関数に対する区間信号Xの相関値が強度情
報(ベロシティー)として表現されることになる。ま
た、§3で述べたように、必要に応じて、代表周期関数
に対する区間信号Xの位相情報を符号データに付加する
場合もある。このような強度情報あるいは位相情報とし
ては、仮代表周期関数を選出する際に計算した相関値
(二乗和平方根値E(n))や位相角(θ(n))をそ
のまま用いることも可能であるが、より正確な強度情報
や位相情報を得るためには、補正後の代表周期関数を用
いた再計算を行うのが好ましい。たとえば、仮代表周波
数f(n)に対する補正を行うことにより、代表周波数
ff(n)が得られたとしたら、単位区間dについて、
図22に示す式に基づく再計算を行えばよい。
【0088】ここで、AA(n)は、代表周波数ff
(n)をもった周期関数 sin(2πf(n)・(k+
K)/F)と区間信号Xとの相関値であり、BB(n)
は、代表周波数ff(n)をもった周期関数 cos(2π
f(n)・(k+K)/F)と区間信号Xとの相関値で
ある。これら両相関値の二乗和平方根値EE(n)とし
て、代表周波数ff(n)についての正確な強度情報を
得ることができる。また、これら両相関値の比に基づい
て、代表周波数ff(n)をもった代表周期関数に対す
る区間信号Xの正確な位相情報を得ることができる。
【0089】§7.一般化調和解析の手法を用いた代表
周波数の選出方法 本発明に係る符号化の原理として、§1では、区間信号
のフーリエスペクトルにおけるスペクトル強度値に基づ
いて、複数の仮代表周波数を選出する方法の他に、特願
平11−58431号明細書に開示されている一般化調
和解析の手法を用いて複数の仮代表周波数を選出する方
法があることを述べた。前者の方法を採った場合、複数
P個の仮代表周波数が同時に求まるので(フーリエスペ
クトルのスペクトル強度値の大きさの順にP個の仮代表
周波数を抽出すればよい)、§6で述べた周波数補正に
より正確な代表周波数を求める際には、それぞれの仮代
表周波数に対して別個独立した周波数補正を施し、それ
ぞれについて代表周波数を得るようにすればよい。とこ
ろが、後者の方法を採った場合、複数P個の仮代表周波
数が同時に求まるのではなく、周波数の選出が1つずつ
順番に行われてゆくことになる。そこで、この後者の方
法に、§6で述べた周波数補正法を適用する際には、次
のような手順を採るのが好ましい。
【0090】まず、単位区間d内に任意の区間信号Xが
与えられたものとする。ここでは、この当初の区間信号
をX1と表現する。この区間信号X1に対して、第1回
目のフーリエ変換を行い、フーリエスペクトルを求め、
スペクトル強度値が最も高い標準周波数を、第1の仮代
表周波数f(n1)として選出する。続いて、この第1
の仮代表周波数f(n1)に対して、§6で述べた周波
数補正を施し、第1の代表周波数ff(n1)を求め
る。そして、この第1の代表周波数ff(n1)をもっ
た第1の代表周期関数G1の信号成分を、区間信号X1
から引き去り、残った差分信号を新たな区間信号X2と
する。そして、この区間信号X2に対して、第2回目の
フーリエ変換を行い、フーリエスペクトルを求め、スペ
クトル強度値が最も高い標準周波数を、第2の仮代表周
波数f(n2)として選出する。続いて、この第2の仮
代表周波数f(n2)に対して、§6で述べた周波数補
正を施し、第2の代表周波数ff(n2)を求める。そ
して、この第2の代表周波数ff(n2)をもった第2
の代表周期関数G2の信号成分を、区間信号X2から引
き去り、残った差分信号を新たな区間信号X3とする。
このような処理をP回繰り返して行えば、合計P個の代
表周波数を決定することができる。
【0091】以上の処理を一般論として説明すれば、次
のとおりである。まず、図3(a) に示すように、第j番
目の区間信号Xjが与えられたときに、この区間信号X
jに対する相関が最も大きくなる標準周期関数を第j番
目の仮代表周期関数として選出する。そして、§6で述
べた周波数補正法に基づき、この第j番目の仮代表周期
関数の周期を補正することにより、第j番目の代表周期
関数Gj(周波数ffj)を求める。そして、図3(b)
に示すように、区間信号Xjに含まれている第j番目の
代表周期関数Gjからなる信号成分を、第j番目の区間
信号Xjから減じ、その結果得られる差分信号を、図3
(c) に示すように、第(j+1)番目の区間信号Xj+
1とする。このような作業を、j=1〜Pまで繰り返し
実行することにより、合計P個の代表周波数を得ること
ができる。
【0092】なお、第j番目の代表周期関数Gjからな
る信号成分を、第j番目の区間信号Xjから減じる際の
具体的な演算は、図23に示す式に基づいて行えばよ
い。この式で、Xj+1(k+K)は第(j+1)番目
の区間信号を示し、X(k+K)は第j番目の区間信
号を示し、G(k+K)は第j番目の代表周期関数を
示し、ffはその周波数を示し、AA(j),BB
(j)は、第j番目の区間信号Xと周波数ffをも
った正弦波および余弦波との相関値を示している。
【0093】§8.符号データの統合処理 図4(b) に示す符号化の例では、個々の符号がすべて8
分音符で示されている。これは、単位区間d1,d2,
d3,d4,…がいずれも同一の区間長を有しているた
めである。しかしながら、実際の音響信号には、複数の
単位区間にわたって持続する音の成分が多数含まれてお
り、これらを個々の単位区間ごとに細切れに符号化する
と、符号化の効率は極めて低下してしまう。そこで、一
連の音成分を表現していると判断できる複数の符号につ
いては、1つの符号に統合する処理を行うのが好まし
い。たとえば、図4(b) のトラックT1に配置されてい
るノートn(d2,1)とノートn(d3,1)は、同
一音程の8分音符であるから、これを1つの4分音符に
統合しても問題はない。
【0094】ただ、本願発明により生成された符号デー
タには、周波数情報の他に、必要に応じて、強度情報あ
るいは位相情報が含まれている場合があるので、符号の
統合を行うか否かを判断する際には、これら3つの要素
を総合的に判断するのが好ましい。たとえば、同一音程
(周波数情報が同一)の2つの符号データが連続してい
る場合であっても、両者の位相が不連続であったとする
と、両符号データはそれぞれ別個の音成分を表現してい
る可能性が高く、1つの符号に統合するべきではない。
本願発明者は、時間軸上で近接配置された複数の符号デ
ータについての符号の統合化を行う基準として、これら
符号データに含まれる周波数情報、強度情報、位相情報
なる3つの要素のうちのいくつかが、それぞれ所定の許
容範囲内で近似している複数の符号データが生成された
場合に、これら複数の符号データを1つの符号データに
統合する処理を行うようにすると、理想的な符号統合化
が可能になると考えている。たとえば、強度情報に関し
ては一切考慮せずに、周波数情報と位相情報とがそれぞ
れ所定の許容範囲内で近似していた場合に統合化を行う
ようにしてもよいし、周波数情報、強度情報、位相情報
のすべてが、それぞれ所定の許容範囲内で近似していた
場合に統合化を行うようにしてもよい。
【0095】所定の許容範囲は、実情に合わせて適宜設
定することが可能である。たとえば、周波数情報に関し
ては、「同一の周波数」というような厳格な範囲を定め
ることもできるし、「ノートナンバーの差が1以内」と
いうような範囲を定めることもできる。位相情報に関し
ても同様に、たとえば、「差がπ/10以内」というよ
うな範囲を定めることができる。また、時間軸上で近接
配置された複数の符号データであるか否かの基準として
は、たとえば、「単位区間の始端位置の差が5ms以
内」というような範囲を定めることができる。
【0096】図24は、このような方針に基く符号デー
タの統合処理の具体的な処理手順を示す図であり、ここ
では、時間軸上で近接配置された複数の符号データのう
ち、周波数情報および位相情報が、それぞれ所定の許容
範囲内で近似していた場合に統合化を行うような処理が
行われている。たとえば、図24(a) に示すような符号
データが生成されたものとしよう。ここに示すN1〜N
4は、それぞれ所定の周波数(128通りの標準周波数
のうちのいずれか)、所定の位相角、所定の振幅強度を
有する符号データであり、同一名称の符号データは周波
数が同一であることを示しており、横軸上の位置は、時
間軸上での位置を示している。このような符号データ群
が得られたら、図24(b) に示すように、各符号データ
を周波数ごとにそれぞれ分離して配置してみる。この例
では、N1〜N4という4種類の周波数をもつ符号デー
タが存在するので、これらをそれぞれ4行に分けて配置
する。すると、同一行に隣接配置された符号データは、
同一周波数を有し、時間軸上の近似範囲に配置された符
号データということになるので、もし、位相角の差が所
定の許容範囲内であったとすれば、前述した統合化の基
準を満たすことになる。そこで、同一行に隣接配置され
た符号データのうち、位相角の差が所定の許容範囲内に
あるものを統合化し、1つの符号データに置き換える。
なお、置換後の位相角は、たとえば、置換前の各符号デ
ータの位相角の平均となるように設定すればよい。
【0097】図24(c) は、このような統合化後の符号
データを示す図である。矩形で囲われた符号データが、
統合化後の1つの符号データを示している。たとえば、
図24(c) の1行目に示されている2つの符号データ
「N1,N1」は、図24(b)に示されている4つの符
号データ「N1,N1,N1,N1」を統合して得られ
たものである。この例では、図24(b) に示す4つの符
号データのうち、1番目および2番目の符号データの位
相角の差は許容範囲内であり、3番目および4番目の符
号データの位相角の差も許容範囲内であるが、2番目お
よび3番目の符号データの位相角の差が許容範囲を越え
ていた場合の統合結果が示されている。図24(d) は、
この図24(c) に示す符号データをMIDI符号で示す
場合のノートオンおよびノートオフの符号列を示す図で
ある。このように、符号の統合化を行うことにより、本
来、図24(a) に示すような形態であった符号データ
を、図24(d) に示すように、合計12組のノートオン
またはノートオフデータによって表現することが可能に
なる。
【0098】§9.MIDIデータによる表現手法 図25は、現在、最も標準的に利用されているSMF
(Standard MIDI File)フォーマットによるMIDIデ
ータの形式を示す図である。図示のとおり、このMID
Iデータは、「ノートオン」データもしくは「ノートオ
フ」データが、「デルタタイム」データを介在させなが
ら存在する。「デルタタイム」データは、1〜4バイト
のデータで構成され、所定の時間間隔を示すデータであ
る。一方、「ノートオン」データは、全部で3バイトか
ら構成されるデータであり、1バイト目はノートオン符
号「90 H」に固定されており(後述するように、チャ
ンネル番号0の場合。 Hは16進数を示す)、2バイト
目にノートナンバーNを示すコードが、3バイト目にベ
ロシティーVonを示すコードが、それぞれ配置される。
ノートナンバーNは、音階(一般の音楽でいう全音7音
階の音階ではなく、ここでは半音12音階の音階をさ
す)の番号を示す数値であり、このノートナンバーNが
定まると、たとえば、ピアノの特定の鍵盤キーが指定さ
れることになる(C−2の音階がノートナンバーN=0
に対応づけられ、以下、N=127までの128通りの
音階が対応づけられる。ピアノの鍵盤中央のラの音(A
3音)は、ノートナンバーN=69になる)。ベロシテ
ィーVonは、音の強さを示すパラメータであり(もとも
とは、ピアノの鍵盤などを弾く速度を意味する)、Von
=0〜127までの128段階の強さが定義される。
【0099】同様に、「ノートオフ」データも、全部で
3バイトから構成されるデータであり、1バイト目は常
にノートオフ符号「80 H」に固定されており(チャン
ネル番号0の場合)、2バイト目にノートナンバーNを
示すコードが、3バイト目にベロシティーVoff を示す
コードが、それぞれ配置される。「ノートオン」データ
と「ノートオフ」データとは対になって用いられ、この
一対のデータにより1つのノート(音符)についての発
音開始操作および発音終了操作が表現されることにな
る。たとえば、「90 H,69,80」なる3バイトの
「ノートオン」データは、ノートナンバーN=69に対
応する鍵盤中央のラのキーを押し下げる操作(ラの音符
の発音開始操作)を表現し、以後、同じノートナンバー
N=69を指定した「ノートオフ」データが与えられる
まで、そのキーを押し下げた状態が維持される(実際に
は、ピアノなどのMIDI音源波形を用いた場合、有限
の時間内に、ラの音の波形は減衰してしまう)。そし
て、ノートナンバーN=69を指定した「ノートオフ」
データは、たとえば、「80 H,69,50」のような
3バイトのデータとして与えられ、このような「ノート
オフ」データは、鍵盤中央のラのキーから指を離す操作
(ラの音符の発音終了操作)を表現する。なお、「ノー
トオフ」データにおけるベロシティーVoff の値は、た
とえばピアノの場合、鍵盤キーから指を離す速度を示す
パラメータになる。
【0100】別言すれば、特定のノート(音符)に関す
る情報が、同一ノートナンバーNを引用した「ノートオ
ン」データと「ノートオフ」データとのデータ対によっ
て表現されることになる。すなわち、特定のノート(音
符)に関して、「ノートオン」データにより発音開始操
作(たとえば、ピアノの鍵盤キーを押し下げる操作)が
記述され、「ノートオフ」データにより発音終了操作
(たとえば、鍵盤キーから指を離す操作)が記述され
る。また、この特定のノートの発音時間(発音開始操作
から発音終了操作に至るまでの時間:実際に楽器の音が
鳴り始めてから鳴り終わるまでの時間とは必ずしも一致
しない)は、「ノートオン」データと、これと対になる
「ノートオフ」データとの間に介在するデルタタイムに
よって定まる。
【0101】図26に、具体的なMIDIデータの構成
例を示す。図26(a) に示す例は、ノートナンバーN1
で示されるノート(音符)の演奏情報を、MIDIデー
タで記述したものである。データd1は、1〜4バイト
からなるデルタタイムT1を示すデータ(必要なバイト
数は、デルタタイムの長さによって異なる)である。こ
のデルタタイムのデジタル値は、たとえば、T1=1/
768秒のようなスケーリングを予め定義しておくこと
により、時間を示す値となる。データd2は、ノートナ
ンバーN1で示されるノート(以下、単にノートN1と
いう)の発音開始操作を記述した「ノートオン」データ
であり、1バイト目にノートオン符号:90H 、2バイ
ト目にノートナンバー:N1、3バイト目にベロシティ
ー:Vonの各コードが配置されている。たとえば、ピア
ノの場合、ノートN1に対応する鍵盤キーを、ベロシテ
ィーVonで示される強さ(速度)で押し下げるという発
音開始操作を示すことになる。続くデータd3は、1〜
4バイトからなるデルタタイムT2を示すデータであ
り、やはり具体的な時間を示す値となる。最後のデータ
d4は、ノートN1の発音終了操作を記述した「ノート
オフ」データであり、1バイト目にノートオフ符号:8
0H 、2バイト目にノートナンバー:N1、3バイト目
にベロシティー:Voff の各コードが配置されている。
たとえば、ピアノの場合、ノートN1に対応する鍵盤キ
ーから、ベロシティーVoff で示される強さ(速度)で
指を離すという発音終了操作を示すことになる。
【0102】こうして、図26(a) に示すデータd1〜
d4によって、ノートN1に関する演奏情報が記述され
ることになる。このように、MIDIデータでは、同一
のノートナンバーNを引用した一対のデータ(「ノート
オン」データおよび「ノートオフ」データ)によって、
特定のノートに関する演奏情報が示される。また、「ノ
ートオン」データや「ノートオフ」データで示される発
音開始操作や発音終了操作を実行するタイミングは、先
行する「デルタタイム」データに基づいて定まる。たと
えば、このMIDIデータを再生する際の基準時刻をt
0とすれば、データd2で示される発音開始操作の時刻
は、これに先行する「デルタタイム」データd1に基づ
いて定まり、具体的には、時刻(t0+T1)の時点で
発音開始操作が実行される。同様に、データd4で示さ
れる発音終了操作の時刻は、これに先行する「デルタタ
イム」データd1,d3に基づいて定まり、具体的に
は、時刻(t0+T1+T2)の時点で発音終了操作が
実行される。したがって、この例の場合のノートN1の
発音時間は、デルタタイムT2に一致する。
【0103】図26(b) に示す例は、ノートN1の演奏
時間とノートN2の演奏時間とが一部重なり、和音が発
生する例である。まず、最初のデータd1によって、デ
ルタタイムT1が示され、続くデータd2によって、ノ
ートN1についての発音開始操作が示される。次のデー
タd3によって、再びデルタタイムT2が示され、続く
データd4によって、ノートN2についての発音開始操
作が示される。すなわち、この時点では、2つのノート
N1,N2が同時に発音している状態になり、和音とし
ての再生が行われることになる。続くデータd5によっ
て、デルタタイムT3が示され、データd6によって、
ノートN2についての発音終了操作が示される。更に、
データd7によって、デルタタイムT4が示され、最後
のデータd8によって、ノートN1についての発音終了
操作が示される。
【0104】結局、この図26(b) に示すデータd1〜
d8のうち、一対のデータd2,d8は、同一のノート
ナンバーN1を引用してノートN1に関する演奏情報を
記述したデータであり、一対のデータd4,d6は、同
一のノートナンバーN2を引用してノートN2に関する
演奏情報を記述したデータということになる。ここで、
個々の操作を行うべき時刻は、やはり先行するデルタタ
イムに基づいて定まることになる。すなわち、このMI
DIデータを再生する際の基準時刻をt0とすれば、デ
ータd2で示されるノートN1の発音開始操作は時刻
(t0+T1)、データd4で示されるノートN2の発
音開始操作は時刻(t0+T1+T2)、データd6で
示されるノートN2の発音終了操作は時刻(t0+T1
+T2+T3)、データd8で示されるノートN1の発
音終了操作は時刻(t0+T1+T2+T3+T4)と
なり、ノートN1の発音時間は、T2+T3+T4とな
り、ノートN2の発音時間は、T3となる。
【0105】以上、MIDIデータを用いた一般的な音
響データの表現方法を簡単に説明したが、本発明に係る
方法を用いれば、任意の音響信号をMIDIデータに変
換することが可能になる。この場合、図7に示すよう
に、ノートナンバーに対応する128通りの標準周波数
を予め設定しておけばよい。ただ、§6で述べた周波数
補正を行うと、最終的に得られる代表周波数は、必ずし
も予め用意した128通りの標準周波数にはならない場
合があり、ノートナンバーとして表現することができな
くなる。このような場合は、代表周波数を、128通り
の標準周波数の中の最も近い標準周波数によって置き換
えるようにすればよい。
【0106】また、位相情報をMIDIデータに盛り込
むのであれば、チャンネル番号を位相を示す情報として
利用することが可能である。上述の説明では、チャンネ
ル番号が0という前提の下で、ノートオン符号「90
H」およびノートオフ符号「80 H」が固定であると述
べたが、これらの符号の下位4ビットは必ずしも0に固
定されているわけではなく、チャンネル番号0〜15の
いずれかを特定するコードとして利用できる。通常、複
数のチャンネルは、複数種類の楽器の音色を表現するた
めに利用されることが多いが、位相情報として利用すれ
ば、MIDIデータを用いて位相情報を表現することが
可能になる。
【0107】§10.倍音成分の除去処理 一般に、楽器音には、多数の倍音成分が含まれている。
たとえば、ピアノのある1つの鍵盤を鳴らした場合、当
該鍵盤の音は、特定のノートナンバーに対応しており、
理論的には、この特定のノートナンバーで示される単一
の周波数λの音に対応しているはずである。しかしなが
ら、実際には、この周波数λの整数倍である2λ,3
λ,4λといった周波数をもった倍音成分の音も同時に
発生することになる。より具体的に言えば、たとえば、
ノートナンバーN=69に対応するピアノ鍵盤中央のラ
のキーを鳴らすと、本来の440Hzの音とともに、8
80Hz,1320Hz,1760Hzといった2倍
音,3倍音,4倍音の音も発生することになる。したが
って、本発明に係る手法を用いて、ピアノ鍵盤中央のラ
のキーを鳴らしたときの音をMIDI符号化した場合、
本来の440Hzの周波数が代表周波数として選出され
るとともに、その倍音成分である880Hz,1320
Hz,1760Hzといった周波数も代表周波数として
選出されてしまう可能性がある。もし、これらの倍音成
分がすべて代表周波数として選出されてしまうと、最終
的には、440Hz,880Hz,1320Hz,17
60Hzという4種類の代表周波数が選出され、1つの
ピアノのキーの音に対して、4つのMIDI音符が作成
されてしまうことになり好ましくない。この場合、最も
周波数の低い440HzについてのMIDIデータのみ
を残し、それ以外の3つのMIDIデータは除去しなけ
ればならない(実際の演奏操作としては、ラのキーを鳴
らしただけであるから、本来、この演奏操作を記述する
MIDIデータのみが作成されなければならない)。
【0108】逆に言えば、1つの単位区間dに対して、
複数P個の代表周波数が選出され、この複数の代表周波
数の中に、一方の周波数が他方の周波数の整数倍になる
関係をもつものがあれば、この整数倍の成分は原音響信
号に含まれていた楽器の倍音成分であることが予想され
る。もし楽器の倍音成分であるならば、これを除去する
必要がある。しかしながら、一方の周波数が他方の周波
数の整数倍になる関係にある、という条件だけで、これ
を楽器の倍音成分と判断して除去することはできない。
たとえば、周波数が整数倍となる関係にある複数の鍵盤
キーを、和音として同時に鳴らした場合にも、互いに整
数倍となる代表周波数が選出されることになる。
【0109】結局、本発明を利用して、ピアノの演奏音
をMIDIデータとして符号化する場合、得られた符号
データの中に周波数が整数倍となるような複数の符号が
含まれていたとしても、意図的に和音として複数のキー
が鳴らされたのか(第1の要因)、あるいは単一のキー
しか鳴らされていないのにその倍音成分が混じってしま
ったのか(第2の要因)、を認識しなければ、余分な符
号の除去を行ってよいのかどうかを判断することはでき
ない。もちろん、このような事情は、ピアノの演奏音の
符号化に限られるものではなく、その他の楽器音を符号
化する場合でも同様である。要するに、複数の音源が同
時に鳴らされたために、周波数が互いに整数倍となるよ
うな複数の符号が生成された(第1の要因)のであれ
ば、これらの符号はいずれも除去すべきではないが、単
一の音源しか鳴らされていないのに、その倍音成分が混
じったために、周波数が互いに整数倍となるような複数
の符号が生成された(第2の要因)のであれば、倍音成
分についての符号は除去しなければならない。
【0110】上述した第1の要因か第2の要因かを認識
する方法としては、音の強弱を参考にする方法や、楽器
の調律時における周波数の微小なずれを参考にする方法
などが考えられる。音の強弱を参考にする方法は、「基
本音に付随して発生する倍音成分は、通常、基本音に比
べて信号強度が低い」という性質を利用するもので、た
とえば、基本となる周波数成分の信号に比べ、その整数
倍の周波数成分の信号強度の方が高ければ、これら2つ
の信号は別々の音源によって発生(第1の要因)した可
能性が高い。一方、楽器の調律時における周波数の微小
なずれを参考にする方法は、たとえば、「ピアノなどの
オクターブ和音は、周波数が完全に2倍の関係になるよ
うに調律されていない」という点を利用するもので、た
とえば、2つの信号の周波数が正確に整数倍になってい
た場合には、この2つの信号は、和音によるものではな
く、同一の音源によって発生(第2の要因)した可能性
が高い。しかしながら、これらの認識方法は、かならず
しも精度の高い認識方法ではない。
【0111】本願発明者は、上述した第1の要因か第2
の要因かを認識するにあたって、本発明に係る音響信号
の符号化方法に利用するのに適した、新たな方法を考え
ついた。この方法は、音の位相を参考にする方法であ
り、その原理を以下に述べる。いま、第1の要因、すな
わち、和音の演奏のように、複数の音源が同時に鳴らさ
れたために、周波数が互いに整数倍となるような複数の
符号が生成された場合を考える。この場合、別々の音源
から別々の音響信号が発生したわけであるから、各音響
信号には位相の整合性はなく、全くバラバラの位相をも
った音響信号が得られることになる。ところが、第2の
要因、すなわち、単一の音源しか鳴らされていないの
に、その倍音成分が混じったために、周波数が互いに整
数倍となるような複数の符号が生成された場合は、もと
もと単一の音源に基づいて発生した音響信号であるか
ら、各音響信号には位相の整合性が見られるはずであ
る。
【0112】たとえば、図27に示すグラフには、基本
音,2倍音,3倍音,4倍音の各信号波形が示されてい
る。ここで、倍音と基本音との位相関係に着目すると、
図28の図表に示すような関係が得られることがわか
る。この図表には、基本音の0°,22.5°,30
°,…,180°という各位相角で示される時間軸上の
位置において、2倍音,3倍音,4倍音の各信号の位相
角がどのようになるかが示されており、括弧内の数字
は、基本音の位相と各倍音の位相との位相差に相当する
角度を示している。たとえば、この図表の1行目を見る
と、いずれの信号も位相角0°となっているが、これは
図27における点P10,P20,P30,P40にお
ける各信号の位相角を示している。この図表の4行目に
は、基本音の信号が位相角45°となった時点(図27
の点P11に対応)における各倍音信号の位相角が示さ
れている。すなわち、この時点では、2倍音では位相角
が90°(図27の点P21に対応)、3倍音では位相
角が135°(図27の点P31に対応)、4倍音では
位相角が180°(図27の点P41に対応)となって
いる。同様に、この図表の7行目には、基本音の信号が
位相角90°となった時点(図27の点P12に対応)
における各倍音信号の位相角が示されている。すなわ
ち、この時点では、2倍音では位相角が180°(図2
7の点P22に対応)、3倍音では位相角が270°
(図27の点P32に対応)、4倍音では位相角が0°
(図27の点P42に対応)となっている。更に、この
図表の9行目には、基本音の信号が位相角180°とな
った時点(図27の点P13に対応)における各倍音信
号の位相角が示されている。すなわち、この時点では、
2倍音では位相角が0°(図27の点P23に対応)、
3倍音では位相角が180°(図27の点P33に対
応)、4倍音では位相角が0°(図27の点P43に対
応)となっている。
【0113】結局、単一の音源しか鳴らされていないの
に、その倍音成分が混じったために(第2の要因)、周
波数が互いに整数倍となるような複数の信号が生成され
た場合には、各信号の位相が図28に示すような特定の
条件を満たすことになる。図示のとおり、この特定の条
件は、2倍音,3倍音,4倍音のそれぞれで異なってい
るが、基本音と2倍音、基本音と3倍音、基本音と4倍
音、といった特定の組み合わせにおける位相の条件は一
意的に定まることになる。したがって、この一意的に定
まる特定の条件を満たすか否かを判断することにより、
第2の要因に基づいて生成された複数の信号であるか否
かを認識することが可能になる。かくして、第2の要因
に基づいて生成された複数の信号が確認された場合に
は、倍音成分である周波数の高い方の信号は不用である
ので、当該信号を示す符号データを削除する処理を行え
ばよい。
【0114】既に述べたように、本発明に係る符号化方
法では、得られた代表周期関数と区間信号との位相を求
めることができる。したがって、この位相情報に基づい
て、図28に示すような特定の条件が満たされているか
否かを調べ、条件が満たされているものについては、倍
音除去の処理を行うようにすればよい。結局、この倍音
除去処理は、同一の単位区間について、複数の代表周期
関数が求まっている場合、これら各代表周期関数と当該
単位区間内の区間信号との位相をそれぞれ計算し、一方
の周波数が他方の周波数の整数Z倍の関係にあり、か
つ、それぞれについて計算された位相が整数Zにより一
意的に定まる特定の条件を満たすような2つの代表周期
関数が存在する場合には、周波数の高い代表周期関数に
関する符号データを削除する処理ということができる。
【0115】以上、本発明をいくつかの実施形態に基づ
いて説明したが、本発明はこれらの実施形態に限定され
るものではなく、この他にも種々の形態で実施可能であ
る。特に、本発明に係る音響信号の符号化方法は、主と
してコンピュータを用いたソフトウエア処理によって実
現するべきものであり、実用上は、汎用のパソコンなど
を利用して実現可能である。また、本発明に係る音響信
号の符号化方法は、コンピュータプログラムとして記述
することが可能であり、そのようなコンピュータプログ
ラムは、コンピュータ読み取り可能な記録媒体に記録し
て配付することが可能である。
【0116】
【発明の効果】以上のとおり、本発明に係る音響信号の
符号化方法によれば、MIDIデータのような符号デー
タへの変換を高い品質をもって行うことが可能になる。
【図面の簡単な説明】
【図1】先願発明に係る音響信号の符号化方法の基本原
理を示す図である。
【図2】図1(c) に示す強度グラフに基づいて作成され
た符号コードを示す図である。
【図3】一般化調和解析の手法により、単位区間d内の
区間信号Xjと周期関数Gjとの差分を求める原理図で
ある。
【図4】時間軸上に部分的に重複するように単位区間設
定を行うことにより作成された符号コードを示す図であ
る。
【図5】時間軸上に部分的に重複するような単位区間設
定の具体例を示す図である。
【図6】符号化の対象となる区間信号Xとサンプル番号
との関係を示す図である。
【図7】符号化のために用意された128通りの標準周
期関数の一例を示す図である。
【図8】標準周波数とノートナンバーとの関係式を示す
図である。
【図9】図6に示す区間信号Xと図7に示す標準周期関
数との相関を求める計算を示す図である。
【図10】図9に示す相関計算に用いられる計算式(三
角関数を用いた式)を示す図である。
【図11】図9に示す相関計算に用いられる計算式(一
般の周期関数を用いた式)を示す図である。
【図12】相関計算の結果から、位相角を求める計算式
を示す図である。
【図13】図9に示す相関計算を行う際に設定する相関
計算対象区間を示す図である。
【図14】図13に示すような相関計算対象区間を設定
した上での相関計算式を示す図である。
【図15】原信号Sに対して求められた代表周期関数S
0,S1,S2の位相の進み遅れを示すグラフである。
【図16】図15に示す位相の進み遅れの関係式を示す
図である。
【図17】単位区間dと参照区間r(n)とを設定し、
両者間での位相の進み遅れを求める原理を示す図であ
る。
【図18】図17に示す原理に基づいて求められた位相
の進み遅れを示す情報により、周波数補正を行う式を示
す図である。
【図19】図17に示す単位区間dについての区間信号
Xの位相角θ1(n)を求める式を示す図である。
【図20】図17に示す参照区間r(n)についての隣
接信号Yの位相角θ2(n)を求める式を示す図であ
る。
【図21】図19に示す式により得られる位相角θ1
(n)と、図20に示す式により得られる位相角θ2
(n)とに基づいて、周波数補正を行う式を示す図であ
る。
【図22】図17に示す単位区間dについて、補正後の
周期関数に対する区間信号Xの相関を再計算する式を示
す図である。
【図23】一般化調和解析の手法により、複数の代表周
期関数を決定する際に用いる式を示す図である。
【図24】符号統合処理の具体的な手順を示す図であ
る。
【図25】現在、最も標準的に利用されているSMF
(Standard MIDI File)フォーマットによるMIDIデ
ータの形式を示す図である。
【図26】具体的なMIDIデータの構成例を示す図で
ある。
【図27】基本音に対する倍音信号の信号波形を示すグ
ラフである。
【図28】倍音と基本音との位相関係を示す図表であ
る。
【符号の説明】
A…複素強度 A(n),A1(n),A2(n),AA(n)… sin
関数との相関値 B(n),B1(n),B2(n),BB(n)… cos
関数との相関値 d,d1〜d8…単位区間/MIDIデータ E,E(n),EE(n)…実効強度(二乗和平方根
値) e…振幅強度 F…サンプリング周波数 f,f(n)…周波数 ff(n)…補正後の周波数 Gj…代表周期関数の信号成分 K…絶対サンプル番号 k…1単位区間内の相対サンプル番号 L…単位区間の区間長 ΔL…オフセット長 M…整数 m…整数 N1〜N4…符号データ N(n)…ノートナンバー n,n1,n2,n3…ノートナンバー P10〜P43…信号波形上の1点 Rn…周期信号 r(n)…参照区間 S…原信号 S0,S1,S2…代表周期関数 T1〜T3…トラック T,T(n),T0,T1,T2…周期 TT,TT(n)…補正後の周期 ΔT1,ΔT2…位相差 t0〜t6…時刻 X,Xj,Xj+1…区間信号 w…単位区間内のサンプル数 w(n)…相関計算対象区間内のサンプル数 θ(n)…代表周期関数に対する位相角 θ1(n)…単位区間d内の区間信号Xの位相角 θ2(n)…参照区間r(n)内の隣接信号Yの位相角 Δθ,Δθ1,Δθ2…位相の進み遅れを示す位相角 Δθ,Δθ(n)…m周期分累積した位相の進み遅れ
を示す位相角

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 時系列の強度信号として与えられる音響
    信号を符号化するための符号化方法であって、 符号化対象となる音響信号を、デジタルの音響データと
    して取り込む入力段階と、 前記音響データの時間軸上に複数の単位区間を設定する
    区間設定段階と、 複数通りの標準周波数を設定し、各標準周波数をもった
    標準周期関数をそれぞれ定義する標準周期関数定義段階
    と、 個々の単位区間内の音響データと前記各標準周期関数と
    の相関を計算し、相関が所定の基準以上の大きさとなる
    1つまたは複数の標準周期関数を仮代表周期関数として
    選出する仮代表選出段階と、 個々の単位区間について、当該単位区間について選出さ
    れた仮代表周期関数の周期の整数倍に相当する時間だ
    け、当該単位区間をずらすことにより得られる参照区間
    を定義する参照区間定義段階と、 個々の単位区間について、当該単位区間について選出さ
    れた仮代表周期関数と当該単位区間内の音響データとの
    位相差を示す第1の位相角と、当該単位区間について選
    出された仮代表周期関数と当該単位区間についての当該
    仮代表周期関数の周期の整数倍だけずれた参照区間内の
    音響データとの位相差を示す第2の位相角と、を求め、
    前記第1の位相角と前記第2の位相角との差に基づい
    て、当該仮代表周期関数の周期を補正することにより代
    表周期関数を求める補正段階と、 個々の単位区間の音響データを、当該単位区間について
    求められた代表周期関数の周波数もしくはこれに近似す
    る所定の周波数を示す周波数情報を含む符号データによ
    って表現する符号化段階と、 を有することを特徴とする音響信号の符号化方法。
  2. 【請求項2】 請求項1に記載の音響信号の符号化方法
    において、 符号化段階において、個々の単位区間の音響データを、
    当該単位区間について求められた代表周期関数の周波数
    に近似した標準周波数を示す周波数情報を含む符号デー
    タによって表現することを特徴とする音響信号の符号化
    方法。
  3. 【請求項3】 請求項1または2に記載の音響信号の符
    号化方法において、 標準周波数として、周波数値が等比級数配列をなす周波
    数を設定することを特徴とする音響信号の符号化方法。
  4. 【請求項4】 請求項1〜3のいずれかに記載の音響信
    号の符号化方法において、 個々の単位区間について、代表周期関数と当該単位区間
    内の音響データとの相関値を計算し、個々の単位区間の
    音響データを、当該単位区間について求められた代表周
    期関数の周波数もしくはこれに近似する所定の周波数を
    示す周波数情報と、当該代表周期関数について計算され
    た相関値を示す強度情報と、を含む符号データによって
    表現することを特徴とする音響信号の符号化方法。
  5. 【請求項5】 請求項1〜4のいずれかに記載の音響信
    号の符号化方法において、 個々の単位区間について、代表周期関数と当該単位区間
    内の音響データとの位相を計算し、個々の単位区間の音
    響データを、当該単位区間について求められた代表周期
    関数の周波数もしくはこれに近似する所定の周波数を示
    す周波数情報と、当該代表周期関数について計算された
    位相を示す位相情報と、を含む符号データによって表現
    することを特徴とする音響信号の符号化方法。
  6. 【請求項6】 請求項1〜5のいずれかに記載の音響信
    号の符号化方法において、 仮代表選出段階において、仮代表周期関数の選出基準と
    して、相関値が所定の閾値以上である標準周期関数を選
    出する方法、または、相関値の大きい順に所定数の標準
    周期関数を選出する方法を採ることを特徴とする音響信
    号の符号化方法。
  7. 【請求項7】 請求項1〜6のいずれかに記載の音響信
    号の符号化方法において、 仮代表選出段階において、音響データのフーリエスペク
    トルにおけるスペクトル強度値に基いて、1つまたは複
    数の仮代表周波数を選出することを特徴とする音響信号
    の符号化方法。
  8. 【請求項8】 請求項1〜6のいずれかに記載の音響信
    号の符号化方法において、 第j番目の対象音響データに対する相関が最も大きくな
    る標準周期関数を第j番目の仮代表周期関数として選出
    し、この第j番目の仮代表周期関数の周期を補正するこ
    とにより第j番目の代表周期関数を求め、この第j番目
    の代表周期関数からなる信号成分を前記第j番目の対象
    音響データから減じることにより得られる音響データ
    を、第(j+1)番目の対象音響データとする処理を、
    j=1〜P(Pは任意の整数)まで繰り返し実行し、P
    個の代表周期関数を選出することを特徴とする音響信号
    の符号化方法。
  9. 【請求項9】 請求項1〜8のいずれかに記載の音響信
    号の符号化方法において、 所定の周期関数と所定区間内の音響データとの相関を計
    算する際に、当該周期関数の周期の整数倍に相当する長
    さをもった区間を相関計算対象区間として設定し、当該
    所定区間内のうち前記相関計算対象区間内の部分につい
    てのみ相関計算を実行することを特徴とする音響信号の
    符号化方法。
  10. 【請求項10】 請求項1〜9のいずれかに記載の音響
    信号の符号化方法において、 個々の周波数をもった周期関数として、それぞれ互いに
    位相がπ/2だけ異なる第1の関数および第2の関数を
    定義し、第1の関数に対する相関値と第2の関数に対す
    る相関値との二乗和平方根値に基づいて当該周期関数に
    対する相関を求め、第1の関数に対する相関値と第2の
    関数に対する相関値との比率に基づいて当該周期関数に
    対する位相を求めることを特徴とする音響信号の符号化
    方法。
  11. 【請求項11】 請求項1〜10のいずれかに記載の音
    響信号の符号化方法において、 ある単位区間について、仮代表周期関数の周期Tのm倍
    (mは整数)だけずれた位置に参照区間が定義されてい
    る場合に、第1の位相角と第2の位相角との差Δθ(た
    だし、−π≦Δθ≦+π)を用いて、TT=(mT−T
    ・Δθ/2π)/mなる補正計算によって、代表周期関
    数の周期TTを求めることを特徴とする音響信号の符号
    化方法。
  12. 【請求項12】 請求項11に記載の音響信号の符号化
    方法において、 mTの値が所定の設定値Tmax を超えない範囲内で最大
    となるように、仮代表周期関数の周期Tに応じて異なる
    整数mを設定することを特徴とする音響信号の符号化方
    法。
  13. 【請求項13】 請求項1〜12のいずれかに記載の音
    響信号の符号化方法において、 時間軸上で近接配置された複数の符号データに含まれる
    周波数情報、強度情報、位相情報なる3つの要素のうち
    のいくつかが、それぞれ所定の許容範囲内で近似してい
    る場合、これら複数の符号データを1つの符号データに
    統合する処理を行うことを特徴とする音響信号の符号化
    方法。
  14. 【請求項14】 請求項1〜13のいずれかに記載の音
    響信号の符号化方法において、 同一の単位区間について複数の代表周期関数が求まって
    いる場合に、これら各代表周期関数と当該単位区間内の
    音響データとの位相をそれぞれ計算し、一方の周波数が
    他方の周波数の整数Z倍の関係にあり、かつ、それぞれ
    について計算された前記位相が前記整数Zにより一意的
    に定まる特定の条件を満たすような2つの代表周期関数
    が存在する場合に、周波数の高い代表周期関数に関する
    符号データを削除する処理を行うことを特徴とする音響
    信号の符号化方法。
  15. 【請求項15】 請求項1〜14のいずれかに記載の音
    響信号の符号化方法において、 楽譜のノートナンバーに対応する標準周波数を予め設定
    しておき、符号化段階において、代表周期関数の周波数
    を、これに近似した標準周波数に対応するノートナンバ
    ーによって表現し、MIDIデータにより符号化を行う
    ことを特徴とする音響信号の符号化方法。
  16. 【請求項16】 請求項1〜15のいずれかに記載の音
    響信号の符号化方法をコンピュータに実行させるための
    プログラムを記録したコンピュータ読み取り可能な記録
    媒体。
JP32929799A 1999-11-19 1999-11-19 音響信号の符号化方法 Pending JP2001148633A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32929799A JP2001148633A (ja) 1999-11-19 1999-11-19 音響信号の符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32929799A JP2001148633A (ja) 1999-11-19 1999-11-19 音響信号の符号化方法

Publications (1)

Publication Number Publication Date
JP2001148633A true JP2001148633A (ja) 2001-05-29

Family

ID=18219898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32929799A Pending JP2001148633A (ja) 1999-11-19 1999-11-19 音響信号の符号化方法

Country Status (1)

Country Link
JP (1) JP2001148633A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015690A (ja) * 2001-06-29 2003-01-17 Dainippon Printing Co Ltd 音響信号の符号化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015690A (ja) * 2001-06-29 2003-01-17 Dainippon Printing Co Ltd 音響信号の符号化方法
JP4697919B2 (ja) * 2001-06-29 2011-06-08 大日本印刷株式会社 音響信号の符号化方法

Similar Documents

Publication Publication Date Title
JPH0736455A (ja) 音楽イベントインデックス作成装置
JP4132362B2 (ja) 音響信号の符号化方法およびプログラム記録媒体
JP3795201B2 (ja) 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JPH10247099A (ja) 音声信号の符号化方法および音声の記録再生装置
JP4037542B2 (ja) 音響信号の符号化方法
JP2000293188A (ja) 和音リアルタイム認識方法及び記憶媒体
JP2001005450A (ja) 音響信号の符号化方法
JP4331289B2 (ja) 音響信号の符号化方法
JP2001148633A (ja) 音響信号の符号化方法
JPH1173200A (ja) 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JP4331373B2 (ja) 時系列信号の解析方法および音響信号の符号化方法
JPH1173199A (ja) 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JP4220108B2 (ja) 音響信号符号化システム
JP4268328B2 (ja) 音響信号の符号化方法
JP4695781B2 (ja) 音響信号の符号化方法
JP2003216147A (ja) 音響信号の符号化方法
JP2002244691A (ja) 音響信号の符号化方法
Li et al. Music Definition Language & Music Manipulation Language: A Coding Scheme for Music Representation and Storage
JP4156252B2 (ja) 音響信号の符号化方法
JP4473979B2 (ja) 音響信号の符号化方法および復号化方法ならびに当該方法を実行するプログラムを記録した記録媒体
JP4398049B2 (ja) 時系列信号の解析方法および音響信号の符号化方法
AU2020104383A4 (en) Projection filter based universal framework to match the musical notes of synthesizer and indian classical instruments
JP2002215142A (ja) 音響信号の符号化方法
JP2002123296A (ja) 音響信号の符号化方法および分離方法
JP3935745B2 (ja) 音響信号の符号化方法