JP4331289B2 - 音響信号の符号化方法 - Google Patents
音響信号の符号化方法 Download PDFInfo
- Publication number
- JP4331289B2 JP4331289B2 JP28345498A JP28345498A JP4331289B2 JP 4331289 B2 JP4331289 B2 JP 4331289B2 JP 28345498 A JP28345498 A JP 28345498A JP 28345498 A JP28345498 A JP 28345498A JP 4331289 B2 JP4331289 B2 JP 4331289B2
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- acoustic signal
- data
- spectrum
- section
- 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
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は音響信号の符号化方法に関し、時系列の強度信号として与えられる音響信号を符号化し、これを復号化して再生する技術に関する。特に、本発明はヴォーカル音響信号(人の話声,歌声の信号)を、MIDI形式の符号データに効率良く変換する処理に適しており、音声を記録する種々の産業分野への応用が期待される。
【0002】
【従来の技術】
音響信号を符号化する技術として、PCM(Pulse Code Modulation )の手法は最も普及している手法であり、現在、オーディオCDやDATなどの記録方式として広く利用されている。このPCMの手法の基本原理は、アナログ音響信号を所定のサンプリング周波数でサンプリングし、各サンプリング時の信号強度を量子化してデジタルデータとして表現する点にあり、サンプリング周波数や量子化ビット数を高くすればするほど、原音を忠実に再生することが可能になる。ただ、サンプリング周波数や量子化ビット数を高くすればするほど、必要な情報量も増えることになる。そこで、できるだけ情報量を低減するための手法として、信号の変化差分のみを符号化するADPCM(Adaptive Differential Pulse Code Modulation )の手法も用いられている。
【0003】
一方、電子楽器による楽器音を符号化しようという発想から生まれたMIDI(Musical Instrument Digital Interface)規格も、パーソナルコンピュータの普及とともに盛んに利用されるようになってきている。このMIDI規格による符号データ(以下、MIDIデータという)は、基本的には、楽器のどの鍵盤キーを、どの程度の強さで弾いたか、という楽器演奏の操作を記述したデータであり、このMIDIデータ自身には、実際の音の波形は含まれていない。そのため、実際の音を再生する場合には、楽器音の波形を記憶したMIDI音源が別途必要になる。しかしながら、上述したPCMの手法で音を記録する場合に比べて、情報量が極めて少なくてすむという特徴を有し、その符号化効率の高さが注目を集めている。このMIDI規格による符号化および復号化の技術は、現在、パーソナルコンピュータを用いて楽器演奏、楽器練習、作曲などを行うソフトウエアに広く採り入れられており、カラオケ、ゲームの効果音といった分野でも広く利用されている。
【0004】
【発明が解決しようとする課題】
上述したように、PCMの手法により音響信号を符号化する場合、十分な音質を確保しようとすれば情報量が膨大になり、データ処理の負担が重くならざるを得ない。したがって、通常は、ある程度の情報量に抑えるため、ある程度の音質に妥協せざるを得ない。もちろん、MIDI規格による符号化の手法を採れば、非常に少ない情報量で十分な音質をもった音の再生が可能であるが、上述したように、MIDI規格そのものが、もともと楽器演奏の操作を符号化するためのものであるため、広く一般音響への適用を行うことはできない。別言すれば、MIDIデータを作成するためには、実際に楽器を演奏するか、あるいは、楽譜の情報を用意する必要がある。
【0005】
このように、従来用いられているPCMの手法にしても、MIDIの手法にしても、それぞれ音響信号の符号化方法としては一長一短があり、一般の音響について、少ない情報量で十分な音質を確保することはできない。ところが、一般の音響についても効率的な符号化を行いたいという要望は、益々強くなってきている。いわゆるヴォーカル音響と呼ばれる人間の話声や歌声を取り扱う分野では、かねてからこのような要望が強く出されている。たとえば、語学教育、声楽教育、犯罪捜査などの分野では、ヴォーカル音響信号を効率的に符号化する技術が切望されている。ところが、ヴォーカル音響には、基本周波数のほか、その倍音となる高調波成分の分布として特徴的なフォルマント特性が現れることが知られており、更に、声帯の基本周波数に相当する有声音の成分が重畳することによりスペクトルに微細構造が生じるという特徴があるため、これまでの技術では効率的な符号化を行うことはできなかった。
【0006】
そこで本発明は、人の声音や歌声を含む音響信号に対して効率的な符号化を行うことができる音響信号の符号化方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
(1) 本発明の第1の態様は、時系列の強度信号として与えられる音響信号を符号化するための音響信号の符号化方法において、
符号化対象となる音響信号を所定のサンプリング周期でサンプリングしてデジタル音響データとして取り込むデータ取込段階と、
デジタル音響データの各サンプルが配置された時間軸上に、それぞれL個分のサンプルを含む区間長をもった複数の単位区間を、ΔL個分(ΔL<L)のサンプルだけずらして設定し、隣接する単位区間が時間軸上で(L−ΔL)個分のサンプルだけ重複するようにする区間設定段階と、
単位区間の中心位置から両端位置に向かって減少し、かつ、ΔL個分のサンプルに対応する半値幅をもつ重み関数を定義し、個々の単位区間ごとに、当該単位区間内のサンプルの値に前記重み関数を乗じる処理を行った後にフーリエ変換を行い、音響信号に含まれる周波数成分を第1の軸に、各周波数成分ごとの強度を第2の軸にとったスペクトルを作成するスペクトル作成段階と、
所定のしきい値を設定し、スペクトルのうち強度がしきい値以上となる一連の連続部分を1つのフォルマントとして認識し、各フォルマントにおける最大強度を示す周波数を当該フォルマントを代表する代表周波数として抽出する代表周波数抽出段階と、
抽出した代表周波数に対応した符号コードとして、MIDI規格に基づくMIDIデータで利用されるノートナンバーを用い、個々の単位区間の音響信号を、符号コードとして定義されたノートナンバーと、このノートナンバーに対応する周波数成分の強度に基いて決定されたベロシティーと、当該単位区間の長さに基いて決定されたデルタタイムと、を示すデータからなるMIDI形式の符号データによって表現する符号化段階と、
を行うようにしたものである。
【0008】
(2) 本発明の第2の態様は、上述の第1の態様に係る音響信号の符号化方法において、
符号化段階で、1つの単位区間をP個の代表周波数によって表現するという条件を設定し、個々の単位区間の音響信号を符号化する際に強度の大きい順にP個の代表周波数を選択し、選択された代表周波数についてのみMIDI形式の符号データに符号化するようにしたものである。
【0009】
(3) 本発明の第3の態様は、上述の第1または第2の態様に係る音響信号の符号化方法において、
スペクトル作成段階で、
α=L/2−ΔL/2
β=L/2+ΔL/2
なるα,βを定め、区間[α,β]で表される中央近傍区間(単位区間の中央位置に定義された幅ΔLの区間)を定義し、第k番目(1≦k≦L)のサンプルの値に対して、
k=1〜αのとき
H(k)=0.5−0.5*cos(πk/2α)
k=α〜βのとき
H(k)=0.5−0.5
*cos(π(k−α)/ΔL+π/2)
k=β〜Lのとき
H(k)=0.5−0.5
*cos(π(k−β)/2α+3π/2)
なる窓関数H(k)を重み関数として乗じるようにしたものである。
【0010】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る音響信号の符号化方法を実行する音響信号の符号化のためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【0014】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【0015】
§1. 本発明に係る音響信号の符号化方法の基本原理
はじめに、本発明に係る音響信号の符号化方法の基本原理を図1を参照しながら説明する。いま、図1(a) に示すように、時系列の強度信号としてアナログ音響信号が与えられたものとしよう。図示の例では、横軸に時間t、縦軸に振幅(強度)をとってこの音響信号を示している。ここでは、まずこのアナログ音響信号を、デジタルの音響データとして取り込む処理を行う。これは、従来の一般的なPCMの手法を用い、所定のサンプリング周期でこのアナログ音響信号をサンプリングし、振幅を所定の量子化ビット数を用いてデジタルデータに変換する処理を行えばよい。ここでは、説明の便宜上、PCMの手法でデジタル化した音響データの波形も、図1(a) のアナログ音響信号と同一の波形で示すことにする。
【0016】
続いて、この符号化対象となる音響信号の時間軸上に、複数の単位区間を設定する。図1(a) に示す例では、時間軸t上に等間隔に6つの時刻t1〜t6が定義され、これら各時刻を始点および終点とする5つの単位区間d1〜d5が設定されている(より実用的な区間設定方法については後述する)。
【0017】
こうして単位区間が設定されたら、各単位区間ごとの音響信号に対してそれぞれフーリエ変換を行い、スペクトルを作成する。このとき、ハニング窓(Hanning Window )など周知の窓関数で切り出した音響信号にフィルタをかけてフーリエ変換を施すことが望ましい。一般にフーリエ変換は、切り出した区間前後に同様な信号が無限に存在することが想定されているため、矩形窓(窓なし)の場合、作成したスペクトルに高周波ノイズがのることが多い。このような場合、ハニング窓など区間の両端の重みが0になるような関数を用いるのが望ましい。ハニング窓関数H(k)は、単位区間長をLとすると、k=1…Lに対して、
H(k)=0.5−0.5*cos(2πk/L)
で与えられる関数である。
【0018】
図1(b) には、単位区間d1について作成されたスペクトルの一例が示されている。このスペクトルでは、横軸上に定義された周波数fによって、単位区間d1内の音響信号に含まれる周波数成分(0〜Fs:ここでFsはサンプリング周波数)が示されており、縦軸上に定義された複素強度Aによって、各周波数成分ごとの複素強度が示されている。なお、このようなスペクトルを得る手法としては、フーリエ変換の他にも種々の手法が知られており、どのような手法を利用してもかまわない。また、アナログ音響信号から直接的にスペクトルを作成する手法を用いれば、音響信号をPCMの手法でデジタル化する必要はない。
【0019】
次に、このスペクトルの周波数軸fに対応させて、離散的に複数Q個の符号コードを定義する。この例では、符号コードとしてMIDIデータで利用されるノートナンバーNを用いており、N=0〜127までの128個の符号コードを定義している。ノートナンバーNは、音符の音階を示すパラメータであり、たとえば、ノートナンバーN=69は、ピアノの鍵盤中央の「ラ音(A3音)」を示しており、440Hzの音に相当する。このように、128個のノートナンバーには、いずれも所定の周波数が対応づけられるので、スペクトルの周波数軸f上の所定位置に、それぞれ128個のノートナンバーNが離散的に定義されることになる。
【0020】
ここで、ノートナンバーNは、1オクターブ上がると、周波数が2倍になる対数尺度の音階を示すため、周波数軸fに対して線形には対応しない。そこで、周波数軸fを対数尺度で表し、この対数尺度軸上にノートナンバーNを定義した強度グラフを作成する。図1(c) は、このようにして作成された単位区間d1についての強度グラフを示す。この強度グラフの横軸は、図1(b) に示すスペクトログラムの横軸を対数尺度に変換したものであり、ノートナンバーN=0〜127が等間隔にプロットされている。一方、この強度グラフの縦軸は、図1(b) に示すスペクトルの複素強度Aを実効強度Eに変換したものであり、各ノートナンバーNの位置における強度を示している。一般に、フーリエ変換によって得られる複素強度Aは、実数部Rと虚数部Iとによって表されるが、実効強度Eは、E=(R2+I2)1/2なる演算によって求めることができる。
【0021】
こうして求められた単位区間d1の強度グラフは、単位区間d1の音響信号に含まれる振動成分について、ノートナンバーN=0〜127に相当する各振動成分の割合を実効強度として示すグラフということができる。そこで、この強度グラフに示されている各実効強度に基いて、全Q個(この例ではQ=128)のノートナンバーの中からP個のノートナンバーを選択し、このP個のノートナンバーNを、単位区間d1を代表する代表符号コードとして抽出する。ここでは、説明の便宜上、P=3として、全128個の候補の中から3個のノートナンバーを代表符号コードとして抽出する場合を示すことにする。たとえば、「候補の中から強度の大きい順にP個の符号コードを抽出する」という基準に基いて抽出を行えば、図1(c) に示す例では、第1番目の代表符号コードとしてノートナンバーNp(d1,1)が、第2番目の代表符号コードとしてノートナンバーNp(d1,2)が、第3番目の代表符号コードとしてノートナンバーNp(d1,3)が、それぞれ抽出されることになる。
【0022】
このようにして、P個の代表符号コードが抽出されたら、これらの代表符号コードとその実効強度によって、単位区間d1の音響信号を表現することができる。たとえば、上述の例の場合、図1(c) に示す強度グラフにおいて、ノートナンバーNp(d1,1)、Np(d1,2)、Np(d1,3)の実効強度がそれぞれEp(d1,1)、Ep(d1,2)、Ep(d1,3)であったとすれば、以下に示す3組のデータ対によって、単位区間d1の音響信号を表現することができる。
【0023】
Np(d1,1),Ep(d1,1)
Np(d1,2),Ep(d1,2)
Np(d1,3),Ep(d1,3)
以上、単位区間d1についての処理について説明したが、単位区間d2〜d5についても、それぞれ別個に同様の処理が行われ、代表符号コードおよびその強度を示すデータが得られることになる。たとえば、単位区間d2については、
Np(d2,1),Ep(d2,1)
Np(d2,2),Ep(d2,2)
Np(d2,3),Ep(d2,3)
なる3組のデータ対が得られる。このようにして各単位区間ごとに得られたデータによって、原音響信号を符号化することができる。
【0024】
図2は、上述の方法による符号化の概念図である。図2(a) には、図1(a) と同様に、原音響信号について5つの単位区間d1〜d5を設定した状態が示されており、図2(b) には、各単位区間ごとに得られた符号データが音符の形式で示されている。この例では、個々の単位区間ごとに3個の代表符号コードを抽出しており(P=3)、これら代表符号コードに関するデータを3つのトラックT1〜T3に分けて収容するようにしている。たとえば、単位区間d1について抽出された代表符号コードNp(d1,1),Np(d1,2),Np(d1,3)は、それぞれトラックT1,T2,T3に収容されている。もっとも、図2(b) は、本発明によって得られる符号データを音符の形式で示した概念図であり、実際には、各音符にはそれぞれ強度に関するデータが付加されている。たとえば、トラックT1には、ノートナンバーNp(d1,1),Np(d2,1),Np(d3,1)…なる音階を示すデータとともに、Ep(d1,1),Ep(d2,1),Ep(d3,1)…なる強度を示すデータが収容されることになる。
【0025】
本発明における符号化の形式としては、必ずしもMIDI形式を採用する必要はないが、この種の符号化形式としてはMIDI形式が最も普及しているため、実用上はMIDI形式の符号データを用いるのが最も好ましい。MIDI形式では、「ノートオン」データもしくは「ノートオフ」データが、「デルタタイム」データを介在させながら存在する。「ノートオン」データは、特定のノートナンバーNとベロシティーVとを指定して特定の音の演奏開始を指示するデータであり、「ノートオフ」データは、特定のノートナンバーNとベロシティーVとを指定して特定の音の演奏終了を指示するデータである。また、「デルタタイム」データは、所定の時間間隔を示すデータである。ベロシティーVは、たとえば、ピアノの鍵盤などを押し下げる速度(ノートオン時のベロシティー)および鍵盤から指を離す速度(ノートオフ時のベロシティー)を示すパラメータであり、特定の音の演奏開始操作もしくは演奏終了操作の強さを示すことになる。
【0026】
本実施形態では、上述したように、第i番目の単位区間diについて、代表符号コードとしてP個のノートナンバーNp(di,1),Np(di,2),…,Np(di,P)が得られ、このそれぞれについて実効強度Ep(di,1),Ep(di,2),…,Ep(di,P)が得られる。そこで本実施形態では、次のような手法により、MIDI形式の符号データを作成している。まず、「ノートオン」データもしくは「ノートオフ」データの中で記述するノートナンバーNとしては、得られたノートナンバーNp(di,1),Np(di,2),…,Np(di,P)をそのまま用いている。一方、「ノートオン」データもしくは「ノートオフ」データの中で記述するベロシティーVとしては、得られた実効強度Ep(di,1),Ep(di,2),…,Ep(di,P)を、値が0〜1の範囲となるように規格化し、この規格化後の実効強度Eの平方根に127を乗じた値を用いている。すなわち、実効強度Eについての最大値をEmax とした場合、
V=(E/Emax )1/2・127
なる演算で求まる値Vをベロシティーとして用いている。あるいは対数をとって、
V=log(E/Emax )・127+127
(ただし、V<0の場合はV=0とする)
なる演算で求まる値Vをベロシティーとして用いてもよい。また、「デルタタイム」データは、各単位区間の長さに応じて設定すればよい。
【0027】
結局、上述した実施形態では、3トラックからなるMIDI符号データが得られることになる。このMIDI符号データを3台のMIDI音源を用いて再生すれば、6チャンネルのステレオ再生音として音響信号が再生される。
【0028】
上述した手順による符号化処理は、実際にはコンピュータを用いて実行される。本発明による符号化処理を実現するためのプログラムは、磁気ディスクや光ディスクなどのコンピュータ読み取り可能な記録媒体に記録して供給することができ、また、本発明による符号化処理によって符号化された符号データは、同様に、磁気ディスクや光ディスクなどのコンピュータ読み取り可能な記録媒体に記録して供給することができる。
【0029】
§2. より実用的な区間設定方法
これまで、本発明に係る音響信号の符号化方法の基本原理を述べたが、以下、より実用的な符号化方法を述べる。ここでは、区間設定を行う上でのより実用的な手法を説明する。図2(a) に示された例では、時間軸t上に等間隔に定義された6つの時刻t1〜t6を境界として、5つの単位区間d1〜d5が設定されている。このような区間設定に基いて符号化を行った場合、再生時に、境界となる時刻において音の不連続が発生しやすい。したがって、実用上は、隣接する単位区間が時間軸上で部分的に重複するような区間設定を行うのが好ましい。
【0030】
図3(a) は、このように部分的に重複する区間設定を行った例である。図示されている単位区間d1〜d4は、いずれも部分的に重なっており、このような区間設定に基いて前述の処理を行うと、図3(b) の概念図に示されているような符号化が行われることになる。この例では、それぞれの単位区間の中心を基準位置として、各音符をそれぞれの基準位置に配置しているが、単位区間に対する相対的な基準位置は、必ずしも中心に設定する必要はない。図3(b) に示す概念図を図2(b) に示す概念図と比較すると、音符の密度が高まっていることがわかる。このように重複した区間設定を行うと、作成される符号データの数は増加することになるが、再生時に音の不連続が生じない自然な符号化が可能になる。
【0031】
図4は、時間軸上で部分的に重複する区間設定を行う具体的な手法を示す図である。この具体例では、音響信号を22kHzのサンプリング周波数でサンプリングすることによりデジタル音響データとして取り込み、個々の単位区間の区間長Lを1024サンプル分(約47msec)に設定し、各単位区間ごとのずれ量を示すオフセット長ΔLを20サンプル分(約0.9msec)に設定したものである。すなわち、任意のiに対して、第i番目の単位区間の始点と第(i+1)番目の単位区間の始点との時間軸上での隔たりがオフセット長ΔLに設定されることになる。たとえば、第1番目の単位区間d1は、1〜1024番目のサンプルを含んでおり、第2番目の単位区間d2は、20サンプル分ずれた21〜1044番目のサンプルを含んでいることになる。
【0032】
このように、時間軸上で部分的に重複する区間設定を行った場合、隣接する単位区間においてかなりのサンプルが共通して用いられることになり、各単位区間ごとに求めたスペクトルに有効な差が生じないことが予想される。たとえば、上述の例の場合、第1番目の単位区間d1と第2番目の単位区間d2とを比較すると、21〜1024番目のサンプルは両単位区間で全く共通して利用されており、両者の相違は、わずか20サンプル分に依存していることになる。ただ、幸いにして、フーリエ変換の処理では20サンプルに相当する位相の差が生じるため、両単位区間における複素強度Aに大幅な差が生じる。しかし、実効強度Eはあまり変化しないと予想される。このように、隣接する単位区間のスペクトルに十分な差が得られないと、変化の激しい音響信号に追従できず、結果的に時間分解能が低下するという問題が生じることになる。このような問題に対処するためには、わずか20サンプル分の相違により、フーリエ変換の入力側に大きな変化が生じるような対策を講じればよい。
【0033】
そこで、本願発明者は、§1で言及した窓関数に対して、変化する20サンプル分を強調するような細工を施すことを考案した。前述した周知のハニング窓は、むしろ隣接区間の変動を抑える方向に働くため、上述の問題に対処する観点からは逆効果である。そこで、区間両端の重みが減少するというハニング窓の特徴を継承しつつ、20サンプル分を強調するような関数を考案し、実際に適用してみた。具体的には、単位区間の区間長をL、オフセット長をΔLとして、
α=L/2−ΔL/2
β=L/2+ΔL/2
なるα,βを定め、区間[α,β]で表される中央近傍区間(単位区間の中央位置に定義された幅ΔLの区間)を定義し、
なる改良型窓関数H(k)を用いるようにすればよい。この改良型窓関数H(k)は、半値幅がちょうどΔLになるように狭幅に変形した分布関数であり、この関数を用いて実験を行ったところ、十分な効果が確認できた。
【0034】
なお、強度グラフの横軸に定義された128種類のノートナンバーのそれぞれについての実効強度Eを求めるには、たとえば、各ノートナンバーNに所定の周波数レンジを割り当て、割り当てられたレンジ内の各周波数の実効強度の平均値を、当該ノートナンバーNの実効強度とすればよい。図5は、このような手法で実効強度を求める概念を示すグラフである。まず、フーリエ変換によって得られたスペクトルの横軸を対数尺度に変換し、縦軸を実効強度に変換すれば、図5に示すようなグラフが得られる。横軸上に示された周波数値262,278,294,…は、それぞれノートナンバーN=60,61,62,…に対応する周波数である。ここで、たとえば、ノートナンバーN=61についての実効強度を求めるには、周波数値278の近傍の所定の周波数レンジ(図にハッチングを施した領域)を、ノートナンバーN=61に割り当て、このレンジ内の各周波数の実効強度の最大値を、ノートナンバーN=61についての実効強度とすればよい。
【0035】
§3. ヴォーカル音響に適した符号化
以上、§1および§2において、本発明に係る音響信号の符号化方法の基本的な手法を述べた。しかしながら、これまで述べてきた手法、特に、図1(c) に示す段階において、P個の代表符号コードを抽出する手法は、原音響信号がヴォーカル(人間の話声や歌声)音響信号である場合には、必ずしも効果的な符号化を行うことができない。その理由を、図6に示す鳥の声のスペクトルと図7に示すヴォーカルのスペクトルとを比較しながら説明する。
【0036】
声帯を持たない鳥では、その鳴き声のスペクトル特性は、一般にシングル・フォルマント特性と呼ばれており、図6のスペクトルSに示すように、ピーク周波数fpの位置に典型的な山が形成される特徴をもつ。これに対し、声帯を有する人間の声のスペクトルは、図7のスペクトルSに示すような特徴をもつ。このヴォーカルのスペクトルSには、大きく2つの特徴が現れている。第1の特徴は、図7に示すように、スペクトルSについての包絡線Envを描くと、一般にマルチ・フォルマント特性と呼ばれている複数の大きな山が形成される点である。図示の例では、5つの山が形成されており、ここでは、それぞれの山をフォルマントF1〜F5と呼ぶことにする。第2の特徴は、図7における包絡線EnvとスペクトルSとを比較すればわかるように、本来のマルチ・フォルマント特性のスペクトルに、声帯の基本周波数の倍音成分が周期的に重畳することによりスペクトルに微細構造が生じているという点である。図7に示すスペクトルSは、包絡線Envに対していわゆるギザギザの成分を重畳させた形態をなしているが、これは声帯から発っせられる有声音に基く基本周波数の倍音成分であり、図7の横軸がリニアスケールである場合、これらは等間隔に配置される。
【0037】
さて、図6に示すようなシングル・フォルマント特性をもった鳥の声を符号化する場合、ピーク周波数fpを代表周波数として選択すれば何ら問題はない。ところが、図7に示すようなマルチ・フォルマント特性をもったヴォーカル音は、図示のとおりのフォルマントF1〜F5に特徴があるため、代表周波数としては、各フォルマントF1〜F5のそれぞれのピーク周波数fp1〜fp5を抽出する必要がある。
【0038】
しかしながら、スペクトルSの各ピーク位置を求め、このピーク位置の周波数を、その強度の大きい順に代表周波数として抽出する、という図1(c) で説明した手法を採った場合、各フォルマントのピーク周波数を抽出することはできない。たとえば、図8には、スペクトルSの各ピーク位置を求め、このピーク位置の周波数を、その強度の大きい順に5番目までを代表周波数として抽出した例が示されている。図示のとおり、抽出された周波数fp1〜fp5は、フォルマントF1に集中する結果となっており、フォルマントF2,F4,F5からは代表周波数が1つも抽出されていない。
【0039】
そこで本発明では、ヴォーカル音響信号を原音響信号とする場合には、単位区間について求めたスペクトルSから複数のフォルマントを認識し、各フォルマントを代表する代表周波数とこれに対応する強度とによって、当該単位区間の音響信号を表現するようにしている。各フォルマントを代表する代表周波数を求めるには、原理的には、図7に示すように、スペクトルSの包絡線Envを求め、この包絡線Envのピーク位置に相当する周波数fp1〜fp5を、各フォルマントを代表する代表周波数として抽出すればよい。
【0040】
ここでは、更に実用的な各フォルマントごとの代表周波数を抽出する方法を述べておく。まず、スペクトル強度に関して所定のしきい値Lを設定する。このしきい値Lは、フォルマントを認識することができるような値であればどのような値に設定してもよいが、実用上は、スペクトル強度の最大値の1/3〜1/4程度に設定するのが好ましい。図9は、スペクトルSに対して、所定のしきい値Lを設定した状態を示す図である。続いて、図10に示すように、このしきい値L未満のスペクトル部分を削除すると、もとのスペクトルSは、5つのグループG1〜G5に分断されることになる。ここでは、グループG1〜G5に所属する各スペクトルを、分断スペクトルS1〜S5と呼ぶことにする。この分断スペクトルS1〜S5は、それぞれフォルマントF1〜F5に対応したスペクトルである。そこで、各分断スペクトルS1〜S5について、それぞれ最大強度を示す周波数fp1〜fp5を求めれば、これらの周波数fp1〜fp5は、各フォルマントF1〜F5についての代表周波数となる。図11は、このようにして得られた代表周波数fp1〜fp5を示す図である。
【0041】
結局、上述した手法は、所定のしきい値Lを設定し、スペクトルSのうち強度がこのしきい値L以上となる一連の連続部分を1つのフォルマントとして認識し、各フォルマントにおける最大強度を示す周波数を当該フォルマントを代表する代表周波数として抽出する手法ということができる。なお、符号データとしてMIDIデータを用いるのであれば、こうして得られた代表周波数fp1〜fp5のそれぞれに対応した符号コードとして、MIDIデータで利用されるノートナンバーを対応させ、個々の単位区間の音響信号を、それぞれ対応するノートナンバーと、各代表周波数fp1〜fp5における強度に基いて決定されたベロシティーと、当該単位区間の長さに基いて決定されたデルタタイムと、を示すデータからなるMIDI形式の符号データによって表現するようにすればよい。
【0042】
なお、上述の例では、すべてのフォルマントについてそれぞれ1つずつ代表周波数を求め、これら各代表周波数に応じた符号を生成するようにしているが、たとえば、1つの単位区間をP個の代表周波数によって表現する、というような条件を付加した場合には、全フォルマントの代表周波数のうちから、強度の大きい順にP個の代表周波数を選択して用いるようにすればよい。
【0043】
【発明の効果】
以上のとおり本発明に係る符号化方法によれば、人の声音や歌声を含む音響信号に対して効率的な符号化を行うことができるようになる。
【図面の簡単な説明】
【図1】本発明に係る音響信号の符号化方法の基本原理を示す図である。
【図2】図1(c) に示す強度グラフに基いて作成された符号コードを示す図である。
【図3】時間軸上に部分的に重複するように単位区間設定を行うことにより作成された符号コードを示す図である。
【図4】時間軸上に部分的に重複するような単位区間設定の具体例を示す図である。
【図5】周波数軸とノートナンバーとの対応関係を示すグラフである。
【図6】シングル・フォルマント特性をもった鳥の声のスペクトルを示す図である。
【図7】マルチ・フォルマント特性をもったヴォーカルのスペクトルを示す図である。
【図8】図7に示すスペクトルから、ピークの大きい順に代表周波数を抽出した例を示す図である。
【図9】図7に示すスペクトルに対して、しきい値Lを設定した状態を示す図である。
【図10】図9に示す状態から、しきい値L未満のスペクトルを削除した状態を示す図である。
【図11】図10に示す状態において、各分断スペクトルのそれぞれの最大ピークを代表周波数として抽出した例を示す図である。
【符号の説明】
A…複素強度
d1〜d5…単位区間
E…実効強度
Env…スペクトルSの包絡線
Fs…サンプリング周波数
F1〜F5…フォルマント
f…周波数
fp,fp1〜fp5…ピーク周波数
G1〜G5…スペクトルのグループ
L…単位区間の区間長
ΔL…オフセット長
N…ノートナンバー
Np(dj,i)…単位区間djについて抽出された第i番目の代表符号コード(ノートナンバー)
Ep(dj,i)…代表符号コードNp(dj,i)の実効強度
S…スペクトル
S1〜S5…分断スペクトル
T1〜T3…トラック
t1〜t6…時刻
Claims (4)
- 時系列の強度信号として与えられる音響信号を符号化するための符号化方法であって、
符号化対象となる音響信号を所定のサンプリング周期でサンプリングしてデジタル音響データとして取り込むデータ取込段階と、
前記デジタル音響データの各サンプルが配置された時間軸上に、それぞれL個分のサンプルを含む区間長をもった複数の単位区間を、ΔL個分(ΔL<L)のサンプルだけずらして設定し、隣接する単位区間が時間軸上で(L−ΔL)個分のサンプルだけ重複するようにする区間設定段階と、
前記単位区間の中心位置から両端位置に向かって減少し、かつ、ΔL個分のサンプルに対応する半値幅をもつ重み関数を定義し、個々の単位区間ごとに、当該単位区間内のサンプルの値に前記重み関数を乗じる処理を行った後にフーリエ変換を行い、音響信号に含まれる周波数成分を第1の軸に、各周波数成分ごとの強度を第2の軸にとったスペクトルを作成するスペクトル作成段階と、
所定のしきい値を設定し、前記スペクトルのうち強度が前記しきい値以上となる一連の連続部分を1つのフォルマントとして認識し、各フォルマントにおける最大強度を示す周波数を当該フォルマントを代表する代表周波数として抽出する代表周波数抽出段階と、
抽出した代表周波数に対応した符号コードとして、MIDI規格に基づくMIDIデータで利用されるノートナンバーを用い、個々の単位区間の音響信号を、符号コードとして定義されたノートナンバーと、このノートナンバーに対応する周波数成分の強度に基いて決定されたベロシティーと、当該単位区間の長さに基いて決定されたデルタタイムと、を示すデータからなるMIDI形式の符号データによって表現する符号化段階と、
を有することを特徴とする音響信号の符号化方法。 - 請求項1に記載の符号化方法において、
符号化段階で、1つの単位区間をP個の代表周波数によって表現するという条件を設定し、個々の単位区間の音響信号を符号化する際に強度の大きい順にP個の代表周波数を選択し、選択された代表周波数についてのみMIDI形式の符号データに符号化することを特徴とする音響信号の符号化方法。 - 請求項1または2に記載の符号化方法において、
スペクトル作成段階で、
α=L/2−ΔL/2
β=L/2+ΔL/2
なるα,βを定め、区間[α,β]で表される中央近傍区間(単位区間の中央位置に定義された幅ΔLの区間)を定義し、第k番目(1≦k≦L)のサンプルの値に対して、
k=1〜αのとき
H(k)=0.5−0.5*cos(πk/2α)
k=α〜βのとき
H(k)=0.5−0.5
*cos(π(k−α)/ΔL+π/2)
k=β〜Lのとき
H(k)=0.5−0.5
*cos(π(k−β)/2α+3π/2)
なる窓関数H(k)を重み関数として乗じることを特徴とする音響信号の符号化方法。 - 請求項1〜3のいずれかに記載の符号化方法を実行する音響信号の符号化のためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28345498A JP4331289B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28345498A JP4331289B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000099093A JP2000099093A (ja) | 2000-04-07 |
JP4331289B2 true JP4331289B2 (ja) | 2009-09-16 |
Family
ID=17665765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28345498A Expired - Fee Related JP4331289B2 (ja) | 1998-09-18 | 1998-09-18 | 音響信号の符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4331289B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4662406B2 (ja) * | 2001-07-05 | 2011-03-30 | 大日本印刷株式会社 | 周波数解析方法および音響信号の符号化方法 |
JP4662407B2 (ja) * | 2001-08-10 | 2011-03-30 | 大日本印刷株式会社 | 周波数解析方法 |
JP3801029B2 (ja) * | 2001-11-28 | 2006-07-26 | ヤマハ株式会社 | 演奏情報生成方法、演奏情報生成装置およびプログラム |
JP5233737B2 (ja) * | 2009-02-24 | 2013-07-10 | 大日本印刷株式会社 | 音素符号補正装置、音素符号データベース、および音声合成装置 |
CN111091800B (zh) * | 2019-12-25 | 2022-09-16 | 北京百度网讯科技有限公司 | 歌曲生成方法和装置 |
-
1998
- 1998-09-18 JP JP28345498A patent/JP4331289B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000099093A (ja) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1688912B1 (en) | Voice synthesizer of multi sounds | |
JP3795201B2 (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JP4331289B2 (ja) | 音響信号の符号化方法 | |
JP4132362B2 (ja) | 音響信号の符号化方法およびプログラム記録媒体 | |
JP4037542B2 (ja) | 音響信号の符号化方法 | |
Modegi et al. | Proposals of MIDI coding and its application for audio authoring | |
JP3447221B2 (ja) | 音声変換装置、音声変換方法、および音声変換プログラムを記録した記録媒体 | |
JP3958841B2 (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JP2001005450A (ja) | 音響信号の符号化方法 | |
JPH1173200A (ja) | 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体 | |
JP4152502B2 (ja) | 音響信号の符号化装置および符号データの編集装置 | |
JP4268322B2 (ja) | 再生用符号化データ作成方法 | |
JP2003216147A (ja) | 音響信号の符号化方法 | |
JP4268328B2 (ja) | 音響信号の符号化方法 | |
Modegi | Multi-track MIDI encoding algorithm based on GHA for synthesizing vocal sounds | |
JP3776782B2 (ja) | 音響信号の符号化方法 | |
JP4156252B2 (ja) | 音響信号の符号化方法 | |
JP4695781B2 (ja) | 音響信号の符号化方法 | |
JP4473979B2 (ja) | 音響信号の符号化方法および復号化方法ならびに当該方法を実行するプログラムを記録した記録媒体 | |
JP2002215142A (ja) | 音響信号の符号化方法 | |
JP2002244691A (ja) | 音響信号の符号化方法 | |
JP3935745B2 (ja) | 音響信号の符号化方法 | |
JP2002123296A (ja) | 音響信号の符号化方法および分離方法 | |
JP4662406B2 (ja) | 周波数解析方法および音響信号の符号化方法 | |
JP4156268B2 (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: 20080623 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090324 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090518 |
|
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: 20090616 |
|
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: 20090618 |
|
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: 20120626 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120626 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130626 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140626 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |