JP3101452B2 - 楽音合成装置及びデコード装置 - Google Patents

楽音合成装置及びデコード装置

Info

Publication number
JP3101452B2
JP3101452B2 JP04333705A JP33370592A JP3101452B2 JP 3101452 B2 JP3101452 B2 JP 3101452B2 JP 04333705 A JP04333705 A JP 04333705A JP 33370592 A JP33370592 A JP 33370592A JP 3101452 B2 JP3101452 B2 JP 3101452B2
Authority
JP
Japan
Prior art keywords
value
data
output
word length
holder
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
Application number
JP04333705A
Other languages
English (en)
Other versions
JPH06161457A (ja
Inventor
克彦 林
大輔 森
雅浩 中西
隆宏 菅谷
温子 田中
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 Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP04333705A priority Critical patent/JP3101452B2/ja
Publication of JPH06161457A publication Critical patent/JPH06161457A/ja
Application granted granted Critical
Publication of JP3101452B2 publication Critical patent/JP3101452B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子楽器に係り、特に任
意の語長を持つ基本波形の数サンプル点が記憶装置の1
アドレスに格納されている場合に、サンプル点に対応す
るデータを記憶装置から容易に取り出すことができ、少
ない記憶容量で楽音波形を再現することができる楽音合
成装置、及びこの楽音合成装置に用いられるデコード装
置に関するものである。
【0002】
【従来の技術】近年、デジタル技術の進歩に伴い、各種
の楽音発生方式が提案されており、更に様々な音色を得
ることのできる電子楽器が考えられている。近年、楽音
合成装置及びデコード装置は、楽音データの記憶される
記憶領域をできるだけ有効に活用することが重要視され
ている。
【0003】楽音合成装置及びデコード装置の一例が特
開平4−14800号公報に示されている。従来の楽音
合成装置及びデコード装置の一例を図15を用いて説明
する。図15は従来の楽音合成装置及びデコード装置の
全体構成を示すブロック図である。本図において、楽音
合成装置及びデコード装置は、鍵盤部101、押鍵検出
回路102、単位波形区間位相データ発生回路103、
単位波形繰返回数カウンタ104、波形記憶装置10
5、セレクタ106により構成される。
【0004】先ず鍵盤部101は、再生する楽器の種
類、及び発生すべき楽音の音高を指定するための複数の
鍵を備えている。鍵盤部101の各鍵を押鍵または離鍵
すると、その操作が押鍵検出回路102で検出され、押
鍵のキーコードKCが押鍵検出回路102から出力され
る。キーコードKCは単位波形区間位相データ発生回路
103に入力され、キーコードKCによって指定される
音高に対応して、所定のレートで変化する位相アドレス
データXが出力される。この位相アドレスデータXは楽
音信号の1つの単位波形区間において、最低値(例えば
1)から最大値(例えばn)までモジュロNで変化し、
単位波形区間が切換わる毎にこの変化を繰り返す信号で
ある。
【0005】単位波形区間位相データ発生回路103の
位相アドレスデータXがモジュロNの変化を1回繰り返
す毎にキャリー信号が出力され、単位波形繰返回数カウ
ンタ104にカウント入力CKが与えられる。カウンタ
104は与えられたキャリー信号をカウントし、発音開
始時から繰り返された単位波形区間の回数を示すカウン
トデータCVを出力する。
【0006】波形記憶装置105は複数の波形メモリW
1 〜WMN からなり、振幅が互いに近似したもの同志
を同じグループにまとめ,複数(N)のグループに分類
する。そして各グループに対応して設けられた波形メモ
リWM1 〜WMN に各グループに分類されたサンプル点
における振幅値のデータを夫々まとめて記憶している。
【0007】図16は振幅データのグループ分けの方法
を示す説明図である。本図に示すように、複数周期から
成る原楽音波形を時間軸に沿って等間隔で複数の単位波
形区間に分割する。そして各単位波形区間をN個のサン
プル点に分割し、第1の単位波形区間のサンプリング点
をP00,P01,P02・・・とする。そして第2の単位波
形区間のサンプリング点をP10,P11,P12・・・とす
る。このように各単位波形区間における第1から第Nま
での各サンプル点順位にしたがって、同じサンプル点順
位の振幅値を同じグループに分類する。即ち(P00,P
10,P20・・・),(P01,P11,P21・・・),(P
02,P12,P22・・・)を同一グループとする。こうし
て各サンプル点の振幅値をNグループに分類する。図1
7はこのようにして得られたグループ別の振幅データを
示す説明図である。
【0008】図17(b)は第1グループの各サンプル
点(P00,P10,P20・・・)に対応するアドレスにお
いて、振幅値の記憶容量をSビット(S<M、Mは波形
最大値を記憶するのに必要なビット数)とした例を示す
ものである。図17(b)は図15の第1グループ用の
波形メモリWM1 に記憶した各アドレス(1サンプル
点)のSビットの波形データを示している。このような
記憶方法によって、図17(a)の斜線部に示すような
最大振幅値Anを格納するためのビット数Mを、全ての
振幅データに割り当てるという無駄な波形記憶装置が不
要となる。これによって楽音データの記憶される記憶領
域を有効に活用することができる。
【0009】さて図15の各波形メモリWM1 〜WMN
のアドレス入力には、単位波形繰返カウンタ104の出
力CVが共通に与えられる。そしてカウントデータCV
によって示された繰り返し回数に対応して、単位波形区
間における全サンプル点1〜Nの波形データが各波形メ
モリWM1 〜WMN から並列的に読み出される。即ち最
初に1番目の単位波形区間の全サンプル点1〜Nがメモ
リWM1 〜WMN から同時に読み出され、これらのデー
タが同じ値を保持している間に位相アドレスデータXを
1からNまで順次変化させる。
【0010】次に各波形メモリWM1 〜WMN の出力は
セレクタ106に入力され、単位波形区間位相データ発
生回路103から発生された位相アドレスデータXの値
に応じて、各波形メモリWM1 〜WMN の何れか一つの
出力が選択される。そして図16に示す1番目の単位波
形区間において、サンプル点1からNまでの波形データ
(P00,P01,P02・・・)がセレクタ106で順次選
択される。次に波形メモリWM1 〜WMN の読み出しデ
ータが2番目の単位波形区間のものに切換わり、2番目
の単位波形区間のサンプル点の1からNまでの波形デー
タ(P10,P11,P12・・・)が1番目と同様にセレク
タ106で順次選択される。以下同様に波形メモリWM
1 〜WMN から読み出す単位波形区間の順位を次々に切
換え、各波形区間のサンプル点を1からNまで順次選択
を繰返す。こうして、セレクタ106の出力側には、複
数周期からなる原楽音波形の順次サンプル点の振幅値に
対応する波形データが出力され、原楽音波形に対応する
楽音信号が得られる。
【0011】
【発明が解決しようとする課題】しかしながら上記の従
来の構成では、1サンプル点のデータを記憶装置105
の1アドレスに格納しているので、格納語長が固定長で
供給されるような一般的な記憶装置では上位ビットの領
域で実質的に余白ができてしまうという問題があった。
そこで、このような構成の楽音合成装置及びデコード装
置では、余りビットの発生を避けるために、データの1
アドレスをビット単位毎で区切り、等価的に記憶装置の
1アドレスを複数のメモリブロックとして使用する等の
工夫が必要である。しかし、このように記憶装置105
の1アドレスを複数のメモリブロックとして使用する場
合には、現在必要でないサンプルのデータも同時に読み
出されるという問題を生じる。しかもこのデータは当面
不要なので有効に活用できないという欠点があった。
【0012】本発明の目的は、任意の語長を持つデータ
において、同じグループの数サンプル点のデータを、記
憶装置の同一アドレスに格納する場合を対象とする。即
ち、任意の語長を持つデータを複数サンプル点分ずつ同
一アドレスに格納すると、データのサンプル点とアドレ
スが一致しなくなる。又サンプル点をアドレスとして記
憶装置から直接データを読み出すことができない。更に
データの語長によっては1つのサンプル点が前後のアド
レスにまたがって格納される場合も発生する。
【0013】本発明はこのような従来の問題点に鑑みて
なされたものであって、このような目的のデータ格納方
式に対して、任意のサンプル点に対応するデータを記憶
装置から正確に取り出すことができ、かつ記憶装置の記
憶領域を有効に活用できるデコード装置及び楽音合成装
置を実現することを目的とする。
【0014】
【課題を解決するための手段】本願の請求項1の発明
は、格納語長をn(ビット)とし、データ語長m(ビッ
ト)単位で連続して書き込まれた記憶装置のデータをデ
ータ番号値iに基づいて読み出すためのデコード装置で
あって、データ番号値iとデータ語長mと格納語長nと
を入力とし、値a=int((i×m)/n)(実数x
を越えない最大の整数をint(x)とする)、値e=
mod(i×m,n)(実数xを実数yで割った剰余を
mod(x,y)とする)を演算し、aをアドレスAD
Rとして出力する制御値演算器と、制御値演算器の出力
値eと格納語長nとデータ語長mとを入力とし、値d=
mod((n−e),n)を演算し、値dとデータ語長
mの大小の比較結果を転送指令値Tとして出力する転送
制御器と、転送制御器の転送指令値Tに基づいて、記憶
装置からアドレスADRのデータDATの読み出しを制
御し前回読み出したデータDATを保持し、少なくとも
2つの隣接するアドレスのデータDATをシフトしてデ
ータDを出力するデータ保持器と、データ保持器の出力
値Dと制御値演算器の出力値e、格納語長n、データ語
長mに基づいて出力値Dから連続するmビットのデータ
D(i)を選択して出力するデータ選択器と、を具備す
ることを特徴とするものである。
【0015】本願の請求項2の発明は、格納語長をn
(ビット)とし、データ語長m(ビット)単位で連続
し、かつmの値が特定のアドレスで変化するように書き
込まれた記憶装置のデータをデータ番号値iに基づいて
読み出すためのデコード装置であって、データ語長mを
保持するm値保持器と、データ番号値iとデータ語長m
と格納語長nとを入力とし、値a=int((i×m)
/n)(実数xを越えない最大の整数をint(x)と
する)、値e=mod(i×m,n)(実数xを実数y
で割った剰余をmod(x,y)とする)を演算して出
力する制御値演算器と、制御値演算器の出力値aとオフ
セット値OFFとを入力とし、a+OFFを演算してア
ドレスADRとして出力するアドレス生成器と、制御値
演算器の出力値eと格納語長nとデータ語長mとを入力
とし、値d=mod((n−e),n)を演算し、値d
とデータ語長mの大小の比較結果を転送指令値Tとして
出力する転送制御器と、転送制御器の転送指令値Tに基
づいて、記憶装置からアドレスADRのデータDATの
読み出しを制御し前回読み出したデータDATを保持
し、少なくとも2つの隣接するアドレスADRのデータ
DATをシフトしてデータDを出力するデータ保持器
と、データ保持器の出力値Dと制御値演算器の出力値
e、格納語長n、データ語長mに基づいて出力値Dから
連続するmビットのデータD(i)を選択して出力とす
るデータ選択器と、外部よりクリア信号CLR1及び新
たなデータ語長mが入力されたときに、クリア信号CL
R1と値e=0の論理積の出力時に、制御値演算器に初
期化するためのクリア信号CLR,m値保持器にデータ
語長mを保持する保持信号CK1,アドレス生成器にそ
のときのアドレスADRをオフセット値OFFとして保
持するための保持信号CK2を夫々出力する更新制御器
と、を具備することを特徴とするものである。
【0016】本願の請求項8の発明は、格納語長をn
(ビット)とし、データ語長m(ビット)単位で楽音デ
ータが連続して書き込まれた記憶装置のデータを音高制
御値Sに基づいて読み出し、楽音を合成する楽音合成装
置であって、データを保持する第6,第7の保持器,音
高制御値Sと第6の保持器の値を加算し、この加算結果
をカウント制御値cとして出力すると共に、再び第6の
保持器に与える第5の加算器、第5の加算器の出力cと
第7の保持器の出力を加算し加算結果をデータ番号値i
として出力すると共に、再び第7の保持器に与える第6
の加算器を有するS値積分器と、データ番号値iとデー
タ語長mと格納語長nとを入力とし、値a=int
((i×m)/n)(実数xを越えない最大の整数をi
nt(x)とする)、値e=mod(i×m,n)(実
数xを実数yで割った剰余をmod(x,y)とする)
を演算し、aをアドレスADRとして出力する制御値演
算器と、制御値演算器の出力値eと格納語長nとデータ
語長mとを入力とし、値d=mod((n−e),n)
を演算し、値dとデータ語長mの大小の比較結果を転送
指令値Tとして出力する転送制御器と、転送制御器の転
送指令値Tに基づいて、記憶装置からアドレスADRの
データDATの読み出しを制御し前回読み出したデータ
DATを保持し、少なくとも2つの隣接するアドレスの
データDATをシフトしてデータDを出力するデータ保
持器と、データ保持器の出力値Dと制御値演算器の出力
値e、格納語長n、データ語長mに基づいて出力値Dか
ら連続するmビットのデータD(i)を選択して出力す
るデータ選択器と、を具備することを特徴とするもので
ある。
【0017】本願の請求項9の発明は、格納語長をn
(ビット)とし、データ語長m(ビット)単位で連続
し、かつmの値が特定のアドレスで変化するように単位
データが書き込まれた記憶装置のデータを音高制御値S
に基づいて読み出し、楽音を合成する楽音合成装置であ
って、データを保持する第6,第7の保持器,音高制御
値Sと第6の保持器の値を加算し、この加算結果をカウ
ント制御値cとして出力すると共に、再び第6の保持器
に与える第4の加算器、第5の加算器の出力cと第7の
保持器の出力を加算し加算結果をデータ番号値iとして
出力すると共に、再び第7の保持器に与える第6の加算
器を有するS値積分器と、データ語長mを保持するm値
保持器と、データ番号値iとデータ語長mと格納語長n
とを入力とし、値a=int((i×m)/n)(実数
xを越えない最大の整数をint(x)とする)、値e
=mod(i×m,n)(実数xを実数yで割った剰余
をmod(x,y)とする)を演算して出力する制御値
演算器と、制御値演算器の出力値aとオフセット値OF
Fとを入力とし、a+OFFを演算してアドレスADR
として出力するアドレス生成器と、制御値演算器の出力
値eと格納語長nとデータ語長mとを入力とし、値d=
mod((n−e),n)を演算し、値dとデータ語長
mの大小の比較結果を転送指令値Tとして出力する転送
制御器と、転送制御器の転送指令値Tに基づいて、記憶
装置からアドレスADRのデータDATの読み出しを制
御し前回読み出したデータDATを保持し、少なくとも
2つの隣接するアドレスADRのデータDATをシフト
してデータDを出力するデータ保持器と、データ保持器
の出力値Dと制御値演算器の出力値e、格納語長n、デ
ータ語長mに基づいて出力値Dから連続するmビットの
データD(i)を選択して出力とするデータ選択器と、
外部よりクリア信号CLR1及び新たなデータ語長mが
入力されたときに、クリア信号CLR1と値e=0の論
理積の出力時に、制御値演算器に初期化するためのクリ
ア信号CLR,m値保持器にデータ語長mを保持する保
持信号CK1,アドレス生成器にそのときのアドレスA
DRをオフセット値OFFとして保持するための保持信
号CK2を夫々出力する更新制御器と、を具備すること
を特徴とするものである。
【0018】
【作用】このような特徴を有する本願の請求項1の発明
によれば、制御値演算器は、データ番号値iとデータ語
長mと格納語長nが入力されると、値a=int((i
×m)/n)、及び値e=mod(i×m,n)を演算
して出力する。転送制御器は出力値eと格納語長nとデ
ータ語長mとが入力されると、値d=mod((n−
e),n)を演算し、値dとデータ語長mの大小の比較
結果に基づいて転送指令値Tを真又は偽とする信号を出
力する。データ保持器は、転送制御器の転送指令値Tが
真のとき、格納語長nのデータ保持領域を有する記憶装
置のアドレスADRからデータDATを読み出す。そし
て転送指令値Tが偽のとき、前回読み出したデータDA
Tを保持し、少なくとも2つの隣接するアドレスADR
のデータDATをシフトして保持する。そしてこの一連
のデータを出力値Dとして出力する。データ選択器は、
データ保持器の出力値Dと制御値演算器の出力値e、格
納語長n、データ語長mが入力されると、出力値Dから
mビットのデータD(i)を選択する。こうすると記憶
装置の格納語長nと一致していないデータ語長mのデー
タを連続して読み出すことができる。
【0019】又本願の請求項2の発明によれば、制御値
演算器は、データ番号値iとデータ語長mと格納語長n
が入力されると、値a=int((i×m)/n)、及
び値e=mod(i×m,n)を演算して出力する。そ
してデータ語長mが変化すると値aを0にリセットす
る。転送制御器は出力値eと格納語長nとデータ語長m
とが入力されると、値d=mod((n−e),n)を
演算し、値dとデータ語長mの大小の比較結果に基づい
て転送指令値Tを真又は偽とする信号を出力する。一
方、データ語長mを保持するm値保持器と、制御値演算
器の出力値aとオフセット値OFFが夫々入力される
と、アドレスADR=a+OFFを演算するアドレス生
成器を夫々設ける。次に更新制御器は、制御値演算器の
出力する値eが0のときに、クリア信号CLR1が入力
されると、制御値演算器を初期化するクリア信号CLR
を出力する。又m値保持器にデータ語長mの保持信号C
K1を出力し、アドレス生成器にオフセット値OFFの
保持信号CK2を出力する。次にデータ保持器は転送制
御器の転送指令値Tが真のとき、格納語長nのデータ保
持領域を有する記憶装置のアドレスADRからデータD
ATを読み出す。転送指令値Tが偽のとき、前回読み出
したデータDATを保持し、少なくとも2つの隣接する
アドレスADRのデータDATをシフトして保持する。
そしてこの一連のデータを出力値Dとして出力する。デ
ータ選択器は、データ保持器の出力値Dと制御値演算器
の出力値e、格納語長n、データ語長mが入力される
と、出力値DからmビットのデータD(i)を選択す
る。こうするとデータ語長mが途中で変化しても、デー
タ語長mと異なる格納語長nを有する記憶装置から連続
してデータを読み出すことができる。
【0020】更に本願の請求項8,9の発明によれば、
記憶装置には楽音データが記憶されており、請求項1又
は2の作用に加えて、S値積分器は、音高を示す制御値
Sが入力されると、この値Sを第4の加算器に与え、第
6の保持器の値と加算する。更に第4の加算器の桁上げ
値は、カウント制御値cとして制御値演算器に入力され
る。又この値cを第5の加算器に与え、第7の保持器の
値と加算し、累積加算値をデータ番号値iとする。こう
すると音高が標準値より変化しても、記憶装置に格納し
た標準音高のデータから所望のデータを生成することが
できる。
【0021】
【実施例】以下本発明の第1の実施例の楽音合成装置及
びデコード装置について、図面を参照しながら説明す
る。図1は本発明の第1実施例における楽音合成装置及
びデコード装置の構成を示すブロック図である。尚、楽
音合成装置には従来例と同様、鍵盤部101,押鍵検出
回路102,単位波形区間位相データ発生回路103,
単位波形繰返回数カウンタ104,波形記憶装置105
が設けられており、それらの説明は省略する。ここでは
デコード装置のみについて構成を説明する。
【0022】図1において、本実施例のデコード装置に
は入力端子1,2,3,4が設けられる。データ語長m
の信号は入力端子1に、CLR1の信号は入力端子2
に、データDATの信号は入力端子3に、カウント制御
値cは入力端子4に夫々与えられる。又デコード装置
は、制御値演算器5,転送制御器6,データ保持器7,
データ選択器8を夫々有し、信号を出力端子9,10か
ら出力する。出力端子9はデータ選択器8のデータWD
を出力し、出力端子10は制御値演算器5のアドレスA
DRを出力する。このように構成されたデコード装置1
3は、押鍵検出回路102から楽器の種類を示す信号
と、音高を示すキーコードKCとが入力されると、単位
波形区間位相データ発生回路103が動作し、入力端子
4に基本波形の読み出しクロックとなるカウント制御値
cが入力される。そして出力端子10に接続された記憶
装置105(図示せず)のデータを読み出すためのアド
レスADRを出力し、記憶装置105から読み出された
データDATを入力端子3を介して入力し、楽音信号の
基本波形となる各サンプリング点の振幅データを出力す
る。
【0023】図2は本発明の第1実施例における制御値
演算器5の構成を示すブロック図である。本図において
制御値演算器5には入力端子31〜34が夫々設けられ
る。入力端子31にはデータ語長m、入力端子32は固
定値0(ゼロ)、入力端子33には真又は偽を示すカウ
ント制御値cが入力され、これらは選択器35に与えら
れる。選択器35はカウント制御値cが真であればデー
タ語長m、偽であれば固定値0を選択するものである。
そしてその選択出力は第1の加算器36に与えられる。
加算器36の桁上げ出力は第2の加算器37に与えられ
る。第2の加算器37は第2の保持器38の保持出力が
与えられており、これらを加算するものである。又加算
器36は第1の保持器39からの保持出力が与えられ、
これらを加算するものである。入力端子34は保持器3
8,39の値をクリアするクリア信号CLRが入力され
る入力端子である。
【0024】第1の加算器36は保持器39に保持され
ている下位nビットの信号を入力し、選択器35の出力
信号を加算する回路である。そして加算器36は下位n
ビットを越える信号が入力されると、オーバフローを起
こし、桁上げ出力を第2の加算器37に出力する。従っ
て実数xを越えない最大の整数をint(x)と表現す
ると、加算器37は機能的にa=int((i×m)/
n)を生成するものとなり、出力端子40より信号aが
出力される。又実数xを実数yで割った剰余をmod
(x,y)と表現すると、加算器36は、e=mod
((i×m),n)を生成するものであり、信号eは出
力端子41より出力される。
【0025】図3は本実施例における転送制御器6及び
データ保持器7の構成を示すブロック図である。転送制
御器6において入力端子42は、記憶装置105の各ア
ドレスの格納語長を示す固定値nの入力端子である。入
力端子44は制御値演算器5から得られる値eの入力端
子である。又入力端子45は基本波形の振幅データのビ
ット幅を示すデータ語長mの入力端子である。減算器4
3は固定値nから値eを減算するものであり、その出力
は剰余器46に与えられる。剰余器46はmod((n
−e),n)を演算する剰余器であり、その出力dは比
較器47に与えられる。比較器47はデータ語長mと剰
余値dとを比較し、d<mのとき論理値を示す転送指令
値Tを真とし、d≧mのとき転送指令値Tを偽とするも
のである。この転送指令値Tはデータ保持器7に与えら
れる。又データ保持器7には入力端子52を介して記憶
装置105から読出されたデータDATが与えられる。
このデータDATは記憶装置105の格納語長と等し
く、nビット構成となっており、第3の保持器53に与
えられる。保持器53は比較器47の出力する転送指令
値Tが真のとき、入力データDATを保持するものであ
る。又第4の保持器54は第3の保持器53の出力デー
タを再び保持するものである。第3,第4の保持器5
3,54は夫々値Dの上位nビット及び下位nビットを
保持するものであり、この2nビットの出力Dは出力端
子55から出力される。
【0026】図4はデータ選択器8の構成を示すブロッ
ク図である。本図において入力端子61〜65は、夫々
値D、シフトロード信号(SL)、値e、データ語長
m,格納語長nの入力端子である。第3の加算器66は
値eと値nとを加算するもので、その出力は減算器67
に与えられる。減算器67はこの加算出力(n+e)か
らデータ語長mを減算するもので、減算出力はシフトパ
ルス発生器68に与えられる。シフトパルス発生器68
は減算値(n+e−m)をシフトパルスckとしてシフ
トレジスタ69に与えるものである。シフトレジスタ6
9は値Dを入力する2nビット、例えばnを16とする
と、32ビットのパラレル入力端子を有する。そしてシ
フトロード信号SLの印加時にこのデータを入力し、保
持データをシフトパルス数だけ下位ビット方向にシフト
し、そのシフト出力WDを出力端子70より出力するも
のである。
【0027】このように構成された第1実施例の楽音合
成装置及びデコード装置の動作について説明する。まず
始めに、本発明の第1実施例で用いられる制御値演算器
5,転送制御器6,データ保持器7,データ選択器8の
動作を夫々部分的に説明する。
【0028】(1)制御値演算器5の動作説明 図2において、制御値演算器5の入力端子34にCLR
=Lが入力されると、保持器38,39の保持値は0
(ゼロ)にクリアされる。入力端子33にc=偽が入る
と、選択器35は値0を選択する。入力端子33にc=
真が入ると、選択器35はデータ語長mを選択する。選
択器35の出力値は第1の加算器36で第1の保持器3
9の出力と加算され、その加算値が第1の保持器39に
再度保持される。
【0029】第1の加算器36の桁上げ出力は第2の加
算器37で第2の保持器38の出力と加算され、第2の
保持器38に再度保持される。即ち第1及び第2の保持
器39、38にはc=真の回数(=i)だけデータ語長m
が加算されるから、i×mビットの信号が第1の保持器
39に保持されることになる。固定値n=24 の場合、
第1の加算器36は4ビット加算器とし、第1の保持器
39も4ビットとする。尚、第2の加算器37及び第2
の保持器38の語長は記憶装置105の読み出しアドレ
ス長で決まり、1ビット以上で任意に設定する。第2の
加算器37の出力値aはint((i×m)/n)とな
り、出力端子40より出力される。又、第1の加算器3
6の出力値eはmod(i×m,n)となり、出力端子
41より出力される。
【0030】(2)転送制御器6の動作説明 図3において、引算器43で転送制御器6の入力端子4
2に入力される固定値nから、入力端子44に得られた
値eが引算され、剰余器46でnによる剰余値d=mo
d((n−e),n)が演算される。又、剰余値dと入
力端子45に得られたデータ語長mとが比較器47に入
力される。d<mのとき比較器47の転送指令値Tが真
となり、d≧mのときTは偽となる。
【0031】(3)データ保持器7の動作説明 図3のデータ保持器7の入力端子52の入力データDA
Tは、入力端子51の転送指令値Tが真のとき第3の保
持器53に保持される。このとき前回入力された第3の
保持器53のデータは第4の保持器54に転送される。
第3の保持器53及び第4の保持器54の出力は、夫々
値Dの上位nビット,下位nビットを構成し、2nビッ
トの値Dは出力端子55から出力される。
【0032】(4)データ選択器8の動作説明 図4において、データ選択器8の入力端子61から値D
が入力される。このとき入力端子62からはシフトロー
ド信号(SL)が入力され、シフトレジスタ69は値D
をパラレル入力とするロード状態となり、次にシフト状
態となる。一方、入力端子63から値eが入力され、入
力端子65から固定値nが入力され、加算器66で加算
される。引算器67では加算器66の出力値から入力端
子64から入力されたデータ語長mが引算される。シフ
トパルス発生器68は、引算器67の出力値と同じ数だ
けシフトパルスを発生し、シフトレジスタ69の入力端
子CKに与える。このためシフトレジスタ69は値Dを
(e+n−m)ビットだけ下位方向にシフトする。そし
てシフトされた値は例えば12ビットのパラレル出力端
から出力され、出力端子70から出力データWDが得ら
れる。
【0033】次に本発明の第1実施例における楽音合成
装置としての動作を総合的に説明する。先ず電子楽器に
おいて、鍵盤部101から再生楽器の種類を指定する
と、基本波形の形状,最大振幅,繰り返し回数が決定さ
れるので、楽音信号のデータ語長mが決まる。このため
図1の入力端子1からデータ語長mが入力され、更に基
本波形のサンプリングを行うため、入力端子4からカウ
ント制御値cが入力される。このとき制御値演算器5は
値cが真になった回数をデータ番号値iとして出力値
a、eを夫々演算する。制御値演算器5の出力aは出力
端子10から記憶装置105にアドレスADRとして出
力される。制御値演算器5の出力eは転送制御器6に入
力される。転送制御器6にはデータ語長mも入力されて
おり、d<mのときTが真になる。
【0034】一方、データ保持器7には、アドレスAD
Rで指し示されたのデータDATが記憶装置105から
読み出され、そのデータが入力端子3(52)から入力
される。転送制御器6の転送指令値Tが真になると、デ
ータ保持器7はデータDATを保持する。データ保持器
7の2nビットの値Dはデータ選択器8に与えられる。
【0035】ここで、以上の動作によってどのように振
幅データが出力されるかを図5〜図8を用いて説明す
る。図5は記憶装置105のアドレス/データマップで
あり、図6はc=真になった回数iに従って、i×m、
e、d、T、a、ckの値がどのように変化するかをま
とめた説明図である。又図7,図8は同じくデータ番号
値iの値に従って、データ保持器7より出力する値Dが
どのように変化するかを図示した説明図である。
【0036】特定の楽音波形を再生する前には、i=0
(初期状態)となり、入力CLR1をLとする。ここで
サンプリングされた振幅データのデータ語長mを10ビ
ットとし、記憶装置105の各アドレスにおける格納語
長nを16ビットとする。この場合図6に示すように、
i=0ではi×m=0となる。そして値e=0であり、
d=0となり、Tが真になる。従ってa=int((0
×10)/16)=0となり、アドレスADR=0(A
DR(0)と表す)になる。又ck=0+16−10=
6となる。
【0037】さてTの初期値を真とすると、図3に示す
第3及び第4の保持器53,54のデータは図4のシフ
トレジスタ69に転送される。図6のi=0では、ck
=6であり、シフトパルス発生器68は6カウントのシ
フトパルスckをシフトレジスタ69に与える。このた
めシフトレジスタ69は図7(a)に示す前回の値D
(データ)をD(−1)と表すと、データD(−1)を
下位方向に6ビットシフトし、その下位出力端より10
ビットの出力データWDを出力する。このようにして記
憶装置105のアドレスADR(−1)に格納された前
回データD(−1)が先ず読み出される。
【0038】次に特定の基本波形のカウント制御値cが
入力されると、その入力回数が計数され、i=1とな
る。このため図6に示すように、i×m=1×10=1
0となる。又e=mod(i×m,n)=mod(1
0,16)=10となる。従ってd=mod((16−
10),16)=6となる。そして6<10となるの
で、Tが真となる。このときa=int((1×10)
/16)=0となり、アドレスADR=0になる。又c
k=10+16−10=16となる。
【0039】Tの前回値(i=0)は真であり、第3及
び第4の保持器53,54は図5の最上段に示すように
記憶装置105のアドレスADR(0)に示すデータを
読み出し、そのデータを保持する。次にこのデータはシ
フトレジスタ69に転送される。図6のi=1では、c
k=16であり、シフトパルス発生器68は16カウン
トのシフトパルスckをシフトレジスタ69に与える。
このためシフトレジスタ69は図7(a)に示すアドレ
スADR(0)のデータD(0)を下位方向に16ビッ
トシフトし、その下位出力端より10ビットのデータW
Dを出力する。このようにして記憶装置105のアドレ
スADR(0)に格納されたデータD(0)が読み出さ
れ、出力端70(9)より出力データWDが得られる。
【0040】次のカウント制御値cが入力されると、そ
の入力回数が計数され、i=2となる。i=2ではi×
m=2×10=20となるから、e=mod(20,1
6)=4となる。従ってd=mod((16−4),1
6)=12となる。そして12>10となるので、Tが
偽となる。このときa=int((2×10)/16)
=1となり、前回(i=1)のTが真であるので、第3
及び第4の保持器53,54は、図5の2段目に示す記
憶装置105のADR(1)のデータを読み出す。この
ため第3及び第4の保持器53,54の保持データは図
7(b)に示す状態となる。一方、ck=4+16−1
0=10となる。このデータはシフトレジスタ69に転
送され、i=3となれば、10ビット下位方向にシフト
され、10ビットのデータD(1)が読み出される。
【0041】同様にしてi=3ではi×m=3×10=
30となるから、e=mod(30,16)=14とな
る。従ってd=mod((16−14),16)=2と
なる。そして2<10となるので、Tが真となる。この
ときa=int((3×10)/16)=1となり、前
回(i=2)のTが偽であるので、第3及び第4の保持
器53,54は記憶装置105のADR(0),(1)
のデータをそのまま保持する。このため第3及び第4の
保持器53,54の保持データは図7(b)と同一の
(c)となる。一方、ck=14+16−10=20と
なる。このデータはシフトレジスタ69でi=4となれ
ば、20ビット下位方向にシフトされ、10ビットのデ
ータD(2)が読み出される。
【0042】i=4ではi×m=4×10=40となる
から、e=mod(40,16)=8となる。従ってd
=mod((16−8),16)=8となる。そして8
<10となるので、Tが真となる。このときa=int
((4×10)/16)=2となり、前回(i=3)の
Tが真であるので、第3及び第4の保持器53,54は
図5に示す記憶装置105のADR(2)のデータを読
み出して保持する。このため第3及び第4の保持器5
3,54の保持データは図7(d)の状態となる。一
方、ck=8+16−10=14となる。このデータは
シフトレジスタ69でi=5となれば、14ビット下位
方向にシフトされ、10ビットのデータD(3)が読み
出される。
【0043】以下同様にしてi=5ではi×m=50と
なるから、e=2,d=14,Tは偽となる。このとき
a=3なのでADR=3になる。更にTの前回値=真な
ので第3及び第4の保持器53,54の転送が行われ、
その保持データは図8(e)に示す状態となる。このデ
ータはシフトレジスタ69でi=6となれば、8ビット
下位方向にシフトされ、10ビットのデータD(4)が
読み出される。
【0044】i=6ではi×m=60となるから、e=
12,d=4,Tは真となる。このときa=3なのでA
DR=3になる。更にTの前回値=偽なので第3及び第
4の保持器53,54の転送が行われず、その保持デー
タは図8(f)に示す状態となる。このデータはシフト
レジスタ69でi=7となれば、18ビット下位方向に
シフトされ、10ビットのデータD(5)が読み出され
る。
【0045】i=7ではi×m=70となるから、e=
6,d=10,Tは偽となる。このときa=4なのでA
DR=4になる。更にTの前回値=真なので第3及び第
4の保持器53,54の転送が行われ、その保持データ
は図8(g)に示す状態となる。このデータはシフトレ
ジスタ69でi=8となれば、12ビット下位方向にシ
フトされ、10ビットのデータD(6)が読み出され
る。
【0046】i=8ではi×m=80となるから、e=
0(=16),d=0,Tは真となる。このときa=5
なのでADR=5になる。更にTの前回値=偽なので第
3及び第4の保持器53,54の転送が行われず、その
保持データは図8(h)に示す状態となる。このデータ
はシフトレジスタ69でi=9となれば、22ビット下
位方向にシフトされ、データD(7)が読み出される。
【0047】このように第3の保持器53にはデータの
最後のビットが必ず存在することになる。つまり第3の
保持器53と第4の保持器54はいわゆるキャッシュメ
モリを構成していて、キャッシュメモリにデータがあれ
ばそこからデータを取り出し、値の一部または全部がな
くなるとキャッシュ領域を更新するのである。そしてi
番目の振幅データD(i)を出力しているとき、データ
保持器7の出力Dにはつねに第i+1番目のデータD
(i+1)を保持することになる。従ってデータ保持器
7の出力値Dからデータ選択器8に第i+1番目のデー
タD(i+1)を含むように転送すればよい。又データ
選択器8はe+n−mビットだけ入力値Dを下位ビット
方向にシフトして出力端子よりmビット分を出力するこ
とにより、出力データWD(i)が得られ、所望の楽音
信号の合成が可能となる。
【0048】以上のように第1実施例によれば、データ
番号値iとデータ語長mと格納語長nからa=int
((i×m)/n)及びe=mod(i×m,n)を演
算して出力する制御値演算器5を設ける。そして制御値
演算器5の出力値eと格納語長nから、d=mod
((n−e),n)を演算して、d<mであれば転送指
令値T=真を出力する転送制御器6を設ける。そして転
送制御器6の転送指令値Tが真のとき、制御値演算器5
の出力aをアドレスADRとするデータを記憶装置10
5から読み出す。そして記憶装置105の格納語長nの
データDATを、第3の保持器53に取り込み、かつ第
4の保持器54に第3の保持器53の値を転送する。次
に第3及び第4の保持器53,54の値を出力値Dとす
るデータ保持器7を設け、データ保持器7の出力値Dと
制御値演算器5の出力eとデータ語長mが夫々入力さ
れ、出力値Dのうち第n+e−m+1ビット〜第n+e
ビットまでの語長mのデータを選択出力するデータ選択
器8を設け、制御値演算器5はデータ番号値iに基づい
て任意のビット長で記録された波形データを記憶装置1
05からアクセスすることを可能にしている。
【0049】更に第1実施例によれば、c=真の回数分
だけデータ語長mを累積加算する制御値演算器5を設け
ることにより、高価な乗算器を用いることなくi×mを
演算している。さらに格納語長nを2のベキ乗(第1実
施例の場合4乗)に選ぶことにより、高価な除算器を用
いることなくa、eの演算を可能にしている。またnを
2のベキ乗に選ぶことにより、転送制御器6内の剰余器
46は引算器43の出力をそのまま用いてよく、実質的
に回路を簡単にすることができる。
【0050】次に本発明の第2実施例におけるデコード
装置及び楽音合成装置について説明する。図9は本発明
の第2実施例の楽音合成装置に設けられるデコード装置
20の構成を示すブロック図である。本図において、デ
ータ語長mの入力端子1,CLR1の入力端子2,DA
Tの入力端子3,カウント制御値cの入力端子4,制御
値演算器5,転送制御器6,データ保持器7,データ選
択器8,データWDの出力端子9,アドレスADRの出
力端子10が夫々設けられていることは第1実施例と同
様であり、その説明は省略する。又、従来例と同様、鍵
盤部101,押鍵検出回路102,単位波形区間位相デ
ータ発生回路103,単位波形繰返回数カウンタ10
4,波形記憶装置105が設けられており、それらの説
明も省略する。ここではデコード装置20のみについて
構成を表示する。
【0051】第1実施例と異なり、本実施例にはアドレ
ス生成器16,データ語長mを保持するm値保持器1
8,更新制御器19が夫々設けられる。このように構成
された破線で示すデコード装置20において、図1と異
なるのは、制御値演算器5の出力eが0でクリア信号C
LR1が入力されたときに、アドレス生成器16に対し
現在のアドレスを保持させる保持信号CK2を出力し、
m値保持器18に対し新たなデータ語長mを保持させる
保持信号CK1を出力し、制御値演算器5に対しクリア
信号CLRを夫々出力する更新制御器19を設けた点で
ある。
【0052】図10は図9のアドレス生成器16及び更
新制御器19の構成を示すブロック図である。図10に
おいて、アドレス生成器16は、値aの入力端子71,
CLR1の入力端子72,保持信号CK2の入力端子7
3,第4の加算器74,第5の保持器75,アドレスA
DRの出力端子76が夫々設けられている。又更新制御
器19は、値eの入力端子91,ゼロ判定器92,アン
ド回路93,タイミング生成器94,CLRの出力端子
95,CK1の出力端子96,CK2の出力端子97が
夫々設けられる。
【0053】このように構成された第2実施例の楽音合
成装置及びデコード装置の動作について部分的に説明す
る。 (5)アドレス生成器16の説明 図10において、初期時にCLR1の入力端子72がL
になり、第5の保持器75の保持値は0になる。入力端
子71からの入力値aと保持器75のオフセット出力O
FFが第4の加算器74で加算され、その加算値は記憶
装置105のアドレスADRとなる。保持器75は、新
たな保持信号CK2が入力される直前のアドレスADR
をオフセット値OFFとして保持し、以後加算器74は
保持器75の出力OFFと入力値aを加算し、加算値a
+OFFをアドレスADRとして出力端子76を介して
出力する。
【0054】(6)更新制御器19の説明 図10において、入力端子91からの入力値eはゼロ判
定器92でその大きさが判定される。値eが0であれ
ば、ゼロ判定器92の出力Qが真となる。このときクリ
ア信号CLR1が入力されればアンド回路93の論理積
条件が成立し、タイミング生成器94はクリア信号CL
R,保持信号CK1,CK2を各々出力端子95,9
6,97から出力する。
【0055】(7)デコード装置20の動作説明 図9において、入力端子1からデータ語長mが入力され
る。さらに入力端子4から特定の基本波形のカウント制
御値cが入力される。このとき制御値演算器5は第1実
施例で説明したように、値cが真になった回数をデータ
番号値iとして出力値a=int((i×m)/n),
及びe=mod(i×m,n)を出力する。
【0056】次に制御値演算器5の出力aはアドレス生
成器16に入力され、アドレスADRが演算され、出力
端子10から記憶装置105のデータを読み出すアドレ
スADRが出力される。一方、制御値演算器5の出力e
は転送制御器6及び更新制御器19に夫々入力される。
転送制御器6にはデータ語長mも入力されており、第1
実施例と同様、d<mが成立するとき転送指令値Tが真
となる。又、データ保持器7には、記憶装置105のア
ドレスADR(a+OFF)のデータDATが入力端子
3から入力される。そして転送制御器6の転送指令値T
が真になると、データ保持器7はデータDATを保持す
る。データ保持器7の2nビットの出力値Dはデータ選
択器8に転送される。
【0057】ここで、各回路部の動作によってどのよう
に振幅データが出力されるかを図11,図12を用いて
総合的に説明する。図11は記憶装置105のアドレス
/データマップであり、図12はデコード装置20のc
=真になった回数iに従って、i×m,e,d,T,
a,OFF,ADR,ckの値が夫々どのように変化す
るかをまとめた説明図である。
【0058】例えば再生すべき楽器の種類がダイナミッ
クレンジの広いものに変わり、最初にデータ語長m=1
2の振幅データが入力されるとする。図12のi=0
(初期状態)ではクリア信号CLR1=Lとすることに
よって、図10に示すアドレス生成器16のオフセット
値OFFは0になる。記憶装置105の各アドレスにお
ける格納語長nを16ビットとすると、i×m=0とな
る。この場合、値e=0であり、d=0となり、転送指
令値Tが真になる。このときa=int((0×12)
/16)=0となり、アドレスADR=0になる。又c
k=0+16−12=4となる。ここでクリア信号を入
力すると、更新制御器19からデータ語長m=12をm
値保持器18へ取り込む保持信号CK1が出力される。
又アドレス生成器16に対し現在のアドレスを保持させ
る信号CK2を与え、制御値演算器5をクリアする。こ
の場合ADR=OFF+a=0+0=0となる。
【0059】そして前回(i=−1)のデータD(−
1)があれば、データ選択器8のシフトレジスタ69に
転送する。ここではckの値が4であるので、下位方向
にデータを4ビットシフトし、12ビットのデータD
(−1)を出力する。
【0060】次に今回の基本波形のカウント制御値cが
入力されると、その入力回数が計数され、i=1とな
る。このためi×m=1×12=12となる。又e=m
od(i×m,n)=mod(12,16)=12とな
る。従ってd=mod((16−12),16)=4と
なる。そして4<12となるので、Tが真となる。この
ときa=int((1×12)/16)=0となり、ア
ドレスADR=0になる。又ck=12+16−12=
16となる。
【0061】Tの前回値(i=0)は真であり、第3及
び第4の保持器53,54は図11の最上段に示すよう
に、記憶装置105のアドレスADR(0)のデータを
読み出し、そのデータを保持する。次にこのデータを図
4のシフトレジスタ69に転送する。図12のi=1で
は、ck=16であり、シフトパルス発生器68は16
カウントのシフトパルスckをシフトレジスタ69に与
える。このためシフトレジスタ69はアドレスADR
(0)のデータD(0)を下位方向に16ビットシフト
し、その下位出力端より12ビットのデータD(0)を
出力する。
【0062】以下第1実施例と同様にして、i=2では
i×m=24となるから、e=8,d=8,転送指令値
Tは真となる。このときa=1なのでADR=(1)に
なる。更にTの前回値(i=1)は真なので、データ保
持器7に記憶装置105のADR(1)のデータが読み
出されて保持される。このとき第3の保持器53には図
11のADR(1)に示すデータが保持され、ADR
(0)のデータは第4の保持器54に転送される。この
データはシフトレジスタ69に転送され、i=3となれ
ば、12ビット下位方向にシフトされ、12ビットのデ
ータD(1)が読み出される。
【0063】次にi=3ではi×m=36となるから、
e=4,d=12となり、転送指令値Tが偽となる。こ
のときa=2なのでADR=2になる。更にTの前回値
(i=2)は真なので、データ保持器7に記憶装置10
5のADR(2)のデータが読み出されて保持される。
このデータはシフトレジスタ69に転送され、i=4と
なれば、8ビット下位方向にシフトされ、12ビットの
データD(2)が読み出される。
【0064】又、i=4ではi×m=48となるから、
e=0,d=0,転送指令値Tが真となる。このときa
=3なのでADR=3になる。又Tの前回値(i=3)
=偽なので、データ保持器7はADR2のデータを保持
している。i=5となれば、4ビット下位方向にシフト
され、12ビットのデータD(3)が読み出される。
【0065】さて振幅データのビット幅が変化し、入力
端子1に入力されるデータ語長mを10として入力し、
同時にCLR1=1とする。このとき図10に示す第5
の保持器75に保持された現在の値aは0、ADRは3
であり、更新制御器19のゼロ判定器92に入力される
eは0である。従って更新制御器19はクリア信号CL
Rと保持信号CK1を夫々出力し、アドレス生成器16
の第5の保持器75に対し現在のアドレスを保持させる
信号CK2を与える。このためADR=3が第5の保持
器75で保持され、そのOFF値は3となる。更に図9
のm値保持器18に新たなデータ語長mを保持させる信
号CK1が入力される。又、制御値演算器5のクリア端
子にもクリア信号CLRが入力され、同一語長のカウン
ト制御値cの入力回数を示すデータ番号値iも一旦0に
クリアされる。
【0066】図12に示すように、新たなi=1でデー
タ語長m=10のカウント制御値cが入力されると、i
×m=10となるから、e=10,d=6,転送指令値
Tが真となる。このとき制御値演算器5の出力するaは
0であり、図10の第4の加算器74の出力するADR
=a+OFF=0+3=3となる。更にTの前回値(i
=4)が真なので、記憶装置105のADR(3)のデ
ータが読み出され、データ保持器7に保持される。次に
このデータはデータ選択器8に転送される。そしてi=
2となれば、16ビット下位方向にシフトされ、10ビ
ットのデータD(4)が読み出される。
【0067】新たなi=2で引き続き10ビットのデー
タが入力されると、i×m=20となるから、e=4,
d=12,転送指令値Tが偽となる。このとき制御値演
算器5の出力aは1となり、アドレス生成器16の出力
はADR=4となる。更にTの前回値が真なので、デー
タ保持器7は記憶装置105のADR(4)のデータの
読み出しを行い、そのデータを保持する。次にこのデー
タはデータ選択器8に転送される。そしてi=3となれ
ば、10ビット下位方向にシフトされ、10ビットのデ
ータD(5)が読み出される。
【0068】同様にi=3ではi×m=30となるか
ら、e=14,d=2,転送指令値Tが真となる。この
ときa=1なので、アドレス生成器16の出力はADR
=4である。更にTの前回値が偽なので、データ保持器
7は記憶装置105のデータを入力せず、前に保持した
データを再度データ選択器8に与える。そしてi=4と
なれば、20ビット下位方向にシフトされ、10ビット
のデータD(6)が読み出される。
【0069】このようにi番目のデコード処理の途中で
データ語長mが変更されても、データ保持器7の出力D
には常に第i−1番目のデータD(i−1)を含むこと
になる。従って、保持された値Dの中から第i−1番目
のデータD(i−1)を取り出すことができる。次にデ
ータ保持器7の出力をデータ選択器8に入力する。そう
するとデータ選択器8はe+n−mビットだけ値Dを下
位ビット方向にシフトし、データWDを出力する。この
ため第i−1番目の出力データWDが得られ、所望の振
幅データを出力することができる。
【0070】以上のように第2実施例によれば、データ
語長mを保持するm値保持器18と、データ番号値iと
データ語長mと格納語長nからa=int((i×m)
/n)及びe=mod(i×m,n)を演算して出力す
る制御値演算器5を夫々設ける。又制御値演算器5の出
力aとオフセット値OFFからADR=a+OFFを演
算するアドレス生成器16と、制御値演算器5の出力e
と格納語長nからd=mod((n−e),n)を演算
して、dがデータ語長mに対しd<mであれば転送指令
値T=真を出力する転送制御器6を夫々設ける。転送制
御器6の転送指令値Tが真のときアドレス生成器16の
出力ADRで番地が指定され、記憶装置105から格納
語長nのデータDATを読み出す。そしてこのデータD
ATを第3の保持器53に取り込み、かつ第4の保持器
54に第3の保持器53の値を転送する。次に第3及び
第4の保持器53,54の値を出力値Dとするデータ保
持器7を設け、データ保持器7の出力値Dと制御値演算
器5の出力eとデータ語長mが夫々入力され、出力値D
から連続するmビットを選択するデータ選択器8を設け
る。制御値演算器5の出力eが0のときCLR出力をL
にし、かつm値保持器18に新しいm値を保持する保持
信号CK1と、アドレス生成器16に現在のアドレス値
をオフセット値として保持する保持信号CK2を出力す
る更新制御器19を設ける。そして制御値演算器5は更
新制御器19のCLR出力がLのときカウント値iを0
にし、アドレス生成器16はクリア入力CLR1が入力
され、e=0のときオフセット値OFFを0にする。こ
うすると任意のビット長で記録された波形データを随時
アクセスでき、かつデータ語長mを途中で変更すること
ができる。
【0071】更に第2実施例によれば、c=真の回数分
だけmを加算する制御値演算器5を設けることにより、
高価な乗算器を用いることなくi×mを演算できる。又
格納語長nを2のベキ乗(第2実施例の場合4乗)に選
ぶことにより、高価な除算器を用いることなく、a,e
の演算が可能となる。更に格納語長nを2のベキ乗に選
ぶことにより、転送制御器6内の剰余器46は引算器4
3の出力をそのまま用いてよく、実質的に回路を簡単に
することができる。そして任意のビット長で記録された
振幅データをアクセスでき、かつビット長を途中で変更
することができる。
【0072】次に本発明の第3実施例における楽音合成
装置及びデコード装置について、図面を参照しながら説
明する。図13は第3実施例における楽音合成装置及び
デコード装置の構成を示すブロック図である。本図にお
いて、データ語長mの入力端子1,CLR1の入力端子
2,DATの入力端子3,カウント制御値cの入力端子
4,制御値演算器5,転送制御器6,データ保持器7,
データ選択器8,データWDの出力端子9,アドレス値
ADRの出力端子10が夫々設けられていることは第1
実施例と同様であり、その部分の説明は省略する。
【0073】本実施例のデコード装置13を含む楽音合
成装置には、積分器11,S値の入力端子12,値iの
出力端子14,積分値IWDの出力端子15,S値積分
器17が夫々設けられている。又図14はS値積分器1
7の構成を示すブロック図である。
【0074】まず図14のS値積分器17について説明
する。S値積分器17の入力端子81に楽音の音高を決
める音高制御値Sが入力される。音高制御値Sは例えば
基本波形から標準音高を生成するときS=1(10進
数)となり、これより低い音高ではS<1、高い音高で
は整数部と小数部を含むS>1なる値とする。音高制御
値Sは第5の加算器82に与えられ、第6の保持器83
の出力と加算される。第5の加算器82の桁上げ出力c
は第6の加算器84に与えられ、第7の保持器85の出
力と加算される。又第5の加算器82の出力は第6の保
持器83で再保持され、第6の加算器84の出力は第7
の保持器85で再保持される。次に第5の加算器82の
桁上げ出力がカウント制御値cとして出力端子86から
出力され、第6の加算器84の並列の出力がデータ番号
値iとしてi値生成器88の出力端子87から出力され
る。このような構成のS値積分器17が出力するデータ
番号値iは、必要とする記憶装置105のデータの番号
となる。
【0075】さて第3実施例における楽音合成装置の動
作を説明する。図13において入力端子12から音高制
御値Sが入力されると、この値はS値積分器17で積分
される。Sの積分出力cが真(桁上げ動作時)になる
と、その出力回数が加算器84と保持器85で累積加算
され、データ番号値iを生成する。又これと同時に第i
−1番目のデータを記憶装置105から読み出す必要が
生じる。そこでデコード装置13にc=真を入力端子4
から入力すると、デコード装置13は第1実施例と同様
の動作を行い、第i−1番目のデータWDを出力端子9
から出力する。
【0076】データD(n)が楽音波形の差分値で構成
されている場合には、データ選択器8の出力するデータ
WDを積分器11に入力し、前回データWDに加算する
ことにより、現在の波高値IWDを得る。
【0077】このように第3実施例によれば、データ番
号値iとデータ語長mと格納語長nからa=int
((i×m)/n)及びe=mod(i×m,n)を演
算して出力する制御値演算器5を設ける。そして制御値
演算器5の出力eと格納語長nからd=mod((n−
e),n)を演算し、値dがデータ語長mに対しd<m
であれば転送指令値T=真を出力する転送制御器6を設
ける。又転送制御器6の転送指令値Tが真のとき、制御
値演算器5の出力aをアドレスADRとするデータを記
憶装置105から読み出す。そして記憶装置105の格
納語長nのデータDATを第3の保持器53に取り込
み、かつ第4の保持器54に第3の保持器53の値を転
送する。次に第3及び第4の保持器53,54の値を出
力値Dとするデータ保持器7を設け、データ保持器7の
出力値Dと制御値演算器5の出力eとデータ語長mが夫
々入力され、出力値Dのうち第n+e−m+1ビット〜
第n+eビットまでの語長mのデータを選択出力するデ
ータ選択器8を設ける。制御値演算器5はカウント値i
に基づいて任意のビット長で記録された波形データを記
憶装置105からアクセスすることを可能にしている。
【0078】尚第3実施例によればc=真の回数分だけ
データ語長mを加算する制御値演算器5を設けることに
より、高価な乗算器を用いることなくi×mを出力する
ことができる。更に格納語長nを2のベキ乗(第3実施
例の場合は4乗)に選ぶことにより、高価な除算器を用
いることなく、値a、eの演算を可能にしている。更に
nを2のベキ乗に選ぶことにより、転送制御器6内の剰
余器46は引算器43の出力をそのまま用いてよく、実
質的に回路を簡単にすることができる。
【0079】又本実施例はデコード装置として第1実施
例のものを用いたが、m値を異ならせることができるよ
う構成された記憶装置を用いるときには、第2実施例に
示したデコード装置20を用いてもよい。
【0080】又、第1〜第3の実施例において、制御値
演算器5は値cが真の時、データ語長mを加算する加算
器で構成したが、S値積分器の出力iとデータ語長mを
乗算する乗算器とし構成してもよい。このときnを2の
ベキ乗にすれば除算器は必要ない。又データ選択器8は
シフトレジスタ69を用いて実現したが、他の構成の選
択器を用いて構成しても同等の効果を得ることができ
る。
【0081】S値積分器17は桁上げ出力cを積分し、
データ番号値iを生成するようにしたが、特にiを観測
する必要がなければ省略してもよい。ただし、iの値が
順次1ずつ増加せず、iの増加が1を越えるような場合
にも対応できるようにするには、S値積分器17の出力
値iから直接i×mを演算すれば、第1及び第2実施例
で用いた制御値演算器5のようにm値の加算を繰り返す
必要がなくなる。この場合、より高速な用途に適した構
成が得られる。
【0082】更に楽音合成装置の場合には、基本波形の
サンプリング点の2点間の補間を行うことにより、波形
精度が向上することは当然考えられる。第1〜第3の実
施例では補間演算を行っていないが、例えば2点間を直
線補間するような場合には、i番目のデータを得た後
で、i+1番目のデータを得ることで簡単に補間演算を
行うことができる。
【0083】又、第1〜第3の実施例では、データ語長
mが格納語長nより小さい場合についてのみ示したが、
データ語長mが格納語長nより大きい場合についても同
様の処理で任意の語長のデータを得ることができる。デ
ータ語長mがより大きくなれば、データ保持器の段数を
増せばよい。又、データ語長mが格納語長nよりも小さ
い場合には、記憶装置からデータを読み込む回数がデー
タの数よりも少なくなるので、実質的に記憶装置に対す
るアクセス回数が減る。このことを利用して、楽音デー
タ以外のパラメータ値や他の楽音を発生するためのデー
タのアクセス等に利用が可能であるのは言うまでもな
い。
【0084】
【発明の効果】以上詳細に説明したように本願の請求項
1の発明によれば、格納語長nを有する記憶装置の各ア
ドレスADRに、値nと異なるデータ語長mを持つデー
タD(i)を連続して格納、又は読み出しすることが可
能となる。このため楽音信号の基本波形の振幅データを
能率よく、かつ少ない記憶容量で記憶装置に格納するこ
どができる。又記憶装置から所望のデータを読み出す
際、データ語長mが格納語長nよりも小さいときには、
データの読み出す回数がデータの数よりも少なくなる。
このため実質的に記憶装置のアクセス回数が低減される
という効果も生じる。
【0085】更に本願の請求項2の発明によれば、請求
項1の発明の効果に加えて、データD(i)のデータ語
長mが途中で変化しても、記憶装置の格納語長n及びア
ドレスADRをテータ語長の変化点で変えることなく、
データを連続して格納、又は読み出しすることができ
る。
【0086】又本願の請求項8,9の発明によれば、請
求項1又は2のデコード装置の入力部にS値積分器を設
けたことにより、記憶装置に標準音高の基本波形を格納
し、制御値Sの値を変化させると、任意の音高を有する
楽音信号のデータを生成することができる。このため少
ない振幅データから多種類の楽音信号が発生できる優れ
た楽音合成装置が実現できる。
【図面の簡単な説明】
【図1】本発明の第1実施例におけるデコード装置の全
体構成を示すブロック図である。
【図2】本発明の第1〜第3の実施例のデコード装置に
用いられる制御値演算器の構成を示すブロック図であ
る。
【図3】本発明の第1〜第3の実施例のデコード装置に
用いられる転送制御器及びデータ保持器の構成を示すブ
ロック図である。
【図4】本発明の第1〜第3の実施例のデコード装置に
用いられるデータ選択器の構成を示すブロック図であ
る。
【図5】第1実施例における記憶装置のアドレス/デー
タマップである。
【図6】第1実施例におけるデコード装置の動作を示す
説明図である。
【図7】第1実施例におけるデータ保持器の動作を示す
説明図(その1)である。
【図8】第1実施例におけるデータ保持器の動作を示す
説明図(その2)である。
【図9】本発明の第2実施例におけるデコード装置の全
体構成を示すブロック図である。
【図10】第2実施例のデコード装置に用いられるアド
レス生成器及び更新制御器の構成を示すブロック図であ
る。
【図11】第2実施例における記憶装置のアドレス/デ
ータマップである。
【図12】第2実施例におけるデコード装置の動作を示
す説明図である。
【図13】本発明の第3実施例における楽音合成装置の
部分構成を示すブロック図である。
【図14】第3の実施例の楽音合成装置に用いられるS
値積分器の構成を示すブロック図である。
【図15】従来の楽音合成装置及びデコード装置の全体
構成を示すブロック図である。
【図16】従来の楽音合成装置の振幅データのグループ
分けの方法を示す説明図(その1)である。
【図17】従来の楽音合成装置の振幅データのグループ
分けの方法を示す説明図(その2)である。
【符号の説明】
1 データ語長mの入力端子 2 CLR1の入力端子 3 DATの入力端子 4,33 カウント制御値cの入力端子 5 制御値演算器 6 転送制御器 7 データ保持器 8 データ選択器 9 データWDの出力端子 10 アドレスADRの出力端子 11 積分器 12 S値の入力端子 13,20 デコード装置 14 値iの出力端子 15 積分値IWDの出力端子 16 アドレス生成器 17 S値積分器 18 m値保持器 19 更新制御器 31 データ語長mの入力端子 32 固定値0の入力端子 33 カウント制御値cの入力端子 34 CLR値の入力端子 35 選択器 36 第1の加算器 37 第2の加算器 38 第2の保持器 39 第1の保持器 40 値aの出力端子 41 値eの出力端子 42 固定値nの入力端子 43 引算器 44 値eの入力端子 45 データ語長mの入力端子 46 剰余器 47 比較器 48 転送指令値Tの出力端子 51 転送指令値Tの入力端子 52 DATの入力端子 53 第1の保持器 54 第2の保持器 55 値Dの出力端子 61 値Dの入力端子 62 シフトロード信号SLの入力端子 63 値eの入力端子 64 データ語長mの入力端子 65 固定値nの入力端子 66 第3の加算器 67 引算器 68 シフトパルス発生器 69 シフトレジスタ 70 シフトデータWDの出力端子 71 値aの入力端子 72 CLR入力端子 73 CK2の入力端子 74 第4の加算器 75 第5の保持器 76 アドレスADRの出力端子 81 値Sの入力端子 82 第5の加算器 83 第6の保持器 84 第6の加算器 85 第7の保持器 86 値cの出力端子 87 値iの出力端子 88 i値生成器 91 値eの入力端子 92 ゼロ判定器 93 アンド回路 94 タイミング生成器 95 CLRの出力端子 96 CK1の出力端子 97 CK2の出力端子 101 鍵盤部 102 押鍵検出回路 103 単位波形区間位相データ発生回路 104 単位波形繰返回数カウンタ 105 波形記憶装置 106 セレクタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 菅谷 隆宏 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (72)発明者 田中 温子 大阪府門真市大字門真1006番地 松下電 器産業株式会社内 (56)参考文献 特開 平3−180896(JP,A) (58)調査した分野(Int.Cl.7,DB名) G10H 7/02

Claims (15)

    (57)【特許請求の範囲】
  1. 【請求項1】 格納語長をn(ビット)とし、データ語
    長m(ビット)単位で連続して書き込まれた記憶装置の
    データをデータ番号値iに基づいて読み出すためのデコ
    ード装置であって、 データ番号値iとデータ語長mと格納語長nとを入力と
    し、値a=int((i×m)/n)(実数xを越えな
    い最大の整数をint(x)とする)、値e=mod
    (i×m,n)(実数xを実数yで割った剰余をmod
    (x,y)とする)を演算し、aをアドレスADRとし
    て出力する制御値演算器と、 前記制御値演算器の出力値eと格納語長nとデータ語長
    mとを入力とし、値d=mod((n−e),n)を演
    算し、値dとデータ語長mの大小の比較結果を転送指令
    値Tとして出力する転送制御器と、 前記転送制御器の転送指令値Tに基づいて、前記記憶装
    置からアドレスADRのデータDATの読み出しを制御
    し前回読み出したデータDATを保持し、少なくとも2
    つの隣接するアドレスのデータDATをシフトしてデー
    タDを出力するデータ保持器と、 前記データ保持器の出力値Dと前記制御値演算器の出力
    値e、格納語長n、データ語長mに基づいて出力値Dか
    ら連続するmビットのデータD(i)を選択して出力す
    るデータ選択器と、を具備することを特徴とするデコー
    ド装置。
  2. 【請求項2】 格納語長をn(ビット)とし、データ語
    長m(ビット)単位で連続し、かつmの値が特定のアド
    レスで変化するように書き込まれた記憶装置のデータを
    データ番号値iに基づいて読み出すためのデコード装置
    であって、 データ語長mを保持するm値保持器と、 データ番号値iとデータ語長mと格納語長nとを入力と
    し、値a=int((i×m)/n)(実数xを越えな
    い最大の整数をint(x)とする)、値e=mod
    (i×m,n)(実数xを実数yで割った剰余をmod
    (x,y)とする)を演算して出力する制御値演算器
    と、 前記制御値演算器の出力値aとオフセット値OFFとを
    入力とし、a+OFFを演算してアドレスADRとして
    出力するアドレス生成器と、 前記制御値演算器の出力値eと格納語長nとデータ語長
    mとを入力とし、値d=mod((n−e),n)を演
    算し、値dとデータ語長mの大小の比較結果を転送指令
    値Tとして出力する転送制御器と、 前記転送制御器の転送指令値Tに基づいて、前記記憶装
    置からアドレスADRのデータDATの読み出しを制御
    し前回読み出したデータDATを保持し、少なくとも2
    つの隣接するアドレスADRのデータDATをシフトし
    てデータDを出力するデータ保持器と、 前記データ保持器の出力値Dと前記制御値演算器の出力
    値e、格納語長n、データ語長mに基づいて出力値Dか
    ら連続するmビットのデータD(i)を選択して出力と
    するデータ選択器と、 外部よりクリア信号CLR1及び新たなデータ語長mが
    入力されたときに、クリア信号CLR1と値e=0の論
    理積の出力時に、前記制御値演算器に初期化するための
    クリア信号CLR,前記m値保持器にデータ語長mを保
    持する保持信号CK1,前記アドレス生成器にそのとき
    のアドレスADRをオフセット値OFFとして保持する
    ための保持信号CK2を夫々出力する更新制御器と、を
    具備することを特徴とするデコード装置。
  3. 【請求項3】 前記制御値演算器は、 データの読み出し時にデータ番号値iの変化毎に真及び
    偽となるカウント制御値cを入力とし、カウント制御値
    cが真又は偽に夫々対応してデータ語長mと固定値0と
    を選択する選択器と、 信号を保持する第1,第2の保持器と、 前記選択器の出力と前記第1の保持器の値とを加算し、
    この加算結果を値eとして出力すると共に、再び前記第
    1の保持器に与える第1の加算器と、 前記第1の加算器の桁上げ値と前記第2の保持器の出力
    とを加算し、この加算結果を値aとして出力すると共
    に、再び前記第2の保持器に与える第2の加算器と、を
    具備するものであることを特徴とする請求項1又は2記
    載のデコード装置。
  4. 【請求項4】 前記転送制御器は、 格納語長nから値eを引く引算器と、 前記引算器の演算結果(n−e)を入力とし、値d=m
    od((n−e),n)を演算する剰余器と、 前記剰余器の出力値dがデータ語長mよりも小さいと
    き、転送指令値T=真を出力する比較器と、を具備する
    ものであることを特徴とする請求項1又は2記載のデコ
    ード装置。
  5. 【請求項5】 前記データ保持器は、 前記転送制御器の転送指令値Tが真のとき、前記記憶装
    置から格納語長nのデータDATを取り込む第3の保持
    器と、 前記第3の保持器が前記記憶装置から新規データDAT
    を取り込むとき、前記第3の保持器の保持する前回デー
    タを保持する第4の保持器と、を具備するものであるこ
    とを特徴とする請求項1又は2記載のデコード装置。
  6. 【請求項6】 データ選択器は、 前記制御値演算器の出力する値eと前記記憶装置の格納
    語長nを加算する第3の加算器と、 前記第3の加算器の出力(e+n)から値mを引く引算
    器と、 前記引算器の出力値(e+n−m)の数のシフトパルス
    ckを発生するシフトパルス発生器と、 前記データ保持器の出力する値Dをパラレル入力とし、
    前記シフトパルス発生器より与えられるシフトパルスc
    kの数だけ値Dを下位ビット方向にシフトして下位mビ
    ットを出力するシフトレジスタと、を具備するものであ
    ることを特徴とする請求項1又は2記載のデコード装
    置。
  7. 【請求項7】 前記アドレス生成器は、 保持データをクリアするクリア入力端を有し、オフセッ
    ト値OFFを保持する第5の保持器と、 前記制御値演算器の出力する値aと前記第5の保持器の
    保持値を加算し、この加算値を再び前記第5の保持器に
    入力する第4の加算器と、を具備するものであることを
    特徴とする請求項2記載のデコード装置。
  8. 【請求項8】 格納語長をn(ビット)とし、データ語
    長m(ビット)単位で楽音データが連続して書き込まれ
    た記憶装置のデータを音高制御値Sに基づいて読み出
    し、楽音を合成する楽音合成装置であって、 データを保持する第6,第7の保持器,音高制御値Sと
    前記第6の保持器の値を加算し、この加算結果をカウン
    ト制御値cとして出力すると共に、再び前記第6の保持
    器に与える第5の加算器、前記第5の加算器の出力cと
    前記第7の保持器の出力を加算し加算結果をデータ番号
    値iとして出力すると共に、再び前記第7の保持器に与
    える第6の加算器を有するS値積分器と、 データ番号値iとデータ語長mと格納語長nとを入力と
    し、値a=int((i×m)/n)(実数xを越えな
    い最大の整数をint(x)とする)、値e=mod
    (i×m,n)(実数xを実数yで割った剰余をmod
    (x,y)とする)を演算し、aをアドレスADRとし
    て出力する制御値演算器と、 前記制御値演算器の出力値eと格納語長nとデータ語長
    mとを入力とし、値d=mod((n−e),n)を演
    算し、値dとデータ語長mの大小の比較結果を転送指令
    値Tとして出力する転送制御器と、 前記転送制御器の転送指令値Tに基づいて、前記記憶装
    置からアドレスADRのデータDATの読み出しを制御
    し前回読み出したデータDATを保持し、少なくとも2
    つの隣接するアドレスのデータDATをシフトしてデー
    タDを出力するデータ保持器と、 前記データ保持器の出力値Dと前記制御値演算器の出力
    値e、格納語長n、データ語長mに基づいて出力値Dか
    ら連続するmビットのデータD(i)を選択して出力す
    るデータ選択器と、を具備することを特徴とする楽音合
    成装置。
  9. 【請求項9】 格納語長をn(ビット)とし、データ語
    長m(ビット)単位で連続し、かつmの値が特定のアド
    レスで変化するように単位データが書き込まれた記憶装
    置のデータを音高制御値Sに基づいて読み出し、楽音を
    合成する楽音合成装置であって、 データを保持する第6,第7の保持器,音高制御値Sと
    前記第6の保持器の値を加算し、この加算結果をカウン
    ト制御値cとして出力すると共に、再び前記第6の保持
    器に与える第4の加算器、前記第5の加算器の出力cと
    前記第7の保持器の出力を加算し加算結果をデータ番号
    値iとして出力すると共に、再び前記第7の保持器に与
    える第6の加算器を有するS値積分器と、 データ語長mを保持するm値保持器と、 データ番号値iとデータ語長mと格納語長nとを入力と
    し、値a=int((i×m)/n)(実数xを越えな
    い最大の整数をint(x)とする)、値e=mod
    (i×m,n)(実数xを実数yで割った剰余をmod
    (x,y)とする)を演算して出力する制御値演算器
    と、 前記制御値演算器の出力値aとオフセット値OFFとを
    入力とし、a+OFFを演算してアドレスADRとして
    出力するアドレス生成器と、 前記制御値演算器の出力値eと格納語長nとデータ語長
    mとを入力とし、値d=mod((n−e),n)を演
    算し、値dとデータ語長mの大小の比較結果を転送指令
    値Tとして出力する転送制御器と、 前記転送制御器の転送指令値Tに基づいて、前記記憶装
    置からアドレスADRのデータDATの読み出しを制御
    し前回読み出したデータDATを保持し、少なくとも2
    つの隣接するアドレスADRのデータDATをシフトし
    てデータDを出力するデータ保持器と、 前記データ保持器の出力値Dと前記制御値演算器の出力
    値e、格納語長n、データ語長mに基づいて出力値Dか
    ら連続するmビットのデータD(i)を選択して出力と
    するデータ選択器と、 外部よりクリア信号CLR1及び新たなデータ語長mが
    入力されたときに、クリア信号CLR1と値e=0の論
    理積の出力時に、前記制御値演算器に初期化するための
    クリア信号CLR,前記m値保持器にデータ語長mを保
    持する保持信号CK1,前記アドレス生成器にそのとき
    のアドレスADRをオフセット値OFFとして保持する
    ための保持信号CK2を夫々出力する更新制御器と、を
    具備することを特徴とする楽音合成装置。
  10. 【請求項10】 前記データ選択器の出力を積分する出
    力積分器を更に具備することを特徴とする請求項8又は
    9記載の楽音合成装置。
  11. 【請求項11】 前記制御値演算器は、 データの読み出し時にデータ番号値iの変化毎に真及び
    偽となるカウント制御値cを入力とし、カウント制御値
    cが真又は偽に夫々対応してデータ語長mと固定値0と
    を選択する選択器と、 信号を保持する第1,第2の保持器と、 前記選択器の出力と前記第1の保持器の値とを加算し、
    この加算結果を値eとして出力すると共に、再び前記第
    1の保持器に与える第1の加算器と、 前記第1の加算器の桁上げ値と前記第2の保持器の出力
    とを加算し、この加算結果を値aとして出力すると共
    に、再び前記第2の保持器に与える第2の加算器と、を
    具備するものであることを特徴とする請求項8又は9記
    載の楽音合成装置。
  12. 【請求項12】 前記転送制御器は、 格納語長nから値eを引く引算器と、 前記引算器の演算結果(n−e)を入力とし、値d=m
    od((n−e),n)を演算する剰余器と、 前記剰余器の出力値dがデータ語長mよりも小さいと
    き、転送指令値T=真を出力する比較器と、を具備する
    ものであることを特徴とする請求項8又は9記載の楽音
    合成装置。
  13. 【請求項13】 前記データ保持器は、 前記転送制御器の転送指令値Tが真のとき、前記記憶装
    置から格納語長nのデータDATを取り込む第3の保持
    器と、 前記第3の保持器が前記記憶装置から新規データDAT
    を取り込むとき、前記第3の保持器の保持する前回デー
    タを保持する第4の保持器と、を具備するものであるこ
    とを特徴とする請求項8又は9記載の楽音合成装置。
  14. 【請求項14】 データ選択器は、 前記制御値演算器の出力する値eと前記記憶装置の格納
    語長nを加算する第3の加算器と、 前記第3の加算器の出力(e+n)から値mを引く引算
    器と、 前記引算器の出力値(e+n−m)の数のシフトパルス
    ckを発生するシフトパルス発生器と、 前記データ保持器の出力する値Dをパラレル入力とし、
    前記シフトパルス発生器より与えられるシフトパルスc
    kの数だけ値Dを下位ビット方向にシフトして下位mビ
    ットを出力するシフトレジスタと、を具備するものであ
    ることを特徴とする請求項8又は9記載の楽音合成装
    置。
  15. 【請求項15】 前記アドレス生成器は、 保持データをクリアするクリア入力端を有し、オフセッ
    ト値OFFを保持する第5の保持器と、 前記制御値演算器の出力する値aと前記第5の保持器の
    保持値を加算し、この加算値を再び前記第5の保持器に
    入力する第4の加算器と、を具備するものであることを
    特徴とする請求項9記載の楽音合成装置。
JP04333705A 1992-11-18 1992-11-18 楽音合成装置及びデコード装置 Expired - Fee Related JP3101452B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04333705A JP3101452B2 (ja) 1992-11-18 1992-11-18 楽音合成装置及びデコード装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04333705A JP3101452B2 (ja) 1992-11-18 1992-11-18 楽音合成装置及びデコード装置

Publications (2)

Publication Number Publication Date
JPH06161457A JPH06161457A (ja) 1994-06-07
JP3101452B2 true JP3101452B2 (ja) 2000-10-23

Family

ID=18269046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04333705A Expired - Fee Related JP3101452B2 (ja) 1992-11-18 1992-11-18 楽音合成装置及びデコード装置

Country Status (1)

Country Link
JP (1) JP3101452B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3705173A1 (de) * 1986-02-28 1987-09-03 Canon Kk Halbleitervorrichtung

Also Published As

Publication number Publication date
JPH06161457A (ja) 1994-06-07

Similar Documents

Publication Publication Date Title
US4715257A (en) Waveform generating device for electronic musical instruments
US5442127A (en) Waveform generation device having a memory for storing adjacent sample data in different data compression representations
JP4042841B2 (ja) 行列演算処理装置
JP3101452B2 (ja) 楽音合成装置及びデコード装置
US5290965A (en) Asynchronous waveform generating device for use in an electronic musical instrument
US5486644A (en) Electronic musical instrument having a waveform memory for storing variable length waveform data
JPH0486795A (ja) 楽音発生装置
JPS5895790A (ja) 楽音発生装置
US20020018011A1 (en) Data conversion device having mediator for determining data conversion order
JP4070347B2 (ja) 楽音信号発生装置
KR960001967A (ko) 데이타 샘플열 액세스 장치
JP3087928B2 (ja) 試験装置
JP4266257B2 (ja) 符号化装置
JP5072558B2 (ja) データ処理装置
US5374776A (en) System for processing musical sound data having overflow/underflow compensation
US5909185A (en) Lookup table device and signal conversion method
JP2993344B2 (ja) 波形生成装置、波形記憶装置、波形生成方泡および波形記憶方法
JP2833327B2 (ja) アドレス発生方法およびアドレス発生回路
JP2699886B2 (ja) 楽音制御情報発生装置
JP2558245B2 (ja) 音程制御装置
US5817964A (en) Electronic musical instrument and method for storing a plurality of waveform sampling data at a single address
JP3402072B2 (ja) 情報信号処理装置
JP3479999B2 (ja) 波形データ発生装置
JPH05134674A (ja) 波形発生装置
JP5146188B2 (ja) 楽音信号生成装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees