JP4152502B2 - 音響信号の符号化装置および符号データの編集装置 - Google Patents
音響信号の符号化装置および符号データの編集装置 Download PDFInfo
- Publication number
- JP4152502B2 JP4152502B2 JP28345298A JP28345298A JP4152502B2 JP 4152502 B2 JP4152502 B2 JP 4152502B2 JP 28345298 A JP28345298 A JP 28345298A JP 28345298 A JP28345298 A JP 28345298A JP 4152502 B2 JP4152502 B2 JP 4152502B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- encoding
- data
- acoustic
- code string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は音響信号の符号化装置および符号データの編集装置に関し、時系列の強度信号として与えられる音響信号を符号化し、これを編集する技術に関する。特に、本発明は任意の音響信号をMIDI形式の符号データに変換する処理に適しており、ラジオ・テレビなどの放送メディア、CS映像・音声配信・インターネット配信などの通信メディア、CD・MD・カセット・ビデオ・LD・CD−ROM・ゲームカセットなどで提供されるパッケージメディアなどを介して提供する各種オーディオコンテンツの制作分野への利用が予想される。
【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の手法にしても、それぞれ音響信号の符号化方法としては一長一短があり、一般の音響信号について、少ない情報量で十分な音質を確保することはできない。ところが、一般の音響信号についても効率的な符号化を行いたいという要望は、益々強くなってきている。そこで、特開平10−247099号公報や特願平9−273949号明細書には、任意の音響信号を効率的に符号化するための新規な符号化方法が提案されている。これらの符号化方法を用いれば、任意の音響信号に基いてMIDIデータを作成することができ、所定の音源を用いてこれを再生することができる。
【0006】
【発明が解決しようとする課題】
上述した新規な符号化方法を利用すれば、任意の音響信号を符号化することが可能であるが、得られた符号列は必ずしも広範な用途に適したものにはならない。たとえば、もとの音響信号をできるだけ忠実に再生するという音源再生用途に利用するためには、できるだけ時間的密度の高い符号列を得るようにし、単位時間あたりの符号数を多くとる必要がある。特に、楽器演奏音におけるビブラートやトリラーといった音程が激しく変化する部分を忠実に再現するためには、もとの音響信号をできるだけ細分化して符号に置き換える必要がある。また、音量の小さな信号についても無視することなく忠実に符号化する必要がある。このため、全体的に非常に長い符号列が得られることになる。
【0007】
ところが、このような音源再生用に適した符号列は、楽譜表示という閲覧を目的とした用途には不適当である。細分化された符号をそのまま音符として楽譜上に羅列すると、非常に多数の音符が五線譜上にぎっしりと詰まった状態になり、視認性は極めて低下せざるを得ない。実際、楽譜上でビブラートを表現する場合、細かな音符の羅列による表現は行われておらず、通常の音符の上に「vibrato 」なるコメント文を付加するのが一般的である。また、音量の小さな信号については、これを敢えて符号化せずに無視した方が、楽譜表示という用途に用いる場合には適している。このように、楽譜表示用の符号列は、できるだけ簡素化されている方が好ましく、その時間的密度は低い方が好ましい。
【0008】
結局、音源再生用に作成した符号列は楽譜表示用には不適当になり、逆に、楽譜表示用に作成した符号列は音源再生用には不適当になる。しかしながら、現実的には、楽器音などの音響信号に対しては、できるだけ忠実に再生を行いたいという要求とともに、楽譜としても確認したいという要求がなされるため、広範な用途に利用可能な符号化手法が望まれている。また、符号化された符号データに対しては、必要に応じて編集が行えると便利である。
【0009】
そこで本発明は、広範な用途に利用可能な符号化が可能な音響信号の符号化装置を提供することを目的とし、また、符号化された符号データに対して効率的な編集を行うことが可能な符号データの編集装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
(1) 本発明の第1の態様は、時系列の強度信号として与えられる音響信号を符号化する音響信号の符号化装置において、
符号化対象となる音響信号をデジタルの音響データとして入力する音響データ入力手段と、
音響データを符号列に変換する符号化処理を行う符号化処理手段と、
符号化処理に用いるパラメータを設定するパラメータ設定手段と、
符号化処理によって得られた符号列を出力する符号列出力手段と、
を設け、パラメータ設定手段が、互いに時間的密度が異なる符号化が行われるように複数通りのパラメータを設定できるようにし、符号化処理手段が、同一の音響データに対して複数通りのパラメータを用いることにより、互いに時間的密度が異なる複数通りの符号列を生成できるようにし、符号列出力手段が、同一の音響データについて生成された複数通りの符号列を1組のデータとして出力することができるようにしたものである。
【0011】
(2) 本発明の第2の態様は、上述の第1の態様に係る音響信号の符号化装置において、
符号化処理手段が、音響データの時間軸上に複数の単位区間を設定し、個々の単位区間に所属する音響データを1つの符号に置換することにより符号化処理を行うようにしたものである。
【0012】
(3) 本発明の第3の態様は、上述の第2の態様に係る音響信号の符号化装置において、
符号化処理手段が、1つの単位区間に所属する音響データの周波数分布が所定の許容範囲内に入るように個々の単位区間を設定する機能を有し、
パラメータ設定手段が、許容範囲を定めるパラメータを複数通り設定する機能を有するようにしたものである。
【0013】
(4) 本発明の第4の態様は、上述の第2の態様に係る音響信号の符号化装置において、
符号化処理手段が、1つの単位区間に所属する音響データの強度分布が所定の許容範囲内に入るように個々の単位区間を設定する機能を有し、
パラメータ設定手段が、許容範囲を定めるパラメータを複数通り設定する機能を有するようにしたものである。
【0014】
(5) 本発明の第5の態様は、上述の第2の態様に係る音響信号の符号化装置において、
符号化処理手段が、強度が所定の許容値未満の音響データを除外して個々の単位区間を設定する機能を有し、
パラメータ設定手段が、この許容値を定めるパラメータを複数通り設定する機能を有するようにしたものである。
【0015】
(6) 本発明の第6の態様は、上述の第2の態様に係る音響信号の符号化装置において、
符号化処理手段が、個々の単位区間の区間長が所定の許容値以上となるように個々の単位区間を設定する機能を有し、
パラメータ設定手段が、この許容値を定めるパラメータを複数通り設定する機能を有するようにしたものである。
【0016】
(7) 本発明の第7の態様は、上述の第1〜第6の態様に係る音響信号の符号化装置において、
符号化処理手段が、各単位区間内の音響データの周波数に基いてノートナンバーを定め、各単位区間内の音響データの強度に基いてベロシティーを定め、各単位区間の長さに基いてデルタタイムを定め、1つの単位区間の音響データを、ノートナンバー、ベロシティー、デルタタイムで表現されるMIDI形式の符号に変換する機能を有し、
符号列出力手段が、同一の音響データについて生成された複数通りの符号列を、それぞれ異なるトラックに収録し、1組のMIDIデータとして出力するようにしたものである。
【0017】
(8) 本発明の第8の態様は、上述の第7の態様に係る音響信号の符号化装置において、
パラメータ設定手段が、楽譜表示用の符号列を生成するのに適した表示用パラメータと、音源再生用の符号列を生成するのに適した再生用パラメータと、を設定する機能を有し、
符号列出力手段が、表示用パラメータを用いて生成された符号列を、1つまたは複数の楽譜表示用トラックに収録し、再生用パラメータを用いて生成された符号列を、1つまたは複数の音源再生用トラックに収録して出力するようにしたものである。
【0018】
(9) 本発明の第9の態様は、上述の第8の態様に係る音響信号の符号化装置において、
各トラックごとに、音の再生を行うか否かを示す制御符号を付加するようにしたものである。
【0019】
(10) 本発明の第10の態様は、上述の第8の態様に係る音響信号の符号化装置において、
符号列出力手段が、楽譜表示用トラックに収録された符号列と音源再生用トラックに収録された符号列とを同一の時間軸上で比較し、音源再生用トラックに収録された符号列によってのみ表現されている音楽的特徴を認識し、この音楽的特徴を示す符号を、楽譜表示用トラックに収録された符号列の対応箇所に付加する処理を行うようにしたものである。
【0020】
(11) 本発明の第11の態様は、同一の音響データに対して、互いに時間的密度が異なる符号化を施すことにより生成された複数の符号列から構成される符号データについて、所定の編集を施すための符号データの編集装置において、
複数の符号列のうちの1つを編集対象符号列、残りの符号列を非編集対象符号列として特定する機能と、
オペレータの指示に基いて、編集対象符号列の編集箇所に対して所定の編集を施す機能と、
時間軸上において編集箇所に対応する非編集対象符号列上の箇所を、対応箇所として求め、この対応箇所に対して、編集箇所に対して行われた編集と同等の編集を施す自動編集機能と、
を設けるようにしたものである。
【0021】
(12) 本発明の第12の態様は、上述の第11の態様に係る符号データの編集装置において、
編集対象符号列の編集箇所内の符号に対して、削除、移動、複写、音程の変更、テンポの変更、の中の少なくとも1つの編集処理を行う機能を設け、非編集対象符号列上の対応箇所に対して、同等の編集処理が行われるように構成したものである。
【0022】
(13) 本発明の第13の態様は、上述の第1〜第12の態様に係る音響信号の符号化装置または符号データの編集装置としてコンピュータを機能させるためのプログラムを、コンピュータ読取り可能な記録媒体に記録するようにしたものである。
【0024】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【0025】
§1. 本発明に係る音響信号の符号化方法の基本原理
はじめに、本発明に係る音響信号の符号化方法の基本原理を図1を参照しながら説明する。なお、この基本原理を用いた符号化方法の詳細は、特願平9−67467号明細書に開示されている。いま、図1の上段に示すように、時系列の強度信号としてアナログ音響信号が与えられたものとしよう。図示の例では、横軸に時間軸t、縦軸に信号強度Aをとってこの音響信号を示している。本発明では、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周波数でこのアナログ音響信号をサンプリングし、信号強度Aを所定の量子化ビット数を用いてデジタルデータに変換する処理を行えばよい。ここでは、説明の便宜上、PCMの手法でデジタル化した音響データの波形も、図1の上段のアナログ音響信号と同一の波形で示すことにする。
【0026】
次に、このデジタル音響データの時間軸t上に複数の単位区間を設定する。図示の例では、6つの単位区間U1〜U6が設定されている。第i番目の単位区間Uiは、時間軸t上の始端siおよび終端eiの座標値によって、その時間軸t上での位置と長さとが示される。たとえば、単位区間U1は、始端s1〜終端e1までの(e1−s1)なる長さをもつ区間である。この単位区間の定義のしかたによって、最終的に得られる符号列は異なってくる。これについては、後に詳述する。
【0027】
こうして、複数の単位区間が設定されたら、個々の単位区間内の音響データに基づいて、個々の単位区間を代表する所定の代表周波数および代表強度を定義する。ここでは、第i番目の単位区間Uiについて、代表周波数Fiおよび代表強度Aiが定義された状態が示されている。たとえば、第1番目の単位区間U1については、代表周波数F1および代表強度A1が定義されている。代表周波数F1は、始端s1〜終端e1までの区間に含まれている音響データの周波数成分の代表値であり、代表強度Aiは、同じく始端s1〜終端e1までの区間に含まれている音響データの信号強度の代表値である。単位区間U1内の音響データに含まれる周波数成分は、通常、単一ではなく、信号強度も変動するのが一般的である。本発明では、1つの単位区間について、単一の代表周波数と単一の代表強度を定義し、これら代表値を用いて符号化を行うことになる。
【0028】
すなわち、個々の単位区間について、それぞれ代表周波数および代表強度が定義されたら、時間軸t上での個々の単位区間の始端位置および終端位置を示す情報と、定義された代表周波数および代表強度を示す情報と、により符号データを生成し、個々の単位区間の音響データを個々の符号データによって表現するのである。単一の周波数をもち、単一の信号強度をもった音響信号が、所定の期間だけ持続する、という事象を符号化する手法として、MIDI規格に基づく符号化を利用することができる。MIDI規格による符号データ(MIDIデータ)は、いわば音符によって音を表現したデータということができ、図1では、下段に示す音符によって、最終的に得られる符号データの概念を示している。
【0029】
結局、各単位区間内の音響データは、代表周波数F1に相当する音程情報(MIDI規格におけるノートナンバー)と、代表強度A1に相当する強度情報(MIDI規格におけるベロシティー)と、単位区間の長さ(e1−s1)に相当する長さ情報(MIDI規格におけるデルタタイム)と、をもった符号データに変換されることになる。このようにして得られる符号データの情報量は、もとの音響信号のもつ情報量に比べて、著しく小さくなり、飛躍的な符号化効率が得られることになる。これまで、MIDIデータを生成する手法としては、演奏者が実際に楽器を演奏するときの操作をそのまま取り込んで符号化するか、あるいは、楽譜上の音符をデータとして入力するしかなかったが、上述した本発明に係る手法を用いれば、実際のアナログ音響信号からMIDIデータを直接生成することが可能になる。
【0030】
なお、このような方法で生成された符号データを再生するためには、再生時に音源を用意する必要がある。本発明に係る手法によって最終的に得られる符号データには、もとの音響信号の波形データそのものは含まれていないため、何らかの音響波形のデータをもった音源が必要になるためである。たとえば、MIDIデータを再生する場合には、MIDI音源が必要になる。もっとも、MIDI規格が普及した現在では、種々のMIDI音源が入手可能であり、実用上は大きな問題は生じない。ただ、もとの音響信号に忠実な再生音を得るためには、もとの音響信号に含まれていた音響波形に近似した波形データをもったMIDI音源を用意するのが好ましい。適当なMIDI音源を用いた再生を行うことができれば、むしろもとの音響信号よりも高い音質で、臨場感あふれる再生音を得ることも可能になる。
【0031】
本発明に係る手法を利用して、効率的で再現性の高い符号化を行うためには、単位区間の設定方法に工夫を凝らす必要がある。本発明の基本原理は、上述したように、もとの音響データの時間軸上に複数の単位区間を設定し、各単位区間ごとに、所定の周波数および所定の強度を示す符号データに変換するという点にある。したがって、最終的に得られる符号データは、単位区間の設定方法に大きく依存することになる。最も単純な単位区間の設定方法は、時間軸上で、たとえば10msごとというように、等間隔に単位区間を一義的に設定する方法である。しかしながら、この方法では、符号化対象となるもとの音響データにかかわらず、常に一定の方法で単位区間の設定が行われることになり、必ずしも効率的で再現性の高い符号化は期待できない。したがって、実用上は、もとの音響データの波形を解析し、個々の音響データに適した単位区間の設定を行うようにするのが好ましい。
【0032】
効率的な単位区間の設定を行う1つのアプローチは、音響データの中で周波数帯域がある程度近似した区間を1つのまとまった単位区間として抽出するという方法である。単位区間内の周波数成分は代表周波数によって置き換えられてしまうので、この代表周波数とあまりにかけ離れた周波数成分が含まれていると、再生時の再現性が低減する。したがって、ある程度近似した周波数が持続する区間を1つの単位区間として抽出することは、再現性のよい効率的な符号化を行う上で重要である。このアプローチを採る場合、具体的には、もとの音響データの周波数の変化点を認識し、この変化点を境界とする単位区間の設定を行うようにすればよい。
【0033】
効率的な単位区間の設定を行うもう1つのアプローチは、音響データの中で信号強度がある程度近似した区間を1つのまとまった単位区間として抽出するという方法である。単位区間内の信号強度は代表強度によって置き換えられてしまうので、この代表強度とあまりにかけ離れた信号強度が含まれていると、再生時の再現性が低減する。したがって、ある程度近似した信号強度が持続する区間を1つの単位区間として抽出することは、再現性のよい効率的な符号化を行う上で重要である。このアプローチを採る場合、具体的には、もとの音響データの信号強度の変化点を認識し、この変化点を境界とする単位区間の設定を行うようにすればよい。
【0034】
§2. 本発明に係る符号化方法の具体的な手順例
図2は、本発明による符号化の具体的な処理手順の一例を示す流れ図である。この手順は、入力段階S10、変極点定義段階S20、区間設定段階S30、符号化段階S40の4つの大きな段階から構成されており、前掲の特願平9−67467号明細書においても開示されている手順である。入力段階S10は、符号化対象となる音響信号を、デジタルの音響データとして取り込む段階である。変極点定義段階S20は、後の区間設定段階S30の準備段階ともいうべき段階であり、取り込んだ音響データの波形について変極点(ローカルピーク)を求める段階である。また、区間設定段階S30は、この変極点に基づいて、音響データの時間軸上に複数の単位区間を設定する段階であり、符号化段階S40は、個々の単位区間の音響データを個々の符号データに変換する段階である。符号データへの変換原理は、既に§1で述べたとおりである。すなわち、個々の単位区間内の音響データに基づいて、個々の単位区間を代表する所定の代表周波数および代表強度を定義し、時間軸上での個々の単位区間の始端位置および終端位置を示す情報と、代表周波数および代表強度を示す情報と、によって符号データが生成される。以下、これらの各段階において行われる処理を順に説明する。
【0035】
<<< 2.1 入力段階 >>>
入力段階S10では、サンプリング処理S11と直流成分除去処理S12とが実行される。サンプリング処理S11は、符号化の対象となるアナログ音響信号を、デジタルの音響データとして取り込む処理であり、従来の一般的なPCMの手法を用いてサンプリングを行う処理である。この実施形態では、サンプリング周波数:44.1kHz、量子化ビット数:16ビットという条件でサンプリングを行い、デジタルの音響データを用意している。
【0036】
続く、直流成分除去処理S12は、入力した音響データに含まれている直流成分を除去するデジタル処理である。たとえば、図3に示す音響データは、振幅の中心レベルが、信号強度を示すデータレンジの中心レベル(具体的なデジタル値としては、たとえば、16ビットでサンプリングを行い、0〜65535のデータレンジが設定されている場合には32768なる値。以下、説明の便宜上、図3のグラフに示すように、データレンジの中心レベルに0をとり、サンプリングされた個々の信号強度の値を正または負で表現する)よりもDだけ高い位置にきている。別言すれば、この音響データには、値Dに相当する直流成分が含まれていることになる。サンプリング処理の対象になったアナログ音響信号に直流成分が含まれていると、デジタル音響データにもこの直流成分が残ることになる。そこで、直流成分除去処理S12によって、この直流成分Dを除去する処理を行い、振幅の中心レベルとデータレンジの中心レベルとを一致させる。具体的には、サンプリングされた個々の信号強度の平均が0になるように、直流成分Dを差し引く演算を行えばよい。これにより、正および負の両極性デジタル値を信号強度としてもった音響データが用意できる。
【0037】
<<< 2.2 変極点定義段階 >>>
変極点定義段階S20では、変極点探索処理S21と同極性変極点の間引処理S22とが実行される。変極点探索処理S21は、取り込んだ音響データの波形について変極点を求める処理である。図4は、図3に示す音響データの一部を時間軸に関して拡大して示したグラフである。このグラフでは、矢印P1〜P6の先端位置の点が変極点(極大もしくは極小の点)に相当し、各変極点はいわゆるローカルピークに相当する点となる。このような変極点を探索する方法としては、たとえば、サンプリングされたデジタル値を時間軸に沿って順に注目してゆき、増加から減少に転じた位置、あるいは減少から増加に転じた位置を認識すればよい。ここでは、この変極点を図示のような矢印で示すことにする。
【0038】
各変極点は、サンプリングされた1つのデジタルデータに対応する点であり、所定の信号強度の情報(矢印の長さに相当)をもつとともに、時間軸t上での位置の情報をもつことになる。図5は、図4に矢印で示す変極点P1〜P6のみを抜き出して示した図である。以下の説明では、この図5に示すように、第i番目の変極点Piのもつ信号強度(絶対値)を矢印の長さaiとして示し、時間軸t上での変極点Piの位置をtiとして示すことにする。結局、変極点探索処理S21は、図3に示すような音響データに基づいて、図5に示すような各変極点に関する情報を求める処理ということになる。
【0039】
ところで、図5に示す各変極点P1〜P6は、交互に極性が反転する性質を有する。すなわち、図5の例では、奇数番目の変極点P1,P3,P5は上向きの矢印で示され、偶数番目の変極点P2,P4,P6は下向きの矢印で示されている。これは、もとの音響データ波形の振幅が正負交互に現れる振動波形としての本来の姿をしているためである。しかしながら、実際には、このような本来の振動波形が必ずしも得られるとは限らず、たとえば、図6に示すように、多少乱れた波形が得られる場合もある。この図6に示すような音響データに対して変極点探索処理S21を実行すると、個々の変極点P1〜P7のすべてが検出されてしまうため、図7に示すように、変極点を示す矢印の向きは交互に反転するものにはならない。しかしながら、単一の代表周波数を定義する上では、向きが交互に反転した矢印列が得られるのが好ましい。
【0040】
同極性変極点の間引処理S22は、図7に示すように、同極性のデジタル値をもった変極点(同じ向きの矢印)が複数連続した場合に、絶対値が最大のデジタル値をもった変極点(最も長い矢印)のみを残し、残りを間引きしてしまう処理である。図7に示す例の場合、上向きの3本の矢印P1〜P3のうち、最も長いP2のみが残され、下向きの3本の矢印P4〜P6のうち、最も長いP4のみが残され、結局、間引処理S22により、図8に示すように、3つの変極点P2,P4,P7のみが残されることになる。この図8に示す変極点は、図6に示す音響データの波形の本来の姿に対応したものになる。
【0041】
<<< 2.3 区間設定段階 >>>
既に述べたように、本発明に係る符号化方法において、効率的で再現性の高い符号化を行うためには、単位区間の設定方法に工夫を凝らす必要があり、単位区間をどのように定義するかによって、最終的に得られる符号列が左右されることになる。その意味で、図2に示す各段階のうち、区間設定段階S30は、実用上非常に重要な段階である。上述した変極点定義段階S20は、この区間設定段階S30の準備段階になっており、単位区間の設定は、個々の変極点の情報を利用して行われる。すなわち、この区間設定段階S30では、変極点に基づいて音響データの周波数もしくは信号強度の変化点を認識し、この変化点を境界とする単位区間を設定する、という基本的な考え方に沿って処理が進められる。
【0042】
図5に示すように、矢印で示されている個々の変極点P1〜P6には、それぞれ信号強度a1〜a6が定義されている。しかしながら、個々の変極点P1〜P6それ自身には、周波数に関する情報は定義されていない。区間設定段階S30において最初に行われる瞬間周波数定義処理S31は、個々の変極点それぞれに、所定の瞬間周波数を定義する処理である。本来、周波数というものは、時間軸上の所定の区間内の波について定義される物理量であり、時間軸上のある1点について定義されるべきものではない。ただ、ここでは便宜上、個々の変極点について、疑似的に瞬間周波数なるものを定義することにする。この瞬間周波数は、個々の変極点それぞれに定義された疑似的な周波数であり、信号のある瞬間における基本周波数を意味するものである。
【0043】
いま、図9に示すように、多数の変極点のうち、第n番目〜第(n+2)番目の変極点P(n),P(n+1),P(n+2)に着目する。これら各変極点には、それぞれ信号値a(n),a(n+1),a(n+2)が定義されており、また、時間軸上での位置t(n),t(n+1),t(n+2)が定義されている。ここで、これら各変極点が、音響データ波形のローカルピーク位置に相当する点であることを考慮すれば、図示のように、変極点P(n)とP(n+2)との間の時間軸上での距離φは、もとの波形の1周期に対応することがわかる。そこで、たとえば、第n番目の変極点P(n)の瞬間周波数f(n)なるものを、f(n)=1/φと定義すれば、個々の変極点について、それぞれ瞬間周波数を定義することができる。時間軸上での位置t(n),t(n+1),t(n+2)が、「秒」の単位で表現されていれば、
φ=(t(n+2)−t(n))
であるから、
f(n)=1/(t(n+2)−t(n))
として定義できる。
【0044】
なお、実際のデジタルデータ処理の手順を考慮すると、個々の変極点の位置は、「秒」の単位ではなく、サンプル番号x(サンプリング処理S11における何番目のサンプリング時に得られたデータであるかを示す番号)によって表されることになるが、このサンプル番号xと実時間「秒」とは、サンプリング周波数fsによって一義的に対応づけられる。たとえば、第m番目のサンプルx(m)と第(m+1)番目のサンプルx(m+1)との間の実時間軸上での間隔は、1/fsになる。
【0045】
さて、このようにして個々の変極点に定義された瞬間周波数は、物理的には、その変極点付近のローカルな周波数を示す量ということになる。隣接する別な変極点との距離が短ければ、その付近のローカルな周波数は高く、隣接する別な変極点との距離が長ければ、その付近のローカルな周波数は低いということになる。もっとも、上述の例では、後続する2つ目の変極点との間の距離に基づいて瞬間周波数を定義しているが、瞬間周波数の定義方法としては、この他どのような方法を採ってもかまわない。たとえば、第n番目の変極点の瞬間周波数f(n)を、先行する第(n−2)番目の変極点との間の距離を用いて、
f(n)=1/(t(n)−t(n−2))
と定義することもできる。また、前述したように、後続する2つ目の変極点との間の距離に基づいて、瞬間周波数f(n)を、
f(n)=1/(t(n+2)−t(n))
なる式で定義した場合であっても、最後の2つの変極点については、後続する2つ目の変極点が存在しないので、先行する変極点を利用して、
f(n)=1/(t(n)−t(n−2))
なる式で定義すればよい。
【0046】
あるいは、後続する次の変極点との間の距離に基づいて、第n番目の変極点の瞬間周波数f(n)を、
f(n)=(1/2)・1/(t(n+1)−t(n))
なる式で定義することもできるし、後続する3つ目の変極点との間の距離に基づいて、
f(n)=(3/2)・1/(t(n+3)−t(n))
なる式で定義することもできる。結局、一般式を用いて示せば、第n番目の変極点についての瞬間周波数f(n)は、k個離れた変極点(kが正の場合は後続する変極点、負の場合は先行する変極点)との間の時間軸上での距離に基づいて、
f(n)=(k/2)・1/(t(n+k)−t(n))
なる式で定義することができる。kの値は、予め適当な値に設定しておけばよい。変極点の時間軸上での間隔が比較的小さい場合には、kの値をある程度大きく設定した方が、誤差の少ない瞬間周波数を定義することができる。ただし、kの値をあまり大きく設定しすぎると、ローカルな周波数としての意味が失われてしまうことになり好ましくない。
【0047】
こうして、瞬間周波数定義処理S31が完了すると、個々の変極点P(n)には、信号強度a(n)と、瞬間周波数f(n)と、時間軸上での位置t(n)とが定義されることになる。
【0048】
さて、§1では、効率的で再現性の高い符号化を行うためには、1つの単位区間に含まれる変極点の周波数が所定の近似範囲内になるように単位区間を設定するという第1のアプローチと、1つの単位区間に含まれる変極点の信号強度が所定の近似範囲内になるように単位区間を設定するという第2のアプローチとがあることを述べた。ここでは、この2つのアプローチを用いた単位区間の設定手法を、具体例に即して説明しよう。
【0049】
いま、図10に示すように、9つの変極点P1〜P9のそれぞれについて、信号強度a1〜a9と瞬間周波数f1〜f9とが定義されている場合を考える。この場合、第1のアプローチに従えば、個々の瞬間周波数f1〜f9に着目し、互いに近似した瞬間周波数をもつ空間的に連続した変極点の一群を1つの単位区間とする処理を行えばよい。たとえば、瞬間周波数f1〜f5がほぼ同じ値(第1の基準値)をとり、瞬間周波数f6〜f9がほぼ同じ値(第2の基準値)をとっており、第1の基準値と第2の基準値との差が所定の許容範囲を越えていた場合、図10に示すように、第1の基準値の近似範囲に含まれる瞬間周波数f1〜f5をもつ変極点P1〜P5を含む区間を単位区間U1とし、第2の基準値の近似範囲に含まれる瞬間周波数f6〜f9をもつ変極点P6〜P9を含む区間を単位区間U2として設定すればよい。本発明による手法では、1つの単位区間については、単一の代表周波数が与えられることになるが、このように、瞬間周波数が互いに近似範囲内にある複数の変極点が存在する区間を1つの単位区間として設定すれば、代表周波数と個々の瞬間周波数との差が所定の許容範囲内に抑えられることになり、大きな問題は生じない。
【0050】
続いて、瞬間周波数が近似する変極点を1グループにまとめて、1つの単位区間を定義するための具体的な手法の一例を以下に示す。たとえば、図10に示すように、9つの変極点P1〜P9が与えられた場合、まず変極点P1とP2について、瞬間周波数を比較し、両者の差が所定の許容範囲ff内にあるか否かを調べる。もし、
|f1−f2|<ff
であれば、変極点P1,P2を第1の単位区間U1に含ませる。そして、今度は、変極点P3を、この第1の単位区間U1に含ませてよいか否かを調べる。これは、この第1の単位区間U1についての平均瞬間周波数(f1+f2)/2と、f3との比較を行い、
|(f1+f2)/2−f3|<ff
であれば、変極点P3を第1の単位区間U1に含ませればよい。更に、変極点P4に関しては、
|(f1+f2+f3)/3−f4|<ff
であれば、これを第1の単位区間U1に含ませることができ、変極点P5に関しては、
|(f1+f2+f3+f4)/4−f5|<ff
であれば、これを第1の単位区間U1に含ませることができる。ここで、もし、変極点P6について、
|(f1+f2+f3+f4+f5)/5−f6|>ff
なる結果が得られたしまった場合、すなわち、瞬間周波数f6と、第1の単位区間U1の平均瞬間周波数との差が、所定の許容範囲ffを越えてしまった場合、変極点P5とP6との間に不連続位置が検出されたことになり、変極点P6を第1の単位区間U1に含ませることはできない。そこで、変極点P5をもって第1の単位区間U1の終端とし、変極点P6は別な第2の単位区間U2の始端とする。そして、変極点P6とP7について、瞬間周波数を比較し、両者の差が所定の許容範囲ff内にあるか否かを調べ、もし、
|f6−f7|<ff
であれば、変極点P6,P7を第2の単位区間U2に含ませる。そして、今度は、変極点P8に関して、
|(f6+f7)/2−f8|<ff
であれば、これを第2の単位区間U2に含ませ、変極点P9に関して、
|(f6+f7+f8)/3−f9|<ff
であれば、これを第2の単位区間U2に含ませる。
【0051】
このような手法で、不連続位置の検出を順次行ってゆき、各単位区間を順次設定してゆけば、上述した第1のアプローチに沿った区間設定が可能になる。もちろん、上述した具体的な手法は、一例として示したものであり、この他にも種々の手法を採ることができる。たとえば、平均値と比較する代わりに、常に隣接する変極点の瞬間周波数を比較し、差が許容範囲ffを越えた場合に不連続位置と認識する簡略化した手法を採ってもかまわない。すなわち、f1とf2との差、f2とf3との差、f3とf4との差、…というように、個々の差を検討してゆき、差が許容範囲ffを越えた場合には、そこを不連続位置として認識すればよい。
【0052】
以上、第1のアプローチについて述べたが、第2のアプローチに基づく単位区間の設定も同様に行うことができる。この場合は、個々の変極点の信号強度a1〜a9に着目し、所定の許容範囲aaとの比較を行うようにすればよい。もちろん、第1のアプローチと第2のアプローチとの双方を組み合わせて、単位区間の設定を行ってもよい。この場合は、個々の変極点の瞬間周波数f1〜f9と信号強度a1〜a9との双方に着目し、両者がともに所定の許容範囲ffおよびaa内に入っていれば、同一の単位区間に含ませるというような厳しい条件を課してもよいし、いずれか一方が許容範囲内に入っていれば、同一の単位区間に含ませるというような緩い条件を課してもよい。
【0053】
なお、この区間設定段階S30においては、上述した各アプローチに基づいて単位区間の設定を行う前に、絶対値が所定の許容レベル未満となる信号強度をもつ変極点を除外する処理を行っておくのが好ましい。たとえば、図11に示す例のように所定の許容レベルLLを設定すると、変極点P4の信号強度a4と変極点P9の信号強度a9は、その絶対値がこの許容レベルLL未満になる。このような場合、変極点P4,P9を除外する処理を行うのである。このような除外処理を行う第1の意義は、もとの音響信号に含まれていたノイズ成分を除去することにある。通常、音響信号を電気的に取り込む過程では、種々のノイズ成分が混入することが多く、このようなノイズ成分までも含めて符号化が行われると好ましくない。
【0054】
もっとも、許容レベルLLをある程度以上に設定すると、ノイズ成分以外のものも除外されることになるが、このようにノイズ成分以外の信号を除外することも、場合によっては、十分に意味のある処理になる。すなわち、この除外処理を行う第2の意義は、もとの音響信号に含まれていた情報のうち、興味の対象外となる情報を除外することにある。たとえば、図1の上段に示す音響信号は、人間の心音を示す信号であるが、この音響信号のうち、疾患の診断などに有効な情報は、振幅の大きな部分(各単位区間U1〜U6の部分)に含まれており、それ以外の部分の情報はあまり役にたたない。そこで、所定の許容レベルLLを設定し、無用な情報部分を除外する処理を行うと、より効率的な符号化が可能になる。また、後述するように、楽譜表示に利用するための符号化を行う場合には、できるだけ符号列を簡素化し、全体の符号長を短くする方が、判読性が向上するために好ましい。したがって、楽譜表示に利用される符号列を生成する場合には、許容レベルLLをある程度高く設定し、強度が許容レベルLL未満の信号成分を無視するとよい。
【0055】
なお、許容レベル未満の変極点を除外する処理を行った場合は、除外された変極点の位置で分割されるように単位区間定義を行うようにするのが好ましい。たとえば、図11に示す例の場合、除外された変極点P4,P9の位置(一点鎖線で示す)で分割された単位区間U1,U2が定義されている。このような単位区間定義を行えば、図1の上段に示す音響信号のように、信号強度が許容レベル以上の区間(単位区間U1〜U6の各区間)と、許容レベル未満の区間(単位区間U1〜U6以外の区間)とが交互に出現するような音響信号の場合、非常に的確な単位区間の定義が可能になる。
【0056】
これまで、区間設定段階S30で行われる効果的な区間設定手法の要点を述べてきたが、ここでは、より具体的な手順を述べることにする。図2の流れ図に示されているように、この区間設定段階S30は、4つの処理S31〜S34によって構成されている。瞬間周波数定義処理S31は、既に述べたように、各変極点について、それぞれ近傍の変極点との間の時間軸上での距離に基づいて所定の瞬間周波数を定義する処理である。ここでは、図12に示すように、変極点P1〜P17のそれぞれについて、瞬間周波数f1〜f17が定義された例を考える。
【0057】
続く、レベルによるスライス処理S32は、絶対値が所定の許容レベル未満となる信号強度をもつ変極点を除外し、除外された変極点の位置で分割されるような区間を定義する処理である。ここでは、図12に示すような変極点P1〜P17に対して、図13に示すような許容レベルLLを設定した場合を考える。この場合、変極点P1,P2,P11,P16,P17が、許容レベル未満の変極点として除外されることになる。図14では、このようにして除外された変極点を破線の矢印で示す。この「レベルによるスライス処理S32」では、更に、除外された変極点の位置で分割されるような区間K1,K2が定義される。ここでは、1つでも除外された変極点が存在する場合には、その位置の左右に異なる区間を設定するようにしており、結果的に、変極点P3〜P10までの区間K1と、変極点P12〜P15までの区間K2とが設定されることになる。なお、ここで定義された区間K1,K2は、暫定的な区間であり、必ずしも最終的な単位区間になるとは限らない。
【0058】
次の不連続部分割処理S33は、時間軸上において、変極点の瞬間周波数もしくは信号強度の値が不連続となる不連続位置を探し、処理S32で定義された個々の区間を、更にこの不連続位置で分割することにより、新たな区間を定義する処理である。たとえば、上述の例の場合、図15に示すような暫定区間K1,K2が定義されているが、ここで、もし暫定区間K1内の変極点P6とP7との間に不連続が生じていた場合は、この不連続位置で暫定区間K1を分割し、図16に示すように、新たに暫定区間K1−1とK1−2とが定義され、結局、3つの暫定区間K1−1,K1−2,K2が形成されることになる。不連続位置の具体的な探索手法は既に述べたとおりである。たとえば、図15の例の場合、
|(f3+f4+f5+f6)/4−f7|>ff
の場合に、変極点P6とP7との間に瞬間周波数の不連続が生じていると認識されることになる。同様に、変極点P6とP7との間の信号強度の不連続は、
|(a3+a4+a5+a6)/4−a7|>aa
の場合に認識される。
【0059】
不連続部分割処理S33で、実際に区間分割を行うための条件としては、
▲1▼瞬間周波数の不連続が生じた場合にのみ区間の分割を行う、
▲2▼信号強度の不連続が生じた場合にのみ区間の分割を行う、
▲3▼瞬間周波数の不連続か信号強度の不連続かの少なくとも一方が生じた場合に区間の分割を行う、
▲4▼瞬間周波数の不連続と信号強度の不連続との両方が生じた場合にのみ区間の分割を行う、
など、種々の条件を設定することが可能である。あるいは、不連続の度合いを考慮して、上述の▲1▼〜▲4▼を組み合わせるような複合条件を設定することもできる。
【0060】
こうして、不連続部分割処理S33によって得られた区間(上述の例の場合、3つの暫定区間K1−1,K1−2,K2)を、最終的な単位区間として設定することもできるが、ここでは更に、区間統合処理S34を行っている。この区間統合処理S34は、不連続部分割処理S33によって得られた区間のうち、一方の区間内の変極点の瞬間周波数もしくは信号強度の平均と、他方の区間内の変極点の瞬間周波数もしくは信号強度の平均との差が、所定の許容範囲内であるような2つの隣接区間が存在する場合に、この隣接区間を1つの区間に統合する処理である。たとえば、上述の例の場合、図17に示すように、区間K1−2と区間K2とを平均瞬間周波数で比較した結果、
|(f7+f8+f9+f10)/4−(f12+f13+f14+f15)/4|<ff
のように、平均の差が所定の許容範囲ff以内であった場合には、区間K1−2と区間K2とは統合されることになる。もちろん、平均信号強度の差が許容範囲aa以内であった場合に統合を行うようにしてもよいし、平均瞬間周波数の差が許容範囲ff内という条件と平均信号強度の差が許容範囲aa以内という条件とのいずれか一方が満足された場合に統合を行うようにしてもよいし、両条件がともに満足された場合に統合を行うようにしてもよい。また、このような種々の条件が満足されていても、両区間の間の間隔が時間軸上で所定の距離以上離れていた場合(たとえば、多数の変極点が除外されたために、かなりの空白区間が生じているような場合)は、統合処理を行わないような加重条件を課すことも可能である。
【0061】
かくして、この区間統合処理S34を行った後に得られた区間が、単位区間として設定されることになる。上述の例では、図18に示すように、単位区間U1(図17の暫定区間K1−1)と、単位区間U2(図17で統合された暫定区間K1−2およびK2)とが設定される。ここに示す実施態様では、こうして得られた単位区間の始端と終端を、その区間に含まれる最初の変極点の時間軸上の位置を始端とし、その区間に含まれる最後の変極点の時間軸上の位置を終端とする、という定義で定めることにする。したがって、図18に示す例では、単位区間U1は時間軸上の位置t3〜t6までの区間であり、単位区間U2は時間軸上の位置t7〜t15までの区間となる。
【0062】
なお、実用上は、更に、単位区間の区間長に関して所定の許容値を定めておき、区間長がこの許容値に満たない単位区間については、これを削除するか、あるいは、可能であれば(たとえば、代表周波数や代表強度が、隣接する単位区間のものにある程度近似していれば)隣接する単位区間に吸収合併させる処理を行うようにするのが好ましい。このような処理を行えば、最終的には、区間長が所定の許容値以上の単位区間のみが残ることになる。
【0063】
<<< 2.4 符号化段階 >>>
次に、図2の流れ図に示されている符号化段階S40について説明する。ここに示す実施形態では、この符号化段階S40は、符号データ生成処理S41と、符号データ修正処理S42とによって構成されている。符号データ生成処理S41は、区間設定段階S30において設定された個々の単位区間内の音響データに基づいて、個々の単位区間を代表する所定の代表周波数および代表強度を定義し、時間軸上での個々の単位区間の始端位置および終端位置を示す情報と、代表周波数および代表強度を示す情報とを含む符号データを生成する処理であり、この処理により、個々の単位区間の音響データは個々の符号データによって表現されることになる。一方、符号データ修正処理S42は、生成された符号データを、復号化に用いる再生音源装置の特性に適合させるために修正する処理であり、本明細書では具体的な処理内容の説明は省略する。詳細については、特願平9−67467号明細書を参照されたい。
【0064】
符号データ生成処理S41における符号データ生成の具体的手法は、非常に単純である。すなわち、個々の単位区間内に含まれる変極点の瞬間周波数に基づいて代表周波数を定義し、個々の単位区間内に含まれる変極点のもつ信号強度に基づいて代表強度を定義すればよい。これを図18の例で具体的に示そう。この図18に示す例では、変極点P3〜P6を含む単位区間U1と、変極点P7〜P15(ただし、P11は除外されている)を含む単位区間U2とが設定されている。ここに示す実施形態では、単位区間U1(始端t3,終端t6)については、図19上段に示すように、代表周波数F1および代表強度A1が、
F1=(f3+f4+f5+f6)/4
A1=(a3+a4+a5+a6)/4
なる式で演算され、単位区間U2(始端t7,終端t15)については、図19下段に示すように、代表周波数F2および代表強度A2が、
F2=(f7+f8+f9+f10+f12+f13+f14+f15)/8
A2=(a7+a8+a9+a10+a12+a13+a14+a15)/8
なる式で演算される。別言すれば、代表周波数および代表強度は、単位区間内に含まれる変極点の瞬間周波数および信号強度の単純平均値となっている。もっとも、代表値としては、このような単純平均値だけでなく、重みを考慮した加重平均値をとってもかまわない。たとえば、信号強度に基づいて個々の変極点に重みづけをし、この重みづけを考慮した瞬間周波数の加重平均値を代表周波数としてもよい。
【0065】
こうして個々の単位区間に、それぞれ代表周波数および代表強度が定義されれば、時間軸上での個々の単位区間の始端位置と終端位置は既に得られているので、個々の単位区間に対応する符号データの生成が可能になる。たとえば、図18に示す例の場合、図20に示すように、5つの区間E0,U1,E1,U2,E2を定義するための符号データを生成することができる。ここで、区間U1,U2は、前段階で設定された単位区間であり、区間E0,E1,E2は、各単位区間の間に相当する空白区間である。各単位区間U1,U2には、それぞれ代表周波数F1,F2と代表強度A1,A2が定義されているが、空白区間E0,E1,E2は、単に始端および終端のみが定義されている区間である。
【0066】
図21は、図20に示す個々の区間に対応する符号データの構成例を示す図表である。この例では、1行に示された符号データは、区間名(実際には、不要)と、区間の始端位置および終端位置と、代表周波数および代表強度と、によって構成されている。一方、図22は、図20に示す個々の区間に対応する符号データの別な構成例を示す図表である。図21に示す例では、各単位区間の始端位置および終端位置を直接符号データとして表現していたが、図22に示す例では、各単位区間の始端位置および終端位置を示す情報として、区間長L1〜L4(図20参照)を用いている。なお、図21に示す構成例のように、単位区間の始端位置および終端位置を直接符号データとして用いる場合には、実際には、空白区間E0,E1,…についての符号データは不要である(図21に示す単位区間U1,U2の符号データのみから、図20の構成が再現できる)。
【0067】
本発明に係る音響信号の符号化方法によって、最終的に得られる符号データは、この図21あるいは図22に示すような符号データである。もっとも、符号データとしては、各単位区間の時間軸上での始端位置および終端位置を示す情報と、代表周波数および代表強度を示す情報とが含まれていれば、どのような構成のデータを用いてもかまわない。最終的に得られる符号データに、上述の情報さえ含まれていれば、所定の音源を用いて音響の再生(復号化)が可能になる。たとえば、図20に示す例の場合、時刻0〜t3の期間は沈黙を守り、時刻t3〜t6の期間に周波数F1に相当する音を強度A1で鳴らし、時刻t6〜t7の期間は沈黙を守り、時刻t7〜t15の期間に周波数F2に相当する音を強度A2で鳴らせば、もとの音響信号の再生が行われることになる。
【0068】
§3. MIDI形式の符号データを用いる実施形態
上述したように、本発明に係る音響信号の符号化方法では、最終的に、個々の単位区間についての始端位置および終端位置を示す情報と、代表周波数および代表強度を示す情報とが含まれた符号データであれば、どのような形式の符号データを用いてもかまわない。しかしながら、実用上は、そのような符号データとして、MIDI形式の符号データを採用するのが最も好ましい。ここでは、MIDI形式の符号データを採用した具体的な実施形態を示す。
【0069】
図23は、一般的なMIDI形式の符号データの構成を示す図である。図示のとおり、このMIDI形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「デルタタイム」データは、1〜4バイトのデータで構成され、所定の時間間隔を示すデータである。一方、「ノートオン」データは、全部で3バイトから構成されるデータであり、1バイト目は常にノートオン符号「90 H」に固定されており( Hは16進数を示す)、2バイト目にノートナンバーNを示すコードが、3バイト目にベロシティーVを示すコードが、それぞれ配置される。ノートナンバーNは、音階(一般の音楽でいう全音7音階の音階ではなく、ここでは半音12音階の音階をさす)の番号を示す数値であり、このノートナンバーNが定まると、たとえば、ピアノの特定の鍵盤キーが指定されることになる(C−2の音階がノートナンバーN=0に対応づけられ、以下、N=127までの128通りの音階が対応づけられる。ピアノの鍵盤中央のラの音(A3音)は、ノートナンバーN=69になる)。ベロシティーVは、音の強さを示すパラメータであり(もともとは、ピアノの鍵盤などを弾く速度を意味する)、V=0〜127までの128段階の強さが定義される。
【0070】
同様に、「ノートオフ」データも、全部で3バイトから構成されるデータであり、1バイト目は常にノートオフ符号「80 H」に固定されており、2バイト目にノートナンバーNを示すコードが、3バイト目にベロシティーVを示すコードが、それぞれ配置される。「ノートオン」データと「ノートオフ」データとは対になって用いられる。たとえば、「90 H,69,80」なる3バイトの「ノートオン」データは、ノートナンバーN=69に対応する鍵盤中央のラのキーを押し下げる操作を意味し、以後、同じノートナンバーN=69を指定した「ノートオフ」データが与えられるまで、そのキーを押し下げた状態が維持される(実際には、ピアノなどのMIDI音源の波形を用いた場合、有限の時間内に、ラの音の波形は減衰してしまう)。ノートナンバーN=69を指定した「ノートオフ」データは、たとえば、「80 H,69,50」のような3バイトのデータとして与えられる。「ノートオフ」データにおけるベロシティーVの値は、たとえばピアノの場合、鍵盤キーから指を離す速度を示すパラメータになる。
【0071】
なお、上述の説明では、ノートオン符号「90 H」およびノートオフ符号「80 H」は固定であると述べたが、これらの符号の下位4ビットは必ずしも0に固定されているわけではなく、チャネル番号0〜15のいずれかを特定するコードとして利用することができ、チャネルごとにそれぞれ別々の楽器の音色についてのオン・オフを指定することができる。
【0072】
このように、MIDIデータは、もともと楽器演奏の操作に関する情報(別言すれば、楽譜の情報)を記述する目的で利用されている符号データであるが、本発明に係る音響信号の符号化方法への利用にも適している。すなわち、各単位区間についての代表周波数Fに基づいてノートナンバーNを定め、代表強度Aに基づいてベロシティーVを定め、単位区間の長さLに基づいてデルタタイムTを定めるようにすれば、1つの単位区間の音響データを、ノートナンバー、ベロシティー、デルタタイムで表現されるMIDI形式の符号データに変換することが可能になる。このようなMIDIデータへの具体的な変換方法を図24に示す。
【0073】
まず、MIDIデータのデルタタイムTは、単位区間の区間長L(単位:秒)を用いて、
T=L・768
なる簡単な式で定義できる。ここで、数値「768」は、四分音符を基準にして、その長さ分解能(たとえば、長さ分解能を1/2に設定すれば八分音符まで、1/8に設定すれば三十二分音符まで表現可能:一般の音楽では1/16程度の設定が使われる)を、MIDI規格での最小値である1/384に設定し、メトロノーム指定を四分音符=120(毎分120音符)にした場合のMIDIデータによる表現形式における時間分解能を示す固有の数値である。
【0074】
また、MIDIデータのノートナンバーNは、1オクターブ上がると、周波数が2倍になる対数尺度の音階では、単位区間の代表周波数F(単位:Hz)を用いて、
N=(12/log102)・(log10(F/440)+69
なる式で定義できる。ここで、右辺第2項の数値「69」は、ピアノ鍵盤中央のラの音(A3音)のノートナンバー(基準となるノートナンバー)を示しており、右辺第1項の数値「440」は、このラの音の周波数(440Hz)を示しており、右辺第1項の数値「12」は、半音を1音階として数えた場合の1オクターブの音階数を示している。
【0075】
更に、MIDIデータのベロシティーVは、単位区間の代表強度Aと、その最大値Amax とを用いて、
V=(A/Amax )・127
なる式で、V=0〜127の範囲の値を定義することができる。なお、通常の楽器の場合、「ノートオン」データにおけるベロシティーVと、「ノートオフ」データにおけるベロシティーVとは、上述したように、それぞれ異なる意味をもつが、この実施形態では、「ノートオフ」データにおけるベロシティーVとして、「ノートオン」データにおけるベロシティーVと同一の値をそのまま用いるようにしている。
【0076】
前章の§2では、図20に示すような2つの単位区間U1,U2内の音響データに対して、図21あるいは図22に示すような符号データが生成される例を示したが、SMF形式のMIDIデータを用いた場合、単位区間U1,U2内の音響データは、図25の図表に示すような各データ列で表現されることになる。ここで、ノートナンバーN1,N2は、代表周波数F1,F2を用いて上述の式により得られた値であり、ベロシティーV1,V2は、代表強度A1,A2を用いて上述の式により得られた値である。
【0077】
§4. パラメータ設定を変えて複数の符号列を生成する方法
以上、本発明に係る音響信号の符号化方法の一例を具体的に説明したが、この方法により実際に得られる符号データは、パラメータの設定によって大きく変わることになる。たとえば、§2で述べた具体的な手法の場合、図15に示す式における周波数の許容範囲ffあるいは強度の許容範囲aaが、このパラメータに相当するものになり、これらの設定を変えると、単位区間の設定が異なることになり、最終的に得られる符号列も異なってくる。具体的には、周波数の許容範囲ffを広く設定すればするほど、あるいは強度の許容範囲aaを広く設定すればするほど、単位区間の区間長が長くなり、生成される符号の時間的密度は低くなる(単位時間あたりの音響信号を符号化する際に必要な符号の数が少なくてすむ)。一方、図11に示す例では、所定の許容レベルLL以下の強度をもった信号を除外する処理が行われているが、この許容レベルLLの値も、得られる符号データの内容を左右するパラメータとなり、許容レベルLLの設定を変えると、異なる符号データが生成されることになる。具体的には、許容レベルLLの値を高く設定すればするほど、もとの音響信号の情報のうちの除外される部分が多くなる。また、図18に示すように、単位区間U1,U2が定まった後、これらの単位区間の区間長が所定の許容値に達しているか否かの判断がなされ、区間長がこの許容値に達しない単位区間は削除されるか、あるいは、隣接する単位区間に吸収合併されることになるが、このときの区間長の許容値も、得られる符号データの内容を左右するパラメータとなる。
【0078】
このように、同一の音響信号に対して本発明による符号化を行ったとしても、用いるパラメータの設定により、最終的に得られる符号列はそれぞれ異なってくる。本発明の要点は、このような点に着目し、より広範な用途に利用可能な符号化が行われるようにした点にある。すなわち、互いに時間的密度が異なる符号化が行われるような複数通りのパラメータを予め設定しておき、同一の音響信号に対して、この複数通りのパラメータを用いた符号化を行うことにより、複数通りの符号列を生成するのである。そして、この互いに時間的密度が異なる複数通りの符号列を1組のデータとして出力しておけば、利用する際には、その用途に応じた符号列を選択的に利用することが可能になる。
【0079】
たとえば、図26には、同一の音響信号に基いて作成された2つの楽譜が示されている。ここで、図26(a) に示す楽譜は、符号の時間的密度が小さくなるようなパラメータを用いて生成された音符から構成されているのに対し、図26(b) に示す楽譜は、符号の時間的密度が大きくなるようなパラメータを用いて生成された音符から構成されている。いずれの楽譜も、2小節分の時間に相当する演奏内容を示しているものの、前者の音符密度は後者の音符密度よりも低くなっている。具体的には、図26(a) に示されている単一の音符Na1〜Na3は、図26(b) では、それぞれ複数の音符群Nb1〜Nb3によって示されている。
【0080】
一般に、楽譜表示に利用する場合には、図26(a) に示すように時間的密度の低い符号列を用いるのが好ましい。図26(b) に示す符号列を楽譜表示に用いると、図示のとおり音符密度が高くなり、判読性が低下することになるためである。逆に、音源を用いて再生を行う場合には、図26(b) に示すように時間的密度の高い符号列を用いるのが好ましい。たとえば、図26(a) では、単一の音符Na1による単調な音色しか表現されていないが、図26(b) では、これに対応する部分が4つの音符からなる音符群Nb1によって表現されており、音程の変動が再現されることになる。楽器演奏におけるビブラートやトリラーといった音程の細かな変動部分を忠実に音符として表現するためには、このように時間的密度の高い符号列を用いた方がよい。
【0081】
通常、楽譜上でビブラートやトリラーなどを表現するには、音符自身を用いて表現を行う代わりに、音符の上のコメント文を用いた表現形式が採られており、楽譜上に表示する情報としては、このようなコメント文だけで十分である。図26(a) に示す例では、五線符上に「vibrato 」なるコメント文が記載されており、音符Na1から音符Na3に至る部分までビブラートがかかることが示されている(「米印」はビブラートの終了を示す)。
【0082】
本発明に係る符号化装置において、楽譜表示用のパラメータ(比較的時間的密度の低い符号列が得られるパラメータ)と、音源再生用のパラメータ(比較的時間的密度の高い符号列が得られるパラメータ)と、を用意しておき、同一の音響信号に対して、この2通りのパラメータを用いた符号化を行えば、図26(a) ,(b) に示すような2通りの符号列を生成することができる。このように2通りの符号列を生成しておけば、楽譜表示として利用する場合には図26(a) に示す符号列を用い、音源再生として利用する場合には図26(b) に示す符号列を用いる、というように、用途に適した符号列を選択して利用することができるようになる。
【0083】
§2で述べた手法によると、音響データの時間軸上に複数の単位区間が設定され、個々の単位区間に所属する音響データが1つの符号に置換されることになる。したがって、符号化の時間的密度は、この単位区間の設定に関与するパラメータによって左右されることになる。本願発明者は、特に、次の4つのパラメータの設定を変えると、楽譜表示用の符号列と音源再生用の符号列とを得るのに効果的であることを見出だした。
【0084】
(1) 第1のパラメータは、1つの単位区間に所属する音響データの周波数分布の許容範囲を示すパラメータである。このパラメータは、別言すれば、音響データの一部分を1つの符号に置き換えて表現する際に、この音響データの一部分内の音程の上下の許容範囲を示すパラメータということができる。たとえば、図1に示す例の場合、単位区間U1内の音響データは、代表周波数F1を有し、代表強度A1を有する1つの符号データに置き換えられることになるが、これは、単位区間U1内の音響データ内には代表周波数F1を基準として所定の許容範囲内の瞬間周波数をもった変極点のみが含まれていたためである。もし、この許容範囲をより小さく設定したとすれば、単位区間U1内には、許容範囲を越える瞬間周波数をもった変極点が含まれることになり、単一の符号データで表現することはできなくなってしまう。逆に、この許容範囲をより大きく設定したとすれば、単位区間U1と単位区間U2とを統合して、両区間の音響データを単一の符号データに置き換えることができるようになる。
【0085】
結局、楽譜表示のために時間的密度の低い符号化を行う場合には、この周波数分布の許容範囲を大きく設定すればよく、音源再生のために時間的密度の高い符号化を行う場合には、この周波数分布の許容範囲を小さく設定すればよい。具体的には、§2で述べた実施形態の場合、図15に示す式における周波数の許容範囲ffが、この周波数分布の許容範囲を示すパラメータとなり、この許容範囲ffの値を2通り用意しておくことにより、楽譜表示用の符号列と音源再生用の符号列とを得ることができる。たとえば、図26(a) に示す音符Na1は単一の音符でまとめられているのに対し、図26(b) に示す音符群Nb1が4つの音符に分けられているのは、後者の周波数分布の許容範囲が、前者の周波数分布の許容範囲に比べて小さく設定されていたため、1つの音符(1つの単位区間)で表現することができなかったためである。
【0086】
(2) 第2のパラメータは、1つの単位区間に所属する音響データの強度分布の許容範囲を示すパラメータである。このパラメータは、別言すれば、音響データの一部分を1つの符号に置き換えて表現する際に、この音響データの一部分内の信号強度の変動の許容範囲を示すパラメータということができる。たとえば、図1に示す例の場合、単位区間U1内の音響データは、代表周波数F1を有し、代表強度A1を有する1つの符号データに置き換えられることになるが、これは、単位区間U1内の音響データ内には代表強度A1を基準として所定の許容範囲内の信号強度をもった変極点のみが含まれていたためである。もし、この許容範囲をより小さく設定したとすれば、単位区間U1内には、許容範囲を越える信号強度をもった変極点が含まれることになり、単一の符号データで表現することはできなくなってしまう。逆に、この許容範囲をより大きく設定したとすれば、単位区間U1と単位区間U2とを統合して、両区間の音響データを単一の符号データに置き換えることができるようになる。
【0087】
結局、楽譜表示のために時間的密度の低い符号化を行う場合には、この強度分布の許容範囲を大きく設定すればよく、音源再生のために時間的密度の高い符号化を行う場合には、この強度分布の許容範囲を小さく設定すればよい。具体的には、§2で述べた実施形態の場合、図15に示す式における強度の許容範囲aaが、この強度分布の許容範囲を示すパラメータとなり、この許容範囲aaの値を2通り用意しておくことにより、楽譜表示用の符号列と音源再生用の符号列とを得ることができる。
【0088】
(3) 第3のパラメータは、単位区間を設定する際に考慮する信号強度の許容値を示すパラメータである。このパラメータは、別言すれば、音響データの一部分を1つの符号に置き換えて表現する際に、この音響データの一部分内の信号として取り扱われる信号強度の最小値を示すパラメータということができる。単位区間を設定する際には、この許容値未満の音響データは除外されることになる。楽譜表示のために時間的密度の低い符号化を行う場合には、この信号強度の許容値を大きく設定すればよく、音源再生のために時間的密度の高い符号化を行う場合には、この信号強度の許容値を小さく設定すればよい。具体的には、§2で述べた実施形態の場合、図11に示す許容レベルLLが、この信号強度の許容値を示すパラメータとなり、この許容レベルLLに満たない信号強度をもつ情報(たとえば、変極点P4,P9の情報)は除外されることになる。
【0089】
(4) 第4のパラメータは、最終的な個々の単位区間の区間長の許容値を示すパラメータである。このパラメータは、別言すれば、音響データの一部分を1つの符号に置き換えて表現する際に、当該音響データの一部分の時間的長さの最小値を示すパラメータということができる。§2で述べたように、個々の単位区間の最終的な区間長は、所定の許容値以上となるように調節される。すなわち、許容値に満たない単位区間が存在した場合は、当該単位区間は削除されるか、隣接する単位区間に吸収合併されることになる。楽譜表示のために時間的密度の低い符号化を行う場合には、この区間長の許容値を大きく設定すればよい。より多数の単位区間が削除や吸収合併の対象となるため、全体的な符号密度は減少することになる。一方、音源再生のために時間的密度の高い符号化を行う場合には、この区間長の許容値を小さく設定すればよい。区間長が短い細かな単位区間も残存し、それぞれが符号に変換されるようになるため、全体的な符号密度は増大し、細かい音も再生可能になる。
【0090】
§5. 異なるトラックへの出力
上述したように、本発明では、同一の音響信号に対して複数通りのパラメータを用いて符号化を行うことにより、複数通りの符号列が1組のデータとして出力されることになるが、これらの符号列をMIDIデータとして出力する場合には、それぞれを異なるトラックに出力するのが好ましい。MIDI規格では、同一の時間軸をもった複数のトラックにMIDIデータを分散して収録させることができ、しかも再生時には、任意のトラックのMIDIデータを選択して再生することができる。そこで、たとえば、第1のトラックには、時間的密度の低い楽譜表示用のMIDIデータを収録し、第2のトラックには、時間的密度の高い音源再生用のMIDIデータを収録する、というように、トラックごとに分けて各MIDIデータを収録しておけば、楽譜表示を行う際には第1トラックのMIDIデータを利用し、音源再生を行う際には第2トラックのMIDIデータを利用する、ということが可能になる。
【0091】
図27は、同一の音響信号に基いて、符号化のパラメータを変えることにより、楽譜表示用MIDIデータと音源再生用MIDIデータとを生成し、前者をトラック0に収録し、後者をトラック1〜4に分けて収録して1組のMIDIデータを構成した例を示す図である。楽譜表示用MIDIデータは、音符の時間的密度が低いため、1つのトラックに収録しやすいが、音源再生用MIDIデータは、音符の時間的密度が高いため、ここでは4つのトラックに分けて収録している。
【0092】
図28および図29は、符号化の対象となる音響データとして、実際の鳥の鳴き声を用い、楽譜表示用MIDIデータと音源再生用MIDIデータとを作成した例を示す図である。図28に示す原音波形と図29に示す原音波形とは同一の波形であり、鳥の鳴き声を録音することにより得られた波形である。図28のトラック0の欄には、この原音波形に対して、楽譜表示用パラメータを用いた符号化を行うことによって得られた楽譜表示用MIDIデータが所定のフォーマットで表示されており、図29のトラック1〜トラック4の各欄には、この原音波形に対して、音源再生用パラメータを用いた符号化を行うことによって得られた音源再生用MIDIデータが所定のフォーマットで表示されている。このMIDIデータ表示用フォーマットは、MIDIデータを音符に準じた符号で表現するためのものであり、黒く塗りつぶされた個々の矩形が1つの音符を示す図形となっている。この矩形の上辺の上下方向の位置は、この音符の音程(ドレミファ)を示しており、この矩形の左辺の左右方向の位置は音の時間的な位置を示しており、この矩形の横幅は音の長さを示しており、この矩形の縦幅は音の強さを示している(このようなフォーマットは、特願平9−67468号明細書に開示されている)。
【0093】
図28のトラック0に示された楽譜表示用MIDIデータの符号密度に比べると、図29のトラック1〜4に示された音源再生用MIDIデータの符号密度は、かなり高いことがわかる。全く同じ鳥の鳴き声を符号化したにもかかわらず、用いるパラメータによって、これだけの差が生じることになる。図30に示す楽譜は、図28および図29に示すMIDIデータを音符で表示した例を示すものである。トラック0に示された楽譜表示用MIDIデータの音符は、一般的な楽譜として表示するのに適した形態になっているが、トラック1〜4に示された音源再生用MIDIデータの音符は、4つのトラックに分けて収容されているにもかかわらず、音符数がかなり多く、楽譜を表示する用途には不適当である。しかしながら、MIDI音源を用いて実際に再生を行ってみると、トラック1〜4に示された音源再生用MIDIデータを用いて再生を行った場合は、鳥の鳴き声という原音波形に近い再生音が得られるのに対し、トラック0に示された楽譜表示用MIDIデータを用いて再生を行った場合は、細かな音の情報が再現されず、原音を再生するという用途には不適当である。
【0094】
結局、楽譜表示を行う場合には、トラック0に収録された楽譜表示用MIDIデータを用い、音源再生を行う場合には、トラック1〜4に収録された音源再生用MIDIデータを用いる、というように、選択的な利用を行うことにより、個々の用途に適した利用が可能になる。なお、ここでは、楽譜表示用MIDIデータと音源再生用MIDIデータとの2通りの符号データを生成した例を示したが、本発明は、このような2通りの符号データの作成に限定されるものではなく、用途に応じて、3通り以上の符号データを作成することももちろん可能である。
【0095】
また、MIDI規格によると、個々のトラックには、音符を示すデータの他にも、種々の制御符号を付加することが可能である。したがって、各トラックごとに、音の再生を行うか否かを示す制御符号を付加しておくと便利である。たとえば、上述の例の場合、トラック0については音の再生を行わない旨の制御符号(いわゆるサイレント符号)を付加し、トラック1〜4については音の再生を行う旨の制御符号を付加しておけば、音源再生時には、トラック1〜4に収録された音源再生用MIDIデータのみが再生されることになる。
【0096】
なお、前述したように、ビブラートやトリラーといった音程の細かな揺れは、楽譜上ではコメント文として表示されることが多い。たとえば、図26(a) に示す例では、音符Na1〜Na3に対して「Vibrato 」なるコメント文が記載されている。本発明に係る符号化を実施する場合、このようなコメント文を自動的に生成させることも可能である。すなわち、楽譜表示用トラックに収録された符号列と音源再生用トラックに収録された符号列とを同一の時間軸上で比較し、音源再生用トラックに収録された符号列によってのみ表現されている音楽的特徴を認識し、この音楽的特徴を示す符号を、楽譜表示用トラックに収録された符号列の対応箇所に付加する処理を行うようにすればよい。たとえば、上述の例では、図26(a) の符号列と図26(b) の符号列とを同一の時間軸上で比較すると、音符Na1と音符群Nb1とを対応づけることができ、音符群Nb1によってビブラートという音楽的特徴が表現されていることを認識することができる。このような認識を行うためには、たとえば、音程差が2半音以内の音符が4つ以上並んでおり、音程が高低高低と交互に上下するような配列になっている場合にはビブラートと認識する、といった判定基準を予め定めておけばよい。このような基準によれば、図26(b) の音符群Nb1〜Nb3には、いずれもビブラートという音楽的特徴が表現されていることが認識できるため、これに対応する図26(a) の音符Na1〜Na3を表示する際に、「Vibrato 」なるコメント文を併せて表示するような処理を行えばよい。あるいは、MIDI規格によれば、個々の音符に対して修飾符号を付加することが可能なので、「Vibrato 」を示す修飾符号を音符Na1〜Na3に付加するようにしてもよい。
【0097】
§6. 本発明に係る音響信号の符号化装置および符号データの編集装置の構成
最後に、これまで述べてきた符号化方法を実施するための音響信号の符号化装置の構成およびこの符号化装置で作成された符号データの編集装置の構成について述べる。図31は、このような符号化装置と編集装置とを兼ね備えた装置の基本構成を示すブロック図である。この装置は、時系列の強度信号として与えられる音響信号(原音波形)を符号化して出力するとともに、出力された符号データに対して編集を施す機能を有している。
【0098】
音響データ入力手段10は、符号化対象となる音響信号(原音波形)をデジタルの音響データとして入力する機能を有し、具体的には、A/Dコンバータを備えた音響信号入力回路などによって構成される。符号化処理手段20は、こうして入力した音響データを、符号列に変換する符号化処理を行う機能を有する。ここで行われる符号化処理は、既に§2において述べたとおりである。パラメータ設定手段30は、この符号化処理手段20において行われる符号化処理に用いるパラメータを設定する機能を有し、この実施例では、表示用パラメータと再生用パラメータとの2通りのパラメータが設定される。もちろん、3通り以上のパラメータを設定することも可能であり、互いに時間的密度が異なる符号化が行われるような複数通りのパラメータを設定することができれば、どのようなパラメータ設定を行ってもかまわない。符号化処理手段20は、音響データ入力手段10から入力された同一の音響データに対して、この複数通りのパラメータを用いることにより、互いに時間的密度が異なる複数通りの符号列を生成する処理を行うことになる。図では、符号化処理手段20により、表示用符号列と再生用符号列との2通りの符号列が生成された例が示されている。
【0099】
符号列出力手段40は、こうして生成された複数通りの符号列を、1組のデータとして出力する機能を有する。図示の例では、記録装置(あるいは記録媒体)50に対して、表示用符号列と再生用符号列との2通りの符号列が出力された状態が示されている。上述したように、MIDIデータとして出力する場合であれば、これらの符号列を複数のトラックに分けて出力するのが好ましい。表示再生手段60は、こうして出力された符号データを用いて、楽譜表示と音源再生とを行う手段であり、表示用符号列に基いて楽譜の表示を行うとともに、再生用符号列を用いて音源再生を行う機能を有している。
【0100】
符号編集手段70は、記録装置(あるいは記録媒体)50に出力された符号データに対して編集を施す装置である。MIDIデータを取り扱う一般的な装置においても、MIDIデータに対する編集が行われるが、符号編集手段70は、本発明に係る方法で生成された符号データに対する編集を行うための特別な機能を有している。すなわち、記録装置(あるいは記録媒体)50に出力された2通りの符号列は、同一の音響データに対して、互いに時間的密度が異なる符号化を施すことにより生成された符号列であり、図示の例の場合、表示用符号列と再生用符号列とによって構成されている。ここで、表示用符号列と再生用符号列とは、時間軸を同一にした互いに整合性をもったデータである。したがって、一方の符号列に対して編集を施した場合、他方の符号列に対しても同様の編集を施しておかないと、両者間の整合性が失われてしまうことになる。符号編集手段70は、このような整合性を保つために、一方の符号列に対して編集を施すと、もう一方の符号列に対しても同等の編集を自動的に施す機能を有している。
【0101】
すなわち、符号編集手段70には、まず、複数の符号列のうちの1つを編集対象符号列、残りの符号列を非編集対象符号列として特定する機能が備わっており、オペレータの指示に基いて、編集対象符号列の編集箇所に対して所定の編集を施すことが可能である。そして、このように、編集対象符号列に対して所定の編集を施した場合、時間軸上においてこの編集箇所に対応する非編集対象符号列上の箇所を、対応箇所として求め、この対応箇所に対して、編集箇所に対して行われた編集と同等の編集を施す自動編集機能を備えている。
【0102】
たとえば、図32に示すように、表示用MIDIトラック0に収録された表示用符号列を編集対象符号列として選択し、図にハッチングを施して示す部分を編集箇所として何らかの編集を施したとする。具体的には、この編集箇所内の符号に対して、削除、移動、複写、音程の変更、テンポの変更などの編集が行われたものとしよう。この場合、非編集対象符号列となる再生用MIDIトラック1〜4に収録された再生用符号列について、時間軸上において編集箇所に対応する箇所が対応箇所として求められる。図示の例の場合、トラック1〜4にハッチングを施して示す部分が対応箇所として求められる。そして、この対応箇所に対して、編集箇所に対して行った編集と同等の編集が行われることになる。もちろん、編集箇所内の符号と各対応箇所内の符号とは同一ではないが、少なくとも時間軸を基準として、個々の符号間の対応関係を認識することができるため、上述した削除、移動、複写、音程の変更、テンポの変更などの編集については、同等の編集を施すことが可能である。
【0103】
以上、図31に示すブロック図に基いて、本発明に係る音響信号の符号化装置および符号データの編集装置の構成を述べたが、これらの装置は、実際にはコンピュータおよびその周辺機器からなるハードウエアに、所定のプログラムをインストールすることにより構成することができ、そのようなプログラムは、コンピュータ読取り可能な記録媒体に記録して配布することができる。したがって、図31に示す各構成ブロックのうち、音響データ入力手段10、符号化処理手段20、パラメータ設定手段30、符号列出力手段40、表示再生手段60、符号編集手段70は、いずれもコンピュータ、キーボード、マウス、ディスプレイ、プリンタなどのハードウエアによって構成することができ、記録装置(記録媒体)50は、このコンピュータに用いられるメモリやハードディスクなどの記憶装置や、フロッピディスク、MOディスク、CD−ROMなどの記録媒体によって構成することができる。また、本発明によって作成された複数通りの符号列のデータは、コンピュータ読取り可能な記録媒体50に収録して配布することが可能である。
【0104】
以上、本発明を図示する実施形態に基いて説明したが、本発明はこれらの実施形態に限定されるものではなく、この他にも種々の態様で実施可能である。たとえば、上述した§2では、原音波形のピーク位置に基いて単位区間を設定し、代表周波数と代表強度とを定める方法を述べたが、単位区間の設定方法や、代表周波数および代表強度を定める方法としては、他の方法を用いてもよい。たとえば、原音波形の細かな部分ごとにフーリエ変換を用いて代表周波数および代表強度を定めるようなことも可能である。
【0105】
【発明の効果】
以上のとおり本発明に係る音響信号の符号化装置によれば、広範な用途に利用可能な符号データを得ることができるようになり、また、本発明に係る符号データの編集装置によれば、そのような符号データに対する効率的な編集が可能になる。
【図面の簡単な説明】
【図1】本発明に係る音響信号の符号化方法の基本原理を示す図である。
【図2】本発明に係る音響信号の符号化方法の実用的な手順を示す流れ図である。
【図3】入力した音響データに含まれている直流成分を除去するデジタル処理を示すグラフである。
【図4】図3に示す音響データの一部を時間軸に関して拡大して示したグラフである。
【図5】図4に矢印で示す変極点P1〜P6のみを抜き出した示した図である。
【図6】多少乱れた音響データの波形を示すグラフである。
【図7】図6に矢印で示す変極点P1〜P7のみを抜き出した示した図である。
【図8】図7に示す変極点P1〜P7の一部を間引処理した状態を示す図である。
【図9】個々の変極点について、瞬間周波数を定義する方法を示す図である。
【図10】個々の変極点に関する情報に基づいて、単位区間を設定する具体的手法を示す図である。
【図11】所定の許容レベルLLに基づくスライス処理を示す図である。
【図12】単位区間設定の対象となる多数の変極点を矢印で示した図である。
【図13】図12に示す変極点に対して、所定の許容レベルLLに基づくスライス処理を行う状態を示す図である。
【図14】図13に示すスライス処理によって変極点を除外し、暫定区間K1,K2を設定した状態を示す図である。
【図15】図14に示す暫定区間K1についての不連続位置を探索する処理を示す図である。
【図16】図15で探索された不連続位置に基づいて、暫定区間K1を分割し、新たな暫定区間K1−1とK1−2とを定義した状態を示す図である。
【図17】図16に示す暫定区間K1−2,K2についての統合処理を示す図である。
【図18】図17に示す統合処理によって、最終的に設定された単位区間U1,U2を示す図である。
【図19】各単位区間についての代表周波数および代表強度を求める手法を示す図である。
【図20】5つの区間E0,U1,E1,U2,E2を定義するための符号データを示す図である。
【図21】図20に示す単位区間U1,U2内の音響データを符号化して得られる符号データの一例を示す図表である。
【図22】図20に示す単位区間U1,U2内の音響データを符号化して得られる符号データの別な一例を示す図表である。
【図23】一般的なSMF形式の符号データの構成を示す図である。
【図24】各単位区間内の音響データについてのMIDIデータへの具体的な変換方法を示す図である。
【図25】図20に示す単位区間U1,U2内の音響データを、SMF形式のMIDIデータを用いて符号化した状態を示す図表である。
【図26】複数のパラメータを用いて作成された2通りのMIDIデータの例を示す図である。
【図27】複数のパラメータを用いて作成された2通りのMIDIデータを、複数のトラックに収録した例を示す図である。
【図28】鳥の鳴き声を原音波形として、楽譜表示用パラメータを用いて生成されたMIDIデータを示す図である。
【図29】図28に示す原音波形と同一の原音波形について、音源再生用パラメータを用いて生成されたMIDIデータを示す図である。
【図30】図28および図29に示すMIDIデータを音符で表現した例を示す図である。
【図31】本発明に係る音響信号の符号化装置および音符データの編集装置の構成例を示すブロック図である。
【図32】本発明に係る符号データの編集装置に特有の編集機能を説明する図である。
【符号の説明】
10…音響データ入力手段
20…符号化処理手段
30…パラメータ設定手段
40…符号列出力手段
50…記録装置(記録媒体)
60…表示再生手段
70…符号編集手段
A,A1,A2…代表強度
a1〜a9…変極点の信号強度
aa…許容範囲
D…直流成分
E0,E1,E2…空白区間
e1〜e6…終端位置
F,F1,F2…代表周波数
f1〜f17…変極点の瞬間周波数
ff…許容範囲
fs…サンプリング周波数
K1,K1−1,K1−2,K2…暫定区間
L,L1〜L4…区間長
LL…許容レベル
N…ノートナンバー
Na1〜Na5…音符
Nb1〜Nb3…音符群
P1〜P17…変極点
s1〜s6…始端位置
T…デルタタイム
t1〜t17…時間軸上の位置
U1〜U6…単位区間
V…ベロシティー
x…サンプル番号
φ…周期
Claims (13)
- 時系列の強度信号として与えられる音響信号を符号化する装置であって、
符号化対象となる音響信号をデジタルの音響データとして入力する音響データ入力手段と、
前記音響データを符号列に変換する符号化処理を行う符号化処理手段と、
前記符号化処理に用いるパラメータを設定するパラメータ設定手段と、
前記符号化処理によって得られた符号列を出力する符号列出力手段と、
を備え、前記パラメータ設定手段は、互いに時間的密度が異なる符号化が行われるように複数通りのパラメータを設定する機能を有し、前記符号化処理手段は、同一の音響データに対して前記複数通りのパラメータを用いることにより、互いに時間的密度が異なる複数通りの符号列を生成し、前記符号列出力手段は、同一の音響データについて生成された複数通りの符号列を1組のデータとして出力することを特徴とする音響信号の符号化装置。 - 請求項1に記載の音響信号の符号化装置において、
符号化処理手段が、音響データの時間軸上に複数の単位区間を設定し、個々の単位区間に所属する音響データを1つの符号に置換することにより符号化処理を行うことを特徴とする音響信号の符号化装置。 - 請求項2に記載の音響信号の符号化装置において、
符号化処理手段が、1つの単位区間に所属する音響データの周波数分布が所定の許容範囲内に入るように個々の単位区間を設定する機能を有し、
パラメータ設定手段が、前記許容範囲を定めるパラメータを複数通り設定する機能を有することを特徴とする音響信号の符号化装置。 - 請求項2に記載の音響信号の符号化装置において、
符号化処理手段が、1つの単位区間に所属する音響データの強度分布が所定の許容範囲内に入るように個々の単位区間を設定する機能を有し、
パラメータ設定手段が、前記許容範囲を定めるパラメータを複数通り設定する機能を有することを特徴とする音響信号の符号化装置。 - 請求項2に記載の音響信号の符号化装置において、
符号化処理手段が、強度が所定の許容値未満の音響データを除外して個々の単位区間を設定する機能を有し、
パラメータ設定手段が、前記許容値を定めるパラメータを複数通り設定する機能を有することを特徴とする音響信号の符号化装置。 - 請求項2に記載の音響信号の符号化装置において、
符号化処理手段が、個々の単位区間の区間長が所定の許容値以上となるように個々の単位区間を設定する機能を有し、
パラメータ設定手段が、前記許容値を定めるパラメータを複数通り設定する機能を有することを特徴とする音響信号の符号化装置。 - 請求項1〜6のいずれかに記載の音響信号の符号化装置において、
符号化処理手段が、各単位区間内の音響データの周波数に基いてノートナンバーを定め、各単位区間内の音響データの強度に基いてベロシティーを定め、各単位区間の長さに基いてデルタタイムを定め、1つの単位区間の音響データを、ノートナンバー、ベロシティー、デルタタイムで表現されるMIDI形式の符号に変換する機能を有し、
符号列出力手段が、同一の音響データについて生成された複数通りの符号列を、それぞれ異なるトラックに収録し、1組のMIDIデータとして出力することを特徴とする音響信号の符号化装置。 - 請求項7に記載の音響信号の符号化装置において、
パラメータ設定手段が、楽譜表示用の符号列を生成するのに適した表示用パラメータと、音源再生用の符号列を生成するのに適した再生用パラメータと、を設定する機能を有し、
符号列出力手段が、前記表示用パラメータを用いて生成された符号列を、1つまたは複数の楽譜表示用トラックに収録し、前記再生用パラメータを用いて生成された符号列を、1つまたは複数の音源再生用トラックに収録して出力することを特徴とする音響信号の符号化装置。 - 請求項8に記載の音響信号の符号化装置において、
各トラックごとに、音の再生を行うか否かを示す制御符号を付加することを特徴とする音響信号の符号化装置。 - 請求項8に記載の音響信号の符号化装置において、
符号列出力手段が、楽譜表示用トラックに収録された符号列と音源再生用トラックに収録された符号列とを同一の時間軸上で比較し、音源再生用トラックに収録された符号列によってのみ表現されている音楽的特徴を認識し、この音楽的特徴を示す符号を、楽譜表示用トラックに収録された符号列の対応箇所に付加する処理を行うことを特徴とする音響信号の符号化装置。 - 同一の音響データに対して、互いに時間的密度が異なる符号化を施すことにより生成された複数の符号列から構成される符号データについて、所定の編集を施すための符号データの編集装置であって、
複数の符号列のうちの1つを編集対象符号列、残りの符号列を非編集対象符号列として特定する機能と、
オペレータの指示に基いて、前記編集対象符号列の編集箇所に対して所定の編集を施す機能と、
時間軸上において前記編集箇所に対応する前記非編集対象符号列上の箇所を、対応箇所として求め、この対応箇所に対して、前記編集箇所に対して行われた編集と同等の編集を施す自動編集機能と、
を備えることを特徴とする符号データの編集装置。 - 請求項11に記載の符号データの編集装置において、
編集対象符号列の編集箇所内の符号に対して、削除、移動、複写、音程の変更、テンポの変更、の中の少なくとも1つの編集処理を行う機能を有し、非編集対象符号列上の対応箇所に対して、同等の編集処理が行われるように構成したことを特徴とする符号データの編集装置。 - 請求項1〜12のいずれかに記載の音響信号の符号化装置または符号データの編集装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28345298A JP4152502B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化装置および符号データの編集装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28345298A JP4152502B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化装置および符号データの編集装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000099092A JP2000099092A (ja) | 2000-04-07 |
JP4152502B2 true JP4152502B2 (ja) | 2008-09-17 |
Family
ID=17665738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28345298A Expired - Fee Related JP4152502B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化装置および符号データの編集装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4152502B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4647770B2 (ja) * | 2000-11-17 | 2011-03-09 | 大日本印刷株式会社 | 時系列信号解析装置 |
JP6735100B2 (ja) * | 2015-01-20 | 2020-08-05 | ハーマン インターナショナル インダストリーズ インコーポレイテッド | 音楽コンテンツ及びリアルタイム音楽伴奏の自動採譜 |
CN111030412B (zh) * | 2019-12-04 | 2022-04-29 | 瑞声科技(新加坡)有限公司 | 一种振动波形的设计方法及振动马达 |
-
1998
- 1998-09-18 JP JP28345298A patent/JP4152502B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000099092A (ja) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7243052B2 (ja) | オーディオ抽出装置、オーディオ再生装置、オーディオ抽出方法、オーディオ再生方法、機械学習方法及びプログラム | |
JP2004184510A (ja) | 楽曲データ作成装置及び方法 | |
JP2001092464A (ja) | 楽音生成方法、楽音生成用データ記録方法および楽音生成用データを記録した記録媒体 | |
JP3776196B2 (ja) | 音声信号の符号化方法および音声の記録再生装置 | |
JP3795201B2 (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JP4152502B2 (ja) | 音響信号の符号化装置および符号データの編集装置 | |
JPH1173200A (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JP4331289B2 (ja) | 音響信号の符号化方法 | |
JP4268322B2 (ja) | 再生用符号化データ作成方法 | |
JP2006126710A (ja) | 奏法決定装置及びプログラム | |
JP2001005450A (ja) | 音響信号の符号化方法 | |
JP3958841B2 (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JP2000099009A (ja) | 音響信号の符号化方法 | |
JP4473979B2 (ja) | 音響信号の符号化方法および復号化方法ならびに当該方法を実行するプログラムを記録した記録媒体 | |
JP3744247B2 (ja) | 波形圧縮方法及び波形生成方法 | |
JP4220108B2 (ja) | 音響信号符号化システム | |
JP2002268637A (ja) | 拍子判定装置、及びプログラム | |
JP6047863B2 (ja) | 音響信号の符号化方法および装置 | |
JP2003216147A (ja) | 音響信号の符号化方法 | |
JP3788096B2 (ja) | 波形圧縮方法及び波形生成方法 | |
JP6424907B2 (ja) | 演奏情報検索方法を実現するためのプログラム、当該演奏情報検索方法および演奏情報検索装置 | |
JP3804522B2 (ja) | 波形圧縮方法及び波形生成方法 | |
JP4268327B2 (ja) | 音響信号の符号化方法 | |
JP2002123296A (ja) | 音響信号の符号化方法および分離方法 | |
JP2002091435A (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: 20080403 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080604 |
|
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: 20080701 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080702 |
|
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: 20110711 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120711 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120711 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130711 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |