JPH0695677A - 楽音合成装置 - Google Patents

楽音合成装置

Info

Publication number
JPH0695677A
JPH0695677A JP4244381A JP24438192A JPH0695677A JP H0695677 A JPH0695677 A JP H0695677A JP 4244381 A JP4244381 A JP 4244381A JP 24438192 A JP24438192 A JP 24438192A JP H0695677 A JPH0695677 A JP H0695677A
Authority
JP
Japan
Prior art keywords
data
waveform
memory
vector
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP4244381A
Other languages
English (en)
Inventor
Daisuke Mori
大輔 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP4244381A priority Critical patent/JPH0695677A/ja
Publication of JPH0695677A publication Critical patent/JPH0695677A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】 電子楽器に使用される楽音合成装置におい
て、音質を劣化させることなく、合成に必要なメモリを
低減することを目的とする。 【構成】 楽音の一連の波形データをNサンプル毎に波
形メモリ125に記憶し、波形メモリ125に記憶して
いない波形データに関するデータを波形メモリ125に
記憶した波形データに従属的なデータとしてインデック
スするためのデータをインデックスメモリ200に記憶
するようにして、音高情報に対応して変化するアドレス
発生器100のアドレス出力を基に、波形メモリ125
から出力する波形データと、インデックスメモリ200
に記憶したデータにより特定される差分データに相当す
るベクトルデータを読み出して、出力波形を演算するよ
うにしたので、少ないメモリで、楽音波形を復号化する
ことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は自然楽器と同様の音色を
高品質に合成出力する電子楽器の楽音合成装置に関す
る。
【0002】
【従来の技術】近年、電子楽器のいわゆる楽音合成装置
にはディジタル技術による合成方式が導入されて、合成
音の品質の向上が著しい。特に、自然楽器の楽音波形を
そのまま記憶しておいて、再生すべき音高に比例した速
度で再生するいわゆるPCM方式に準じた方式が多く使
用されている。このような楽音合成装置は、たとえば、
特開昭52−121313号公報、特開昭51−934
8号公報、あるいは、特開昭51−14015号公報に
詳述されている。
【0003】以下、図面を参照しながら上述の楽音合成
装置について説明する。図9は従来の楽音合成装置の構
成を示すものである。図9において、100はアドレス
発生器、120と121は波形メモリ、130〜132
は加算器、140は乗算器である。
【0004】以上のように構成される楽音合成装置につ
いて、以下その動作について説明する。
【0005】波形メモリ120には楽音、例えば、ピア
ノ、ストリングス、あるいは、バスドラムなどの波形デ
ータを記憶させておくことができるが、ここでは、ピア
ノの音を記憶させておくものとする。波形メモリ120
の記憶容量を16MBit、1波形データを16Bi
t、波形アドレスを20Bitとすると、サンプリング
周波数Fsが40kHzの場合には、約26.2秒分の
波形データが記憶されることとなる。本従来例において
は、上述のような条件でサンプリングされたピアノの音
(A=440Hz)の立ち上がりから立ち下がりまでの
波形を記憶しておくものとする。なお、波形メモリ12
1は波形メモリ120と同一の波形データを記憶してい
るものとする。
【0006】音高情報Sが入力されると、アドレス発生
器100は、音高情報Sをサンプリング周波数Fsに対
応したタイミングで累積加算して得られるアドレスA0
〜A29を出力する。音高情報SとアドレスA0〜A29と
のデータの対応を図10に示す。
【0007】アドレス発生器100から出力されるアド
レスの内、アドレスA10〜A29は波形メモリ120と加
算器130とへ供給され、アドレスA0〜A9は乗算器1
40へ供給される。加算器130において値1だけ増加
されたアドレスA10〜A29は波形メモリ121に供給さ
れる。
【0008】波形メモリ120に供給されるアドレスA
10〜A29は、波形メモリ120内の波形アドレスWA0
〜WA19として使用され、対応する波形アドレスに記憶
された波形データWiが出力される。他方において、波
形メモリ121に供給される値1だけ増加されたアドレ
スA10〜A29は、波形メモリ121内の波形アドレスW
A0〜WA19として使用され、対応する波形アドレスに
記憶された波形データWi+1が出力される。波形データ
WiとWi+1とは実質的に隣合う波形データであり、加算
器131において、差分(Wi+1−Wi)が演算出力され
る。差分(Wi+1−Wi)は、乗算器140において、ア
ドレスA0〜A9を小数部とした乗算がなされた後に加算
器132において、波形データWiと加算され、波形値
Wとして出力される。以上の動作により、波形データW
iとWi+1とについての、アドレスA0〜A9による直線補
間値Wが演算されることとなる。以上の各データの対応
を図9と図10とに示す。
【0009】音高情報Sが値1.0の時、アドレス発生
器100は、サンプリング周波数Fs毎に、S=1.0
を累積加算するので、アドレスA10〜A29の値がサンプ
リング周波数Fsごとに1ずつ増加する。従って、波形
メモリ120と121とに入力される波形アドレスWA
0〜WA19は、加算器130により値1だけずれたま
ま、順次に1ずつ増加することになる。波形メモリ12
0と121とからそれぞれ出力される波形データは、波
形メモリ120の出力がW0,W1,W2,W3,・・・と変化す
るとき、波形メモリ121の出力はW1,W2,W3,W4,・・
・と変化することとなる。加算器131により得られる
差分データ出力は、乗算器140において乗算するアド
レスA0〜A9が常に値0であるために、結局、乗算器1
40の出力は値0となり、加算器132の出力は、波形
メモリ120から順次に読み出される波形データW0,W
1,W2,W3,・・・がそのまま出力されるので、記憶された
ピアノの音(A=440Hz)が波形出力されることと
なる。
【0010】音高情報Sが値2の時、上述と同様の動作
により、波形メモリ120の出力はW0,W2,W4,W6,・・
・、波形メモリ121の出力はW1,W3,W5,W7,・・・とな
るので、加算器132からは、波形メモリ120から出
力される波形データW0,W2,W4,W6,・・・がそのまま出
力されることとなり、記憶されたピアノの音が波形デー
タ1点置きに読み出されるため、1オクターブ上の音名
Aの音(880Hz)が出力されることとなる。
【0011】音名Cの音(523.25Hz)を出力さ
せるための音高情報Sは値1.189(周波数比)を与
えればよい。この時、上述と同様の動作により、波形メ
モリ120の出力は、W0,W1,W2,W3,W4,W5,W7,W
8,・・・、波形メモリ121の出力は、W1,W2,W3,W4,
W5,W6,W8,W9,・・・となる。初期状態、即ち、アドレ
ス発生器100の出力A0〜A29が値0の時には、波形
メモリ120の出力W0がそのまま加算器132から出
力されるが、音高情報Sが加算されたときには、波形メ
モリ120の出力値W1と波形メモリ121の出力値W2
は、加算器131において差分値(W2−W1)が演算さ
れ、乗算器140において、アドレスA0〜A9の値0.
189が乗じられて、加算器132においてW1と加算
されるため、波形データW1と波形データW2との間をア
ドレスA0〜A9の値0.189により直線補間した補間
値が演算出力されることとなる。以下同様にして、乗算
器140においてアドレスA0〜A9は、順次に0.37
8,0.567,0.756,0.945,0.134,・
・・と変化しながら、対応する差分データ(W2−W
1),(W3−W2),(W4−W3),(W5−W4),
(W7−W8),・・・と乗算され、加算器132におい
て、対応する波形データW0,W1,W2,W3,W4,W5,W7,
・・・と加算されて補間演算値として出力されることとな
る。
【0012】以上においては、波形メモリ120と波形
メモリ121には同じ波形データを記憶しているものと
したが、公知の時分割処理の技術を用いて、波形データ
WiとWi+1とを単一の波形メモリ120を2回アクセス
することにより読み出すようにして波形メモリの記憶容
量をいわゆるサンプリングデータと同じ量としたり、あ
るいは、図11の様に構成した楽音合成装置において波
形メモリ122に予め差分演算した(Wi+1−Wi)を記
憶させておくことにより、加算器130と131とを不
要にする方法も提案されているが、後者の方法では、い
わゆるサンプリングデータに等しい記憶容量の波形メモ
リとそれ以外に差分データを記憶する波形メモリが必要
とされていた。
【0013】なお、非常に長いピアノの音やストリング
スなどのような持続系の楽音を合成するときには、波形
メモリに記憶させた波形データの最終部分を繰り返し読
み出すようにして、出力音を持続させることができる。
【0014】
【発明が解決しようとする課題】しかしながら、上記の
ような構成では、時分割処理によっても、1波形データ
を構成するBit数、いわゆる、量子化Bit数と波形
データ数との乗算によって決まる多量のデータを記憶す
る波形メモリが必要になるという問題点があった。
【0015】また、波形メモリに記憶した波形データの
出力音高を変化させて読み出すために、音高情報Sを累
積加算して読み出す波形データの波形アドレスを得るよ
うにしているために、記憶している波形データが必ずし
も順次に読み出されないために、公知の逐次圧縮技術、
すなわち、差分圧縮(DPCM)や適応型差分圧縮(A
DPCM)などの技術、あるいは、ベクトル量子化のよ
うな圧縮技術を適用できないという問題点を有してい
た。
【0016】本発明は上記問題点を解決するため、少な
い波形メモリで自然な楽音を合成することのできる楽音
合成装置を提供することを目的とする。
【0017】
【課題を解決するための手段】この目的を達成するため
に、第1の発明の楽音合成装置は、楽音の一連の波形デ
ータのなかから予め定めたデータ数N個毎に波形データ
を記憶する波形メモリと、N個以上の要素から構成され
るベクトルを複数組記憶するベクトルメモリと、波形メ
モリに記憶した波形データとその近傍のN個の波形デー
タとの差分データに対応するベクトルとその大きさを特
定するインデックスデータを波形メモリに記憶した波形
データに対応して記憶するインデックスメモリと、出力
する楽音の音高に対応して順次に変化するアドレスを出
力するアドレス発生器と、アドレスとインデックスデー
タとに対応したベクトルメモリの要素を補間演算する補
間演算部と、アドレスに対応した波形メモリの波形デー
タと補間演算部出力とを加算する加算器より構成され
る。
【0018】また、この目的を達成するために、第2の
発明の楽音合成装置は、楽音の一連の波形データのなか
から予め定めたデータ数N個毎に波形データを記憶する
波形メモリと、N個以上の要素から構成されるベクトル
を複数組記憶するベクトルメモリと、波形メモリに記憶
した波形データとその近傍のN個の波形データとの差分
データに対応するベクトルとその大きさとを特定するイ
ンデックスデータを波形メモリに記憶した波形データに
対応して記憶するインデックスメモリと、出力する楽音
の音高に対応して順次に変化するアドレスを出力するア
ドレス発生器と、アドレスに対応した波形メモリの波形
データに補間演算する第1の補間演算部と、アドレスと
インデックスデータとに対応したベクトルメモリの要素
を補間演算する第2の補間演算部と、第1と第2の補間
演算部出力を加算する加算器より構成される。
【0019】さらに、この目的を達成するために、第3
の発明の楽音合成装置は、時間変化するスキップデータ
Niを出力するスキップデータ発生部と、楽音の一連の
波形データのなかからスキップデータNi個毎に波形デ
ータを記憶する波形メモリと、出力する楽音の音高とス
キップデータNiとに対応して順次に変化するアドレス
を出力するアドレス発生器と、アドレスとスキップデー
タとに対応して波形メモリから出力される波形データを
補間演算する補間演算部とから構成される。
【0020】
【作用】第1の発明の構成によって、アドレス発生器は
指示された音高に従って順次に変化するアドレスを出力
する。アドレスに基づいて読み出されるインデックスメ
モリに記憶されたインデックスデータと、アドレスとイ
ンデックスデータとに基づいて読み出されるベクトルメ
モリに記憶されたベクトルを構成する複数の要素を補間
演算部で補間演算した値と、アドレスに基づいて読み出
される波形メモリに記憶された波形データの値とを、加
算器で加算するようにしたので、楽音の一連の波形デー
タをN個毎に記憶した波形データと、記憶した波形デー
タに関する複数の差分データに相当するベクトルデータ
とから出力波形が演算出力されることとなる。
【0021】第2の発明の構成によって、アドレス発生
器は指示された音高に従って順次に変化するアドレスを
出力する。アドレスに基づいて読み出される波形メモリ
に記憶された複数の波形データに対して第1の補間演算
部で補間演算された値と、アドレスに基づいて読み出さ
れるインデックスメモリに記憶されたインデックスデー
タとアドレスとに基づいて読み出されるベクトルメモリ
に記憶されたベクトルを構成する複数の要素を第2の補
間演算部で補間演算した値とを、加算器で加算するよう
にしたので、楽音の一連の波形データをN個毎に記憶し
た複数の波形データと、記憶した波形データに関する複
数の差分データに相当するベクトルデータとから出力波
形が演算出力されることとなる。
【0022】第3の発明の構成によって、アドレス発生
器は指示された音高とスキップデータNiとに従って順
次に変化するアドレスを出力する。スキップデータ発生
部は時間変化するスキップデータNiを出力する。スキ
ップデータとアドレスとに基づいて読み出される波形メ
モリに記憶された波形データに関して、補間演算部にお
いて補間演算がなされて出力波形が得られることとな
る。
【0023】
【実施例】以下、本発明の第1の実施例について、図面
を参照しながら説明する。
【0024】図1は本発明の第1の実施例の楽音合成装
置のブロック図である。図1において、125は波形メ
モリ、133〜136は加算器、145,146は乗算
器、200はインデックスメモリ、220,221はベ
クトルメモリ、250は比較器、260はゲートであ
る。なお、アドレス発生器100は従来例の構成と同じ
ものである。
【0025】第1の実施例においては、予め定めた波形
データの飛び越し数(スキップデータ)Nを4(2の2
乗)とする。従来例と同一の楽音波形をサンプリングし
た波形データ、即ち、従来例の波形メモリ120に記憶
した波形データの一部Wi-N〜Wi+Nを図2の(a)に示
す。波形Wi-NからNサンプル毎、即ち、4サンプル毎
に選択した波形データを図2の(b)に示すが、これら
の波形データを波形メモリ125に記憶しておくものと
する。波形Wi-Nについて、図2(a)のアドレス(i
−N+1)からアドレスiまでの波形データと波形Wi-
Nとの差分データを図2(c)に示すが、同様にして波
形Wiについてアドレス(i+1)からアドレス(i+
N)の差分データも示している。
【0026】ベクトルメモリ220には、図3に示すよ
うにスキップデータNに対応して4個の要素を有するベ
クトルを記憶しているものとする。例えば、ベクトルV
0は(0.25,0.50,0.75,1.00)の4つの
要素から構成されており、アドレス0〜3に対して、最
終要素を先頭として、以下、第1要素から順次に(1.
00,0.25,0.50,0.75)として記憶されて
いる。また、ベクトルV1は(0.80,0.87,0.
93,1.00)の4つの要素から構成されており、ア
ドレス4〜7に対して、最終要素を先頭として、以下、
第1要素から順次に記憶されている。以下同様にして、
ベクトルV11を構成する4つの要素は、アドレス44
〜47に対して、最終要素を先頭として、以下、第1要
素から順次に記憶されているものとする。なお、ベクト
ルメモリ221はベクトルメモリ220と同一のものと
する。
【0027】インデックスメモリ200には、波形メモ
リ125に記憶している波形データに対応したインデッ
クスデータが記憶されているものとする。波形データW
iに対応するインデックスデータIiは、ベクトルインデ
ックスVIiとレベルデータLiとから構成される。ベク
トルインデックスVIiは、ベクトルV0〜V11を指
示するために、4ビットで構成される。本実施例におい
ては、ベクトルを12種類としたが、これは、必要に応
じて増減することができる。なお、波形データの飛び越
し数Nを4としているため、サンプリング周波数40k
Hzにおいては、楽器音に含まれる10kHz以上の周
波数成分の変動が、上述した図2(c)に示すような差
分データの変動に大きく反映されることとなるが、楽器
音に含まれる10kHz以上の周波数成分は非常に小さ
なため、実質的には、本実施例における12種類程度の
ベクトルがあれば良い。即ち、図2(c)における差分
データについて、アドレス(i+1)〜(i+N)の4
つの差分データは、ベクトルV6により近似することが
でき、また、アドレス(i−N+1)〜iまでの差分デ
ータはベクトルV0で近似することができるので、波形
データWi-NとWiとに対応するインデックスデータのベ
クトルインデックスはそれぞれ、0と6となる。但し、
波形の補間精度を向上し、補間に起因するノイズを減少
させるためにインデックスデータを構成する要素数を増
しておくことは、非常に有効に働くので、要素数を8、
または、16として補間精度を向上する、あるいは、1
024としてインデックスデータ要素間の補間演算その
ものを省略することもできる。また、レベルデータLi
は、符号無し12ビットのデータとして、ベクトルイン
デックスVIiに指定されたベクトルデータを使用する
大きさを決定する。即ち、図2(c)における差分デー
タに関して、波形データWi-NとWiとに対応するインデ
ックスデータのレベルデータはそれぞれ、(Wi−Wi-
N)と(Wi+N−Wi)となる。
【0028】以上のように構成される楽音合成装置の動
作について、以下に述べる。従来例と同様にして、アド
レス発生器100は指示された音高情報Sを累積加算
し、アドレスA0〜A29を出力する。波形メモリ125
に記憶している波形データ(図2(b)参照)のサンプ
ル数は、従来例の波形メモリ120に記憶した波形デー
タ(図2(c)参照)のサンプル数の4分の1(N=
4)であるため、アドレスA12〜A29が波形メモリ12
5に供給されて、波形データWiが出力される。インデ
ックスメモリ200にも同様にして、アドレスA12〜A
29が供給されて、インデックスデータIiを構成するベ
クトルインデックスVIiとレベルデータLiが出力され
る。
【0029】ベクトルメモリ220は、アドレス発生器
100から出力されるアドレスA10〜A11を下位アドレ
スとし、インデックスメモリ200から出力されるベク
トルインデックスVIiを上位アドレスとする計6ビッ
トのアドレスに従って決定されるベクトルを構成する要
素を出力する。ベクトルメモリ221も同様の動作によ
りベクトルを構成する要素を出力するが、加算器134
においてアドレスA10〜A11に対して1だけ加算した値
を下位2ビットアドレスとする。また、アドレスA10と
A11の値が共に値0の時には、比較器250は値0を出
力し、ゲート260の出力を値0にリセットし、アドレ
スA10とA11のいすれかの値が0でないときには、比較
器250は値1を出力し、ゲート260はベクトルメモ
リ220から出力されるベクトルの要素の値をそのまま
出力する。従って、アドレスA10〜A11の値が(0→1
→2→3)と変化するにともなって、ゲート260とベ
クトルメモリ221からは、それぞれ、(値0→指定さ
れたベクトルの第1要素→第2要素→第3要素)および
(指定されたベクトルの第1要素→第2要素→第3要素
→第4要素)が出力される。これらの出力は、従来例の
加算器131〜132及び乗算器140と同様に構成さ
れる加算器135〜136及び乗算器145によって直
線補間された後に、乗算器146においてレベルデータ
を乗算されて、図2(c)の差分データの直線補間値に
相当するデータとなり、さらに、加算器133において
波形メモリ125から出力される波形データと加算され
て、結局、直線補間波形が得られることとなる。
【0030】なお、第1の実施例においては、理解を助
けるために、ベクトルを記憶するベクトルメモリをベク
トルメモリ220,221の2つのメモリとしたが従来
例の波形メモリと同様にして、時分割処理によって一つ
のベクトルメモリ220により構成できることは自明で
ある。
【0031】また、第1の実施例においては予め定める
Nを4としたので、波形データとして圧縮率4分の1、
インデックスデータとしても波形データと同じ記憶容量
を必要とするため、ベクトルメモリを別にすれば、従来
例の波形メモリ120の2分の1の記憶容量により構成
される。
【0032】なお、以上においては、予め定めるNを4
としたが、楽音の種類によってはNの値を他の値にする
ことにより、データの圧縮率をさらに高めたりすること
もできる。また、第1の実施例においては、ベクトルに
より直線補間値を得るようにしたが、必ずしも直線補間
演算でなく高次の補間演算をするようにしても良い。な
お、ベクトルの要素から得られる補間値を波形データに
加算するようにしたが、波形データにベクトルの要素を
加算した後で、補間演算を実施しても同様の効果が得ら
れることも付け加えておく。さらに、楽音波形において
時間的に近接する波形データの差分値は一般に波形デー
タを構成する語長よりも小さくなるため、ベクトルを構
成する要素の語長は、波形データの語長よりも小さな語
長で表すことができるので、ベクトルメモリの記憶語長
を小さくすることができる。
【0033】以上のように、第1の実施例によれば、予
め定めたNに従ってN個毎の波形データのみを記憶した
波形メモリと、インデックスデータにより特定されるベ
クトルデータとから補間値を演算するようにしたので、
少ないメモリと簡単な構成で、楽音を合成することがで
きる。
【0034】以下、本発明の第2の実施例について、図
面を参照しながら説明する。図4は本発明の第2の実施
例の楽音合成装置のブロック図である。図4において、
125,126は波形メモリ、130〜136は加算
器、140,145,146は乗算器、201はインデ
ックスメモリ、222,223はベクトルメモリであ
る。なお、アドレス発生器100は従来例の構成と同じ
ものである。
【0035】第2の実施例において第1の実施例と同様
に、予め定めた波形データの飛び越し数(スキップデー
タ)Nを4(2の2乗)とする。従来例と同一の楽音波
形をサンプリングした波形データ、即ち、従来例の波形
メモリ120に記憶した波形データの一部Wi-N〜Wi+N
を図2の(a)に示す。波形Wi-NからNサンプル毎、
即ち、4サンプル毎に選択した波形データを図2の
(b)に示すが、これらの波形データを波形メモリ12
5に記憶しておくものとする。また、波形メモリ125
は波形メモリ126と同一のものとする。波形Wi-Nと
Wiとについて直線補間した値と、図2(a)のアドレ
ス(i−N+1)からアドレスiまでの波形データと波
形Wi-Nとの差分データを図2(d)に示すが、同様に
して波形Wiと波形Wi+Nとについて直線補間した値とア
ドレス(i+1)からアドレス(i+N)の波形データ
との差分データも示している。
【0036】ベクトルメモリ222には、図5に示すよ
うにスキップデータNに対応して4個の要素を有するベ
クトルV0〜V3とV4〜V7(図示せず)を記憶して
いるものとする。例えば、ベクトルV0は(0.00,
0.33,0.67,1.00)の4つの要素から構成さ
れており、アドレス0〜3に対して、第1要素から順次
に、(0.00,0.33,0.67,1.00)として記
憶されている。また、ベクトルV1は(0.00,0.5
0,1.00,0.50)の4つの要素から構成されてお
り、アドレス4〜7に対して、第1要素から順次に記憶
されている。以下同様にして、ベクトルV3を構成する
4つの要素は、アドレス12〜15に対して、第1要素
から順次に記憶されているものとする。なお、ベクトル
V4〜V7はそれぞれベクトルV0〜V3の符号を反転
したデータとして、アドレス16〜31に記憶されてい
るものとする。なお、ベクトルメモリ222はベクトル
メモリ223と同一のものとする。
【0037】インデックスメモリ201には、波形メモ
リ125に記憶している波形データに対応したインデッ
クスデータが記憶されているものとする。即ち、波形デ
ータWiに対応するインデックスデータIiは、ベクトル
インデックスVIiとレベルデータLiとから構成され
る。ベクトルインデックスVIiは、ベクトルV0〜V
7を指示するために、3ビットで構成される。本実施例
においては、ベクトルを8種類としたが、これは、必要
に応じて増減することができる。なお、波形データの飛
び越し数Nを4としているため、サンプリング周波数4
0kHzにおいては、楽器音に含まれる10kHz以上
の周波数成分の変動が、上述した図2(d)に示すよう
な差分データの変動に大きく反映されることとなるが、
楽器音に含まれる10kHz以上の周波数成分は非常に
小さく、また、差分データ(図2(d)参照)を得るた
めに、波形メモリ125,126に記憶した波形データ
の補間波形との差分を得るようにしたため、ベクトルの
両端の要素は0近傍に集束するように正規化されるた
め、記憶すべきベクトルの種類は、実質的には、本実施
例における8種類程度のベクトルがあれば良い。即ち、
図2(d)における差分データについて、アドレス(i
+1)〜(i+N)の4つの差分データは、ベクトルV
2により近似することができ、また、アドレス(i−N
+1)〜iまでの差分データはベクトルV0で近似する
ことができるので、波形データWi-NとWiとに対応する
インデックスデータのベクトルインデックスはそれぞ
れ、0と2となる。但し、波形の補間精度を向上し、補
間に起因するノイズを減少させるためにインデックスデ
ータを構成する要素数を増しておくことは、非常に有効
に働くので、要素数を8、または、16として補間精度
を向上する、あるいは、1024としてインデックスデ
ータ要素間の補間演算そのものを省略することもでき
る。また、レベルデータLiは、符号無し12ビットの
データとして、ベクトルインデックスVIiに指定され
たベクトルを使用する大きさを決定する。即ち、図2
(d)における差分データに関して、波形データWi-N
とWiとに対応するインデックスデータのレベルデータ
はそれぞれ、(Wi−Wi-N)と(Wi+N−Wi)よりも小
なる値となる。
【0038】以上のように構成される楽音合成装置の動
作について、以下に述べる。従来例と同様にして、アド
レス発生器100は指示された音高情報Sを累積加算
し、アドレスA0〜A29を出力する。波形メモリ125
に記憶している波形データ(図2(b)参照)のサンプ
ル数は、従来例の波形メモリ120に記憶した波形デー
タ(図2(a)参照)のサンプル数の4分の1(N=
4)であるため、アドレスA12〜A29が波形メモリ12
5と加算器130とに供給され、波形メモリ126には
加算器130により1だけ増加されたアドレスA12〜A
29が供給されて、以下、従来例と同様の動作により、ア
ドレスA12〜A29の値が(i−1)である時、波形メモ
リ125から波形データWiー1が出力され、波形メモリ
126からは波形データWiが出力されて、2つの波形
データ間の差分が加算器131より出力されて、乗算器
140においてアドレスA2〜A11を小数部とした乗算
がなされた後に、加算器132において波形データWiー
1と加算されるので、結局、波形メモリ125と126
とから出力される波形データの、アドレスA2〜A11に
よる直線補間値Wpが演算されることとなる。
【0039】インデックスメモリ201にも同様にし
て、アドレスA12〜A29が供給されて、インデックスデ
ータIiを構成するベクトルインデックスVIiとレベル
データLiが出力される。
【0040】他方において、加算器134〜136とベ
クトルメモリ222,223と乗算器145は、第1の
実施例と同様に構成されており、ベクトルメモリ222
は、アドレス発生器100から出力されるアドレスA10
〜A11を下位アドレスとし、インデックスメモリ201
から出力されるベクトルインデックスVIiを上位アド
レスとする計6ビットのアドレスに従って決定されるベ
クトルを構成する要素を出力する。ベクトルメモリ22
3も同様の動作によりベクトルを構成する要素を出力す
るが、加算器134においてアドレスA10〜A11に対し
て1だけ加算した値を下位2ビットアドレスとする。な
お、アドレスA10とA11の値が共に値0の時には、ベク
トルメモリ222,223に記憶されるベクトルデータ
の要素の値は0となっている。従って、アドレスA10〜
A11の値が(0→1→2→3)と変化するにともなっ
て、ベクトルメモリ222,223からは、それぞれ、
(指定されたベクトルの第1要素→第2要素→第3要
素)および(指定されたベクトルの第2要素→第3要素
→第4要素→値0)が出力される。これらの出力は、従
来例の加算器131,132及び乗算器140と同様に
構成される加算器135,136及び乗算器145によ
って直線補間された後に、乗算器146においてレベル
データを乗算されて、図2(d)の差分データの直線補
間値に相当するデータとなり、さらに、加算器133に
おいて波形メモリ125から出力される波形データと加
算されて、結局、直線補間波形が得られることとなる。
【0041】なお、第2の実施例においては、理解を助
けるために、波形データを記憶する波形メモリを波形メ
モリ125,126として、また、差分データを近似す
るベクトルを記憶するベクトルメモリをベクトルメモリ
222,223として、それぞれ同じ内容のデータを記
憶する2つのメモリとしたが従来例と同様にして、時分
割処理によって、それぞれ一つの波形メモリ125とベ
クトルメモリ222とにより構成できることは自明であ
る。
【0042】第2の実施例に必要とするメモリの記憶容
量は、第1の実施例と同様に従来例の4分の1の波形メ
モリとインデックスメモリであるのが、第1の実施例に
比べてさらに記憶すべきベクトルの種類を少なくするこ
とができる。
【0043】なお、以上においては、予め定めるNを4
としたが、楽音の種類によってはNの値を他の値にする
ことにより、データの圧縮率をさらに高めたりすること
もできる。さらに、楽音波形において時間的に近接する
波形データの差分値は一般に波形データを構成する語長
よりも小さくなるため、ベクトルを構成する要素の語長
は、波形データの語長よりも小さな語長で表すことがで
きるので、ベクトルメモリの記憶語長を小さくすること
ができる。
【0044】以上のように、第2の実施例によれば、予
め定めたNに従ってN個毎の波形データのみを記憶した
波形メモリから読み出した波形データの補間値と、イン
デックスデータにより特定されるベクトルを構成する要
素とから補間値を演算するようにしたので、より少ない
メモリと簡単な構成で、楽音を合成することができる。
【0045】以下、本発明の第3の実施例について、図
面を参照しながら説明する。図6は本発明の第3の実施
例の楽音合成装置のブロック図である。図6において、
110,111は波形メモリ、300はシフタ、301
はスキップデータ発生部である。なお、アドレス発生器
100、加算器130〜132、乗算器140は従来例
の構成と同じものである。
【0046】一般に、楽器音の立ち上がり部、特に、ピ
アノのような減衰系の楽器音の立ち上がり部において
は、高い周波数成分が多く含まれており、楽器音の定常
部あるいは減衰部になるにつれて、高い周波数成分が少
なくなる。従って、従来例あるいは第1及び第2の実施
例における予め定めた波形データの飛び越し数Nを時間
的に変化させることにより、楽器音波形への圧縮技術の
追従度を制御することができる。
【0047】図8(a)にピアノの波形データを示す。
また、図8(b)に、ピアノの波形データに関して必要
な波形データの飛び越し数(スキップデータ)Nの変化
を示す。
【0048】波形メモリ110には、図8(a)に示す
ピアノの波形データに関してスキップデータN1を1と
して、即ち、時刻T1までの全ての波形データを波形デ
ータとして記憶する。時刻T1から時刻T2までは、スキ
ップデータN2を2として、即ち、波形データを2サン
プル毎に1個記憶する。以下同様にして、時刻T3から
合成動作完了まではスキップデータN4を8として波形
データを記憶するものとする。なお、波形メモリ111
は波形メモリ110と同一のものとする。
【0049】スキップデータ発生部301は図7のよう
に構成される。図7において、230,231はスキッ
プメモリ、149は乗算器、190〜192は加算器で
ある。
【0050】以上のように構成される楽音合成装置の動
作について、以下に述べる。スキップデータ発生部30
1は、アドレス発生器100から出力されるアドレスA
0〜A29を入力として、スキップメモリ230にはアド
レスA28〜A29が入力される。スキップメモリ230に
は、図8(b)のスキップデータN1〜N5が記憶されて
おり、スキップメモリ230とスキップメモリ231は
同一のものとする。入力されるアドレスA28〜A29に対
応したスキップデータNkがスキップメモリ230から
出力されると、スキップメモリ231からは加算器19
0により値1だけ増加されたアドレスに対応するスキッ
プデータNk+1が出力される。加算器191から(Nk+1
−Nk)が出力されて、乗算器149においてアドレス
A0〜A27を小数部とする乗算がなされて、加算器19
2でNkと加算されて、その上位4ビットの値が出力さ
れるので、結局、スキップデータNkとNk+1とをアドレ
スA0〜A27により直線補間したスキップデータNiとし
て出力されることとなる。
【0051】シフタ300は、スキップデータ発生部3
01から出力されるスキップデータNiの値にしたがっ
て、入力される音高情報Sを除算するように働くので、
スキップデータが値1の時は音高情報Sをそのままに、
また、スキップデータが2あるいは3の時には、それぞ
れ音高情報Sを小さくするように1あるいは2ビットシ
フトして出力することとなる。シフタ300においてビ
ットシフトされた音高情報Sは、アドレス発生器100
へ入力されるが、出力されるアドレス情報への音高情報
Sの寄与度は、シフタ300によるビットシフト量によ
り影響されることとなる。
【0052】以上のようにして、音高情報Sのアドレス
発生器100出力のアドレスへの影響度はスキップデー
タNiにより制御されることとなるので、波形メモリ1
10,111へ供給されるアドレスA0〜A29により出
力される波形データとそれらの補間値は、スキップデー
タNiに従って、Ni個毎に記憶された波形データとそれ
らの補間値となる。
【0053】なお、第3の実施例においては、理解を助
けるために、波形データを記憶する波形メモリを波形メ
モリ110,111として、それぞれ同じ内容のデータ
を記憶する2つの波形メモリとしたが従来例と同様にし
て、時分割処理によって、一つの波形メモリ110によ
り構成できることは自明である。
【0054】また、第3の実施例においても、第1と第
2の実施例と同様にして、インデックスデータにより、
ベクトルデータを用いて波形精度をさらに向上させるこ
ともできる。
【0055】以上のように、第3の実施例によれば、時
間的に変化するスキップデータNiに対応してアドレス
発生器から出力するアドレスを変化させるようにしたの
で、アドレスに従って、楽音の一連の波形データをスキ
ップデータNiサンプル毎に記憶した波形メモリから読
み出される波形データを補間演算することにより波形出
力が得られることとなるため、楽音の波形に応じてスキ
ップデータを変化させることにより適切なデータ圧縮を
実現することができる。
【0056】
【発明の効果】本発明の楽音合成装置は、楽音の一連の
波形データをNサンプル毎に記憶した波形メモリと、波
形メモリに記憶していない波形データに関するデータを
波形メモリに記憶した波形データに従属的なデータとし
てインデックスするためのデータをインデックスメモリ
に記憶するようにして、音高に対応して変化するアドレ
ス発生器のアドレス出力を基に、波形メモリから出力す
る波形データと、インデックスメモリに記憶したデータ
により特定される差分データに相当するベクトルデータ
を読み出して、出力波形を演算するようにしたので、少
ないメモリで、楽音波形を復号化することができる。
【0057】また、波形メモリにNサンプル毎に記憶す
る波形データに関して、Nの値を楽音波形に応じて時間
変化することにより、波形出力の音質が波形出力開始か
ら停止までの全体にわたって、均質になるようにデータ
圧縮をすることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例における楽音合成装置の
構成を示すブロック図
【図2】本発明の第1,第2の実施例における動作を説
明するための例示的波形図
【図3】同第1の実施例における動作を説明するための
例示的波形図
【図4】本発明の第2の実施例における楽音合成装置の
構成を示すブロック図
【図5】同第2の実施例における動作を説明するための
例示的波形図
【図6】本発明の第3の実施例における楽音合成装置の
構成を示すブロック図
【図7】図6におけるスキップデータ発生部の内部構成
を示すブロック図
【図8】同第3の実施例における動作を説明するための
例示的包絡波形図
【図9】従来例における楽音合成装置の構成を示すブロ
ック図
【図10】従来例における例示的データ構成を示す模式
図
【図11】従来例を応用した楽音合成装置の構成を示す
ブロック図
【符号の説明】
100 アドレス発生器 110〜111,120〜126 波形メモリ 130〜136,190〜192 加算器 140〜149 乗算器 200〜201 インデックスメモリ 220〜223 ベクトルメモリ 230〜231 スキップメモリ 250〜251 比較器 260〜262 ゲート 300 シフタ 301 スキップデータ発生部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】楽音の一連の波形データのなかから予め定
    めたデータ数N個毎に波形データを記憶する波形メモリ
    と、 N個以上の要素から構成されるベクトルを複数組記憶す
    るベクトルメモリと、 前記波形メモリに記憶した波形データとその近傍のN個
    の波形データとの差分データに対応する前記ベクトルメ
    モリに記憶されたベクトルとその大きさを特定するイン
    デックスデータを記憶するインデックスメモリと、 出力する楽音の音高に対応して順次に変化するアドレス
    を出力するアドレス発生器と、 前記アドレスに対応した前記インデックスメモリのイン
    デックスデータに従って前記ベクトルメモリから出力さ
    れるベクトルの要素を補間演算する補間演算部と、 前記アドレスに対応した前記波形メモリの波形データと
    前記補間演算部出力とを加算する加算器とから構成され
    る楽音合成装置。
  2. 【請求項2】加算器は波形メモリ出力の波形データとベ
    クトルメモリ出力のベクトルの要素とを加算出力し、補
    間演算部は前記加算出力を補間演算することを特徴とす
    る請求項1記載の楽音合成装置。
  3. 【請求項3】楽音の一連の波形データのなかから予め定
    めたデータ数N個毎に波形データを記憶する波形メモリ
    と、 N個以上の要素から構成されるベクトルを複数組記憶す
    るベクトルメモリと、 前記波形メモリに記憶した波形データにより補間演算さ
    れるデータとその近傍のN個の波形データとの差分デー
    タに対応する前記ベクトルメモリに記憶されたベクトル
    とその大きさを特定するインデックスデータを記憶する
    インデックスメモリと、 出力する楽音の音高に対応して順次に変化するアドレス
    を出力するアドレス発生器と、 前記アドレスに対応した前記波形メモリの波形データに
    補間演算する第1の補間演算部と、 前記アドレスに対応した前記インデックスメモリのイン
    デックスデータに従って前記ベクトルメモリから出力さ
    れるベクトルの要素を補間演算する第2の補間演算部
    と、 前記第1と第2の補間演算部出力を加算する加算器とか
    ら構成される楽音合成装置。
  4. 【請求項4】ベクトルメモリに記憶されたベクトルを構
    成する要素の語長が波形メモリに記憶する波形データの
    語長よりも小さなことを特徴とする請求項1,2または
    3記載の楽音合成装置。
  5. 【請求項5】時間変化するスキップデータNiを出力す
    るスキップデータ発生部と、 楽音の一連の波形データのなかから前記スキップデータ
    Ni個毎に波形データを記憶する波形メモリと、 出力する楽音の音高と前記スキップデータNiとに対応
    して順次に変化するアドレスを出力するアドレス発生器
    と、 前記アドレスと前記スキップデータとに対応して前記波
    形メモリから出力される波形データを補間演算する補間
    演算部とから構成される楽音合成装置。
  6. 【請求項6】時間変化するスキップデータNiの値が時
    間経過と共に増加することを特徴とする請求項5記載の
    楽音合成装置。
JP4244381A 1992-09-14 1992-09-14 楽音合成装置 Pending JPH0695677A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4244381A JPH0695677A (ja) 1992-09-14 1992-09-14 楽音合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4244381A JPH0695677A (ja) 1992-09-14 1992-09-14 楽音合成装置

Publications (1)

Publication Number Publication Date
JPH0695677A true JPH0695677A (ja) 1994-04-08

Family

ID=17117844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4244381A Pending JPH0695677A (ja) 1992-09-14 1992-09-14 楽音合成装置

Country Status (1)

Country Link
JP (1) JPH0695677A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113808555A (zh) * 2021-09-17 2021-12-17 广州酷狗计算机科技有限公司 歌曲合成方法及其装置、设备、介质、产品

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113808555A (zh) * 2021-09-17 2021-12-17 广州酷狗计算机科技有限公司 歌曲合成方法及其装置、设备、介质、产品

Similar Documents

Publication Publication Date Title
US4435832A (en) Speech synthesizer having speech time stretch and compression functions
US5625158A (en) Musical tone generating apparatus
US5321794A (en) Voice synthesizing apparatus and method and apparatus and method used as part of a voice synthesizing apparatus and method
JP3482685B2 (ja) 電子楽器の音源装置
US5416264A (en) Waveform-forming device having memory storing non-compressed/compressed waveform samples
JPS6398699A (ja) 電子楽器
US4653099A (en) SP sound synthesizer
US5245127A (en) Signal delay circuit, FIR filter and musical tone synthesizer employing the same
KR100190484B1 (ko) 악음 발생 장치(Sound generating appratus)
US4633500A (en) Speech synthesizer
JPS61124994A (ja) 楽音信号発生装置
JP2790160B2 (ja) 波形生成装置および波形記憶装置
JP3435702B2 (ja) 楽音発生装置
JPS61204697A (ja) 楽音信号発生装置
JP2579049B2 (ja) 楽音合成装置
US5817964A (en) Electronic musical instrument and method for storing a plurality of waveform sampling data at a single address
JPH0651777A (ja) 楽音合成装置
JP2679314B2 (ja) 楽音合成装置
JPH09198049A (ja) 楽音合成装置
JPH09212170A (ja) 楽音合成装置
JPS6212519B2 (ja)
JPH02108099A (ja) 波形補間装置
JPS58219599A (ja) 音声合成装置
JPS59162594A (ja) 楽音合成装置
JPS61105596A (ja) 楽音発生装置