JP3479999B2 - Waveform data generator - Google Patents
Waveform data generatorInfo
- Publication number
- JP3479999B2 JP3479999B2 JP17610693A JP17610693A JP3479999B2 JP 3479999 B2 JP3479999 B2 JP 3479999B2 JP 17610693 A JP17610693 A JP 17610693A JP 17610693 A JP17610693 A JP 17610693A JP 3479999 B2 JP3479999 B2 JP 3479999B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- address
- data
- coefficient
- 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.)
- Expired - Lifetime
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、波形データ発生装置に
関し、詳細には、楽音信号等を生成するための波形デー
タを波形メモリから読み出して、波形を発生する波形デ
ータ発生装置に関する。
【0002】
【従来の技術】近時、ディジタル技術の発達に伴って、
電子楽器においても、ディジタル化が進み、波形メモリ
に記憶した波形データを読み出して、多項ディジタルフ
ィルタ処理により音程変換を行っている。
【0003】このような音程変換におけるディジタルフ
ィルタ処理を行う波形データ発生装置としては、従来、
図8に示すようなものがある。
【0004】図8において、従来の波形データ発生装置
1は、波形データ用の4つのレジスタ2、3、4、5を
備えており、各波形データ用レジスタ2、3、4、5に
は、図外の波形メモリからサンプリングタイミング毎に
読み出された連続した4つの波形データが順次格納され
る。この波形メモリは、図外のアドレスカウンタにより
アドレス指定される。
【0005】また、波形データ発生装置1は、係数メモ
リ6を備えており、係数メモリ6は、波形読出用のアド
レスカウンタの小数データによりアドレッシングされ
て、係数メモリ6からは上記4つの波形データにそれぞ
れ対応する4つの係数データがレジスタ7、8、9、1
0に読み出される。この係数メモリ6には、予め決定さ
れたフィルタ係数データの組が複数格納されており、係
数データは、4つで1組となっている。
【0006】上記レジスタ2、3、4、5に格納された
波形データと、上記レジスタ7、8、9、10に格納さ
れた係数データは、それぞれ対応する乗算器11、1
2、13、14に出力され、各乗算器11、12、1
3、14は、それぞれ入力される波形データと係数デー
タを乗算して、加算器15に出力する。
【0007】加算器15は、各乗算器11、12、1
3、14から入力される乗算結果を加算し、出力波形と
して出力する。
【0008】
【発明が解決しようとする課題】しかしながら、従来の
波形データ発生装置にあっては、係数データを係数デー
タ専用の係数メモリに記憶していたため、メモリ容量や
コスト面から十分な係数データを格納することができ
ず、音程変換処理における総合演算精度が悪いという問
題があった。
【0009】すなわち、音程変換処理をディジタルフィ
ルタにより実現する場合に、音程変換を精度良く行おう
とすると、1次フィルタ(直線補間)ではなく、多項デ
ィジタルフィルタ処理を行う必要があるが、この多項デ
ィジタルフィルタ処理においても、ディジタルフィルタ
処理そのものを高い精度で実現させるためには、フィル
タ係数の語長を長くする必要があり、ハードウェア規模
が大きくなってしまう。この場合に、フィルタ処理にお
ける演算精度を犠牲にすると、フィルタ演算誤差によ
り、ノイズが増加し、音程変換処理の精度が悪くなる。
【0010】すなわち、電子楽器におけるフィルタ係数
の語長は、一般に、16ビット以上あれば問題ないとさ
れている。
【0011】そこで、図8に示したような従来の波形デ
ータ発生装置1の場合には、アドレスカウンタ小数部が
15ビットであれば、係数メモリ6としては、このよう
な語長を有するフィルタ係数が、1組について4つ、全
部で、(16×4)ビット×32768ワードを記憶す
る記憶容量を必要とし、係数メモリ6ひいては波形デー
タ発生装置1全体の規模が大きくなり、コストが高くつ
くという問題があった。
【0012】そこで、アドレスカウンタ小数部の上位ビ
ットによって係数の組を2組読み出し、残った下位ビッ
トで補間することで、所定のフィルタ係数組を得ること
も考えられる。
【0013】ところが、フィルタ係数を補間で求めるこ
とによっては、基本的な解決にはならない。
【0014】すなわち、補間処理によりある程度以上の
フィルタ係数精度を維持するためには、格納するフィル
タ係数の組がある程度多くなくてはならないためであ
り、係数メモリをアドレス指定するアドレスカウンタ小
数部の上位が10ビットでも、係数メモリとしては、全
部で、(16×4)ビット×1024ワードという大き
な記憶容量を必要とする。
【0015】そこで、本発明は、音程変換における波形
データと係数との演算精度を良好に維持しつつ、ハード
ウェアの規模を削減し、コストを低減することのできる
波形データ発生装置を提供することを目的としている。
【0016】
【課題を解決するための手段】本発明の波形データ発生
装置は、波形データを記憶する手段であって、その一部
の記憶領域に波形データ演算用の係数データを記憶する
波形記憶手段と、整数部及び小数部を構成するビットを
有し、サンプリングタイミング毎に整数部のビットで表
されるカウント値を更新するアドレスカウンタと、 サン
プリングタイミング毎にこのアドレスカウンタの整数部
を構成するビットで表されるカウント値を、前記波形記
憶手段に記憶された所定の波形データを読み出すための
波形アドレスとして生成する波形アドレス生成手段と、
サンプリングタイミング毎に前記アドレスカウンタの小
数部を構成するビット及び当該小数部ビットの上位に前
記波形アドレスを構成する整数部の下位の所定ビットを
付加したものを、前記波形アドレス生成手段により生成
された波形アドレスにより読み出された波形データに対
応する所定の係数データを前記波形記憶手段から読み出
すための係数アドレスとして生成する係数アドレス生成
手段と、前記波形アドレス生成手段から出力される波形
アドレスと前記係数アドレス生成手段から出力される係
数アドレスとを、順次交互に選択して、前記波形記憶手
段に出力するアドレス選択手段と、前記アドレス選択手
段からのアドレスに基づいて前記波形記憶手段から波形
データと係数データとを、順次交互に読み出す読出手段
と、前記読出手段により前記波形記憶手段から読み出さ
れた波形データの組と、当該読み出された波形データの
組に対応して前記波形記憶手段から読み出された係数デ
ータの組により積和演算処理を行って出力するフィルタ
処理手段と、を備えることにより、上記目的を達成して
いる。
【0017】
【0018】
【0019】
【0020】
【作用】本発明によれば、大容量の波形データを記憶す
るように設計されている波形記憶手段に、波形データを
記憶させただけでは、通常生じる空き領域に、波形デー
タ演算用の係数データを記憶させる。
【0021】そして、この波形記憶手段から波形データ
を読み出すために、波形アドレス生成手段により、波形
アドレスを生成する。この波形アドレスは、整数部及び
小数部を構成するビットを有し、サンプリングタイミン
グ毎に整数部のビットで表されるカウント値を更新する
アドレスカウンタを有し、サンプリングタイミング毎に
このアドレスカウンタの整数部を構成するビットで表さ
れるカウント値から成る。さらに、この波形アドレスに
より読み出された波形データに対応する所定の係数デー
タの組を読み出すために、係数アドレス生成手段によ
り、係数アドレスを生成する。この係数アドレスは、サ
ンプリングタイミング毎にこのアドレスカウンタの小数
部を構成するビット及び当該小数部ビットの上位に波形
アドレスを構成する整数部の下位の所定ビットを付加し
たものから成る。
【0022】そしてアドレス選択手段により、この波形
アドレス生成手段から出力される波形アドレスと係数ア
ドレス生成手段から出力される係数アドレスとを、順次
交互に選択して、波形記憶手段に出力し、読出手段によ
り、アドレス選択手段からのアドレスに基づいて波形記
憶手段から波形データと係数データとを、順次交互に読
み出す。
【0023】さらにフィルタ処理手段により、読出手段
により読み出された波形データの組と、当該読み出され
た波形データの組に対応して前記波形記憶手段から読み
出された係数データの組により積和演算処理を行う。
【0024】したがって、係数データを記憶するための
記憶手段を、別に設ける必要がなく、従来必要であった
係数メモリの分だけハードウェアを縮小させることがで
きるとともに、簡単な回路構成で波形データと係数デー
タを読み出すためのアドレス設定を行うことができ、音
程変換における波形データと係数データとの演算精度を
良好に維持しつつ、波形データ生成装置を小型化するこ
とができるとともに、コストを低減することができる。
【0025】
【実施例】以下、本発明を実施例に基づいて具体的に説
明する。
【0026】図1〜図6は、本発明の波形データ発生装
置の一実施例を示す図であり、本実施例は、ROM(Re
ad Only Memory)により構成される波形メモリをアクセ
スすることより、波形データを出力するPCM方式の音
源システムに適用したものである。
【0027】図1は、本発明の波形データ発生装置10
の回路ブロック図である。
【0028】図1において、波形データ発生装置10
は、音源LSI(Large Scale Integrated circuit)1
1と波形メモリ12を備えており、音源LSI11は、
アドレスカウンタ部13、アドレスセレクタ14、アド
レスレジスタ15、データレジスタ16及び音程変換部
17等を備えている。
【0029】波形メモリ12は、ROMにより構成さ
れ、波形データ領域と係数データ領域とに領域区分され
ている。波形メモリ12は、その波形データ領域に、波
形データが予め格納され、係数データ領域に、音程変換
用の係数データが予め格納されている。
【0030】この波形メモリ12は、そのアドレスのビ
ット構成が20ビットであり、後述するアドレスカウン
タ部13及びアドレスセレクタ14によりアドレッシン
グされる。
【0031】アドレスカウンタ部13は、図外のCPU
(Central Processing Unit)からの指示に基づいて、
サンプリングタイミング毎に、波形メモリ12から波形
データを読み出すための波形アドレス(上位ビット)A
aと、読み出された波形データを補間するための係数ア
ドレス(下位ビット)Adをアドレスセレクタ4に出力
する。この波形アドレスAa及び係数アドレスAdは、
例えば、20ビットで構成される。
【0032】アドレスカウンタ部13は、このアドレス
設定において、CPUからの指示により、音程変換用に
波形メモリ12からそれぞれ隣り合う4つの波形データ
を読み出すために、それぞれ隣り合う4つのアドレスの
組、例えば、図2(a)に示すように、(Aa0)−
1、Aa0、(Aa0)+1、(Aa0)+2や(Aa
1)−1、Aa1、(Aa1)+1、(Aa1)+2
を、波形アドレスAaとして、サンプリングタイミング
毎に順次出力する。
【0033】また、アドレスカウンタ部13は、CPU
からの指示により、前記4つの波形データにそれぞれ対
応した4つのフィルタ係数の組を波形メモリ12から読
み出すために、4つのアドレスの組、例えば、図2
(b)に示すように、Ad0_a、Ad0_b、Ad0
_c、Ad0_dやAd1_a、Ad1_b、Ad1_
c、Ad1_dを、係数アドレスAdとして、サンプリ
ングタイミング毎に順次出力する。
【0034】この波形アドレスAaと係数アドレスAd
とは、アドレスカウンタ部13のカウント値と図4に示
すような関係を有している。
【0035】すなわち、アドレスカウンタ部13は、そ
のカウント値の上位ビットデータ(例えば、20ビット
データ)を波形アドレスAaとして生成し、そのカウン
ト値の下位ビットデータ(例えば、16ビットデータ)
の上位に係数データの組を指定するために波形アドレス
Aaの下位2ビットを付加して、その追加2ビットの値
に応じて、4つの係数アドレスAdとして、例えば、A
dx_a、Adx_b、Adx_c、Adx_d(x
は、任意の数値)を生成する。なお、アドレスカウンタ
部13のカウント値の下位ビットデータは、16ビット
であるので、これに上記2ビットを付加しても18ビッ
トである。そこで、アドレスカウンタ部13は、さら
に、「00」の2ビットを付加して、波形アドレスAa
と同じビット数の20ビットの係数アドレスAdを生成
している。
【0036】したがって、係数アドレスAdとしてその
先頭に「00」を付加すると、波形メモリ12には、係
数アドレスAdにより波形メモリ12のアドレスの先頭
部分がアドレス指定されることになる。そのため、波形
メモリ12のアドレスの先頭部分に係数データ領域が形
成され、アドレスカウンタ部13の下位ビットが16ビ
ットとすると、係数データKDは、(16+2)ビット
でアドレス指定されることとなり、「00000」から
「3FFFF」が係数データKDのアドレス領域とな
る。
【0037】そして、係数データは、図3に示すよう
に、波形アドレスAa、例えば、(Aa0)−1、Aa
0、(Aa0)+1、(Aa0)+2で読み出された波
形データに、係数アドレスAd、例えば、Ad0_a、
Ad0_b、Ad0_c、Ad0_dで読み出された係
数データを乗算する、という関係にある係数データ配列
を前提に波形メモリ12に格納されている。
【0038】上述のようにして生成された波形アドレス
Aa及び係数アドレスAdは、アドレスセレクタ14に
出力され、アドレスセレクタ14は、この波形アドレス
Aaと係数アドレスAdとを、図2(c)に示すよう
に、順次交互に選択して、アドレスレジスタ15に出力
する。
【0039】アドレスレジスタ15は、アドレスセレク
タ14の出力を、順次サンプリングタイミングで取り込
み、データバスAAに出力する。したがって、データバ
スAAには、図2(d)に示すように、波形アドレスA
aと係数アドレスAdが交互に出力され、波形メモリ1
2のアドレス設定となる。
【0040】このアドレスバスAAのアドレス設定によ
り波形メモリ12から波形データと係数データが交互に
読み出され、データバスDDに、図2(e)に示すタイ
ミングで、波形データWD、例えば、WD00、WD0
1、WD02、WD03と係数データKD、例えば、K
D0a、KD0b、KD0c、KD0dが交互に出力さ
れる。
【0041】データバスDDは、データレジスタ16に
接続されており、データレジスタ16は、データバスD
Dを介して入力される波形データWDと係数データKD
を順次保持して、図2(f)に示すタイミングで、デー
タレジスタ出力DRとして、波形データWDと係数デー
タKDを、例えば、WD00、KD0a、・・・・のよ
うに、交互に音程変換部17に出力する。
【0042】音程変換部17は、順次入力される上記波
形データWDと係数データKDとを取り込んで、ディジ
タルフィルタ演算処理を実行して、再生波形出力を出力
する。
【0043】この音程変換部17は、図4に示すよう
に、波形レジスタ20、係数レジスタ21及び積和演算
部22により構成されている。
【0044】波形レジスタ20と係数レジスタ21に
は、図5(a)に示すように、データレジスタ16から
データレジスタ出力DRが入力され、波形レジスタ20
と係数レジスタ21は、データレジスタ出力DRを波形
データと係数データとに分離するとともに、分離した波
形データを波形レジスタ20が、係数データを係数レジ
スタ21が、保持する。
【0045】波形レジスタ20は、保持した波形データ
を、図5(b)に示すように、波形レジスタ出力WR、
例えば、WD00、WD01、WD02、WD03とし
て積和演算部22に出力し、係数レジスタ21は、保持
した係数データを、図5(c)に示すように、係数レジ
スタ出力KR、例えば、KD0a、KD0b、KD0
c、KD0dとして積和演算部22に出力する。
【0046】積和演算部22は、分離されて入力される
波形レジスタ出力WRと係数レジスタ出力KRとを乗算
したうえ累算、すなわち積和演算処理を行って、再生波
形として出力する。
【0047】すなわち、積和演算部22は、図6に示す
ように、乗算器30、加算器31、累算レジスタ32及
び出力レジスタ33で構成されている。
【0048】乗算器30には、上記波形レジスタ出力W
R及び係数レジスタ出力KRが入力され、乗算器30
は、順次入力される波形レジスタ出力WRと係数レジス
タ出力KRを乗算して加算器31に出力する。すなわ
ち、乗算器30には、波形レジスタ出力WR、例えば、
WD00、WD01、WD02、WD03と係数レジス
タ出力KR、例えば、KD0a、KD0b、KD0c、
KD0dが順次入力され、乗算器30は、これら波形レ
ジスタ出力WRと係数レジスタ出力KR、例えば、WD
00とKD0a、WD01とKD0b・・・を順次乗算
して、加算器31に出力する。
【0049】加算器31には、さらに累算レジスタ32
の出力が入力されており、加算器31は、乗算器30の
乗算結果と累算レジスタ32の出力とを加算して、累算
レジスタ32に出力する。
【0050】累算レジスタ32には、さらに、図5
(e)に示すような非同期クリア信号が入力され、累算
レジスタ32は、非同期クリア信号と次の非同期クリア
信号が入力されるまで間に加算器31から所定タイミン
グで入力される信号を累算して、その累算結果を出力レ
ジスタ33に出力する。すなわち、累算レジスタ32
は、図5(e)に示すように、非同期クリア信号が入力
されると、「0」にクリアされ、その後所定タイミング
毎に、加算器31から入力される加算結果を順次累算
し、その累算結果、例えば、Ac0a、Ac0a+Ac
0b、Ac0a+Ac0b+Ac0c、Ac0a+Ac
0b+Ac0c+Ac0dを出力レジスタ33に出力す
る。
【0051】出力レジスタ33は、累算レジスタ33か
ら入力される累算結果を所定のタイミングで取り込み、
図5(f)に示すように、最終累算結果、例えば、Ac
0a+Ac0b+Ac0c+Ac0dを再生波形出力と
して出力する。
【0052】次に、動作を説明する。
【0053】波形データ発生装置10は、波形メモリ1
2に波形データとともに、係数データをも記憶し、この
波形メモリ12から連続する4つの波形データを読み出
すとともに、この4つの波形データに対応する4つの組
の係数データを読み出すためのアドレス設定を行ってい
る。
【0054】すなわち、波形データ発生装置10のアド
レスカウンタ部13は、図外のCPUからの指示により
サンプリングタイミング毎に、図2に示すように、波形
メモリ12から波形データを読み出すための波形アドレ
スAa、例えば、(Aa0)−1、Aa0、(Aa0)
+1、(Aa0)+2と、読み出された波形データを補
間するための係数データKDの係数アドレスAd、例え
ば、Ad0_a、Ad0_b、Ad0_c、Ad0_d
とを生成し、アドレスセレクタ14に出力する。
【0055】アドレスセレクタ14は、アドレスカウン
タ部13から入力される波形アドレスAaと係数アドレ
スAdを、図2(c)に示すように、順次交互に選択し
て、アドレスレジスタ15に出力する。
【0056】アドレスレジスタ15は、アドレスセレク
タ14の出力するアドレスを、順次サンプリングタイミ
ングで取り込んで、図2(d)示すように、波形メモリ
12に接続されたアドレスバスAAに出力する。
【0057】このアドレスバスAAのアドレス設定によ
り、波形メモリ12から波形データと係数データが交互
に読み出され、データレジスタ16に接続されたデータ
バスDDに、図2(e)に示すタイミングで、波形デー
タWD、例えば、WD00、WD01、WD02、WD
03と係数データKD、例えば、KD0a、KD0b、
KD0c、KD0dが交互に出力される。
【0058】データレジスタ16は、入力される波形デ
ータWDと係数データKDとを図2(f)に示すタイミ
ングで取り込んで、データレジスタ出力DRとして、波
形データWDと係数データKDを、例えば、WD00、
KD0a、・・・・のように、交互に音程変換部17に
出力する。
【0059】音程変換部17は、図5に示したように、
波形データWDと係数データKDを順次積和演算して、
非同期クリア信号に同期して、図5(f)に示す出力レ
ジスタ出力を再生波形として出力する。
【0060】上述のように、本実施例の波形データ発生
装置10は、波形メモリ12に波形データとともに、係
数データをも記憶し、この波形メモリ12から連続する
4つの波形データを読み出すとともに、この4つの波形
データに対応する4つの組の係数データを読み出すため
のアドレス設定をアドレスカウンタ部13及びアドレス
セレクタ14により行っている。その結果、従来のよう
に、係数データを記憶する係数メモリを別に用意する必
要がなく、音程変換における波形データと係数データと
の演算精度を良好に維持しつつ、ハードウェア規模を縮
小して、波形データ発生装置10を小型化することがで
きるとともに、コストを低減することができる。
【0061】図7は、本発明の波形データ生成装置の他
の実施例を示す図である。
【0062】本実施例は、上記実施例と同様の波形デー
タ生成装置に適用されたものであり、本実施例の説明に
おいて、上記実施例に用いた符号をそのまま用いて説明
する。
【0063】本実施例の波形データ生成装置10は、そ
の波形メモリ12に、上記同様の波形データを記憶する
とともに、フィルタ特性の異なる2グループの係数デー
タKDを記憶している。
【0064】また、アドレスカウンタ部13は、上記実
施例と同様に、カウント値の上位ビットを波形アドレス
Aaとしてアドレスセレクタ14に出力するとともに、
その下位ビットにより係数アドレスAdを生成してアド
レスセレクタ14に出力する。
【0065】この係数アドレスAdは、図7に示すよう
に、アドレスカウンタ部13のカウント値の下位ビット
Abに、上記同様に、組を表すビットとして波形アドレ
スAaの下位2ビット付加するとともに、グループを指
定するビットとしてさらに波形アドレスAaの1ビット
のフィルタ特性選択フラグビットSlを付加し、全部で
3ビットを付加した19ビットとする。そして、最後
に、波形アドレスAaのビット数である20ビットに合
せるために、先頭に「0」を付加して、係数アドレスA
dとして出力する。
【0066】したがって、係数アドレスAdは、(16
+3)ビットによりアドレス指定することとなり、「0
0000H」〜「7FFFFH」が係数データKDのア
ドレス領域となる。
【0067】そして、フィルタ特性選択フラグビットS
lにより選択される係数データKDのグループは、フィ
ルタ特性選択フラグビットSlが1ビットで構成されて
いるため、フィルタ特性選択フラグビットSlの値によ
って、フィルタ特性の異なる2つの係数データKDのグ
ループを選択することができ、フィルタ特性選択フラグ
ビットSlが「0」である係数データKDのグループ
は、係数アドレスAdが「00000H」〜「3FFF
FH」の範囲がそのデータ領域となり、フィルタ特性選
択フラグビットSlが「1」である係数データKDのグ
ループは、係数アドレスAdが「40000H」〜「7
FFFFH」の範囲がそのデータ領域となる。
【0068】アドレスカウンタ部13は、このような波
形アドレスAaと係数アドレスAdをアドレスセレクタ
14に出力し、アドレスセレクタ14は、上記実施例と
同様に、波形アドレスAaと係数アドレスAdとを順次
交互に選択して、アドレスレジスタ15に出力する。
【0069】アドレスレジスタ15は、アドレスセレク
タ14の出力を上記タイミングで取り込んでアドレスバ
スAAに出力し、波形メモリ12のアドレスを指定す
る。
【0070】波形メモリ12には、上述のように、波形
データWDとともに、フィルタ特性の異なる2つのグル
ープの係数データKDが記憶されており、波形アドレス
Aaと係数アドレスAdによりアドレス指定されること
により、波形データが読み出されるとともに、2つのグ
ループのうちの1つから4つの組の係数データKDが読
み出されて、データバスDDに順次出力される。
【0071】このデータバスDDに出力された波形デー
タWDと係数データKDが、上記実施例と同様に、デー
タレジスタ16に取り込まれ、音程変換部17に出力さ
れる。音程変換部17で、上記実施例と同様に、波形デ
ータWDと係数データKDが積和演算されて、再生波形
として出力される。
【0072】したがって、本実施例においては、上記実
施例と同様に、係数データを記憶する係数メモリを別に
用意する必要がなく、ハードウェア規模を縮小して、波
形データ発生装置10を小型化し、コストを低減するこ
とができる。さらに、本実施例においては、波形メモリ
12に係数データを異なるフィルタ特性毎の2つのグル
ープ分記憶させ、係数データを2つのグループから選択
することができるので、再生出力波形をより一層適切な
ものとし、音程変換をより適切に行うことができる。
【0073】
【発明の効果】本発明によれば、波形データを記憶する
ための大容量の波形記憶手段の空き領域に、係数データ
を記憶させ、簡単な回路構成で波形データと係数データ
を読み出すためのアドレス設定を行うことができ、係数
データを記憶するための係数メモリを、別に設ける必要
がなく、従来必要であった係数メモリの分だけハードウ
ェアを縮小させることができ、音程変換における波形デ
ータと係数データとの演算精度を良好に維持しつつ、波
形データ生成装置を小型化することができるとともに、
コストを低減することができる。DETAILED DESCRIPTION OF THE INVENTION
[0001]
The present invention relates to a waveform data generator.
More specifically, waveform data for generating a tone signal or the like is described in detail.
Data from the waveform memory to generate a waveform
Data generator.
[0002]
2. Description of the Related Art Recently, with the development of digital technology,
Digitalization of electronic musical instruments has progressed, and
Reads the waveform data stored in the
Pitch conversion is performed by filter processing.
[0003] In such pitch conversion, digital
Conventionally, as a waveform data generator that performs filter processing,
There is one as shown in FIG.
FIG. 8 shows a conventional waveform data generator.
1 has four registers 2, 3, 4, 5 for waveform data.
Provided in each of the waveform data registers 2, 3, 4, and 5.
From the waveform memory (not shown) at each sampling timing.
The four consecutive waveform data read out are sequentially stored.
You. This waveform memory is controlled by an address counter (not shown).
Addressed.
[0005] The waveform data generating device 1 has a coefficient memo.
The coefficient memory 6 has an address for reading a waveform.
Addressed by the decimal data of the address counter.
From the coefficient memory 6 to the above four waveform data
The corresponding four coefficient data are stored in registers 7, 8, 9, 1
Read to 0. The coefficient memory 6 has a predetermined value.
Multiple sets of filtered filter coefficient data are stored.
The numerical data is a set of four data.
The data stored in the registers 2, 3, 4, 5
The waveform data and the data stored in the registers 7, 8, 9, and 10 are stored.
The obtained coefficient data is respectively supplied to the corresponding multipliers 11, 1
2, 13 and 14, and each of the multipliers 11, 12, 1
Reference numerals 3 and 14 denote input waveform data and coefficient data, respectively.
And outputs the result to the adder 15.
[0007] The adder 15 is connected to each of the multipliers 11, 12, 1
The multiplication results input from 3 and 14 are added, and the output waveform and
And output.
[0008]
SUMMARY OF THE INVENTION However, the conventional
In a waveform data generator, the coefficient data is
Is stored in the coefficient memory dedicated to
Sufficient coefficient data can be stored in terms of cost
The overall calculation accuracy in the pitch conversion process is poor.
There was a title.
That is, the pitch conversion process is performed by a digital filter.
Perform pitch conversion with high accuracy when realizing with
Then, instead of the primary filter (linear interpolation),
It is necessary to perform digital filter processing.
Digital filter processing
In order to realize the processing itself with high accuracy, fill
It is necessary to increase the word length of the
Becomes large. In this case,
At the expense of the calculation accuracy of the
Noise increases, and the accuracy of the pitch conversion process deteriorates.
That is, a filter coefficient in an electronic musical instrument
In general, the word length of 16 bits or more
Have been.
Therefore, a conventional waveform data as shown in FIG.
In the case of the data generator 1, the decimal part of the address counter is
If it is 15 bits, the coefficient memory 6 has
Filter coefficients with different word lengths
Unit stores (16 × 4) bits × 32768 words
Requires a large storage capacity, and the coefficient memory 6 and thus the waveform data
The size of the entire data generator 1 becomes large,
Problem.
Therefore, the upper bit of the decimal part of the address counter is
Read two sets of coefficients according to the
To obtain a given set of filter coefficients by interpolation
Is also conceivable.
However, it is difficult to find the filter coefficients by interpolation.
In some cases, this is not a basic solution.
That is, by interpolation processing,
To maintain the filter coefficient accuracy, the stored filter
Data pairs must be somewhat large.
Address counter to address the coefficient memory.
Even if the upper part of several parts is 10 bits, the coefficient memory
The size is (16 × 4) bits × 1024 words
Requires a large storage capacity.
Accordingly, the present invention provides a waveform conversion method for pitch conversion.
While maintaining good calculation accuracy of data and coefficients,
Can reduce the size of hardware and reduce costs
It is an object of the present invention to provide a waveform data generator.
[0016]
SUMMARY OF THE INVENTION Waveform data generation of the present invention
The device is a means for storing waveform data, and
Stores coefficient data for waveform data calculation in the storage area of
Waveform storage means;The bits that make up the integer and decimal parts
And is represented by an integer bit for each sampling timing.
An address counter for updating a count value to be provided; Sun
Integer part of this address counter for each pulling timing
The count value represented by the bits constitutingThe waveform record
For reading predetermined waveform data stored in the storage means.
Waveform addressAsMeans for generating a waveform address,
Each time the sampling counter is
The bits that make up the fractional part and the fractional part bit
The lower predetermined bits of the integer part composing the waveform address
The added one is generated by the waveform address generating means.
Corresponding to the waveform data read by the
Reading corresponding predetermined coefficient data from the waveform storage means.
As a coefficient address forGenerate coefficient address to generate
Means and a waveform output from the waveform address generating means
Address and a coefficient output from the coefficient address generating means.
Number addressesAnd are selected in turn,The waveform memory hand
Address selecting means for outputting to the stage;
From the waveform storage means based on the address from the stage
Data and coefficient dataAnd alternatelyReading means to read
Read from the waveform storage means by the reading means.
Waveform dataOf the read waveform data
The coefficient data read from the waveform storage means corresponding to the set
Multiply-accumulate operation by data setFilter that performs processing and outputs
Processing means, and
I have.
[0017]
[0018]
[0019]
[0020]
According to the present invention, a large amount of waveform data is stored.
The waveform data is stored in the waveform storage means designed to
Simply storing the waveform data in the free space that normally occurs
The coefficient data for data calculation is stored.
And from this waveform storage meansWaveform data
In order to read the
Generate an address. This waveform address has an integer part and
It has bits that make up the decimal part, and the sampling timing
Updates the count value represented by the integer part bit for each bug
It has an address counter, and every sampling timing
Represented by the bits that make up the integer part of this address counter.
Count value. In addition, this waveform address
Predetermined coefficient data corresponding to the waveform data read from
In order to read the set of parameters,
To generate a coefficient address. This coefficient address is
Decimal number of this address counter for each sampling timing
Waveforms above the bits that make up the part and the decimal part bits
Adds lower specified bits of the integer part of the address.
Consisting of
[0022]The waveform is obtained by the address selecting means.
The waveform address and coefficient output from the address generator are
And the coefficient addresses output from the dress generation means.
Alternately selected and output to the waveform storage means.
Waveform recording based on the address from the address selection means.
The waveform data and the coefficient data are sequentially and alternately read from storage means.
Protrude.
[0023]Furthermore, by the filter processing means,Reading means
Waveform data read byAnd the read
Read from the waveform storage means corresponding to the set of
Sum-of-products operation using the set of output coefficient dataPerform processing.
Therefore, for storing the coefficient data,
There was no need to provide a separate storage means, which was conventionally required
Hardware can be reduced by the amount of coefficient memory.
Waveform data and coefficient data with a simple circuit configuration.
Address setting for reading the data
Calculation accuracy between waveform data and coefficient data
It is important to reduce the size of the waveform data generator while maintaining good
And cost can be reduced.
[0025]
EXAMPLES Hereinafter, the present invention will be specifically described based on examples.
I will tell.
FIGS. 1 to 6 show a waveform data generator according to the present invention.
FIG. 3 is a diagram showing an embodiment of a storage device.
ad Only Memory)
PCM sound that outputs waveform data
Applied to the source system.
FIG. 1 shows a waveform data generator 10 according to the present invention.
FIG. 3 is a circuit block diagram of FIG.
In FIG. 1, a waveform data generator 10
Is a sound source LSI (Large Scale Integrated circuit) 1
1 and a waveform memory 12.
Address counter 13, address selector 14, address
Les register 15, data register 16, and pitch converter
17 and the like.
The waveform memory 12 is constituted by a ROM.
Are divided into a waveform data area and coefficient data area.
ing. The waveform memory 12 stores a waveform in the waveform data area.
Shape data is stored in advance, and pitch conversion is performed in the coefficient data area.
Coefficient data is stored in advance.
The waveform memory 12 stores the address of the
The packet configuration is 20 bits, and the address
Addressing unit 13 and the address selector 14
Is
The address counter 13 is provided with a CPU (not shown).
(Central Processing Unit)
At each sampling timing, the waveform
Waveform address (upper bit) A for reading data
a and a coefficient address for interpolating the read waveform data.
Output address (lower bit) Ad to address selector 4
I do. The waveform address Aa and the coefficient address Ad are:
For example, it is composed of 20 bits.
The address counter 13 stores the address
In the setting, for the pitch conversion by the instruction from the CPU
Four adjacent waveform data from the waveform memory 12
To read the four adjacent addresses
A pair, for example, as shown in FIG.
1, Aa0, (Aa0) +1, (Aa0) +2 or (Aa
1) -1, Aa1, (Aa1) +1, (Aa1) +2
Is the waveform address Aa and the sampling timing
It is output sequentially every time.
The address counter 13 is provided with a CPU
From the four waveform data
The corresponding set of four filter coefficients is read from the waveform memory 12.
To find out, a set of four addresses, for example, FIG.
As shown in (b), Ad0_a, Ad0_b, Ad0
_C, Ad0_d, Ad1_a, Ad1_b, Ad1_
c, Ad1_d as coefficient address Ad, sampler
Output sequentially at each timing.
The waveform address Aa and the coefficient address Ad
Means the count value of the address counter 13 and the value shown in FIG.
They have such a relationship.
That is, the address counter unit 13
Bit data (for example, 20 bits
Data) as the waveform address Aa, and
Lower bit data of the default value (for example, 16-bit data)
Waveform address to specify a set of coefficient data
Add the lower 2 bits of Aa and add the value of the additional 2 bits
, Four coefficient addresses Ad, for example, A
dx_a, Adx_b, Adx_c, Adx_d (x
Produces an arbitrary numerical value). Note that the address counter
The lower bit data of the count value of the unit 13 is 16 bits
Therefore, even if the above 2 bits are added, 18 bits
It is. Therefore, the address counter unit 13 further
To the waveform address Aa.
Generates a 20-bit coefficient address Ad with the same number of bits as
are doing.
Therefore, the coefficient address Ad is
When "00" is added to the beginning, the waveform memory 12
Starting address of waveform memory 12 by several addresses Ad
The part will be addressed. Therefore, the waveform
A coefficient data area is formed at the beginning of the address of the memory 12.
And the lower bits of the address counter 13 are 16 bits.
, The coefficient data KD is (16 + 2) bits
And the address will be specified from "00000".
“3FFFF” is an address area of the coefficient data KD.
You.
The coefficient data is as shown in FIG.
The waveform address Aa, for example, (Aa0) -1, Aa
Waves read at 0, (Aa0) +1, (Aa0) +2
In the shape data, a coefficient address Ad, for example, Ad0_a,
The relations read out by Ad0_b, Ad0_c, and Ad0_d
Coefficient data array that is related to multiply numerical data
Is stored in the waveform memory 12.
The waveform address generated as described above
Aa and the coefficient address Ad are sent to the address selector 14.
Output, and the address selector 14
Aa and the coefficient address Ad are converted as shown in FIG.
And alternately select them and output them to the address register 15
I do.
The address register 15 has an address select.
The output of the data 14 at the sampling timing.
And outputs it to the data bus AA. Therefore, the data
As shown in FIG. 2D, the waveform address A
a and the coefficient address Ad are output alternately, and the waveform memory 1
2 is set.
According to the address setting of the address bus AA,
Waveform data and coefficient data from the waveform memory 12 alternately.
The data is read and the data bus DD is connected to the tie shown in FIG.
, The waveform data WD, for example, WD00, WD0
1, WD02, WD03 and coefficient data KD, for example, K
D0a, KD0b, KD0c, and KD0d are output alternately.
It is.
The data bus DD is connected to the data register 16.
The data register 16 is connected to the data bus D
Waveform data WD and coefficient data KD input through D
Are sequentially held, and at the timing shown in FIG.
Waveform data WD and coefficient data as the register output DR.
For example, KD00, KD0a,...
In this way, the output is alternately output to the pitch converter 17.
The pitch conversion unit 17 receives the above-mentioned wave
The shape data WD and the coefficient data KD are fetched and digitized.
Executes the total filter operation and outputs the reproduced waveform output
I do.
The pitch conversion unit 17 is provided as shown in FIG.
, A waveform register 20, a coefficient register 21, and a product-sum operation
It is constituted by a part 22.
The waveform register 20 and the coefficient register 21
From the data register 16 as shown in FIG.
The data register output DR is input and the waveform register 20
And the coefficient register 21 waveform the data register output DR.
Data and coefficient data, and separate
The waveform data is stored in the waveform register 20 and the coefficient data is stored in the coefficient register.
The star 21 holds.
The waveform register 20 stores the held waveform data.
As shown in FIG. 5B, the waveform register output WR,
For example, WD00, WD01, WD02, and WD03
And outputs the result to the product-sum operation unit 22.
The obtained coefficient data is stored in a coefficient register as shown in FIG.
Star output KR, for example, KD0a, KD0b, KD0
c and KD0d are output to the product-sum operation unit 22.
The product-sum operation unit 22 is separated and input.
Multiply the waveform register output WR by the coefficient register output KR
After performing accumulation, that is, product-sum operation processing,
Output as shape.
That is, the product-sum operation unit 22 is configured as shown in FIG.
Thus, the multiplier 30, the adder 31, the accumulation register 32,
And an output register 33.
The multiplier 30 has the waveform register output W
R and the coefficient register output KR are input and the multiplier 30
Is a waveform register output WR and a coefficient register which are sequentially input.
The output KR is multiplied by the output KR and output to the adder 31. Sand
The multiplier 30 has a waveform register output WR, for example,
WD00, WD01, WD02, WD03 and coefficient register
Output KR, for example, KD0a, KD0b, KD0c,
KD0d are sequentially input, and the multiplier 30 outputs these waveforms.
A register output WR and a coefficient register output KR, for example, WD
00 and KD0a, WD01 and KD0b...
Then, the data is output to the adder 31.
The adder 31 further includes an accumulation register 32
Is output, and the adder 31
The result of the multiplication is added to the output of the accumulation register 32 to perform accumulation.
Output to register 32.
The accumulation register 32 further includes
Asynchronous clear signal as shown in (e) is input and accumulated
The register 32 stores the asynchronous clear signal and the next asynchronous clear.
A predetermined time is output from the adder 31 until the signal is input.
Accumulates the input signal and outputs the accumulation result to the output
Output to the register 33. That is, the accumulation register 32
As shown in FIG. 5 (e), an asynchronous clear signal is input.
Is cleared to "0", and then
For each time, the addition result input from the adder 31 is sequentially accumulated
And the accumulation result, for example, Ac0a, Ac0a + Ac
0b, Ac0a + Ac0b + Ac0c, Ac0a + Ac
0b + Ac0c + Ac0d is output to the output register 33.
You.
The output register 33 is an accumulation register 33
The accumulated result input from the
As shown in FIG. 5F, the final accumulation result, for example, Ac
0a + Ac0b + Ac0c + Ac0d is used as the reproduced waveform output
And output.
Next, the operation will be described.
The waveform data generator 10 includes a waveform memory 1
2 stores the coefficient data together with the waveform data.
Read four consecutive waveform data from waveform memory 12
And four sets corresponding to these four waveform data
Address setting for reading coefficient data of
You.
That is, the add of the waveform data generator 10
The counter 13 is operated by an instruction from a CPU (not shown).
For each sampling timing, as shown in FIG.
Waveform address for reading waveform data from memory 12
Aa, for example, (Aa0) -1, Aa0, (Aa0)
+1 and (Aa0) +2 to complement the read waveform data.
The coefficient address Ad of the coefficient data KD, for example,
For example, Ad0_a, Ad0_b, Ad0_c, Ad0_d
Is generated and output to the address selector 14.
The address selector 14 has an address counter.
Address Aa and coefficient address input from the
2 are sequentially and alternately selected as shown in FIG.
And outputs it to the address register 15.
The address register 15 has an address select.
The address output from the data 14 is sequentially
2d, and stored in the waveform memory as shown in FIG.
12 is output to an address bus AA connected to the address bus AA.
According to the address setting of the address bus AA,
Waveform data and coefficient data from the waveform memory 12 alternately
And the data connected to the data register 16
At the timing shown in FIG.
WD, for example, WD00, WD01, WD02, WD
03 and coefficient data KD, for example, KD0a, KD0b,
KD0c and KD0d are output alternately.
The data register 16 stores the input waveform data.
The data WD and the coefficient data KD are shown in FIG.
The data register output DR
The shape data WD and the coefficient data KD are, for example, WD00,
.. KD0a,...
Output.
The pitch conversion unit 17, as shown in FIG.
A product-sum operation is sequentially performed on the waveform data WD and the coefficient data KD,
In synchronization with the asynchronous clear signal, the output level shown in FIG.
The register output is output as a reproduction waveform.
As described above, the waveform data generation of this embodiment
The device 10 stores the waveform data in the waveform memory 12 together with the waveform data.
Numerical data is also stored, and continuous data is stored from the waveform memory 12.
Read out the four waveform data and read these four waveforms
To read four sets of coefficient data corresponding to the data
Address setting of the address counter 13 and the address
This is performed by the selector 14. As a result,
In addition, it is necessary to prepare a separate coefficient memory for storing coefficient data.
There is no need to use waveform data and coefficient data for pitch conversion.
Hardware scale while maintaining good computational accuracy
By reducing the size, the waveform data generator 10 can be downsized.
And the cost can be reduced.
FIG. 7 shows another example of the waveform data generating apparatus of the present invention.
It is a figure which shows the Example of.
This embodiment has the same waveform data as the above embodiment.
This is applied to the data generator, and
In the following description, the reference numerals used in the above embodiments are used as they are.
I do.
The waveform data generating device 10 of the present embodiment
The waveform data similar to the above is stored in the waveform memory 12 of FIG.
And the coefficient data of two groups with different filter characteristics.
Data KD.
Further, the address counter section 13
As in the embodiment, the upper bits of the count value are assigned to the waveform address.
Aa is output to the address selector 14 and
A coefficient address Ad is generated based on the lower bits, and
Output to the selector 14.
The coefficient address Ad is, as shown in FIG.
Are the lower bits of the count value of the address counter unit 13.
In the same manner as above, the waveform address is assigned to Ab as a bit representing a set.
Add the lower 2 bits of Aa and specify the group.
1 bit of the waveform address Aa
Of the filter characteristic selection flag bit Sl of
It is 19 bits with 3 bits added. And last
And 20 bits, which is the number of bits of the waveform address Aa.
In order to make the coefficient address A
Output as d.
Therefore, the coefficient address Ad is (16
+3) bits to specify the address.
0000H ”to“ 7FFFFH ”are the addresses of the coefficient data KD.
It becomes a dress area.
Then, the filter characteristic selection flag bit S
The group of coefficient data KD selected by l
The filter characteristic selection flag bit Sl is composed of one bit.
Therefore, depending on the value of the filter characteristic selection flag bit Sl,
Thus, the grouping of two coefficient data KD having different filter characteristics is performed.
Loop can be selected, filter characteristics selection flag
Group of coefficient data KD whose bit Sl is "0"
Indicates that the coefficient address Ad is "00000H" to "3FFF
The range of “FH” becomes the data area, and the filter characteristic selection is performed.
Of the coefficient data KD whose selection flag bit Sl is “1”.
In the loop, the coefficient address Ad is "40000H" to "7
The range of “FFFFH” is the data area.
The address counter section 13 detects such a wave.
Address address selector Aa and coefficient address Ad
14, and the address selector 14 outputs
Similarly, the waveform address Aa and the coefficient address Ad are sequentially
The addresses are alternately selected and output to the address register 15.
The address register 15 has an address select.
The output of the data
Output to the memory AA, and specify the address of the waveform memory 12.
You.
The waveform memory 12 stores the waveform as described above.
Along with data WD, two groups with different filter characteristics
The coefficient data KD of the loop is stored and the waveform address
Be addressed by Aa and coefficient address Ad
As a result, waveform data is read out and two groups
Four sets of coefficient data KD are read from one of the loops.
And are sequentially output to the data bus DD.
The waveform data output to data bus DD
The data WD and the coefficient data KD are the same as in the above embodiment.
And is output to the pitch conversion unit 17.
It is. The pitch conversion unit 17 performs the waveform decoding in the same manner as in the above embodiment.
Data WD and coefficient data KD are multiplied and summed to produce a reproduced waveform
Is output as
Therefore, in the present embodiment,
Similar to the embodiment, a separate coefficient memory for storing coefficient data is provided.
No need to prepare, reduce hardware scale,
To reduce the size and cost of the
Can be. Further, in this embodiment, the waveform memory
12 shows two coefficient groups for different filter characteristics.
Select the coefficient data from two groups
So that the playback output waveform can be
The pitch conversion can be performed more appropriately.
[0073]
According to the present invention, waveform data is stored.
In the free space of the large-capacity waveform storage means for
Waveform data and coefficient data with a simple circuit configuration
Address can be set to read the
Separate coefficient memory for storing data must be provided
There is no hardware
Data can be reduced, and the waveform
While maintaining good calculation accuracy between data and coefficient data.
Shape data generator can be downsized,
Cost can be reduced.
【図面の簡単な説明】
【図1】本発明の波形データ生成装置の一実施例の回路
ブロック図。
【図2】図1の波形データ生成装置の動作タイミング
図。
【図3】図1の波形データ生成装置による波形アドレス
Aaと係数アドレスAdのアドレス生成の説明図。
【図4】図1の音程変換部の詳細な回路ブロック図。
【図5】音程変換部の動作タイミング図。
【図6】図4の積和演算部の詳細な回路ブロック図。
【図7】本発明の波形データ生成装置の一実施例の動作
タイミング図。
【図8】従来の波形データ生成装置の回路ブロック図。
【符号の説明】
10 波形データ生成装置
11 音源LSI
12 波形メモリ
13 アドレスカウンタ部
14 アドレスセレクタ
15 アドレスレジスタ
16 データレジスタ
17 音程変換部
20 波形レジスタ
21 係数レジスタ
22 積和演算部
30 乗算器
31 加算器
32 累算レジスタ
33 出力レジスタBRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a circuit block diagram of an embodiment of a waveform data generating device according to the present invention. FIG. 2 is an operation timing chart of the waveform data generation device of FIG. 1; FIG. 3 is an explanatory diagram of address generation of a waveform address Aa and a coefficient address Ad by the waveform data generation device of FIG. 1; FIG. 4 is a detailed circuit block diagram of a pitch converter of FIG. 1; FIG. 5 is an operation timing chart of a pitch conversion unit. FIG. 6 is a detailed circuit block diagram of a product-sum operation unit in FIG. 4; FIG. 7 is an operation timing chart of an embodiment of the waveform data generation device of the present invention. FIG. 8 is a circuit block diagram of a conventional waveform data generation device. [Description of Signs] 10 Waveform data generation device 11 Sound source LSI 12 Waveform memory 13 Address counter unit 14 Address selector 15 Address register 16 Data register 17 Pitch conversion unit 20 Waveform register 21 Coefficient register 22 Product-sum operation unit 30 Multiplier 31 Adder 32 accumulation register 33 output register
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G10H 1/00 - 7/12 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int. Cl. 7 , DB name) G10H 1/00-7/12
Claims (1)
一部の記憶領域に波形データ演算用の係数データを記憶
する波形記憶手段と、整数部及び小数部を構成するビットを有し、サンプリン
グタイミング毎に整数部のビットで表されるカウント値
を更新するアドレスカウンタと、 サンプリングタイミング毎にこのアドレスカウンタの整
数部を構成するビットで表されるカウント値を、 前記波
形記憶手段に記憶された所定の波形データを読み出すた
めの波形アドレスとして生成する波形アドレス生成手段
と、サンプリングタイミング毎に前記アドレスカウンタの小
数部を構成するビット及び当該小数部ビットの上位に前
記波形アドレスを構成する整数部の下位の所定ビットを
付加したものを、前記波形アドレス生成手段により生成
された波形アドレスにより読み出された波形データに対
応する所定の係数データを前記波形記憶手段から読み出
すための係数アドレスとして 生成する係数アドレス生成
手段と、 前記波形アドレス生成手段から出力される波形アドレス
と前記係数アドレス生成手段から出力される係数アドレ
スとを、順次交互に選択して、前記波形記憶手段に出力
するアドレス選択手段と、 前記アドレス選択手段からのアドレスに基づいて前記波
形記憶手段から波形データと係数データとを、順次交互
に読み出す読出手段と、 前記読出手段により前記波形記憶手段から読み出された
波形データの組と、当該読み出された波形データの組に
対応して前記波形記憶手段から読み出された係数データ
の組により積和演算処理を行って出力するフィルタ処理
手段と、 を備えたことを特徴とする波形データ発生装置。(57) Claims 1. A means for storing waveform data, wherein a waveform storage means for storing coefficient data for calculating waveform data in a partial storage area thereof, an integer part and a decimal number Has bits that make up the
Count value represented by an integer part bit at each timing
An address counter for updating, at each sampling timing settling of the address counter
A count value represented by bits constituting the number parts, the waveform address generating means for generating a waveform address for reading predetermined waveform data stored in waveform memory means, said address counter small for every sampling timing
The bits that make up the fractional part and the fractional part bit
The lower predetermined bits of the integer part composing the waveform address
The added one is generated by the waveform address generating means.
Corresponding to the waveform data read by the
Reading corresponding predetermined coefficient data from the waveform storage means.
A coefficient address generating means for generating a coefficient address for generating a waveform address, and a waveform address output from the waveform address generating means and a coefficient address output from the coefficient address generating means are sequentially and alternately selected to store the waveform data. and an address selection means for outputting the unit, the waveform data and the coefficient data from said waveform storage means based on the address from said address selecting means, sequentially and alternately
Reading and reading means, and a set of waveform data read out from said waveform storage means by the reading means, to the waveform data read out set in
Coefficient data correspondingly read from the waveform storage means
And a filter processing means for performing a sum-of-products calculation process by a set of and outputting the result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17610693A JP3479999B2 (en) | 1993-06-22 | 1993-06-22 | Waveform data generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17610693A JP3479999B2 (en) | 1993-06-22 | 1993-06-22 | Waveform data generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07140982A JPH07140982A (en) | 1995-06-02 |
JP3479999B2 true JP3479999B2 (en) | 2003-12-15 |
Family
ID=16007801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17610693A Expired - Lifetime JP3479999B2 (en) | 1993-06-22 | 1993-06-22 | Waveform data generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3479999B2 (en) |
-
1993
- 1993-06-22 JP JP17610693A patent/JP3479999B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07140982A (en) | 1995-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4715257A (en) | Waveform generating device for electronic musical instruments | |
JP2001188600A5 (en) | ||
JPH0642148B2 (en) | Music signal processor | |
JP3479999B2 (en) | Waveform data generator | |
KR100236686B1 (en) | Data sample series access apparatus | |
JPS6332196B2 (en) | ||
JP2950461B2 (en) | Tone generator | |
JPH0145078B2 (en) | ||
JPH0834763B2 (en) | Musical tone frequency generator for electronic musical instruments | |
JP2707609B2 (en) | Memory device | |
JP3252297B2 (en) | Waveform data output device with digital filter device | |
JP2558356B2 (en) | Digital to analog converter | |
JP3097599B2 (en) | Digital filter | |
JP3197648B2 (en) | Digital filter | |
JPS585798A (en) | Delayed vibrato control system for electronic musical instrument | |
JP3435702B2 (en) | Music generator | |
JP3245617B2 (en) | Waveform generator | |
JPS5846036B2 (en) | electronic musical instruments | |
KR950009765B1 (en) | A multiplier for digital filter using square-rom method and a fir filter thereof | |
JP2002507305A (en) | Device for converting a sequence of data elements | |
JPS59162595A (en) | Musical tone sythesizer | |
KR0181587B1 (en) | Synthesis filtering apparatus and method of mpeg-1 audio decoder | |
JPS58200294A (en) | Envelope signal generator | |
JPS648840B2 (en) | ||
JPH02179698A (en) | Processor for electronic musical instrument |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071010 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081010 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081010 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091010 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091010 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101010 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101010 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 9 |