JPH0833743B2 - 波形合成方式 - Google Patents
波形合成方式Info
- Publication number
- JPH0833743B2 JPH0833743B2 JP61265862A JP26586286A JPH0833743B2 JP H0833743 B2 JPH0833743 B2 JP H0833743B2 JP 61265862 A JP61265862 A JP 61265862A JP 26586286 A JP26586286 A JP 26586286A JP H0833743 B2 JPH0833743 B2 JP H0833743B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- value
- register
- data
- quantization width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はADPCM方式を用いての波形合成に関し、特に
1つの代表波形素片を合成し、この代表波形素片をくり
返し使用することにより波形を合成する波形素片合成方
式に関する。
1つの代表波形素片を合成し、この代表波形素片をくり
返し使用することにより波形を合成する波形素片合成方
式に関する。
従来、音声合成方式としてPCM方式、ADPCM方式等が知
られており、特にADPCM方式はPCM方式に比べて1/2以下
のデータ量で波形を合成できるためデータ量の圧縮とい
う面では非常に有効な方式である。ADPCM方式というの
は音声の隣接したサンプリング間の相関の強さを利用し
たデータ圧縮方式である。ADPCM方式は連続したサンプ
リングポイントでの振幅値の差を符号化量子化しようと
する方式で、その量子化幅を適応的に変化させてノイズ
を軽減させる。量子化に使用する量子化幅は、現在の量
子化幅とADPCM符号とにより次の量子化幅を予測して使
用する。この予測計算の一例を示すとΔnt1=Δn×M
(Ln)となり、Lnはn番目のADPCM符号データ、Δnは
n番目のサンプリングポイントに対する量子化幅の大き
さを表わしM(Ln)は予測係数で現在の量子化幅に予
測係数を乗じた値を次のサンプリングポイントの量子化
幅として使用する。音声レベルが小さい時は予測係数は
1より小さくなり量子化幅は小さくなる。逆に音声レベ
ルが大きくなると予測係数は1より大きくなり量子化幅
は大きくなる。但し量子化幅が大きくなりすぎると逆に
ノイズが多くなる為量子化幅の上限の値を決めておく必
要がある。また量子化幅の値が0になってしまうと次に
いかなる予測係数をかけても0のままとなってしまうた
め量子化幅の下限も必要である。このような予測係数と
の乗算を含む処理をROMに量子化幅のデータをテーブル
化して入れておき予測演算をROMを使用して行なう方式
がLSI化するのに最適である。
られており、特にADPCM方式はPCM方式に比べて1/2以下
のデータ量で波形を合成できるためデータ量の圧縮とい
う面では非常に有効な方式である。ADPCM方式というの
は音声の隣接したサンプリング間の相関の強さを利用し
たデータ圧縮方式である。ADPCM方式は連続したサンプ
リングポイントでの振幅値の差を符号化量子化しようと
する方式で、その量子化幅を適応的に変化させてノイズ
を軽減させる。量子化に使用する量子化幅は、現在の量
子化幅とADPCM符号とにより次の量子化幅を予測して使
用する。この予測計算の一例を示すとΔnt1=Δn×M
(Ln)となり、Lnはn番目のADPCM符号データ、Δnは
n番目のサンプリングポイントに対する量子化幅の大き
さを表わしM(Ln)は予測係数で現在の量子化幅に予
測係数を乗じた値を次のサンプリングポイントの量子化
幅として使用する。音声レベルが小さい時は予測係数は
1より小さくなり量子化幅は小さくなる。逆に音声レベ
ルが大きくなると予測係数は1より大きくなり量子化幅
は大きくなる。但し量子化幅が大きくなりすぎると逆に
ノイズが多くなる為量子化幅の上限の値を決めておく必
要がある。また量子化幅の値が0になってしまうと次に
いかなる予測係数をかけても0のままとなってしまうた
め量子化幅の下限も必要である。このような予測係数と
の乗算を含む処理をROMに量子化幅のデータをテーブル
化して入れておき予測演算をROMを使用して行なう方式
がLSI化するのに最適である。
量子化テーブルはADPCM符号と量子化幅ポインタでROM
のアドレスを指定し差分値データのテーブルを作成して
いる。量子化幅ポインタに応じてROMを入れる差分値を
一定の比率で増大するような値にしておけば量子化幅ポ
インタの値を増加させることは量子化幅に1より大きい
予測係数をかけることを意味し、予測係数の乗算を量子
化幅ポインタに対する加減算に置きかえることができ
る。
のアドレスを指定し差分値データのテーブルを作成して
いる。量子化幅ポインタに応じてROMを入れる差分値を
一定の比率で増大するような値にしておけば量子化幅ポ
インタの値を増加させることは量子化幅に1より大きい
予測係数をかけることを意味し、予測係数の乗算を量子
化幅ポインタに対する加減算に置きかえることができ
る。
一般に音声波形は子音部の音声ノイズと母音部のトー
ン波形とその間のつなぎの部分に分けられ、特に母音部
のトーン波形はほとんど同じ周期で同じ形の波形が連続
的に少しずつ形を変化させて1波形の最大振幅であるエ
ンベロープを変化させながら並んでいるのが普通であ
る。また楽器音・警報音・効果音なででは一定の周期で
同じ波形がエンベロープを変化させて連続して並んでい
る。波形素片合成方式では連続する数波形がほとんど同
じ波形になっていれば代表波形として1波形選びそれを
くり返して使用することにより音声合成のデータ量を圧
縮している。ADPCM方式でこのような波形の繰返しを使
って音声合成のデータ量を圧縮しようとする場合、ADPC
M方式は音声をナイキスト周波数でサンプリングし隣接
したサンプリングポイント間での音声波形の振幅値の差
分値を適当な量子化幅で符号化するもので、しかも量子
化幅は各サンプリングポイントの差分値の大きさに応じ
て適応的に変化させる方式である。従ってADPCM方式で
代表波形素片を合成する場合量子化幅は1波形内で一定
ではなく、また各サンプリングポイントでの量子化幅は
それぞれ直前のADPCMデータに依存することになる。ま
たADPCM方式においてはサンプリング周波数は通常音質
とビットレースの関係により5kHz〜8kHzが使用されてい
る。
ン波形とその間のつなぎの部分に分けられ、特に母音部
のトーン波形はほとんど同じ周期で同じ形の波形が連続
的に少しずつ形を変化させて1波形の最大振幅であるエ
ンベロープを変化させながら並んでいるのが普通であ
る。また楽器音・警報音・効果音なででは一定の周期で
同じ波形がエンベロープを変化させて連続して並んでい
る。波形素片合成方式では連続する数波形がほとんど同
じ波形になっていれば代表波形として1波形選びそれを
くり返して使用することにより音声合成のデータ量を圧
縮している。ADPCM方式でこのような波形の繰返しを使
って音声合成のデータ量を圧縮しようとする場合、ADPC
M方式は音声をナイキスト周波数でサンプリングし隣接
したサンプリングポイント間での音声波形の振幅値の差
分値を適当な量子化幅で符号化するもので、しかも量子
化幅は各サンプリングポイントの差分値の大きさに応じ
て適応的に変化させる方式である。従ってADPCM方式で
代表波形素片を合成する場合量子化幅は1波形内で一定
ではなく、また各サンプリングポイントでの量子化幅は
それぞれ直前のADPCMデータに依存することになる。ま
たADPCM方式においてはサンプリング周波数は通常音質
とビットレースの関係により5kHz〜8kHzが使用されてい
る。
以上説明したようなADPCM方式を用いて代表波形素片
を合成する場合実際の原波形のピッチ周期と合成した波
形のピッチ周期は完全に一致させることはできず、ピッ
チ周期の誤差の影響により合成波形の最後のサンプリン
グポイントの振幅は0にならない。また原音のピッチ周
期と合成波形のピッチ周期とが完全に一致した場合でも
最後のサンプリングポイントでの振幅値は直前のサンプ
リングポイントでの振幅値に量子化幅とADPCM符号によ
り決まる差分値を加えたものであるため直前のサンプリ
ングポイントでの量子化幅の値によっては1波形内の最
後のサンプリングポイントの振幅値を0にできない場合
が生じる。
を合成する場合実際の原波形のピッチ周期と合成した波
形のピッチ周期は完全に一致させることはできず、ピッ
チ周期の誤差の影響により合成波形の最後のサンプリン
グポイントの振幅は0にならない。また原音のピッチ周
期と合成波形のピッチ周期とが完全に一致した場合でも
最後のサンプリングポイントでの振幅値は直前のサンプ
リングポイントでの振幅値に量子化幅とADPCM符号によ
り決まる差分値を加えたものであるため直前のサンプリ
ングポイントでの量子化幅の値によっては1波形内の最
後のサンプリングポイントの振幅値を0にできない場合
が生じる。
従って、従来のADPCM方式をそのまま用いて代表波形
素片を合成する場合、代表波形素片の最後のサンプリン
グポイントでの振幅値を0にできない為、このような代
表波形素片を用いて複数回くり返しを行なうと合成波形
の振幅中心が変化してしまうことになる。これはADPCM
方式が基本的に各サンプリングポイントの振幅値に差分
値を加えて次のサンプリングポイントの振幅値を得ると
いう差分符号化方式であるため1波形の最終振幅値が0
でないとその誤差が累積されていき合成波形の振幅中心
が変化してしまうことになる。合成波形の振幅中心が変
化すると波形データを音声に変換するD/Aコンバータで
振幅中心が変化した分だけオーバーフローする可能性が
ありオーバーフローした場合正常な音声波形が合成でき
なくなるという重大な欠点が生じる。また差分符号化方
式である為同じADPCM符号データをくり返し使用した場
合、同一の振幅値のくり返しにしかならず1波形ごとに
エンベロープを付加することができないという致命的な
欠点がある。
素片を合成する場合、代表波形素片の最後のサンプリン
グポイントでの振幅値を0にできない為、このような代
表波形素片を用いて複数回くり返しを行なうと合成波形
の振幅中心が変化してしまうことになる。これはADPCM
方式が基本的に各サンプリングポイントの振幅値に差分
値を加えて次のサンプリングポイントの振幅値を得ると
いう差分符号化方式であるため1波形の最終振幅値が0
でないとその誤差が累積されていき合成波形の振幅中心
が変化してしまうことになる。合成波形の振幅中心が変
化すると波形データを音声に変換するD/Aコンバータで
振幅中心が変化した分だけオーバーフローする可能性が
ありオーバーフローした場合正常な音声波形が合成でき
なくなるという重大な欠点が生じる。また差分符号化方
式である為同じADPCM符号データをくり返し使用した場
合、同一の振幅値のくり返しにしかならず1波形ごとに
エンベロープを付加することができないという致命的な
欠点がある。
本発明の波形合成方式は、差分値を順次累積していく
ADPCM方式の波形合成方式において、量子化幅ポインタ
を記憶し読出す手段と、加算累積していく振幅値とエン
ベロープデータを乗算する手段とを有し、1波形分のAD
PCM符号データをくり返し使用し、くり返し波形の始め
に差分値を加算累積していく振幅値レジスタを0にリセ
ットし、あらかじめ記憶しておいた量子化幅ポインタの
値を読出し、加算累積した振幅値にあらかじめ指定した
波形数ごとに設定されるエンベロープデータを乗算して
波形を合成していく機能を有している。
ADPCM方式の波形合成方式において、量子化幅ポインタ
を記憶し読出す手段と、加算累積していく振幅値とエン
ベロープデータを乗算する手段とを有し、1波形分のAD
PCM符号データをくり返し使用し、くり返し波形の始め
に差分値を加算累積していく振幅値レジスタを0にリセ
ットし、あらかじめ記憶しておいた量子化幅ポインタの
値を読出し、加算累積した振幅値にあらかじめ指定した
波形数ごとに設定されるエンベロープデータを乗算して
波形を合成していく機能を有している。
次に、本発明について図面を参照して詳細に説明す
る。
る。
第1図は本発明の実施例1の回路構成図であり、ADPC
M符号データがLレジスタにラッチされLレジスタの内
容で差分値データテーブルROMのアドレスを指定する。
Lレジスタの内容をデコードした値と、現在の量子化幅
ポインタの値がはいっているAレジスタの値を加算して
次のサンプリングポイントの量子化幅ポインタの値をA
レジスタに入れAレジスタの内容で差分値データテーブ
ルROMのアドレスを指定する。量子化幅ポインタの値が
指定外の値にならないようリミッタを入れておく。量子
化幅ポインタの値がはいっているAレジスタの内容を
A′レジスタに転送し記憶させておき必要な時A′レジ
スタの内容をAレジスタに読み出せるようにしておく。
差分値データテーブルROMからは差分値データが出力さ
れ、サンプリングポイントごとに1つ前の波形振幅値が
はいっているXレジスタの内容と差分値データを加算し
次の波形振幅値をXレジスタに入れている。Xレジスタ
の内容と差分値データを加算し次の波形振幅値をXレジ
スタに入れている。Xレジスタの内容はリセット信号で
0にすることができるようになっている。1ビット内容
をシフトしたZレジスタの値と波形振幅値のはいってい
るXレジスタの内容をエンベロープデータのはいってい
るEレジスタの内容により加算していく。Zレジスタ内
容が最終的な出力波形の振幅データとなりD/Aコンバー
タによりアナログ信号に変換する。
M符号データがLレジスタにラッチされLレジスタの内
容で差分値データテーブルROMのアドレスを指定する。
Lレジスタの内容をデコードした値と、現在の量子化幅
ポインタの値がはいっているAレジスタの値を加算して
次のサンプリングポイントの量子化幅ポインタの値をA
レジスタに入れAレジスタの内容で差分値データテーブ
ルROMのアドレスを指定する。量子化幅ポインタの値が
指定外の値にならないようリミッタを入れておく。量子
化幅ポインタの値がはいっているAレジスタの内容を
A′レジスタに転送し記憶させておき必要な時A′レジ
スタの内容をAレジスタに読み出せるようにしておく。
差分値データテーブルROMからは差分値データが出力さ
れ、サンプリングポイントごとに1つ前の波形振幅値が
はいっているXレジスタの内容と差分値データを加算し
次の波形振幅値をXレジスタに入れている。Xレジスタ
の内容と差分値データを加算し次の波形振幅値をXレジ
スタに入れている。Xレジスタの内容はリセット信号で
0にすることができるようになっている。1ビット内容
をシフトしたZレジスタの値と波形振幅値のはいってい
るXレジスタの内容をエンベロープデータのはいってい
るEレジスタの内容により加算していく。Zレジスタ内
容が最終的な出力波形の振幅データとなりD/Aコンバー
タによりアナログ信号に変換する。
波形合成時のフローチャートが第3図に示されてい
る。
る。
第4図,第5図は1波形を振幅7ビットで16分割にサ
ンプリングした波形を示す。原音の類似波形くり返しの
中から1波形選んで最大振幅が40Hになるよう振幅を正
規化した後量子化幅ポインタの値を最適に値に設定して
ADPCM符号データを作成する。第6図に示すように全体
の波形のエンベロープデータを4ビットでエンベロープ
分割区間ごとにコード化していくが楽器音等の場合ピッ
チ周波数はほとんど変化しないので波形数を指定して区
切っていけば時間的に一様に区切られる。区間ごとの波
形数を別々に設定すれば時間的に任意の幅で区切ること
も可能である。1波形分のADPCM符号データとエンベロ
ープデータの作成については最終的に合成した波形の振
幅が原音波形と同じになるように適当な組み合わせを選
ぶことができる。
ンプリングした波形を示す。原音の類似波形くり返しの
中から1波形選んで最大振幅が40Hになるよう振幅を正
規化した後量子化幅ポインタの値を最適に値に設定して
ADPCM符号データを作成する。第6図に示すように全体
の波形のエンベロープデータを4ビットでエンベロープ
分割区間ごとにコード化していくが楽器音等の場合ピッ
チ周波数はほとんど変化しないので波形数を指定して区
切っていけば時間的に一様に区切られる。区間ごとの波
形数を別々に設定すれば時間的に任意の幅で区切ること
も可能である。1波形分のADPCM符号データとエンベロ
ープデータの作成については最終的に合成した波形の振
幅が原音波形と同じになるように適当な組み合わせを選
ぶことができる。
波形合成が開始されるとまず最初の初期値設定でエン
ベロープくり返し波形数・波形くり返し数・量子化幅ポ
インタの値を入れる4ビットのA′レジスタ・エンベロ
ープデータを入れる4ビットのEレジスタの初期値をそ
れぞれ合成する波形に合わせて設定する。
ベロープくり返し波形数・波形くり返し数・量子化幅ポ
インタの値を入れる4ビットのA′レジスタ・エンベロ
ープデータを入れる4ビットのEレジスタの初期値をそ
れぞれ合成する波形に合わせて設定する。
くり返し波形の合成の始めに振幅値レジスタXを0に
し、量子化幅ポインタの値がはいっているA′レジスタ
の内容をAレジスタに移す。次にサンプリングポイント
ごとにADPCM符号データをLレジスタにラッチし、Lレ
ジスタと量子化幅ポインタのAレジスタで差分値データ
テーブルROMのアドレスを指定し差分値データテーブルR
OMの出力とXレジスタを加算し結果をXレジスタに格納
する。エンベロープデータのはいっているEレジスタの
最下位ビットが0の場合Zレジスタを0にし、1の場合
7ビットのZレジスタにXレジスタの値を転送する。次
にEレジスタの下位から2ビット日が0の場合Zレジス
タを1ビット値が小さくなる方にシフトし、1の場合Z
レジスタを1ビット値が小さくなるようにシフトした値
とXレジスタの値を加算しZレジスタに格納する。この
動作をEレジスタの下位から3ビット目と最上位ビット
について同様にくり返せば最終的にZレジスタにXレジ
スタとEレジスタの内容を乗算した値が得られる。例え
ばXレジスタ値が40H、Eレジスタの値がFHの場合Zレ
ジスタの値は78Hとなる。XレジスタまたはEレジスタ
の値が0の場合Zレジスタの値は0である。このZレジ
スタの7ビットの値を振幅データとしてD/Aコンバータ
でアナログ波形を出力する。1サンプリングポイントに
ついて上記の演算処理をした後ADPCM符号データをラッ
チしているLレジスタの内容をデコードした値によりA
レジスタの量子化幅ポインタの値を−1から+3まで加
算または減算した結果を0からFHの範囲内でリミットし
Aレジスタに新しい量子化幅ポインタとして次のサンプ
リングポイントの演算処理の時に使用する為に格納して
おく。
し、量子化幅ポインタの値がはいっているA′レジスタ
の内容をAレジスタに移す。次にサンプリングポイント
ごとにADPCM符号データをLレジスタにラッチし、Lレ
ジスタと量子化幅ポインタのAレジスタで差分値データ
テーブルROMのアドレスを指定し差分値データテーブルR
OMの出力とXレジスタを加算し結果をXレジスタに格納
する。エンベロープデータのはいっているEレジスタの
最下位ビットが0の場合Zレジスタを0にし、1の場合
7ビットのZレジスタにXレジスタの値を転送する。次
にEレジスタの下位から2ビット日が0の場合Zレジス
タを1ビット値が小さくなる方にシフトし、1の場合Z
レジスタを1ビット値が小さくなるようにシフトした値
とXレジスタの値を加算しZレジスタに格納する。この
動作をEレジスタの下位から3ビット目と最上位ビット
について同様にくり返せば最終的にZレジスタにXレジ
スタとEレジスタの内容を乗算した値が得られる。例え
ばXレジスタ値が40H、Eレジスタの値がFHの場合Zレ
ジスタの値は78Hとなる。XレジスタまたはEレジスタ
の値が0の場合Zレジスタの値は0である。このZレジ
スタの7ビットの値を振幅データとしてD/Aコンバータ
でアナログ波形を出力する。1サンプリングポイントに
ついて上記の演算処理をした後ADPCM符号データをラッ
チしているLレジスタの内容をデコードした値によりA
レジスタの量子化幅ポインタの値を−1から+3まで加
算または減算した結果を0からFHの範囲内でリミットし
Aレジスタに新しい量子化幅ポインタとして次のサンプ
リングポイントの演算処理の時に使用する為に格納して
おく。
このようにADPCM符号データと量子化幅ポンイタの値
から差分値を読み出し累積加算した値にエンベロープデ
ータを乗算しD/Aコンバータでアナログ波形を出力し、A
DPCM符号符号データをデコードして量子化幅ポインタの
値の移動を1波形分の16サンプリングポンイトについて
くり返し行なう。1波形分の16サンプリングポイントの
データを出力した後波形数をカウントしていきエンベロ
ープくり返し波形数との一致を検出して一致しなければ
エンベロープデータは更新せず、一致すれば次のエンベ
ロープデータをEレジスタに格納する。エンベロープく
り返し波形数との一致を検出した後波形くり返し数との
一致を検出して、一致しなければ振幅値レジスタXの値
を0にしA′レジスタの内容をAレジスタに読出し、も
う一度1波形分の波形データを出力し、一致すれば次の
波形の初期値を設定して次の波形出力を行なう。
から差分値を読み出し累積加算した値にエンベロープデ
ータを乗算しD/Aコンバータでアナログ波形を出力し、A
DPCM符号符号データをデコードして量子化幅ポインタの
値の移動を1波形分の16サンプリングポンイトについて
くり返し行なう。1波形分の16サンプリングポイントの
データを出力した後波形数をカウントしていきエンベロ
ープくり返し波形数との一致を検出して一致しなければ
エンベロープデータは更新せず、一致すれば次のエンベ
ロープデータをEレジスタに格納する。エンベロープく
り返し波形数との一致を検出した後波形くり返し数との
一致を検出して、一致しなければ振幅値レジスタXの値
を0にしA′レジスタの内容をAレジスタに読出し、も
う一度1波形分の波形データを出力し、一致すれば次の
波形の初期値を設定して次の波形出力を行なう。
このような演算処理を行なっていくと、第7図に示す
ように同一波形をくり返してエンベロープのついた波形
を合成することができる。第7図でではエンベロープく
り返し波形数は3、波形1のくり返し数は8、エンベロ
ープデータは2・4・6・8・7と変化させた時の合成
波形を示している。
ように同一波形をくり返してエンベロープのついた波形
を合成することができる。第7図でではエンベロープく
り返し波形数は3、波形1のくり返し数は8、エンベロ
ープデータは2・4・6・8・7と変化させた時の合成
波形を示している。
〔実施例2〕 第2図は本発明の第2実施例の回路図である。レジス
タのADPCM符号データとAレジスタの量子化幅ポインタ
で差分値データテーブルROMのアドレスを指定し、差分
値データテーブルROMの差分値出力をXレジスタに累積
加算していく所まで実施例1と同じ構成でEレジスタの
エンベロープデータとXレジスタの振幅値データとを直
接乗算を行なってZレジスタに格納している。各レジス
タのビット数が合えばどのような乗算回路でも使用で
き、回路構成で見ると信号の流れが簡単になり、加算と
レジスタのシフトをくり返し行なうよりも高速に結果が
得られる。第3図に示す波形合成のフローに従って、第
7図に示すエンベロープのついたくり返し波形を実施例
1と同じように出力させることができる。
タのADPCM符号データとAレジスタの量子化幅ポインタ
で差分値データテーブルROMのアドレスを指定し、差分
値データテーブルROMの差分値出力をXレジスタに累積
加算していく所まで実施例1と同じ構成でEレジスタの
エンベロープデータとXレジスタの振幅値データとを直
接乗算を行なってZレジスタに格納している。各レジス
タのビット数が合えばどのような乗算回路でも使用で
き、回路構成で見ると信号の流れが簡単になり、加算と
レジスタのシフトをくり返し行なうよりも高速に結果が
得られる。第3図に示す波形合成のフローに従って、第
7図に示すエンベロープのついたくり返し波形を実施例
1と同じように出力させることができる。
以上説明したように本発明はくり返し波形の最初のサ
ンプリングポイントの差分値として振幅0を基準にし、
2回目以降のくり返し波形の最初のサンプリングポイン
トの量子化幅ポインタの値は1回目の値を使用してくり
返し波形の初期値を同じにしてADPCM方式で代表波形素
片のADPCM符号データをそのまま使用し、同一波形をく
り返し合成することができ、しかも差分値を累積加算し
た値とエンベロープデータとを乗算した結果をD/Aコン
バータで出力することにより、エンベロープの変化する
くり返し波形を合成することが可能である。
ンプリングポイントの差分値として振幅0を基準にし、
2回目以降のくり返し波形の最初のサンプリングポイン
トの量子化幅ポインタの値は1回目の値を使用してくり
返し波形の初期値を同じにしてADPCM方式で代表波形素
片のADPCM符号データをそのまま使用し、同一波形をく
り返し合成することができ、しかも差分値を累積加算し
た値とエンベロープデータとを乗算した結果をD/Aコン
バータで出力することにより、エンベロープの変化する
くり返し波形を合成することが可能である。
一般にADPCM方式は高品質で音声合成を行なうことが
できるが、同一波形のくり返しが多く全体の時間が長い
楽器音・警報音・効果音等の波形をADPCM方式で合成し
ようとする場合、合成時間に比例したADPCM符号データ
量が必要で、エンベロープの変化する波形だと量子化幅
ポインタの移動によりとびとびの差分値が選ばれるので
同一波形のくり返しでも選ばれる差分値の値によって1
波形ごとの形が変化して音色が違ってくることもあり、
ADPCM方式では音声以外の楽器音・警報音・効果音等の
波形は合成しにくかった。しかし本発明の構成を用いれ
ば従来のADPCM方式で高品質の音声合成を行なうことが
でき、しかも同一波形が10波形以上のくり返しが多く全
体の時間が長い楽器音・警報音・効果音等の波形合成も
1/10以下の非常に少ないデータ量で行なうことができ、
合成データ量の圧縮に非常に有効である。なお本実施例
で説明した各レジスタのビット数等は合成波形の精度に
関係しており任意の値に設定してよいことは明らかであ
る。
できるが、同一波形のくり返しが多く全体の時間が長い
楽器音・警報音・効果音等の波形をADPCM方式で合成し
ようとする場合、合成時間に比例したADPCM符号データ
量が必要で、エンベロープの変化する波形だと量子化幅
ポインタの移動によりとびとびの差分値が選ばれるので
同一波形のくり返しでも選ばれる差分値の値によって1
波形ごとの形が変化して音色が違ってくることもあり、
ADPCM方式では音声以外の楽器音・警報音・効果音等の
波形は合成しにくかった。しかし本発明の構成を用いれ
ば従来のADPCM方式で高品質の音声合成を行なうことが
でき、しかも同一波形が10波形以上のくり返しが多く全
体の時間が長い楽器音・警報音・効果音等の波形合成も
1/10以下の非常に少ないデータ量で行なうことができ、
合成データ量の圧縮に非常に有効である。なお本実施例
で説明した各レジスタのビット数等は合成波形の精度に
関係しており任意の値に設定してよいことは明らかであ
る。
第1図は本発明の波形合成方式の第1の実施例を示す回
路図、第2図は本発明の波形合成方式の第2の実施例を
示す回路図、第3図は波形合成を行なうためのフローチ
ャート、第4図は波形1のサンプリングポイントを示す
波形図、第5図は波形2のサンプリングポイントを示す
波形図、第6図はエンベロープデータを示す波形図、第
7図は合成した出力波形を示す波形図である。 101,201……ADPCM符号データをラッチするLレジスタ、
102,202……Lレジスタの内容をデコードし量子化幅ポ
インタの移動量を決めるデコーダ、103,203……量子化
幅ポインタの値が指定された範囲をこえないようにする
リミッタ、104,204……量子化幅ポインタの値を入れて
おくAレジスタ、105,205……Aレジスタの内容を記憶
し、Aレジスタに記憶した内容を読出させるA′レジス
タ、106,206……差分値データテーブルROM、107,207…
…差分値データを順次累積加算していく振幅値を入れる
Xレジスタ、108,208……出力波形の振幅値を入れるZ
レジスタ、109,209……エンベロープデータを入れるE
レジスタ。
路図、第2図は本発明の波形合成方式の第2の実施例を
示す回路図、第3図は波形合成を行なうためのフローチ
ャート、第4図は波形1のサンプリングポイントを示す
波形図、第5図は波形2のサンプリングポイントを示す
波形図、第6図はエンベロープデータを示す波形図、第
7図は合成した出力波形を示す波形図である。 101,201……ADPCM符号データをラッチするLレジスタ、
102,202……Lレジスタの内容をデコードし量子化幅ポ
インタの移動量を決めるデコーダ、103,203……量子化
幅ポインタの値が指定された範囲をこえないようにする
リミッタ、104,204……量子化幅ポインタの値を入れて
おくAレジスタ、105,205……Aレジスタの内容を記憶
し、Aレジスタに記憶した内容を読出させるA′レジス
タ、106,206……差分値データテーブルROM、107,207…
…差分値データを順次累積加算していく振幅値を入れる
Xレジスタ、108,208……出力波形の振幅値を入れるZ
レジスタ、109,209……エンベロープデータを入れるE
レジスタ。
Claims (1)
- 【請求項1】ADPCM符号データと量子化幅ポインタの値
で合成に必要な差分値データを選択し、前記差分値を順
次累積して波形を合成するADPCM方式の波形合成方式に
おいて、量子化幅ポインタの値を記憶する手段と、加算
累積される振幅値とエンベロープデータとを乗算する手
段とを有し、1波形分の差分値データをくり返し使用
し、くり返し波形の初めに累積された差分値が格納され
る振幅値レジスタをリセットし、あらかじめ記憶してお
いた量子化幅ポインタの値に基づいて読み出された差分
値データから累積加算データを生成した後、これとエン
ベロープデータとを乗算して波形を合成する事を特徴と
する波形合成方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61265862A JPH0833743B2 (ja) | 1986-11-07 | 1986-11-07 | 波形合成方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP61265862A JPH0833743B2 (ja) | 1986-11-07 | 1986-11-07 | 波形合成方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63118800A JPS63118800A (ja) | 1988-05-23 |
| JPH0833743B2 true JPH0833743B2 (ja) | 1996-03-29 |
Family
ID=17423118
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP61265862A Expired - Lifetime JPH0833743B2 (ja) | 1986-11-07 | 1986-11-07 | 波形合成方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0833743B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0833758B2 (ja) * | 1988-02-24 | 1996-03-29 | 日本電気株式会社 | 音声合成方式 |
| US4989246A (en) * | 1989-03-22 | 1991-01-29 | Industrial Technology Research Institute, R.O.C. | Adaptive differential, pulse code modulation sound generator |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5914760B2 (ja) * | 1981-10-01 | 1984-04-05 | 沖電気工業株式会社 | Adpcm再生器 |
| JPS5860799A (ja) * | 1981-10-06 | 1983-04-11 | シャープ株式会社 | 音声デ−タの圧縮方法 |
| JPS58158693A (ja) * | 1982-03-17 | 1983-09-20 | 沖電気工業株式会社 | 音声符号化方法 |
| JPS59131996A (ja) * | 1983-01-18 | 1984-07-28 | 松下電器産業株式会社 | 波形発生方法 |
-
1986
- 1986-11-07 JP JP61265862A patent/JPH0833743B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63118800A (ja) | 1988-05-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2233010C2 (ru) | Способы и устройства для кодирования и декодирования речевых сигналов | |
| RU93058657A (ru) | Вокодер с переменной скоростью кодирования и передачи данных | |
| JPH096397A (ja) | 音声信号の再生方法、再生装置及び伝送方法 | |
| KR19980024631A (ko) | 음성 복호화 방법 및 장치 | |
| JPH08179795A (ja) | 音声のピッチラグ符号化方法および装置 | |
| US5321794A (en) | Voice synthesizing apparatus and method and apparatus and method used as part of a voice synthesizing apparatus and method | |
| JP2000214900A (ja) | 音声符号化/復号化方法 | |
| JP2958742B2 (ja) | 波形データ圧縮装置、波形データ伸長装置、量子化装置および浮動小数点によるデータ作成方法 | |
| US7305337B2 (en) | Method and apparatus for speech coding and decoding | |
| JPH0833743B2 (ja) | 波形合成方式 | |
| JP3531780B2 (ja) | 音声符号化方法および復号化方法 | |
| US4601052A (en) | Voice analysis composing method | |
| JPH07199996A (ja) | 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置 | |
| US6009395A (en) | Synthesizer and method using scaled excitation signal | |
| US4633500A (en) | Speech synthesizer | |
| JPH0833742B2 (ja) | 音声合成方式 | |
| JPH0833758B2 (ja) | 音声合成方式 | |
| JP3088204B2 (ja) | コード励振線形予測符号化装置及び復号化装置 | |
| JPS5914760B2 (ja) | Adpcm再生器 | |
| JPH01239599A (ja) | 音声合成方式 | |
| JP3274451B2 (ja) | 適応ポストフィルタ及び適応ポストフィルタリング方法 | |
| JP3874851B2 (ja) | 音声符号化装置 | |
| JPH09179593A (ja) | 音声符号化装置 | |
| JPS59104699A (ja) | 音声合成器 | |
| JP3071800B2 (ja) | 適応ポストフィルタ |