(57)【特許請求の範囲】
【請求項１】
与えられた音響信号に単位区間を設定し、各単位区間に対して周波数解析を行うことにより、開始時刻、終了時刻、周波数および強度値で構成される時系列の音素データを生成する音素データ生成段階と、
前記各音素データの中で少なくとも時間的に連続する複数の音素データを要素音素データとして選別して１つの連結音素データに統合させ、時間的に先頭となる要素音素データの開始時刻をその開始時刻とし、時間的に最後尾となる要素音素データの終了時刻をその終了時刻とし、いずれかの要素音素データの周波数および強度値を前記連結音素データの周波数および強度値として与える音素連結段階と、
各要素音素データについて、各要素音素データの周波数および強度値の前記連結音素データの周波数および強度値に対する変異量を算出し、各要素音素データの開始時刻と、連結音素データの開始時刻との差を中間時刻として与えて、中間時刻、周波数変異量または強度変異量からなる時系列変異データを生成するための時系列変異データ生成段階と、
前記連結音素データと前記時系列変異データを対応付けることにより前記音響信号を符号化することを特徴とする音響信号の符号化方法。
【請求項２】
前記音素連結段階が連結対象とする要素音素データの連結条件は、前記時間的に連続する条件に加え、各音素データの周波数が先頭の音素データの周波数に類似し、各音素データの強度値が前方に位置する音素データの強度値の最小値に比べ増加分が所定の値以下になっていることを条件とすることを特徴とする請求項１に記載の音響信号の符号化方法。
【請求項３】
前記連結音素データと前記時系列変異データの対応付けは、前記各連結音素データのなかで時間的に重複する連結音素データを識別できるように、所定の種類に限定されたＩＤ番号を与え、各連結音素データに対応する前記時系列変異データに対して前記連結音素データのＩＤ番号を付与することにより行うものであることを特徴とする請求項１または請求項２に記載の音響信号の符号化方法。
【請求項４】
前記連結音素データの周波数の単位として平均律の半音階を与え、音素データと要素音素データの周波数および周波数変異量の単位として１／Ｎ半音（Ｎは１より大きい整数）の分解能を与えることを特徴とする請求項１から請求項３のいずれかに記載の音響信号の符号化方法。
【請求項５】
前記連結音素データの開始時刻および終了時刻をＭＩＤＩのデルタタイムに、周波数をＭＩＤＩのノートナンバーに、強度値をＭＩＤＩのベロシティに各々変換することにより、ＭＩＤＩのノートオンまたはノートオフイベントデータとして記述するようにし、前記ＩＤ番号をＭＩＤＩのチャンネルで記述することを特徴とする請求項１から請求項４のいずれかに記載の音響信号の符号化方法。
【請求項６】
前記時系列変異データの中間時刻をＭＩＤＩのデルタタイムに変換し、周波数変異量をＭＩＤＩのピッチベンドで記述し、強度変異量をＭＩＤＩのエクスプレッションで記述し、前記連結音素データから変換されたＭＩＤＩのノートオンおよびノートオフからなる１対のイベントデータの間に挿入し、ＭＩＤＩのチャンネルで相互に対応付けるようにしていることを特徴とする請求項５に記載の音響信号の符号化方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、放送メディア（ラジオ、テレビ）、通信メディア（ＣＳ映像・音声配信、インターネット音楽配信、通信カラオケ）、パッケージメディア（ＣＤ、ＭＤ、カセット、ビデオ、ＬＤ、ＣＤ−ＲＯＭ、ゲームカセット、携帯音楽プレーヤ向け固体メモリ媒体）などで提供する各種オーディオコンテンツの制作、並びに、専用携帯音楽プレーヤ、携帯電話・ＰＨＳ・ポケベルなどに向けたボーカルを含む音楽コンテンツ、歌舞伎・能・読経・詩歌など文芸作品の音声素材または語学教育音声教材のＭＩＤＩ伝送に利用するのに好適な音響信号の符号化技術に関する。
【０００２】
【従来の技術】
音響信号に代表される時系列信号には、その構成要素として複数の周期信号が含まれている。このため、与えられた時系列信号にどのような周期信号が含まれているかを解析する手法は、古くから知られている。例えば、フーリエ解析は、与えられた時系列信号に含まれる周波数成分を解析するための方法として広く利用されている。
【０００３】
このような時系列信号の解析方法を利用すれば、音響信号を符号化することも可能である。コンピュータの普及により、原音となるアナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして取り込むことが容易にできるようになってきており、こうして取り込んだデジタルデータに対してフーリエ解析などの手法を適用し、原音信号に含まれていた周波数成分を抽出すれば、各周波数成分を示す符号によって原音信号の符号化が可能になる。
【０００４】
一方、電子楽器による楽器音を符号化しようという発想から生まれたＭＩＤＩ（Musical Instrument Digital Interface）規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このＭＩＤＩ規格による符号データ（以下、ＭＩＤＩデータという）は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このＭＩＤＩデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したＭＩＤＩ音源が別途必要になるが、その符号化効率の高さが注目を集めており、ＭＩＤＩ規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウェアに広く採り入れられている。
【０００５】
そこで、音響信号に代表される時系列信号に対して、所定の手法で解析を行うことにより、その構成要素となる周期信号を抽出し、抽出した周期信号をＭＩＤＩデータを用いて符号化しようとする提案がなされている。例えば、特開平１０−２４７０９９号公報、特開平１１−７３１９９号公報、特開平１１−７３２００号公報、特開平１１−９５７５３号公報、特開２０００−９９００９号公報、特開２０００−９９０９２号公報、特開２０００−９９０９３号公報、特開２０００−２６１３２２号公報、特開２００１−５４５０号公報、特開２００１−１４８６３３号公報には、任意の時系列信号について、構成要素となる周波数を解析し、その解析結果からＭＩＤＩデータを作成することができる種々の方法が提案されている。
【０００６】
【発明が解決しようとする課題】
上記各公報または明細書において提案してきたＭＩＤＩ符号化方式により、音響信号の効率的な符号化が可能になった。特に、特願２０００−２７００１５号において提案している手法においては、ピッチの変化パターンをあらかじめ決めておいて、定型的なピッチベンドパターンを付加する方法を提案した。しかしながら、この方法を利用しても原音の音量や周波数の変動を再現するには限界があり、元来１つの音符であったものが複数の音符に分解されてしまい、不自然な音の段差が残ってしまうという問題がある。
【０００７】
上記のような点に鑑み、本発明は、音符の音高・強度等の基本的な情報だけでなく、アーティキュレーション情報（演奏表現情報）を原音響信号から解析して符号データに自動的に付加することが可能な音響信号の符号化方法を提供することを課題とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明では、与えられた音響信号に対して周波数解析を行うことにより開始時刻、終了時刻、周波数および強度値で構成される時系列の音素データを生成する音素データ生成段階、前記各音素データの中で時間的に連続する複数の音素データを要素音素データとして選別して１つの連結音素データに統合させ、時間的に先頭となる要素音素データの開始時刻をその開始時刻とし、時間的に最後尾となる要素音素データの終了時刻をその終了時刻とし、いずれかの要素音素データの周波数および強度値を前記連結音素データの周波数および強度値として与えるようにしている音素連結段階、各要素音素データについて、各要素音素データの周波数および強度値の前記連結音素データの周波数および強度値に対する変異量を算出し、各要素音素データの開始時刻と、連結音素データの開始時刻との差を中間時刻として与えて、中間時刻、周波数変異量または強度変異量からなる時系列変異データを生成するための時系列変異データ生成段階、を実行し、前記連結音素データと前記時系列変異データを対応付けることにより前記音響信号を符号化するようにしたことを特徴とする。
本発明によれば、音響信号に単位区間を設定し、各単位区間に対して周波数解析を行った結果得られる音素データを連結し、得られる連結音素データに対して元の音素データの特徴を変異量として付加するようにしたので、音符の音高・強度等の基本的な情報だけでなく、演奏表現情報を有し、原音響信号をより忠実に再現することが可能となる。
【０００９】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（1.基本原理）
はじめに、本発明に係る音響信号の符号化方法の基本原理を述べておく。この基本原理は、前掲の各公報あるいは明細書に開示されているので、ここではその概要のみを簡単に述べることにする。
【００１０】
図１（ａ）に示すように、時系列信号としてアナログ音響信号が与えられたものとする。図１の例では、横軸に時間ｔ、縦軸に振幅（強度）をとって、この音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なＰＣＭの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えば良い。
【００１１】
続いて、この解析対象となる音響信号の時間軸上に、複数の単位区間を設定する。図１（ａ）に示す例では、時間軸ｔ上に等間隔に６つの時刻ｔ１〜ｔ６が定義され、これら各時刻を始点および終点とする５つの単位区間ｄ１〜ｄ５が設定されている。図１の例では、全て同一の区間長をもった単位区間が時間軸上で重複せずに設定されているが、隣接する単位区間が時間軸上で部分的に重なり合うような区間設定を行ってもかまわない。
【００１２】
こうして単位区間が設定されたら、各単位区間ごとの音響信号（以下、区間信号と呼ぶことにする）について、それぞれ代表周波数を選出する。各区間信号には、通常、様々な周波数成分が含まれているが、例えば、その中で成分の強度割合の大きな周波数成分を代表周波数として選出すれば良い。ここで、代表周波数とはいわゆる基本周波数が一般的であるが、音声のフォルマント周波数などの倍音周波数や、ノイズ音源のピーク周波数も代表周波数として扱うことがある。代表周波数は１つだけ選出しても良いが、音響信号によっては複数の代表周波数を選出した方が、より精度の高い符号化が可能になる。図１（ｂ）には、個々の単位区間ごとにそれぞれ３つの代表周波数を選出し、１つの代表周波数を１つの代表符号（図では便宜上、音符として示してある）として符号化した例が示されている。ここでは、代表符号（音符）を収容するために３つのトラックＴ１，Ｔ２，Ｔ３が設けられているが、これは個々の単位区間ごとに選出された３つずつの代表符号を、それぞれ異なるトラックに収容するためである。
【００１３】
例えば、単位区間ｄ１について選出された代表符号ｎ（ｄ１，１），ｎ（ｄ１，２），ｎ（ｄ１，３）は、それぞれトラックＴ１，Ｔ２，Ｔ３に収容されている。ここで、各符号ｎ（ｄ１，１），ｎ（ｄ１，２），ｎ（ｄ１，３）は、ＭＩＤＩ符号におけるノートナンバーを示す符号である。ＭＩＤＩ符号におけるノートナンバーは、０〜１２７までの１２８通りの値をとり、それぞれピアノの鍵盤の１つのキーを示すことになる。具体的には、例えば、代表周波数として４４０Ｈｚが選出された場合、この周波数はノートナンバーｎ＝６９（ピアノの鍵盤中央の「ラ音（Ａ３音）」に対応）に相当するので、代表符号としては、ｎ＝６９が選出されることになる。もっとも、図１（ｂ）は、上述の方法によって得られる代表符号を音符の形式で示した概念図であり、実際には、各音符にはそれぞれ強度に関するデータも付加されている。例えば、トラックＴ１には、ノートナンバーｎ（ｄ１，１），ｎ（ｄ２，１）・・・という音高を示すデータとともに、ｅ（ｄ１，１），ｅ（ｄ２，１）・・・という強度を示すデータが収容されることになる。この強度を示すデータは、各代表周波数の成分が、元の区間信号にどの程度の度合いで含まれていたかによって決定される。具体的には、各代表周波数をもった周期関数の区間信号に対する相関値に基づいて強度を示すデータが決定されることになる。また、図１（ｂ）に示す概念図では、音符の横方向の位置によって、個々の単位区間の時間軸上での位置が示されているが、実際には、この時間軸上での位置を正確に数値として示すデータが各音符に付加されていることになる。
【００１４】
音響信号を符号化する形式としては、必ずしもＭＩＤＩ形式を採用する必要はないが、この種の符号化形式としてはＭＩＤＩ形式が最も普及しているため、実用上はＭＩＤＩ形式の符号データを用いるのが好ましい。ＭＩＤＩ形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーＮとベロシティーＶを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーＮとベロシティーＶを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーＶは、例えば、ピアノの鍵盤などを押し下げる速度（ノートオン時のベロシティー）および鍵盤から指を離す速度（ノートオフ時のベロシティー）を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【００１５】
前述の方法では、第ｉ番目の単位区間ｄｉについて、代表符号としてＪ個のノートナンバーｎ（ｄｉ，１），ｎ（ｄｉ，２），・・・，ｎ（ｄｉ，Ｊ）が得られ、このそれぞれについて強度ｅ（ｄｉ，１），ｅ（ｄｉ，２），・・・，ｅ（ｄｉ，Ｊ）が得られる。そこで、次のような手法により、ＭＩＤＩ形式の符号データを作成することができる。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーＮとしては、得られたノートナンバーｎ（ｄｉ，１），ｎ（ｄｉ，２），・・・，ｎ（ｄｉ，Ｊ）をそのまま用いれば良い。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーＶとしては、得られた強度ｅ（ｄｉ，１），ｅ（ｄｉ，２），・・・，ｅ（ｄｉ，Ｊ）を所定の方法で規格化した値を用いれば良い。また、「デルタタイム」データは、各単位区間の長さに応じて設定すれば良い。
【００１６】
（2.周期関数との相関を求める具体的な方法）
上述した基本原理に基づく方法では、区間信号に対して、１つまたは複数の代表周波数が選出され、この代表周波数をもった周期信号によって、当該区間信号が表現されることになる。ここで、選出される代表周波数は、文字どおり、当該単位区間内の信号成分を代表する周波数である。この代表周波数を選出する具体的な方法には、後述するように、短時間フーリエ変換を利用する方法と、一般化調和解析の手法を利用する方法とがある。いずれの方法も、基本的な考え方は同じであり、あらかじめ周波数の異なる複数の周期関数を調和信号として用意しておき、これら複数の周期関数の中から、当該単位区間内の区間信号に対する相関が高い周期関数を見つけ出し、この相関の高い周期関数の周波数を代表周波数として選出する、という手法を採ることになる。すなわち、代表周波数を選出する際には、あらかじめ用意された複数の周期関数と、単位区間内の区間信号との相関を求める演算を行うことになる。そこで、ここでは、周期関数との相関を求める具体的な方法を述べておく。
【００１７】
複数の周期関数として、図２に示すような三角関数が用意されているものとする。これらの三角関数は、同一周波数をもった正弦関数と余弦関数との対から構成されており、１２８通りの標準周波数ｆ（０）〜ｆ（１２７）のそれぞれについて、正弦関数および余弦関数の対が定義されていることになる。ここでは、同一の周波数をもった正弦関数および余弦関数からなる一対の関数を、当該周波数についての周期関数として定義することにする。すなわち、ある特定の周波数についての周期関数は、一対の正弦関数および余弦関数によって構成されることになる。このように、一対の正弦関数と余弦関数とにより周期関数を定義するのは、信号に対する周期関数の相関値を求める際に、相関値が位相の影響を受ける事を考慮するためである。なお、図２に示す各三角関数内の変数Ｆおよびｋは、区間信号Ｘについてのサンプリング周波数Ｆおよびサンプル番号ｋに相当する変数である。例えば、周波数ｆ（０）についての正弦波は、ｓｉｎ（２πｆ（０）ｋ／Ｆ）で示され、任意のサンプル番号ｋを与えると、区間信号を構成する第ｋ番目のサンプルと同一時間位置における周期関数の振幅値が得られる。ここでは、１２８通りの標準周波数ｆ（０）〜ｆ（１２７）を以下に示す〔数式１〕で定義する。
【００１８】
〔数式１〕
ｆ（ｎ）＝４４０×２γ(n)
γ（ｎ）＝（ｎ−６９）／１２
ただし、ｎ＝０，１，２，・・・，１２７
【００１９】
このような式によって標準周波数を定義しておくと、最終的にＭＩＤＩデータを用いた符号化を行う際に便利である。なぜなら、このような定義によって設定される１２８通りの標準周波数ｆ（０）〜ｆ（１２７）は、等比級数をなす周波数値をとることになり、ＭＩＤＩデータで利用されるノートナンバーに対応した周波数になるからである。したがって、図２に示す１２８通りの標準周波数ｆ（０）〜ｆ（１２７）は、対数尺度で示した周波数軸上に等間隔（ＭＩＤＩにおける半音単位）に設定した周波数ということになる。
【００２０】
（2.1.短時間フーリエ変換法）
続いて、任意の区間の区間信号に対する各周期関数の相関の求め方について、具体的な説明を行う。例えば、図３に示すように、ある単位区間ｄについて区間信号Ｘが与えられていたとする。ここでは、区間長Ｌをもった単位区間ｄについて、サンプリング周波数Ｆでサンプリングが行なわれており、全部でｗ個のサンプル値が得られているものとし、サンプル番号を図示のように、０，１，２，３，・・・，ｋ，・・・，ｗ−２，ｗ−１とする（白丸で示す第ｗ番目のサンプルは、右に隣接する次の単位区間の先頭に含まれるサンプルとする）。この場合、任意のサンプル番号ｋについては、Ｘ（ｋ）なる振幅値がデジタルデータとして与えられていることになる。短時間フーリエ変換においては、Ｘ（ｋ）に対して各サンプルごとに中央の重みが１に近く、両端の重みが０に近くなるような窓関数Ｗ（ｋ）を乗ずることが通常である。すなわち、Ｘ（ｋ）×Ｗ（ｋ）をＸ（ｋ）と扱って以下のような相関計算を行うもので、窓関数の形状としては余弦波形状のハミング窓が一般に用いられている。ここで、ｗは以下の記述においても定数のような記載をしているが、一般にはｎの値に応じて変化させ、区間長Ｌを超えない範囲で最大となるＦ／ｆ（ｎ）の整数倍の値に設定することが望ましい。
【００２１】
このような区間信号Ｘに対して、第ｎ番目の標準周波数ｆ（ｎ）をもった正弦関数Ｒｎとの相関値を求める原理を示す。両者の相関値Ａ（ｎ）は、以下の〔数式２〕によって定義することができる。
【００２２】
〔数式２〕
Ａ(ｎ)＝(２／ｗ)Σk=0,w-1ｘ(ｋ) sin(２πｆnｋ／Ｆ)
Ｂ(ｎ)＝(２／ｗ)Σk=0,w-1ｘ(ｋ) cos(２πｆnｋ／Ｆ)
｛Ｅ(ｎ)｝2＝｛Ａ(ｎ)｝2＋｛Ｂ(ｎ)｝2
【００２３】
上記〔数式２〕において、Ｘ（ｋ）は、図３に示すように、区間信号Ｘにおけるサンプル番号ｋの振幅値であり、ｓｉｎ（２πｆnｋ／Ｆ）は、時間軸上での同位置における正弦関数Ｒｎの振幅値である。なお、数式が繁雑になるのを避けるため、数式内ではｆ（ｎ）をｆnと表現している。〔数式２〕の第１の演算式は、単位区間ｄ内の全サンプル番号ｋ＝０〜ｗ−１の次元について、それぞれ区間信号Ｘの振幅値と正弦関数Ｒｎの振幅ベクトルの内積を求める式ということができる。
【００２４】
同様に、上記〔数式２〕の第２の演算式は、区間信号Ｘと、第ｎ番目の標準周波数ｆ（ｎ）をもった余弦関数との相関値を求める式であり、両者の相関値はＢ（ｎ）で与えられる。なお、相関値Ａ（ｎ）を求めるための第１の演算式も、相関値Ｂ（ｎ）を求めるための第２の演算式も、最終的に２／ｗが乗ぜられているが、これは相関値を規格化するためのものでり、前述のとおりｗはｎに依存して変化させるのが一般的であるため、この係数もｎに依存する変数である。
【００２５】
区間信号Ｘと標準周波数ｆ（ｎ）をもった標準周期関数との相関実効値は、上記〔数式２〕の第３の演算式に示すように、正弦関数との相関値Ａ（ｎ）と余弦関数との相関値Ｂ（ｎ）との二乗和平方根のうち、正の値であるＥ（ｎ）によって示すことができる。この相関実効値の大きな標準周期関数の周波数を代表周波数として選出すれば、この代表周波数を用いて区間信号Ｘを符号化することができる。
【００２６】
すなわち、この相関値Ｅ（ｎ）が所定の基準以上の大きさとなる１つまたは複数の標準周波数を代表周波数として選出すれば良い。なお、ここで「相関値Ｅ（ｎ）が所定の基準以上の大きさとなる」という選出条件は、例えば、何らかの閾値を設定しておき、相関値Ｅ（ｎ）がこの閾値を超えるような標準周波数ｆ（ｎ）をすべて代表周波数として選出する、という絶対的な選出条件を設定しても良いが、例えば、相関値Ｅ（ｎ）の大きさの順にＱ番目までを選出する、というような相対的な選出条件を設定しても良い。
【００２７】
（2.2.一般化調和解析の手法）
ここでは、従来の周波数解析方法および音響信号の符号化を行う際に利用されてきた一般化調和解析の手法について説明する。既に説明したように、音響信号を符号化する場合、個々の単位区間内の区間信号について、相関値の高いいくつかの代表周波数を選出することになる。一般化調和解析は、計算量が多いが、より高い精度で代表周波数の選出を可能にする手法であり、その基本原理は次の通りである。
【００２８】
図４（ａ）に示すような単位区間ｄについて、信号Ｓ（ｊ）なるものが存在するとする。ここで、ｊは後述するように、繰り返し処理のためのパラメータである（ｊ＝１〜Ｊ）。まず、この信号Ｓ（ｊ）に対して、図２に示すような１２８通りの周期関数すべてについての相関値を求める。そして、最大の相関値が得られた１つの周期関数の周波数を代表周波数として選出し、当該代表周波数をもった周期関数を要素関数として抽出する。続いて、図４（ｂ）に示すような含有信号Ｇ（ｊ）を定義する。この含有信号Ｇ（ｊ）は、抽出された要素関数に、その振幅として、当該要素関数の信号Ｓ（ｊ）に対する相関値を乗じることにより得られる信号である。例えば、周期関数として図２に示すように、一対の正弦関数と余弦関数とを用い、周波数ｆ（ｎ）が代表周波数として選出された場合、振幅Ａ（ｎ）をもった正弦関数Ａ（ｎ）ｓｉｎ（２πｆnｋ／Ｆ）と、振幅Ｂ（ｎ）をもった余弦関数Ｂ（ｎ）ｃｏｓ（２πｆnｋ／Ｆ）との和からなる信号が含有信号Ｇ（ｊ）ということになる（図４（ｂ）では、図示の便宜上、一方の関数しか示していない）。ここで、Ａ（ｎ），Ｂ（ｎ）は、上記〔数式２〕で得られる規格化された相関値であるから、結局、含有信号Ｇ（ｊ）は、信号Ｓ（ｊ）内に含まれている周波数ｆ（ｎ）をもった信号成分ということができる。
【００２９】
こうして、含有信号Ｇ（ｊ）が求まったら、信号Ｓ（ｊ）から含有信号Ｇ（ｊ）を減じることにより、差分信号Ｓ（ｊ＋１）を求める。図４（ｃ）は、このようにして求まった差分信号Ｓ（ｊ＋１）を示している。この差分信号Ｓ（ｊ＋１）は、もとの信号Ｓ（ｊ）の中から、周波数ｆ（ｎ）をもった信号成分を取り去った残りの信号成分からなる信号ということができる。そこで、パラメータｊを１だけ増加させることにより、この差分信号Ｓ（ｊ＋１）を新たな信号Ｓ（ｊ）として取り扱い、同様の処理を、パラメータｊをｊ＝１〜Ｊまで１ずつ増やしながらＪ回繰り返し実行すれば、Ｊ個の代表周波数を選出することができる。
【００３０】
このような相関計算の結果として出力されるＪ個の含有信号Ｇ（１）〜Ｇ（Ｊ）は、もとの区間信号Ｘの構成要素となる信号であり、もとの区間信号Ｘを符号化する場合には、これらＪ個の含有信号の周波数を示す情報および振幅（強度）を示す情報を符号データとして用いるようにすれば良い。尚、Ｊは代表周波数の個数であると説明してきたが、標準周波数ｆ（ｎ）の個数と同一すなわちＪ＝１２８であってもよく、周波数スペクトルを求めることを目的とする周波数解析においてはそのように行うのが通例である。
【００３１】
（2.3.相互相関テーブルを利用した手法）
設定された単位区間における区間信号と調和信号との相関計算を行う手法としては、上記短時間フーリエ変換法と、一般化調和解析を利用した手法が有名である。しかし、短時間フーリエ変換法では周波数分解能が充分でなく、短時間フーリエ変換法の問題点をこれを解決するための一般化調和解析を利用した手法では、短時間フーリエ変換法に比べて、周期関数である調和信号との相関演算回数が桁違いに多いため、計算負荷が大きいという問題があった。そこで、本出願人は、特願２００２−９２２３号において、相互相関テーブルを利用して周波数解析を行う手法を提案した。この手法により、短時間フーリエ変換法と同等な計算負荷で一般化調和解析と同等な周波数分解能を実現することが可能であると共に、一般化調和解析で問題になっていた、抽出される信号成分の精度の向上を図ることが可能となる。この相互相関テーブルを利用した手法を次に説明する。
【００３２】
まず、上記手法と同様に、複数の標準周波数を設定し、各標準周波数に対応する標準周期関数を調和信号として準備する。このとき設定される標準周波数としては、周波数解析の特性に合わせて任意に設定することができるが、音響信号の符号化に利用するためには、図２および〔数式１〕に示したように、ＭＩＤＩ規格のノートナンバーｎに対応させて設定することが好ましい。
【００３３】
続いて、各調和信号同士の相関である相互相関を全ての組合せに対して算出し、相互相関テーブルを作成する。この際、周波数ｆ（ｍ）の調和信号の周波数ｆ（ｎ）の調和信号に対する相互相関Ｒ(ｆm,ｆn)は、以下の〔数式３〕により算出する。
【００３４】
〔数式３〕
Ａ(ｆm,ｆn)＝(２／Ｔ(ｎ))Σt=0,T(n)-1sin(２πｆmｔ) sin(２πｆnｔ)
Ｂ(ｆm,ｆn)＝(２／Ｔ(ｎ))Σt=0,T(n)-1sin(２πｆmｔ) cos(２πｆnｔ)
｛Ｒ(ｆm,ｆn)｝2＝｛Ａ(ｆm,ｆn)｝2＋｛Ｂ(ｆm,ｆn)｝2
【００３５】
相互相関Ｒ(ｆm,ｆn)は、上記〔数式３〕の第３式で算出される｛Ｒ(ｆm,ｆn)｝2のうちの正の平方根として求められる。このとき、図２に示したようにｍ、ｎがノートナンバーに対応している場合、相互相関テーブルには、各ノートナンバーｍに対応する１２８個のノートナンバーの相関値が記録され、全部で１２８×１２８個の相関値が記録されることになる。
【００３６】
相互相関テーブルの準備ができたら、解析対象となる時系列信号の全区間に渡って単位区間を設定し、設定された単位区間の時系列信号を区間信号として抽出する。単位区間の設定は、図１（ａ）に示したように、先行する単位区間の終点と後続する単位区間の始点を同一とすることにより、両単位区間が重複しないように設定しても良いし、両単位区間が互いに重複するように設定しても良い。これは、解析対象となる時系列信号の特性に応じて設定することができる。
【００３７】
続いて、抽出した区間信号に対して、全調和信号との相関計算を行う。例えば、図２に示したようなノートナンバーに対応して標準周波数を設定した場合には、１２８個の調和信号との相関計算が行われる。この段階での調和信号との相関計算は、短時間フーリエ変換法により行われる。すなわち、区間信号のうち、先頭から、相関計算を行う調和信号の周期の整数倍で単位区間長を超えない部分と、調和信号との相関を算出する。算出された相関値は、各単位区間ごとに用意される信号相関配列に格納される。ここでは、短時間フーリエ変換で相関計算を行うため、１つの区間信号に対しては、各調和信号との相関計算が行われるのは、この１回だけとなる。この段階での標準周波数ｆ（ｎ）の調和信号と、区間信号ｘ（ｔ）との相関Ｐ(ｆn)は、以下の〔数式４〕により算出される。
【００３８】
〔数式４〕
Ａ(ｆn)＝(２／Ｔ(ｎ))Σt=0,T(n)-1ｘ(ｔ) sin(２πｆnｔ)
Ｂ(ｆn)＝(２／Ｔ(ｎ))Σt=0,T(n)-1ｘ(ｔ) cos(２πｆnｔ)
｛Ｐ(ｆn) ｝2＝｛Ａ(ｆn)｝2＋｛Ｂ(ｆn)｝2
【００３９】
相関値Ｐ(ｆn)は、上記〔数式４〕の第３式で算出される｛Ｐ(ｆn) ｝2のうちの正の平方根として求められる。この〔数式４〕は、実質的には上記〔数式２〕と同等の式であり、時刻ｔは、サンプリング番号ｋおよびサンプリング周波数Ｆによりｋ／Ｆと置き替えることができ、相関計算時間Ｔ(ｎ)は相関計算サンプル数ｗと置き替えることができる。
【００４０】
信号相関配列が得られたら、配列中の各要素である相関値を、相互相関テーブルを利用して補正する。具体的には、標準周波数ｆ（ｎ）との相関値Ｐ(ｆn)の補正値Ｐ´(ｆn)は、標準周波数ｆ（ｍ）との相関値Ｐ(ｆm)、標準周波数ｆ（ｍ）の標準周波数ｆ（ｎ）に対する相互相関Ｒ(ｆm,ｆn)、標準周波数ｆ（ｍ）の自己相関Ｒ(ｆm,ｆm)を用いて、以下の〔数式５〕により算出される。
【００４１】
〔数式５〕
Ｐ´(ｆn)＝ Ｐ(ｆn)−Σm=0,N-1Ｐ(ｆm) Ｒ(ｆm,ｆn)／Ｒ(ｆm,ｆm)
【００４２】
上記〔数式５〕により算出された補正値Ｐ´(ｆn)は、相関配列中の標準周波数ｆ（ｎ）に対応する位置に格納され、以降は相関値Ｐ(ｆm)として他の補正値Ｐ´(ｆn)の算出に利用される。このようにして、設定された全標準周波数に対応する補正値Ｐ´(ｆn)を算出する。このとき、ｎ＝０〜Ｎ−１のうち、どの相関値Ｐ(ｆn)から補正していくかについては、基本的には、ステップＳ４における相関計算時の相関値の大きさの順に従う。こうしてＮ個の相関値が補正された信号相関配列が得られる。ただし、この時点では配列内の要素のうち、負の値になっているものがある場合がある。その場合は、その値を０にすることにより、信号相関配列の値が全て０または正の値となるようにし、これを補正相関配列とする。このように補正相関配列の値を０以上にするのは、相関値が負の値ということは基本的に有り得ないので、現実的でない値を削除するためである。また、負の値の要素を０にする処理を、信号相関配列中の全ての要素が補正された後で行うのは、補正値Ｐ´(ｆn)が負であった場合に、この補正値Ｐ´(ｆn)を〔数式５〕に示したＰ(ｆm)として、他の補正値の算出に利用するためである。これにより、補正値が負であった場合は、〔数式５〕の右辺のΣによる総和が減少し、結果として補正前の相関値Ｐ(ｆn)に増加されるようになる。本発明では、このようにして補正値が負であったとしても、その値を変更せずにそのまま利用して他の要素の補正値を求めるため、一般化調和解析のように、減算する含有信号Ｇ（ｊ）の順番により差分信号Ｓ（ｊ＋１）が変化し、得られる相関値が異なるということがない。そのため、短時間フーリエ変換時における各周波数の相関値の大きさの順番に依存することなく、補正を行うことが可能となる。
【００４３】
上記相関演算、および相関補正を設定された全単位区間に対して行うことにより、全単位区間におけるＮ個の周波数成分が得られる。
【００４４】
以上のような処理により、各単位区間について、各周波数に対する強度値の集合である周波数群が得られることになる。このようにして所定数の周波数群が選出されたら、この周波数群の各周波数に対応する「音の高さを示す情報」、選出された各周波数の信号強度に対応する「音の強さを示す情報」、当該単位区間の始点に対応する「音の発音開始時刻を示す情報」、当該単位区間に後続する単位区間の始点に対応する「音の発音終了時刻を示す情報」、の４つの情報を含む符号データ（これを音素データと呼ぶことにする）を作成すれば、当該単位区間内の区間信号Ｘを所定数の符号データにより符号化することができる。符号データとして、ＭＩＤＩデータを作成するのであれば、「音の高さを示す情報」としてノートナンバーを用い、「音の強さを示す情報」としてベロシティーを用い、「音の発音開始時刻を示す情報」としてノートオン時刻を用い、「音の発音終了時刻を示す情報」としてノートオフ時刻を用いるようにすれば良い。
【００４５】
（2.4.音素データの統合について）
上述のような処理によって相関を求めることにより音素データが得られるが、単位区間ごとの音素データをそのまま最終的な符号データとしたのでは、符号データをＭＩＤＩ形式で記述する際に不自然な採譜がなされ、ＭＩＤＩ音源を用いて符号データを再生する際に不自然な演奏になるため、音素データの連結を行うことが必要となる。音素データの連結処理としては、複数の音素データを所定の基準、例えば、同じ音の高さ（音高）を示す音素データが複数連続して配置されていた場合には、この複数の音素データを１つの連結音素データとして連結するようにする。しかしながら、上述のように、特開平１０−２４７０９９号公報等に記載の従来の音素データの連結では、最適な演奏表現情報を付加していないため、音響信号の忠実な再現が難しいという問題がある。
【００４６】
（3.1.本発明に係る音響信号符号化方法）
次に、本発明に係る音響信号の符号化方法について、図５に示すフローチャートに従って説明する。まず、与えられた音響信号について、単位区間を設定し、各単位区間毎に周波数解析を行って、周波数・強度・発音開始時刻・発音終了時刻の情報からなる音素データを生成する（ステップＳ１）。具体的には、上記1.基本原理および2.相関を求めるための具体的手法の項で説明したように、音響信号の全区間に渡って単位区間を設定し、各単位区間において、短時間フーリエ変換、一般化調和解析の手法、相互相関テーブルを利用した手法で周波数解析を行うことになる。
【００４７】
上記2.周期関数との相関を求める具体的な方法の項においては、ＭＩＤＩ規格のノートナンバーｎに対応させた標準周波数として〔数式１〕のように設定した。ただし、図２および〔数式１〕のように１２８個の標準周波数に対応した調和信号を用いて相関計算を行った場合、本発明による効果は得られない。特に、本実施形態においては、半音間の微細な周波数変動を再現することが目的であるため、より周波数解析の精度が要求され、さらに細かい間隔で周波数を設定している。具体的には、各ノートナンバー間に１２個の周波数を用意している。図２の例で用意したノートナンバーに対応した１２８個の周波数と区別するために、ノートナンバーと対応する周波数を標準周波数、各標準周波数間に等比級数の間隔で１３個設定される周波数を微細周波数と呼ぶことにする（音楽用語では微分音、micro-toneと呼ばれる）。例えば、隣接する標準周波数ｆ（ｎ）とｆ（ｎ＋１）間では、ｆ（ｎ＋０／１３）〜ｆ（ｎ＋１２／１３）の１３個の微細周波数がさらに設定されることになる。以降、本明細書において、微細周波数という場合には、標準周波数も含むものとする。
【００４８】
特願２０００−３１９１７５号等に記載の従来の符号化方法において、微細周波数を利用して相関を求めるのは、標準周波数を用いていたのでは得ることができない、本来存在するはずの最大の相関値を取得するためであった。したがって、微細周波数を用いて相関計算を行った場合、音素データの周波数は、最大の相関値に対応する微細周波数ではなく、その微細周波数に最も近い標準周波数としていた。これは、最終的に符号化する際にノートナンバーに変換する必要があるためで、解析された微細周波数に対応した強度値は最終的に無視されていた。これに対し、本願では、微細周波数の変動を符号化することを目的としているため、微細周波数に対応した強度値も以下に述べる通り符号化対象になる。
【００４９】
続いて、生成された音素データのうち、連結条件を満たすものを連結して連結音素データとする処理を行う（ステップＳ２）。具体的には、時間軸の連続性、周波数の連続性、強度の連続性の３つの連結条件を全て満たすものに対して連結処理を行う。時間軸の連続性とは、音素データが互いにどの程度接近しているかを示すものであり、具体的には以下の〔数式６〕により定義される。
【００５０】
〔数式６〕
対象音素の開始時刻−直前の音素の終了時刻≦単位区間長×１／２
【００５１】
上記〔数式６〕は、直前の音素データの終了時刻の後、次の音素データの開始時刻までの間が単位区間長（全単位区間において固定長）の半分以下である場合に連結する候補とすることを示している。この「単位区間長×１／２」は、条件を決定するための閾値であり、設定により変更が可能である。また、周波数の連続性とは、音素データの周波数が互いにどの程度近いかを示すものであり、具体的には以下の〔数式７〕により定義される。
【００５２】
〔数式７〕
｜対象音素の周波数−先頭音素の周波数｜≦閾値
【００５３】
上記〔数式２〕は、ある音素データを連結すべきかどうかを判断する場合に、連結音素データとして連結されることになる音素データの内、時間的に先頭の音素データの周波数と、判断の対象とする音素データの周波数がどの程度ずれているかを判断するものである。〔数式７〕における閾値についても、適宜設定することができるが、本実施形態では、８／１３半音、すなわち、ＭＩＤＩ規格におけるノートナンバーの８／１３のとしている。ここで、閾値をノートナンバーの１単位未満とすることができるのは、微細周波数を設定して周波数解析を行った結果、音素データが微細周波数に対応する周波数値を有しているためである。ノートナンバーの間隔は、上記〔数式１〕に示したように周波数とは対数的な関係で変化するようになっている。そのため、周波数が高い場合と低い場合では、ノートナンバー１単位に対応する周波数の変化は大きく異なり、閾値もそれに基づいて変化させる必要が生じる。そこで、〔数式７〕において閾値との比較を行う場合には、左辺において設定されている周波数および右辺において設定されている閾値の単位を上記〔数式１〕を用いてノートナンバーに換算する。そうすると、閾値は固定値を与えるだけで良い。
【００５４】
また、強度の連続性とは、音素データの強度がどの程度近いかを示すものであり、以下の〔数式８〕により定義される。
【００５５】
〔数式８〕
対象音素の強度値−前方音素の最小強度値≦閾値
【００５６】
上記〔数式８〕は、ある音素データを連結すべきかどうかを判断する場合に、連結音素データとして連結されることになる音素データの内強度値が最小のものとの差がどの程度あるかを判断するものである。〔数式８〕における閾値についても、適宜設定することができるが、本実施形態では、強度値を０から１２７の１２８個の整数値で与えるようにした場合に「１０」としている。
【００５７】
ここで、ステップＳ２における音素データの連結の様子の一例を図６を用いて具体的に説明する。まず、連結前の音素データが図６（ａ）に示すような状態であったとする。図６（ａ）において、下向きの三角形は音素データを表現しており、三角形の上辺の位置が周波数、三角形の高さが強度、三角形の左端が開始時刻、三角形の右端が終了時刻を示している。このような場合、まず、時間的に先頭である音素データＯ0と次に開始時刻の早い音素データＯ1が連結可能であるかどうかの判断を行う。具体的には、音素データＯ0の終了時刻と音素データＯ1の開始時刻が時間軸の連続性の条件を満たしているかどうかを、音素データＯ1を対象音素、音素データＯ0を直前の音素として〔数式６〕を利用して判断することになる。図６に示すように、音素データＯ0の終了時刻と音素データＯ1の開始時刻は共にｔ1であるため、〔数式６〕の左辺である（対象音素の開始時刻−直前の音素の終了時刻）は０となり、〔数式６〕は満たされることになる。
【００５８】
次に、周波数の連続性の条件を満たしているかどうかを〔数式７〕を利用して判断する。図６（ａ）に示す例では、音素データＯ1の周波数は、音素データＯ0の周波数よりわずかに高くなっているが、閾値（本実施形態ではノートナンバー×８／１３）以下であるので〔数式７〕は満たされることになる。続いて、強度の連続性の条件を満たしているかどうかを〔数式８〕を利用して判断する。図６に示す例では、音素データＯ1の強度値Ｖ1は、音素データＯ0の強度値Ｖ0より大きいが、設定された閾値より小さいため、〔数式８〕は満たされることになる。このように、〔数式６〕〜〔数式８〕の全ての条件が満たされると、その音素データは連結音素データに連結されることになる。
【００５９】
図６の例では、同様にして、音素データＯ2から音素データＯ4についても判断がなされることになる。例えば、音素データＯ4の場合、時間軸の連続性については、〔数式６〕により音素データＯ3の終了時刻ｔ4との比較が行われ、周波数の連続性については、〔数式７〕により連結対象となる音素データの中で先頭の音素データである音素データＯ0の周波数ｎ0との比較が行われ、強度の連続性については、〔数式８〕により強度値が最小である音素データＯ3の強度値Ｖ3との比較が行われる。例えば、図６（ａ）における５つの音素データが連結条件を満たしていた場合、音素データＯ0〜音素データＯ4は、図６（ｂ）に示すような連結音素データに連結される。図６（ｂ）に示す連結音素データの開始時刻は、元の音素データのうち、時間的に先頭である音素データＯ0の開始時刻ｔ0となり、連結音素データの終了時刻は、元の音素データのうち、時間的に最後尾である音素データＯ4の開始時刻ｔ5となり、連結音素データの周波数は、時間的に先頭の音素データＯ0の周波数ｎ0となり、連結音素データの強度値は、元の音素データのうち最大の強度値を有する音素データＯ1の強度値Ｖ1となる。
【００６０】
音素データの連結処理が行われたら、連結音素データとして連結された元の音素データ（これを要素音素データと呼ぶことにする）の周波数・強度値と、連結音素データの周波数・強度値に基づいて、各要素音素データに対応した周波数変異量、強度変異量を算出する（ステップＳ３）。まず、周波数変異量は、以下の〔数式９〕により算出される。
【００６１】
〔数式９〕
周波数変異量＝対象要素音素の周波数−連結音素の周波数
【００６２】
上記〔数式９〕からわかるように、周波数変異量は、対象となる要素音素データの周波数と、連結音素データの周波数の差である。このとき、対象要素音素データの周波数は、ノートナンバーの１／１３単位で表現されているが、連結音素データの周波数は、ノートナンバー単位となっている。そのため、〔数式９〕における連結音素データの周波数を（ノートナンバー×１３＋６）としてやることにより、対象要素音素データの周波数との単位を合わせて計算する。ここで、連結音素データの周波数に対応するノートナンバーに「＋６」しているのは、あるノートナンバーｎとみなされるｎ＋０／１３〜ｎ＋１２／１３のうち、ｎ＋６／１３が、ほぼ中央の値だからである。また、強度変異量は、以下の〔数式１０〕により算出される。
【００６３】
〔数式１０〕
強度変異量＝対象要素音素の強度値／連結音素の強度値
【００６４】
上記〔数式１０〕に示すように、強度変異量は、対象要素音素データの強度値の連結音素データの強度値に対応する比率を算出することにより求められる。（ただし、強度値を対数スケールで表現している場合には、強度変異量は対象要素音素の強度値と連結音素の強度値との差分で与えることがある。）ここで、ステップＳ３における変異量の算出の様子の一例を図７を用いて具体的に説明する。ここでは、連結前の音素データ、および連結後の連結音素データがそれぞれ図６（ａ）、図６（ｂ）に示すような状態であったとする。この場合、各音素データの周波数は、図７（ａ）に示すような状態となる。図７（ａ）において、横方向に延びる長い線が連結音素データの周波数を示しており、各時刻間における線分が各音素データの周波数を示している。各要素音素データの周波数変異量は、連結音素データの周波数との差がそのまま用いられる。すなわち、図７（ａ）の例では、上下方向の位置の差がそのまま周波数変異量となる。また、図６に示したような音素データの連結があった場合、各音素データの周波数は、図７（ｂ）に示すような状態となる。上記〔数式１０〕に示したように、各音素データの強度変異量は、強度値が最大である音素データＯ1の強度値Ｖ1との比率による値となる。また、ステップＳ３においては、元の音素データの開始時刻、終了時刻が中間時刻として変換され、変異量との対応付けが行われる。
【００６５】
変異量が求められたら、各連結音素データと変異量のデータを時系列に対応付けて出力することにより音響信号を符号化した符号データが得られる。しかし、音響信号をＭＩＤＩ規格に符号化する場合には、その規格の性質上、上記のように変異量と連結音素データを単純に対応付ける手法では、音響信号を忠実に再現することはできない。ＭＩＤＩ規格においては、周波数変異量・強度変異量に対応するコマンドとしてそれぞれピッチベンド・エクスプレッションが用意されている。これらのコマンドはＭＩＤＩ規格が用意している複数のチャンネルのうち、各チャンネルについて付与することができるが、１つのチャンネル内において同時発音される複数のデータのうち、どのデータについて付与するかを指定することができないようになっている。これに対応するため、本実施形態では、さらに変異量の連結音素データに対するチャンネルの割り当てを行う（ステップＳ４）。
【００６６】
ステップＳ４の処理を行うために、まず、ＭＩＤＩ規格に対応した０〜１５の各番号を付与した１６個のチャンネルに対応したテーブルを用意する。続いて、符号化した連結音素データの開始時刻、終了時刻を時系列に探索していき、連結音素データの開始時刻が見つかったら、テーブル内の該当チャンネルを「使用中」に変更し、連結音素データの終了時刻が見つかったら、テーブル内の該当チャンネルを「未使用」に変更するという処理を繰返す。すなわち、開始時刻にチャンネルを割り当て、その開始時刻で始まる連結音素データの終了時刻・周波数変異量・強度変異量に同一のチャンネルを与える処理を繰返し行うのである。以上のようにして得られた連結音素データ、周波数変異量、強度変異量により音響信号が符号化されることになる。
【００６７】
次に、連結による音素データの変化の様子を図８、図９を用いて説明する。まず、連結処理前の音素データが図８（ａ）に示すような状態であったとする。図８（ａ）において、開始時刻、終了時刻は、図８に示した音素データを表現した三角形上辺の左端、右端に対応し、ノートナンバーは三角形の上辺の上下方向の位置、ベロシティは三角形の高さに対応している。なお、微細周波数は、上述のように標準周波数の間にさらに細かい間隔で設定した周波数であり、ここでは、０〜１２で表現される。この図８（ａ）に示した音素データは、特願２００１−００８７５０号等に記載の従来の手法であれば、図８（ｂ）に示すように連結される。すなわち、７つの音素データが、３つの連結音素データに連結されることになる。これにより、データ量が削減されることになる。図８（ｂ）に示した連結音素データをＭＩＤＩ規格で表現すると、図８（ｃ）に示すようになる。ＭＩＤＩ規格に変換すると、音素データの開始時刻にノートオン（Note On）イベントが発生し、音素データの終了時刻にノートオフ（Note Off）イベントが発生することになる。１つの連結音素データについてＭＩＤＩイベントは、ノートオンとノートオフの２つが発生されるので、結局図８（ｂ）に示した３つの連結音素データは図８（ｃ）に示す６つのＭＩＤＩイベントになる。
【００６８】
これに対して、本発明による手法で、図８（ａ）に示した音素データを連結すると、図９（ａ）に示すような１つの連結音素データになる。さらに、図９（ｂ）に示した連結音素データに周波数変異量および強度変異量を用いてＭＩＤＩ規格に変換すると、図９（ｂ）に示すようなＭＩＤＩデータが得られる。図９（ｂ）に示すＭＩＤＩデータでは、ノートオンイベントおよびノートオフイベントはそれぞれ１回しか発生されていない。しかし、周波数変異量に対応するピッチベンド、強度変異量に対応するエクスプレッションはそれぞれ元の音素データと同数の７個ずつ発生されている。このように、本発明の手法で得られた符号データとしてＭＩＤＩデータを作成すると、図８（ｃ）と図９（ｂ）を比較すれば自明の通り、従来よりトータルのイベントデータ量は増大するが、ノートイベント自体は逆に減少する。そして、各ノートイベントに複雑な演奏表現情報を多数含ませることにより、少ない音符データで表現力豊かな音をＭＩＤＩ音源で再現することが可能になる。
【００６９】
本発明による符号化の様子を譜面で表現すると、図１０に示すようになる。すなわち、従来の手法では、例えば図１０（ａ）に示すように６個の音符に別れて符号化されていたものが、本発明の手法では、図１０（ｂ）に示すように１つの音符に連結される。ただし、本発明の手法では、音が変化する時刻には、ピッチベンドとエクスプレッションの情報が付加されることになる。
【００７０】
以上、本発明の好適な実施形態について説明したが、上記周波数解析方法および符号化方法は、コンピュータ等の演算処理装置で実行されることは当然である。具体的には、図５のフローチャートに示したようなステップを上記手順で実行するためのプログラムをコンピュータに搭載しておく。そして、音響信号をＰＣＭ方式等でデジタル化した後、コンピュータに取り込み、ステップＳ１〜ステップＳ４の処理を行った後、ＭＩＤＩ形式等の符号データをデジタルデータとしてコンピュータより出力する。出力された符号データは、例えば、ＭＩＤＩデータの場合、ＭＩＤＩシーケンサ、ＭＩＤＩ音源を用いて音響信号として再生される。
【００７１】
【発明の効果】
以上、説明したように本発明によれば、与えられた音響信号に対して周波数解析を行うことにより開始時刻・終了時刻・周波数・強度値で構成される時系列の音素データを生成し、各音素データの中で時間的に連続する複数の音素データを要素音素データとして選別して１つの連結音素データに統合させ、時間的に先頭となる要素音素データの開始時刻をその開始時刻とし、時間的に最後尾となる要素音素データの終了時刻をその終了時刻とし、いずれかの要素音素データの周波数および強度値を連結音素データの周波数および強度値として与え、各要素音素データについて、各要素音素データの周波数および強度値の連結音素データの周波数および強度値に対する変異量を算出し、各要素音素データの開始時刻と、連結音素データの開始時刻との差を中間時刻として与えて、中間時刻、周波数変異量または強度変異量からなる時系列変異データを生成し、連結音素データと時系列変異データを対応付けることにより音響信号を符号化するようにしたので、音符の音高・強度等の基本的な情報だけでなく、演奏表現情報を有し、原音響信号をより忠実に再現することが可能となるという効果を奏する。
【図面の簡単な説明】
【図１】本発明の音響信号の符号化方法の基本原理を示す図である。
【図２】本発明で利用される周期関数の一例を示す図である。
【図３】解析対象となる信号と周期信号との相関計算の手法を示す図である。
【図４】一般化調和解析の基本的な手法を示す図である。
【図５】本発明に係る音響信号の符号化方法の概要を示すフローチャートである。
【図６】音素データの連結の様子の一例を示す図である。
【図７】変異量の算出の様子の一例を示す図である。
【図８】従来の連結手法による音素データの変化の様子を示す図である。
【図９】本発明の連結手法による音素データの変化の様子を示す図である。
【図１０】従来と本発明の符号化の違いを譜面上で表現した図である。
【符号の説明】
Ａ（ｎ），Ｂ（ｎ）・・・相関値
ｄ，ｄ１〜ｄ５・・・単位区間
Ｅ（ｎ）・・・相関値
Ｇ（ｊ）・・・含有信号
ｎ，ｎ１〜ｎ６・・・ノートナンバー
Ｓ（ｊ），Ｓ（ｊ＋１）・・・差分信号
Ｘ，Ｘ（ｋ）・・・区間信号
【図１】
0003935745.tif 000002
【図２】
0003935745.tif 000003
【図３】
0003935745.tif 000004
【図４】
0003935745.tif 000005
【図５】
0003935745.tif 000006
【図６】
0003935745.tif 000007
【図７】
0003935745.tif 000008
【図８】
0003935745.tif 000009
【図９】
0003935745.tif 000010
【図１０】
0003935745.tif 000011