Nothing Special   »   [go: up one dir, main page]

JP2708037B2 - Music signal generator - Google Patents

Music signal generator

Info

Publication number
JP2708037B2
JP2708037B2 JP8149828A JP14982896A JP2708037B2 JP 2708037 B2 JP2708037 B2 JP 2708037B2 JP 8149828 A JP8149828 A JP 8149828A JP 14982896 A JP14982896 A JP 14982896A JP 2708037 B2 JP2708037 B2 JP 2708037B2
Authority
JP
Japan
Prior art keywords
filter
data
order
address signal
tone
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
Application number
JP8149828A
Other languages
Japanese (ja)
Other versions
JPH09134176A (en
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP8149828A priority Critical patent/JP2708037B2/en
Publication of JPH09134176A publication Critical patent/JPH09134176A/en
Application granted granted Critical
Publication of JP2708037B2 publication Critical patent/JP2708037B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】この発明は、ディジタルフィ
ルタ演算を利用して折返しノイズ等の除去や音色制御等
を行う楽音信号発生装置に関し、特に、比較的簡単なハ
ードウェア構成で精度の良いディジタルフィルタ演算を
行うことができるようにした楽音信号発生装置に関す
る。 【0002】 【従来の技術】電子楽器においては、ディジタル楽音信
号の音色を制御するあるいはノイズを除去する等の目的
でディジタルフィルタが使用されている。例えば、合成
しようとする楽音の周波数に無関係に常に一定のサンプ
リング周波数でサンプリングすることにより楽音信号を
合成する所謂ピッチ非同期型の楽音合成方法において
は、一般に楽音の周波数とサンプリング周波数とは非整
数比であり、サンプリング定理から明らかなように楽音
周波数に非調和な折返しノイズが発生するおそれがあ
り、これを除去する必要がある。このようなピッチ非同
期型の楽音信号に含まれる折返しノイズを除去するため
の方策として、折返しノイズを除去する特性のディジタ
ルフィルタに楽音信号を通すようにすることが従来考え
られている(特開昭61−90514号公報)。 【0003】 【発明が解決しようとする課題】ディジタルフィルタに
楽音信号を通して折返しノイズを除去するものにおいて
は、フィルタの次数を十分にとって精度の良いフィルタ
演算を行わねばならないため、フィルタの構成が複雑に
なるという問題点がある。また、折返しノイズ除去用の
ディジタルフィルタに限らず、音色制御用その他の用途
のディジタルフィルタにおいても同様である。この発明
は上述の点に鑑みてなされたもので、ディジタルフィル
タを用いて音色制御や折返しノイズの除去を行う場合に
おいて、簡単な構成でありながら、精度の良いフィルタ
演算を行うことができるようにした楽音信号発生装置を
提供しようとするものである。 【0004】 【課題を解決するための手段】 この発明に係る楽音信
号発生装置は、発生すべき楽音の音高に対応するレート
で変化する整数部と小数部とからなるアドレス信号を発
生するアドレス信号発生手段と、上記アドレス信号の整
数部に応じて楽音波形サンプルデータを発生する楽音波
形データ発生手段と、楽音を制御するための制御データ
を発生する制御データ発生手段と、異なる特性を示す複
数のフィルタ特性について所定次数からなるフィルタ係
数をそれぞれ記憶してなり、この複数のフィルタ特性
中から前記制御データに対応するフィルタ特性を選択
し、選択されたフィルタ特性に対応する前記所定次数か
らなるフィルタ係数の中から前記アドレス信号の小数部
の所定上位ビットに応じて複数のフィルタ係数を読み出
フィルタ係数発生手段及びこのフィルタ係数発生手段
から読み出された複数のフィルタ係数を前記アドレス信
号の小数部の所定下位ビットに応じて補間することによ
り前記所定次数よりも多いm次のフィルタ係数が発生可
能なフィルタ係数補間手段を有し、上記アドレス信号の
小数部に応じて前記フィルタ係数発生手段でのフィルタ
係数の読み出し及びフィルタ係数補間手段での補間を制
御することにより、m次のフィルタ特性を実現するため
の連続する各次数に対応するm個のフィルタ係数の中か
らn個(ただしn<m)の係数データを選択して供給す
るフィルタ係数供給手段と、このn個の係数データと上
記楽音波形データ発生手段で発生されたnサンプル点分
の楽音波形データとを用いて、m次のフィルタ演算をn
サンプル点分の楽音波形データに関して行うディジタル
フィルタ演算手段とを具えたものである。 【0005】アドレス信号発生手段は、発生すべき楽音
の音高に対応するレートで変化する整数部と小数部とか
らなるアドレス信号を発生する。いうまでもなく、アド
レス信号の整数部は小数部よりも分解能が粗い。楽音波
形データ発生手段では、このアドレス信号の整数部に応
じて楽音波形サンプルデータを発生する。従って、楽音
波形データ発生手段で準備する楽音波形サンプルデータ
の分解能は比較的粗いものであっても良い。例えば、従
来のピッチ同期型の楽音信号発生装置におけるもののよ
うに波形1周期当り64分割程度の精度で楽音波形サン
プルデータを準備するだけであってもよい。なお、後述
するように、この場合、楽音波形データ発生手段で発生
される楽音波形サンプルデータのサンプリング周波数は
ピッチに同期していると否とを問わない。仮に、ピッチ
非同期型であるとすると、ピッチ同期型並みの粗い分解
能で楽音波形サンプルデータを準備するだけでよいので
ある。フィルタ係数供給手段では、異なる特性を示す複
数のフィルタ特性について所定次数からなるフィルタ係
数をそれぞれ記憶してなり、この複数のフィルタ特性の
中から前記制御データに対応するフィルタ特性を選択
し、選択されたフィルタ特性に対応する前記所定次数か
らなるフィルタ係数の中から前記アドレス信号の小数部
の所定上位ビットに応じて複数のフィルタ係数を読み出
すフィルタ係数発生手段及びこのフィルタ係数発生手段
から読み出された複数のフィルタ係数を前記アドレス信
号の小数部の所定下位ビットに応じて補間することによ
り前記所定次数よりも多いm次のフィルタ係数が発生可
能なフィルタ係数補間手段を有し、上記アドレス信号の
小数部に応じてm次のフィルタ係数に対応する係数デ
ータのうちn個(ただしn<m)を選択して供給する。
ディジタルフィルタ演算手段では、このn個の係数デー
タと上記楽音波形データ発生手段で発生されたnサンプ
ル点分の楽音波形データとを用いて、m次のフィルタ演
算をnサンプル点分の楽音波形データに関して行う。こ
れにより、アドレス信号の小数部の分解能を持つ精度の
良い楽音波形サンプルデータ(これは実際には楽音波形
データ発生手段では準備されていないが)に対してm次
の精密なフィルタ演算(実際にはn個分の次数に関する
演算しか行われないが)を行うのと等価のフィルタ演算
を行うことができる。すなわち、アドレス信号の整数部
に対応して発生された楽音波形データを、ディジタルフ
ィルタにおいてm次フィルタ演算処理することによっ
て、該アドレス信号の小数部の分解能で波形補間するの
と同等の処理を達成することができるものである。これ
により、折り返しノイズの除去に寄与することができ
る。 【0006】因みに、例えば、従来のピッチ非同期型の
楽音信号発生装置においては、折返しノイズの影響をで
きるだけ排除するために、波形の分解能をできるだけ高
め、サンプリング周波数を高くすることが一般に行われ
る。例えば、波形1周期当り1000〜16000分割の精度で
波形データを準備することが行われており、そのため、
波形メモリにはかなりの容量が要求される。このように
波形メモリにはかなりの容量が要求されるので、1周期
波形等の比較的短い区間からなる波形をメモリに記憶
し、これを繰返し読み出すような楽音信号発生方式の場
合はまだしも、連続的な複数周期波形等の比較的長い区
間からなる波形をメモリに記憶し、これを読み出すよう
な楽音信号発生方式の場合には不向きであった。これに
対して、合成しようとする楽音の周波数にサンプリング
周波数を同期させる所謂ピッチ同期型の楽音合成方法に
おいては、楽音周波数(ピッチ)とサンプリング周波数が
調和するため折り返しによって生じる成分は楽音周波数
と調和し、ノイズとはならないので、波形1周期当り6
4分割程度の比較的粗い精度で波形データを準備するだ
けでも問題ない。従って、連続的な複数周期波形等の比
較的長い区間からなる波形をメモリに記憶し、これを読
み出すような楽音信号発生方式の場合にも適している。
これに対して、この発明では、サンプリング周波数がピ
ッチに同期していると否とを問わず、ピッチ同期型並み
の粗い分解能で楽音波形サンプルデータを準備するだけ
でよいのである。従って、1周期波形等の比較的短い区
間からなる波形をメモリに記憶し、これを繰返し読み出
すような楽音信号発生方式の場合にも、また、連続的な
複数周期波形等の比較的長い区間からなる波形をメモリ
に記憶し、これを読み出すような楽音信号発生方式の場
合にも、この発明は適している。 【0007】これにより、実際に楽音波形データ発生
手段で準備する楽音波形サンプルデータの分解能はアド
レス信号の整数部に対応する比較的粗いものであっても
良い、ということにより回路構成の簡単化を図ることが
できるという利点、及び 実際にはmよりも少ないnサンプル点分の楽音波形デ
ータに対応する限られた次数に関してフィルタ演算を行
えばよい、ということによりディジタルフィルタ回路の
構成の簡単化をも図ることができるという利点、の両方
を享受しつつ、 実質的なフィルタ演算はアドレス信号の小数部の分解
能を持つ精度の良い楽音波形サンプルデータに対してm
次の精密なフィルタ演算を行ったのと等価となる、とい
うことにより、高分解能の楽音波形サンプルデータに対
する精密なフィルタ演算によってもたらされる種々の利
点、例えば、不要なノイズ成分を確実にカットし、良質
の楽音信号を得ることができるという利点、をも享受す
ることができる。更に、この発明によれば、フィルタ係
数供給手段ではフィルタ係数補間手段を有しているの
で、フィルタ係数発生手段で記憶している所定次数より
も多いm次のフィルタ係数を、該フィルタ係数発生手段
におけるフィルタ係数の記憶容量を増すことなく、簡単
に発生することができるという効果を奏する。また、フ
ィルタ係数供給手段では、異なる特性を示す複数のフィ
ルタ特性の中から、楽音を制御するための制御データに
対応するフィルタ特性を選択し、選択されたフィルタ特
性に対応するm次のフィルタ特性を実現するための連続
する各次数に対応するm個のフィルタ係数の中から上記
アドレス信号の小数部に応じてn個(ただしn<m)の
係数データを選択して供給するようにしたので、前述の
ように簡単な構成でありながらm次の精密なフィルタ演
算によるノイズ除去機能を得ることができることに加え
て、任意の楽音制御データに応じた音色制御機能をも実
現することができるという優れた効果を奏する。更に、
この発明に係る楽音信号発生装置は、発生すべき楽音の
音高に対応するレートで変化する整数部と小数部とから
なるアドレス信号を発生するアドレス信号発生手段と、
上記アドレス信号の整数部に応じて楽音波形サンプルデ
ータを発生する楽音波形データ発生手段と、所定次数の
フィルタ係数を記憶してなり、前 記アドレス信号の小数
部の所定上位ビットに応じて複数の異なる次数のフィル
タ係数を読み出すフィルタ係数発生手段と、前記フィル
タ係数発生手段から読み出された複数の異なる次数のフ
ィルタ係数を前記アドレス信号の小数部の所定下位ビッ
トに応じて補間し、前記所定次数よりも多い次数のフィ
ルタ係数を発生するフィルタ係数補間手段と、前記フィ
ルタ係数補間手段から発生されるフィルタ係数に応じて
前記楽音波形データ発生手段で発生された楽音波形デー
タに対してフィルタ演算を行うディジタルフィルタ演算
手段とを具えたものである。 これによれば、フィルタ係
数補間手段を有しているので、フィルタ係数発生手段で
記憶しているフィルタ係数の数よりも多い次数のフィル
タ係数を、該フィルタ係数発生手段におけるフィルタ係
数の記憶容量を増すことなく、簡単に発生することがで
きるという効果を奏する。 【0008】 【発明の実施の形態】以下、添付図面を参照してこの発
明の実施例を詳細に説明しよう。図1はこの発明の一実
施例を示す基本的ブロック図であって、1はアドレス信
号発生手段、2は楽音波形データ発生手段、3はフィル
タ係数供給手段、4はディジタルフィルタ演算手段、で
ある。前述の通り、アドレス信号発生手段1は、整数部
IADと小数部FADとからなるアドレス信号を発生す
べき楽音の音高に対応するレートで発生するものであ
り、楽音波形データ発生手段2は、上記アドレス信号の
整数部IADに応じて楽音波形サンプルデータを発生す
るものであり、フィルタ係数供給手段3は、上記アドレ
ス信号の小数部FADに応じてm次のフィルタ係数のう
ちn個(ただしn<m)を選択して供給するものであ
り、ディジタルフィルタ演算手段4は、このn個のフィ
ルタ係数と上記楽音波形データ発生手段で発生されたn
サンプル点分の楽音波形データとを用いて、m次のフィ
ルタ演算をnサンプル点分の楽音波形データに関して行
うものである。なお、この例では、サンプリング周波数
fsは発生すべき楽音のピッチに無関係に一定であり
(つまりピッチ非同期型)、ディジタルフィルタ演算手
段4では、折返しノイズを除去するためにfs/2をカ
ットオフ周波数とするローパスフィルタ特性を実現する
ものとする。 【0009】この発明に従う楽音信号発生装置の原理的
説明を行うために、まず、前提となるディジタルフィル
タ動作について図2及び図3を参照して説明する。図2
は一般的なサンプリング周波数変換理論に基づく波形図
の一例であり、図3はそのスペクトルエンベロープの一
例を示すものである。図2(a)はサンプリング周波数f
sでサンプングされた楽音波形サンプルデータの一例を
幾つかのサンプル点について示す図である。この図2
(a)の楽音波形サンプルデータをそのサンプリング周波
数fsのM倍の周波数(M・fs)のサンプリングタイミン
グで動作するディジタルフィルタに入力することを考え
る。その場合、サンプリング周波数fsの1周期ts=1
/fsの中に周波数M・fsの1周期ts/MがM個入るこ
とになるが、図2(a)の楽音波形サンプルデータの1サ
ンプル時間中のM個のフィルタ演算タイミング全てにサ
ンプルデータを発生させずに、fsの1周期ts中のM個
のフィルタ演算タイミングの内1個のタイミングでのみ
サンプルデータを発生し、残りのM−1個のタイミング
ではサンプル値を“0”とする。このように、周波数M
・fsのサンプリングタイミングのうちM個につき1個の
タイミングで図2(a)の楽音波形サンプルデータのサン
プル値を発生し、残りのM個につきM−1個のタイミン
グではサンプル値を“0”としたものを図2(b)に示
す。 【0010】この図2(b)の楽音波形サンプルデータ
をディジタルフィルタに入力し、周波数M・fsのサンプ
リングタイミングに従ってフィルタ演算を行う。つま
り、1サンプリング周期がts/Mである各サンプル点
の楽音波形データ(但し、M個につき1個のサンプリン
グタイミングで有効なサンプル値を持ち、残りのM個に
つきM−1個のタイミングではサンプル値が“0”であ
るデータ)に対して各次数のフィルタ係数を演算するの
である。すると、フィルタ演算出力として、図2(c)
に示すように、M・fsのサンプリングタイミングの各々
に対応して密にサンプル値が発生した楽音波形データを
得ることができる。これは、周波数M・fsの各サンプリ
ングタイミングでフィルタ演算が行われ、各サンプリン
グタイミング毎のフィルタ演算においては各フィルタ次
数とそれに対応するサンプル値とのたたみこみ和によっ
て出力信号が得られるからである。図2(c)のように
密にサンプル値が発生した楽音波形データを所望のサン
プリング周波数でサンプリングし直すことにより、所望
のサンプリング周波数に変換した楽音波形サンプルデー
タを得ることができる。図2(d)はそのように所望の
サンプリング周波数でサンプリングし直すことにより得
られた楽音波形サンプルデータの一例を示す。この場
合、サンプリングし直すべき所望のサンプリング周波数
がM・fs/Nであるとすると、図2(c)の波形データ
をM・fsのサンプリングタイミングのN回につき1回の
割合でサンプリングし直せばよい。 【0011】以上のような処理により、サンプリング周
波数がfsの楽音波形データを、M・fs/Nのサンプリ
ング周波数にサンプリングし直すことができる。尚、図
ではM=4,N=3として図示している。図3(a)は図
2(a)の波形のスペクトルエンベロープの一例を示した
図、図3(b)は図2(b)の波形のスペクトルエンベロー
プの一例を示した図であり、図3(a)と(b)とでは
スペクトルエンベロープの形は同じだがレベルが図3
(b)の方が(a)の1/Mとなっている。これは、た
たみこみ和に含まれる実質的なサンプル値(“0”でな
いサンプル値)の数が本来の数の1/Mとなっているか
らである。図3(c)はディジタルフィルタ特性の一例を
示しており、この場合、fs/2をカットオフ周波数と
するローパスフィルタである。図3(d)は、このローパ
スフィルタ特性でフィルタリングすることにより得られ
た図2(c)の波形のスペクトルエンベロープを示すもの
である。この場合、サンプリング定理による折返しはM
・fs/2の周波数を境にして起こり、これはかなり高い
ので、再サンプリングの際にノイズとはならない。図3
(e)は図2(d)の波形のスペクトルエンベロープの一
例を示した図である。なお、フィルタの出力を再サンプ
リングしただけでは前述のように信号レベルは1/Mに
レベルダウンしたままであるので、再サンプリングの際
に図2(d)の波形データのレベルをM倍することによ
り、本来のレベルに戻してやるものとする。 【0012】以上では、ディジタルフィルタをサンプリ
ング周波数変換のために利用しており、楽音周波数を任
意のピッチに設定して楽音信号を発生することとは直接
には関係していない。これに対して、この発明は、任意
のピッチの楽音信号を発生する場合に上述の原理に基づ
くディジタルフィルタ演算を利用するようにしたもので
ある。すなわち、発生すべき楽音の音高に対応するレー
トで変化するアドレス信号をアドレス信号発生手段1に
より発生し、このアドレス信号に応じて楽音波形サンプ
ルデータを発生する場合に上述の原理に基づくディジタ
ルフィルタ演算を利用するようにしている。アドレス信
号は整数部IADと小数部FADとからなり、楽音波形
データ発生手段2では、このアドレス信号の整数部IA
Dに応じて楽音波形サンプルデータを発生する。換言す
れば、この楽音波形データ発生手段2で発生し得る楽音
波形サンプルデータは、アドレス信号の整数部IADの
分解能に対応するものでしかない。アドレス信号の整数
部IADに対応して楽音波形データ発生手段2から発生
される楽音波形サンプルデータの一例を図4(a)に示
す。 【0013】アドレス信号の小数部FADは、アドレス
信号の整数部IADによって特定されるサンプル点にお
ける隣接サンプル点間のより細かな位相を示している。
例えば、アドレス信号の整数部IADと小数部FADに
よって指示された現在のアドレス値が図4(a)でCA
Dで示した位相であるとすると、整数部IADの現在値
は例えば「3」であり、小数部FADはCADとIAD
の差である。つまり、CAD=IAD+FADである。
高調波歪や低調波歪及びノイズのない良質な楽音波形信
号を得るために、アドレス信号の小数部FADの分解能
で、つまりCADの位相に対応して、楽音波形サンプル
データを求めることが望まれる。この発明では、前述の
原理に基づくディジタルフィルタ演算を利用することに
より、このことを簡単な構成で、かつサンプリングクロ
ック周波数を格別に高速化することなく、実現するよう
にしている。そのために、フィルタ係数供給手段3で
は、アドレス信号の小数部FADに応じてm次のフィル
タ係数に対応する係数データのうちn個(ただしn<
m)を選択して供給するようにしている。前述の図2
(b),(c)に関連する説明から明らかなように、複数次
のフィルタ係数の全てに対応して楽音波形サンプルデー
タを供給するまでもなく、M個の次数につき1回の割合
で有効なサンプルデータを供給し、残りの次数に関して
はサンプルデータのサンプル値を“0”にしてもよく、
そうであっても多数次のフィルタ係数を用いて精密なフ
ィルタ演算を行っているので、良好な楽音信号を得るこ
とができる。このことに基づき、これと同様の考え方に
基づくディジタルフィルタ演算をこの発明では行うよう
にしている。ただし、前述の一般的なサンプリング周波
数変換理論に基づく処理においては、高速のフィルタ演
算タイミング(周波数M・fs)に従って全ての次数のフ
ィルタ係数に関して実際にフィルタ演算を行わねばなら
ない。何故ならば、次数とサンプルデータとの対応関係
は演算タイミングの変化に伴って時間的に変化するた
め、たとえサンプル値が“0”のサンプルデータと或る
フィルタ係数との積が“0”であることが明らかである
としても、それがどの次数に関して成り立つのかは不明
であるからである。従って、従来の一般的なサンプリン
グ周波数変換理論に基づく処理においては、図2(a)
のようなサンプリング周波数fsの楽音波形サンプルデ
ータを、図2(b)のように、サンプリング周波数M・
fsのMクロックにつき1回サンプリングし且つMクロ
ックにつきM−1回のサンプリングタイミングではサン
プル値として“0”を挿入することによりサンプリング
周波数M・fsのデータに変換し、これを周波数M・fsで
動作するディジタルフィルタに入力し、このディジタル
フィルタで設定されている全ての次数のフィルタ係数に
関して実際にフィルタ演算を行わねばならない。 【0014】これに対して、この発明では、サンプル値
“0”のサンプルデータとそれに対応するフィルタ係数
の演算は実質的には不要であることに着目して、そのた
めの演算を省略し得るようにしたことを特徴としてい
る。これにより、高速のフィルタ演算タイミングで演算
を行うことを不要にしつつ演算回路の簡単化をも図り、
しかも十分に多数次のフィルタ係数を用いて精密なフィ
ルタ演算を行うことができるようにすることにより、回
路構成の簡単化とフィルタ演算の高精度化の両方を一挙
に実現するようにしている。まず、図2(a),(b)の関
係と同様に、図4(a)の楽音波形サンプルデータをその
サンプリング周波数fsのM倍の周波数(M・fs)のサン
プリングタイミングで動作するディジタルフィルタに入
力すると仮定して、サンプリング周波数fsの1周期ts
=1/fsの中に周波数M・fsの1周期ts/MがM個入
ることを想定し、図4(a)の楽音波形サンプルデータの
1サンプル時間中のM個のフィルタ演算タイミング全て
にサンプルデータを発生させずに、fsの1周期ts中の
M個のフィルタ演算タイミングの内1個のタイミングで
のみサンプルデータを発生し、残りのM−1個のタイミ
ングではサンプル値を“0”とすることを想定する。こ
のように、周波数M・fsのサンプリングタイミングのう
ちM個につき1個のタイミングで図4(a)の楽音波形サ
ンプルデータのサンプル値を発生し、残りのM個につき
M−1個のタイミングではサンプル値を“0”としたも
のを図4(b)に示す。ここで、アドレス信号の小数部
FADの分割数(1を小数部FADの最小単位で割った
数のことを示す、例えば、小数部FADの最小単位が
0.1ならば分割数は10)をdとすると、M=dとす
る。 【0015】図4(b)のような楽音波形サンプルデー
タに対してm次のフィルタ演算を行うことを考えると
(mはフィルタ特性を設定するときに定めた任意の数で
ある)、図2を参照して説明したように、m次のフィル
タ係数全部を使って周波数M・fsのサンプリングタイミ
ングでフィルタ演算を行えば図2(c)に示されたのと
同様な精密な分解能のフィルタ出力信号が図4(b)の
楽音波形サンプルデータに関しても得られる。しかし、
それでは、前述したように、ディジタルフィルタを高速
のサンプリング周波数M・fsで動作させねばならず、か
つ、このディジタルフィルタで設定されている全ての次
数のフィルタ係数に関して実際にフィルタ演算を行わね
ばならないので、不利であり、この発明ではそれを採用
しない。その代わりに、この発明では、サンプル値
“0”のサンプルデータとそれに対応するフィルタ係数
の演算は実質的には不要であることに着目して、そのた
めの演算を省略し、かつ、フィルタ演算におけるサンプ
リング周波数も格別に高速化することなく演算を行うの
である。そのような不要な演算の省略は、この発明によ
れば、アドレス信号を整数部IADと小数部FADに分
割し、整数部IADに応じて楽音波形サンプルデータを
発生するが、ディジタルフイルタ演算のためのフィルタ
係数を小数部FADに応じて選択して供給するようにし
たことにより、実現される。つまり、楽音波形サンプル
データの発生は整数部IADに応じた比較的粗い分解能
で行うが、ディジタルフイルタ演算は小数部FADに応
じた精密な分解能で行うようにしたことが特徴である。
詳しくは、アドレス信号の小数部FADに応じてフィル
タ係数を選択することにより、整数部IADと小数部F
ADによって特定されるアドレス信号の現在の位相CA
Dに関する細かなサンプリングタイミングにおいてあた
かもフイルタ演算が行われているかのように、整数部I
ADに対応する粗いサンプリングタイミングの各サンプ
ル点の楽音波形サンプルデータに対応するフィルタ係数
の次数を決定することができるのである。換言すれば、
アドレス信号の小数部FADに応じて、整数部IADに
対応する各サンプル点のサンプルデータとフィルタ係数
の次数との対応関係が決定され、これにより、図4
(b)のように仮定した場合におけるサンプル値として
“0”を挿入した密なサンプリングタイミングに対応す
るフィルタ係数の次数を特定することができ、その次数
に関してはあえて演算を行うまでもなく積が“0”とし
て処理でき、実質的な値を持つサンプルデータに関して
のみ飛び飛びの次数に対応するフィルタ係数を演算すれ
ばよいことになる。こうして、この発明によれば、m次
のフィルタ演算において、フィルタ係数供給手段3が供
給すべきフィルタ係数は、m次のフィルタ係数に対応す
る係数データ全部ではなく、そのうちn個(ただしn<
m)をアドレス信号の小数部FADに応じて選択して供
給するようにすればよいのである。 【0016】ここで、想定したディジタルフィルタ演算
のサンプリング周波数M・fsにおけるMに関して、M=
d(小数部FADの分割数)であり、想定した図4
(b)のサンプルデータは、図4(a)の楽音波形サンプ
ルデータの1サンプル間隔をM=d分割した仮想フィル
タ演算タイミングのうち1個のタイミングでのみサンプ
ルデータを発生し、残りのd−1個のタイミングではサ
ンプル値を“0”としているものなので、図4(a)の楽
音波形サンプルデータの1サンプル間隔をd分割した仮
想フィルタ演算タイミングのうち1回のタイミングでの
み実質的なサンプル値を持ち、その仮想フィルタ演算タ
イミングに関してのみ実際の演算を行えばよいことにな
る。従って、上記nは、n=m/dなる関係で決定する
ことができ、dの間隔で順次離隔したn個の次数をアド
レス信号の小数部FADに応じて選択すればよい。ま
た、想定したディジタルフィルタ演算のサンプリング周
波数M・fs=d・fsのタイミングにおいて、d回に1回
だけ演算を行えばよく、他のタイミングでは行う必要が
ない、つまり、サンプルデータの単位遅延はサンプリン
グ周波数M・fs=d・fsで行う必要がなく、サンプリン
グ周波数fsで行えばよい、ということにより実質的に
サンプリング周波数M・fs=d・fsの精度で精密なフィ
ルタ演算を行うにもかかわらず、実際のフィルタ演算は
低速のサンプリング周波数fsで行えばよいことにな
る。また、これに関連して、図4(b)のようなサンプ
ルデータを想定するにはしても、実際にそのようなサン
プリング周波数M・fs=d・fsのdクロックにつき1回
のサンプリングとd−1回のサンプル値“0”の挿入を
行う処理を行う必要は全くなく、サンプリング周波数f
sに従ってアドレス信号の整数部IADに応じて発生さ
れたサンプルデータをそのまま用いればよい。 【0017】これを更に図によって説明すると、この発
明のフィルタ演算は、図4(b)のようなサンプルデー
タに関して、アドレス信号の現在の位相CADに対応し
てフィルタ演算を行うことと等価である。この場合、図
4(b)の各サンプルデータとm次のフィルタ係数の各
次数(0次〜m−1次)との対応関係の一例を示すと、
図4(c)のようである。図4(c)はm次のFIR
(有限インパルス応答)フィルタのローパスフィルタ特
性のインパルス応答の一例をエンベロープによって示す
ものである。このFIRフィルタの周波数ドメインはM
・fs=d・fsであり、ローパスフィルタ特性のカットオ
フ周波数はサンプリング周波数fsに関する折返しノイ
ズを除去するためにfs/2に設定する。このインパル
ス応答において、所定の基準次数(例えば中央の次数)
が現在のアドレス信号の位相CADに対応しているもの
とする。フィルタ演算においては、図4(b)の各サン
プルデータと図4(c)のフィルタ係数とのたたみこみ
が求められる。その場合において、d・fsの周波数ドメ
インにおける図4(b)のサンプルデータのうちサンプ
ル値“0”のものに関しては演算を行わない。すなわ
ち、図4(b)で有効なサンプル値を持っているサンプ
ルデータとそれに対応する次数のフィルタ係数との演算
だけを行う。n=m/dの関係から、m次のたたみこみ
において有効なサンプル値を持っているサンプルデータ
の数はnである。図の例では、m=96,d=16,n
=6であるものとしている。現在のアドレス信号の位相
CADに対応して実行したフィルタ演算によって得られ
るたたみこみ和は図4(d)において実線で示されてい
る。図4(d)において破線で一部示したが、このよう
なたたみこみ和つまりフィルタ出力信号がd・fsの周波
数ドメインで、図2(c)に示すのと同様に密に、発生
される。なお、前述と同様に、このたたみこみは実際は
n=6個のサンプルデータに関してしか行われていない
ので、フィルタ出力信号のレベルが本来の1/d=1/
16に低下する。これに対処するには、フィルタ出力信号
のレベルをd=16倍してやればよい。あるいは、フィ
ルタ出力信号のレベルをわざわざd=16倍するまでも
なく、本来の値のd=16倍のレベルを持つフィルタ係
数を使用して演算を行うようにしてもよい。 【0018】図4(e)は図4(c)のインパルス応答
を持つFIRローパスフィルタの振幅-周波数特性を例
示するものである。カットした周波数領域の成分が−80
dB以下に減衰されることが確かめられている。これは
かなり高精度なフィルタ特性である。図5はそのような
FIRローパスフィルタの振幅-周波数特性の実測図で
ある。図6は図5の特性のFIRローパスフィルタを通
した正弦波信号のスペクトルの実測図である。ここから
明らかなように、基本波以外のノイズ成分が確実に−8
0dB以下に減衰されている。図4(a)〜(c)の関係を
整理すると、m次のフィルタ係数の各次数(0次〜m−
1次)が小数部FADの分解能でアドレス信号の連続す
る値に対応しており、そこにおいて所定の基準次数(例
えば中央の次数k)が現在のアドレス信号の小数部FA
Dの位置(つまり現在の位相CADの位置)に対応して
いる。この現在のアドレス信号の小数部FADに対する
nサンプル点分の各整数部IADの隔たりに対応する量
だけ前記基準次数から隔たっているn個の次数を夫々飛
び飛びに決定し、こうして現在のアドレス信号の小数部
に応じて決定されたn個の次数に対応するn個のフィル
タ係数をフィルタ係数供給手段3により供給するのであ
る。アドレス信号の現在の位相CADに対応する基準次
数を中央の次数k(例えば、m=96のとき、つまり全
次数が0次〜m−1=95次のとき、中央の次数はk=
47次とする)とし、n=6とすると、「nサンプル点
分のアドレス信号の各整数部IAD」としては、現在の
アドレス信号の整数部IADの前後のn=6個のサンプ
ル点の整数部、つまり図4(a)に示すIAD−2,I
AD−1,IAD,IAD+1,IAD+2,IAD+
3がそれに該当する。このnサンプル点分の各整数部I
AD−2,IAD−1,IAD,IAD+1,IAD+
2,IAD+3の隔たりに対応する量だけ基準次数(k
=47次)から隔たっているn=6個の次数は、一般的
には次のように飛び飛びに決定される。 【0019】 IAD−2に対応する次数:k−FAD−2d IAD−1に対応する次数:k−FAD−d IAD に対応する次数:k−FAD IAD+1に対応する次数:k−FAD+d IAD+2に対応する次数:k−FAD+2d IAD+3に対応する次数:k−FAD+3d 勿論、上記は一例にすぎず、別の定義の仕方も可能であ
り、また、上記のように定義してもk,d,nの決め方
によっては、上記とは別の種々の特異解が生じることが
ある。例えば、同じ条件下でもk=46とした場合は、
現在のアドレス信号の整数部IADの3サンプル点前の
IAD−3に対応する次数をk−FAD−3dなる定義
のもとに決定しなければならない場合もある。フィルタ
係数供給手段3では、上記のようなテーブルを具える、
あるいは上記のような式を実行する演算回路を具えるな
りして、現在のアドレス信号の小数部FADに応じてn
個の次数を決定し、決定したn個の次数に対応する係数
データを夫々供給する。このフィルタ係数供給手段3と
ディジタルフィルタ演算手段4の内部構成の一例を幾分
詳しく示すと、図7のようである。フィルタ係数供給手
段3は、m次のフィルタ係数(0次〜m−1次)を発生
するフィルタ係数発生手段3aと、このm次のフィルタ
係数のうちn個を上記アドレス信号の小数部FADの値
に応じて選択する選択手段3bとを具えている。選択手
段3bは、例えば、上述のテーブルを具えており、アド
レス信号の小数部FADの値に応じて、nサンプル点分
の各整数部IAD−2,IAD−1,IAD,IAD+
1,IAD+2,IAD+3に対応する次数k−FAD
−2d,k−FAD−d,k−FAD,k−FAD+
d,k−FAD+2d,k−FAD+3dをこのテーブ
ルにより決定し、この飛び飛びの各次数に対応するフィ
ルタ係数h(i-2d),h(i-d),h(i),h(i+d),h(i+2
d),h(i+3d)を選択し出力する。 【0020】図7では、ディジタルフィルタ演算手段4
はFIRフィルタ構成からなり、楽音波形データ発生手
段2からアドレス信号の整数部IADに応じて発生され
る楽音波形データをサンプリング周波数fsのクロック
パルスφ(fs)によって遅延する遅延手段4aを具えて
いる。この遅延手段4aは、nサンプル点分の各整数部
IAD−2,IAD−1,IAD,IAD+1,IAD
+2,IAD+3に対応するサンプルデータX(Ii-
2),X(Ii-1),X(Ii),X(Ii+1),X(Ii+2),X(I
i+3)を供給する。これらのサンプルデータX(Ii-2),
X(Ii-1),X(Ii),X(Ii+1),X(Ii+2),X(Ii+3)
が乗算器4b1〜4b6に入力され、選択手段3bから与
えられるフィルタ係数h(i-2d),h(i-d),h(i),h(i
+d),h(i+2d),h(i+3d)と乗算される。乗算器4b1〜
4b6の出力は加算器4cで加算され、この加算出力が
FIRフィルタ出力として出力される。なお、現サンプ
ル点として取扱うサンプルデータX(Ii)が遅延手段4
aで遅延されているため、選択手段3bから与えるフィ
ルタ係数h(i-2d)〜h(i+3d)をこれに応じて適宜遅延し
て乗算器4b1〜4b6に与えるようにするとよい。ここ
で、上述した図4(a)〜(c)の関係を別の表現で整理す
ると、アドレス信号における小数部の分割数d(上記の
設例ではd=16)に応じてn=m/dなる関係でn
(上記の設例ではn=6)を決定し、決定すべきn個の
フィルタ係数はdの間隔で順次離隔したn個の次数に夫
々対応するものからなり、現在のアドレス信号の小数部
FADの値に応じて前記n個の次数を夫々決定し、こう
して現在のアドレス信号の小数部FADに応じて決定さ
れたn個の次数に対応するn個のフィルタ係数をフィル
タ係数供給手段3により供給するのである。 【0021】こうして、この発明によれば、m次フィル
タのたたみこみ演算において、本来なら全次数mの係数
データにつき演算を行わねばならないところを、n=m
/d個の係数データに関してのみ演算を行えばよく、演
算規模を1/dに縮小することができる。しかも、実際
の演算におけるサンプリング周波数はfsでありなが
ら、d・fsの高分解能でディジタルフィルタ演算を行っ
たのと等価の結果が得られる。次に、回路構成規模をあ
まり拡大すること無くフィルタ演算の精度を向上するこ
とについて説明する。m次分のフィルタ係数を用いてそ
のq倍の次数つまりq・m次のフィルタ演算を行うに
は、m次分のフィルタ係数の隣接するものの間で夫々分
解能qの補間を行い、これによりq・m次分のフィルタ
係数を密に発生させるようにすればよい。このようなq
倍の補間により、ディジタルフィルタ演算における等価
的なサンプリング周波数はq・d・fsという高分解能と
なり、フィルタ次数はq・m次となるので、フィルタ演
算の精度をかなり向上させることができる。次に、この
発明のより具体的な実施例について図8を参照して説明
する。図8の実施例では、アドレス信号の小数部FAD
の分割数をd=16とし、フィルタの次数をm=96とし、
n=6となるようにしている。そして、更に、m次のフ
ィルタ係数の隣接するものの間で夫々分解能q=4の補
間を行い、これによりq・m次=384次分のフィルタ係数
を密に発生させるようにしている。従って、アドレス信
号の小数部FADは、基本的には分割数d=16=「2
の4乗」に対応する4ビットのデータからなり、これに
更に下位2ビットを付加して分解能q=4の補間ステッ
プを指示するようにしている。従って、この実施例の場
合、アドレス信号の小数部FADは6ビットのデータか
らなる。また、サンプリング周波数はfs=50kHzに
固定されており、ピッチ非同期で楽音信号を発生するよ
うになっている。また、この実施例ではディジタルフィ
ルタは前述と同様に折返しノイズを除去するためのロー
パスフィルタ特性のFIRフィルタとして構成されてい
る。 【0022】鍵盤10は発生すべき楽音の音高を指定す
るための複数の鍵を具えている。鍵盤10で押圧された
鍵はキーアサイナ11において検出され、押圧鍵に対応
する楽音を発生すべきことが複数の楽音発生チャンネル
の何れかに割当てられる。楽音発生チャンネル数は一例
として8であり、各チャンネルは共通の楽音発生手段を
時分割共用することにより確立されるようになってい
る。キーアサイナ11は、各チャンネルに割当てた鍵の
キーコードKCとキーオン信号KON及びキーオンパル
スKONPをチャンネルタイミングに対応して時分割的
に出力する。アドレス信号発生回路12はキーアサイナ
11からのキーコードKCとキーオンパルスKONPを
受けて、各チャンネルに割当てられた鍵の音高に対応す
るレートで変化するアドレス信号を各チャンネルタイミ
ングに対応して時分割的に発生する。このアドレス信号
は、前述の通り整数部IADと小数部FADとからなっ
ている。整数部IADは、例えば、18ビットのデータ
からなり、楽音波形メモリ13に準備された複数周期か
ら成る楽音波形の連続的なサンプル点を指定するもので
あり、小数部FADは前述の通り6ビットのデータであ
る。一例として、楽音波形メモリ13は、アタック部の
複数周期波形のデータと持続部の複数周期波形のデータ
とを記憶しているとすると、アドレス信号発生回路12
では、キーオンパルスKONPをトリガとしてアタック
部の複数周期波形データを1回読み出し、続いて持続部
の複数周期波形データを繰返し読み出すように、アドレ
ス信号を発生する。なお、アドレス信号発生回路12に
おけるアドレス信号発生方式は、周波数ナンバを繰返し
演算する方式や可変分周方式、あるいはノートクロック
をカウントする方式など、どのような方式を用いてもよ
い。 【0023】鍵盤10に関連してタッチ検出装置14が
設けられており、押圧鍵のタッチを検出する。楽音波形
メモリ13は、一例として、前述のように複数周期波形
のサンプルデータを記憶しており、そのような波形サン
プルデータを音色選択回路15で選択可能な音色に対応
して複数組記憶している。また、音高に応じた音色のキ
ースケーリング制御あるいは鍵タッチに応じた音色の制
御のために、更に複数組の波形サンプルデータを記憶し
ていてもよい。そのために、音色選択コードTC,キー
コードKC,タッチデータTDが楽音波形メモリ13に
入力されており、これらに応じて読み出すべき波形が選
択され、これがアドレス信号の整数部IADに応じて読
み出される。アドレス信号発生回路12から発生された
アドレス信号の整数部IADのデータは楽音波形メモリ
13の位相アドレス入力に加わるが、これは直接加わる
のではなく、演算器(引算器16,加算器17)を経由
して加わる。この演算器16,17は、ディジタルフィ
ルタにおけるサンプルデータ遅延手段(図7の4aに該
当するもの)と等価的な働きをなすものである。すなわ
ち、この実施例では、楽音波形メモリ13から発生した
サンプルデータを実際に遅延することによりn(=6)
サンプル点分の各整数部IAD−2,IAD−1,IA
D,IAD+1,IAD+2,IAD+3に対応するサ
ンプルデータを得ているのではなく、アドレス信号の整
数部IADのデータに対して演算器16,17で時分割
的に−2,−1,0,+1,+2,+3を加算すること
によりn(=6)サンプル点分の各整数部IAD−2,
IAD−1,IAD,IAD+1,IAD+2,IAD
+3のアドレスデータを時分割的に発生し、これに応じ
てメモリ13を読み出すことによりこれらn(=6)サ
ンプル点分の各整数部IAD−2,IAD−1,IA
D,IAD+1,IAD+2,IAD+3に対応するサ
ンプルデータを得ているのである。 【0024】そのための演算タイミングについて詳しく
示すと、図9のようであり、CACはサンプリング周波
数fs=50kHzの周期で発生する計算サイクルパルス
を示し、この1周期を8分割して8チャンネルの時分割
タイミングCH1〜CH8が形成され、各チャンネルの
時分割タイムスロットを夫々6分割して6次分のフィル
タ演算タイムスロットが形成される。フィルタ演算タイ
ムスロットの1周期はマスタクロックパルスMCの1周
期であり、このマスタクロックパルスMCをモジュロ6
のカウンタでカウントすることにより1チャンネルタイ
ムスロット内の6個のフィルタ演算タイムスロット0,
1,2,3,4,5を区別するスロットカウントデータ
SLCTRが得られる。SMCはフィルタ演算サイクル
パルスであり、1周期が1チャンネルタイムスロットに
同期している。計算サイクルパルスCACが50kHzで
あるとすると、フィルタ演算サイクルパルスSMCは40
0kHz、マスタクロックパルスMCは2.4MHzであ
る。上述の各パルス及びカウントデータはマスタクロッ
ク発生器22及びタイミング信号発生回路23から発生
される。引算器16では、現在のアドレス信号の整数部
IADの2サンプル点前のサンプル点の整数部の値IA
D−2を求めるために、IADから2を引算するもので
ある。こうして求められたデータIAD−2は加算器1
7に入力され、スロットカウントデータSLCTRが加
算される。このスロットカウントデータSLCTRは、
図9に示すように、1チャンネルタイムスロット内で
0,1,2,3,4,5と変化するものであるから、1
チャンネルタイムスロット内の6個のフィルタ演算タイ
ムスロット0,1,2,3,4,5に対応して、6サン
プル点分の各整数部IAD−2,IAD−1,IAD,
IAD+1,IAD+2,IAD+3のアドレスデータ
が加算器17から時分割的に発生される。これに応じ
て、メモリ13からこれら6サンプル点分の各整数部I
AD−2,IAD−1,IAD,IAD+1,IAD+
2,IAD+3に対応するサンプルデータが時分割的に
読み出される。 【0025】メモリ13から読み出されたサンプルデー
タはフィルタ係数乗算用の乗算器18に入力される。フ
ィルタ係数はアドレス信号の小数部FADに応じてフィ
ルタ係数供給回路24から後述するように供給される。
乗算器18の出力はアキュムレータ19に入力され、た
たみこみ和が求められる。このアキュムレータ19はマ
スタクロックパルスMCのタイミングで(つまりスロッ
トカウントデータSLCTRの各ステップ毎に)アキュ
ムレートを行い、フィルタ演算サイクルパルスSMCの
タイミングでクリアされる。アキュムレート値をクリア
する直前に、今回の演算で求めたたたみこみ和がラッチ
回路20にラッチされる。これらの引算器16,加算器
17,乗算器18,アキュムレータ19,ラッチ回路2
0の部分がFIR型のディジタルフィルタ演算回路21
に相当する。フィルタ係数供給回路24は、m=96次
のフィルタ係数(0次〜95次)を夫々記憶したフィル
タ係数メモリ25,26と、この96次のフィルタ係数
のうちn=6個をアドレス信号の小数部FADの値に応
じて選択するための選択手段27と、補間回路28とを
具えている。2系列のフィルタ係数メモリ25,26は
全く同じものであり、補間回路28における補間のため
に隣接する2つのフィルタ係数を並列的に読み出すため
に2系列のフィルタ係数メモリ25,26が設けられて
いる。このフィルタ係数メモリ25,26に記憶するフ
ィルタ係数のインパルス応答は例えば前出の図4(c)
に示すようなものであり、これによって実現されるフィ
ルタ特性は例えば前出の図4(e)または図5に示すよ
うなローパスフィルタ特性であり、サンプリング周波数
fs=50kHzの半分のfs/2=25kHzをカットオフ
周波数としている。 【0026】選択手段27は、アドレス信号の小数部F
ADの値に応じて、n=6サンプル点分の各整数部IA
D−2,IAD−1,IAD,IAD+1,IAD+
2,IAD+3に対応する次数k−FAD−2d,k−
FAD−d,k−FAD,k−FAD+d,k−FAD
+2d,k−FAD+3dを決定し、決定した次数をア
ドレス信号としてフィルタ係数メモリ25,26からフ
ィルタ係数h(i-2d),h(i-d),h(i),h(i+d),h(i+
2d),h(i+3d)を選択的に読み出すものであり、この決
定を演算によって行うために引算器29,乗算器30,
加算器31を具えている。引算器29にアドレス信号の
小数部FADの上位4ビットデータを入力し、“15−
FAD”の引算を行う。乗算器30にはスロットカウン
トデータSLCTRを入力し、“16×SLCTR”の
乗算を行う。引算器29と乗算器30の出力を加算器3
1で加算し、上述の次数k−FAD−2d,k−FAD
−d,k−FAD,k−FAD+d,k−FAD+2
d,k−FAD+3dを指示するデータを出力する。ス
ロットカウントデータSLCTRの各値0〜5に対応す
る加算器31の出力つまり決定した次数は次の通りであ
る。下記表には夫々に対応する6サンプル点分の各整数
部の値IAD−2,IAD−1,IAD,IAD+1,
IAD+2,IAD+3も示されている。 【0027】 【表1】 【0028】k=47,d=16とすれば、上述のよう
に定義した各次数k−FAD−2d,k−FAD−d,
k−FAD,k−FAD+d,k−FAD+2d,k−
FAD+3dが上記表のようになることが理解されよ
う。従って、選択手段27における演算回路構成は、一
般的には、“k−FAD+(SLCTR−2)×d”=
“47−FAD+(SLCTR−2)×16”なる演算
式を実行するように構成すればよい。加算器31の出力
はそのままフィルタ係数メモリ25に入力される一方
で、加算器32で1加算されてフィルタ係数メモリ26
に入力される。こうして、隣接する次数の2つのフィル
タ係数データがフィルタ係数メモリ25,26から読み
出される。この2つのフィルタ係数データは補間回路2
8に入力され、アドレス信号の小数部FADの下位2ビ
ットデータに応じて4ステップの補間特性(例えば直線
補間特性)で補間される。こうしてメモリ25,26に
は実際にはm=96次分のフィルタ係数しか記憶されて
いないが、補間により、q・m=4×96=384次分
のフィルタ係数を密に準備しているのと等価である。補
間回路28の出力は前記乗算器18に入力される。な
お、4倍の補間により、補間回路28からスロットカウ
ントデータSLCTRの各タイミングに対応して出力さ
れるフィルタ係数の次数は実質的には下記表のように変
更されている。 【0029】 【表2】 【0030】なお、表1ではFADはモジュロ16(d=
16)であるが、表2ではFADはモジュロ64(d=64)
である。ラッチ回路20から出力されたフィルタ演算出
力信号は乗算器33に与えられ、エンベロープ発生器3
4から与えられる振幅エンベロープ信号が乗算される。
エンベロープ発生器34は、キーコードKC,音色選択
コードTC,タッチデータTDに応じて制御されたエン
ベロープ波形信号をキーオン信号KONに基づき発生す
る。乗算器33の出力はアキュムレータ35に入力さ
れ、全チャンネルのサンプルデータの合計が求められ
る。このアキュムレータ35はフィルタ演算サイクルパ
ルスSMCのタイミングで(つまり各チャンネルタイミ
ング毎に)アキュムレートを行い、計算サイクルパルス
CACのタイミングでクリアされる。アキュムレート値
をクリアする直前に、今回求めた全チャンネルのサンプ
ルデータの合計がラッチ回路36にラッチされる。ラッ
チ回路36から出力される楽音信号のサンプリング周波
数はfs=50kHzであり、ディジタルフィルタ演算回
路21におけるfs/2=25kHzをカットオフ周波数
とするローパスフィルタ特性のフィルタリングによって
折返しノイズが確実に除去されている。ラッチ回路36
の出力信号はディジタル/アナログ変換器37でアナロ
グ信号に変換され、サウンドシステム38に至る。ま
た、ラッチ回路36の出力信号は、例えばリバーブ,エ
コーその他の楽音効果を付与するためのディジタル効果
回路39に入力され、楽音効果が付与された後、ディジ
タル/アナログ変換器37でアナログ信号に変換され、
サウンドシステム38に与えられる。 【0031】なお、前述のようにフィルタ出力信号のレ
ベルが本来の1/d=1/16に低下することへの対処
は、フィルタ係数メモリ25,26に記憶するフィルタ
係数のレベルを予め16倍にしておくか、補間回路28
から乗算器18に与えられる係数データを4ビット上位
にシフトしてやればよい。次に、図8の構成に比べて回
路構成規模をそれほど拡張することなく、フィルタ演算
の精度を向上させる実施例について説明する。図8の実
施例においては、図4(a)に示すようなサンプリング周
波数fs=50kHzの楽音波形サンプルデータを、見掛け
上d・fs=16×50=800kHzのドメインのサンプリング
周波数とするために、図4(b)に示すようにd・fs=
800kHzのクロックのd回につきd−1回の割合でサン
プル値“0”を挿入したものとみなして処理し、サンプ
ル値“0”に対応する次数に関してはフィルタ演算を省
略している。これに対して、以下述べる第11図の実施
例では、図4(a)に示すようなサンプリング周波数fs
=50kHzの楽音波形サンプルデータを、図10(a)
に示すようなd・fs=800kHzのドメインで0次ホール
ドした状態のデータであると解釈し、サンプリング周波
数d・fs=800kHzの全サンプル点で有効な値を持つサ
ンプルデータに対して前記実施例と同様に簡略化された
フィルタ演算を施すのである。 【0032】図10(b)は図4(c)と同様のm=96
次のローパスフィルタ特性のインパルス応答を例示する
ものである。前述と同様に現在のアドレス信号の位相C
ADを所定の基準次数k(例えば中間の47次)に対応
させて、図10(a)のサンプルデータと図10(b)
のインパルス応答のたたみこみ和を求める。このたたみ
こみ和は、一般的には、 【数1】 と表わされる。ここで、x(ωs')は現在のアドレス信号
の位相CADに対応するたたみこみ和、h(95-i)はフィ
ルタ係数、W(i)はd・fs=800kHzのドメインのサン
プル値つまり図10(a)の各サンプル点のサンプルデー
タである。 【0033】図10(a)に示す波形のスペクトルエンベ
ロープは図10(c)のようである。不要な高調波成分が
減衰しており、都合が良い。従って、上記式に従って得
られるフィルタ出力信号においても不要な折返し成分が
十分に減衰したものとなる。ところで、上記のような一
般式では96回の積和が必要であるが、図10(a)の波
形サンプルデータにおいては同じ振幅がd=16回続い
ているので、これを一まとめにして演算を行えば、積和
の回数を7回に減らすことができ、図8の実施例の6回
とあまり変わらない演算規模に縮小することができる。
つまり、図10(a)を参照すると、アドレス信号の整数
部IAD−2とIAD−1の間で同じ波形サンプルデー
タがd=16回続いており、これを一まとめにして1回
の係数乗算で済ますことができ、IAD−1とIADの
間も同様、IADとIAD+1の間も同様、IAD+1
とIAD+2の間も同様、IAD+2とIAD+3の間
も同様、である。そして、IAD−3とIAD−2の間
ではd=16よりも少ない回数だけ同じ波形サンプルデ
ータが続いており、これを一まとめにして1回の係数乗
算で済ますことができ、また、IAD+3とIAD+4
の間も同様、である。従って、合計7回の積和で上記式
と等価のたたみこみを行うことができる。 【0034】そのために、図11の実施例では、同じ波
形サンプルデータに対応する最大d=16個の次数のフィ
ルタ係数を予め合計しておき、これを1個のフィルタ係
数データとして取扱って、1回の係数演算で積和を求め
るようにしている。例えば、W・h0+W・h1+W・
h2+W・h3+W・h4+W・h5+W・h6の計算
を7回の乗算で行う代わりに、h0+h1+h2+h3
+h4+h5+h6の合計値を予め準備しておき、W・
(h0+h1+h2+h3+h4+h5+h6)という
1回の乗算で積和を求めるのである。図11において、
図8の実施例と同一の部分は同一符号を付している。変
更箇所は、図8の引算器16,マスタクロック発生器2
2,タイミング信号発生回路23,フィルタ係数メモリ
25,26に対応する引算器160,マスタクロック発
生器220,タイミング信号発生回路230,フィルタ
係数メモリ250,260の部分である。前述のよう
に、この実施例では1サンプル点のフィルタ演算におい
て7回の積和演算を行うため、1チャンネルタイムスロ
ット内のフィルタ演算タイムスロットは7個必要であ
り、演算タイミングは図12のように変更される。図1
2において、計算サイクルパルスCACは前述と同様に
サンプリング周波数fs=50kHzの周期で発生し、こ
の1周期を8分割して8チャンネルの時分割タイミング
CH1〜CH8が形成されることも前述と同様である
が、各チャンネルの時分割タイムスロットは夫々7分割
されて7個のフィルタ演算タイムスロットが形成され
る。スロットカウントデータSLCTRは、この実施例
においては1チャンネルタイムスロット内の7個のフィ
ルタ演算タイムスロット0,1,2,3,4,5,6を
区別するように変更される。マスタクロックパルスMC
をモジュロ7のカウンタでカウントすることにより1チ
ャンネルタイムスロット内の7個のフィルタ演算タイム
スロット0〜6を区別するスロットカウントデータSL
CTRが得られる。従って、マスタクロックパルスMC
の周波数は2.8MHzに変更される。これに従ってマス
タクロック発生器220及びタイミング信号発生回路2
30の構成が変更されている。 【0035】また、1回のフィルタ演算で7サンプル点
分のアドレス信号の整数部に対応するサンプルデータに
関して演算を行うので、現アドレス信号の整数部IAD
の3サンプル点前の整数部IAD−3に対応するサンプ
ルデータが余分に必要となってくる。そこで、図8の引
算器16に対応する図11の引算器160では、現アド
レス信号の整数部IADから3を引算して“IAD−
3”を求めるように変更されている。フィルタ係数メモ
リ250,260は、m=96次のフィルタ係数のうち1
又は複数のフィルタ係数の合計に対応するフィルタ係数
グループ値を予め記憶しており、前述と同様に両メモリ
250,260は同じ記憶内容である。メモリ250,
260に予め記憶しておくフィルタ係数グループ値は、
表3に示すように、全次数に関するd=16個毎の次数の
フィルタ係数を合計したもの(これは81組あり、一例
としてアドレス16〜96に記憶されている)と、図1
0(b)のインパルス応答の左端のためのd=16個未
満のフィルタ係数を合計したもの(これは15組あり、
一例としてアドレス1〜15に記憶されている)と、同
インパルス応答の右端のためのd=16個未満のフィル
タ係数を合計したもの(これも15組あり、一例として
アドレス97〜111に記憶されている)、の111組
からなる。なお、アドレス0には“0”を記憶しておく
が、これはアドレスデータを発生する選択手段27を図
8と同一構成にしたために生じた設計上の事項であるに
すぎない。なお、基準とする中間次数(47次)のデー
タは47〜62次のフィルタ係数の合計値であり、これ
はアドレス63に記憶されているものとする。 【0036】 【表3】 【0037】この構成において、スロットカウントデー
タSLCTRの各値0〜6に対応して選択手段27の加
算器31から出力されるデータは、次数そのものを表わ
しているのではなく、前記表3に示すようなフィルタ係
数メモリ250,260のアドレスを表わしている。ア
ドレス信号の小数部FADに応じてスロットカウントデ
ータSLCTRの各値0〜6に対応して選択手段27の
加算器31から出力される係数メモリアドレスデータの
値は下記表4の通りである。下記表には夫々に対応する
7サンプル点分の各整数部IAD−3,IAD−2,I
AD−1,IAD,IAD+1,IAD+2,IAD+
3も示されている。 【0038】この場合のメモリ読み出しの考え方は、前
述の実施例と同様に、基準とする中間次数(47次)に
対応するアドレス63に記憶した係数データ(47〜6
2次のフィルタ係数の合計値)を現在のアドレス信号の
小数部FADに対応させ、この現在のアドレス信号の小
数部FADに対する7サンプル点分の各整数部IAD−
3,IAD−2,IAD−1,IAD,IAD+1,I
AD+2,IAD+3の隔たりに対応する量だけ前記基
準のアドレス63から隔たっている7個の係数メモリア
ドレスを夫々飛び飛びに決定し、こうして決定した7個
の係数メモリアドレスから7組のフィルタ係数グループ
値データを夫々読み出すようにするのである。また、前
述と同様に、隣接するアドレスのフィルタ係数グループ
値データが両メモリ250,260から並列に読み出さ
れ、補間が行われるようにもなっている。 【0039】 【表4】 【0040】表3と表4を参照すると、例えば、アドレ
ス信号の小数部FADが「6」ならば、SLCTRが0
のとき係数メモリアドレスが9であり、0〜8次のフィ
ルタ係数の合計データがフィルタ係数メモリ250から
読み出され、SLCTRが1のときはアドレスが25で
9〜24次のフィルタ係数の合計データが、SLCTR
が2のときはアドレスが41で25〜40次のフィルタ
係数の合計データが、SLCTRが3のときはアドレス
が57で41〜56次のフィルタ係数の合計データが、
SLCTRが4のときはアドレスが73で57〜72次
のフィルタ係数の合計データが、SLCTRが5のとき
はアドレスが89で73〜88次のフィルタ係数の合計
データが、SLCTRが6のときはアドレスが105で
89〜95次のフィルタ係数の合計データが、夫々読み
出される。このように7組のフィルタ係数グループ値に
よって0〜95次の全フィルタ係数がカバーされてい
る。 【0041】以上の通り、図11の実施例によれば、図
10(a)に示すようなd・fs=800kHzのドメインで0
次ホールドした状態のサンプルデータに対するm=96
次の全てのフィルタ係数の積和を求める演算を、実際に
はたった7回だけの演算で遂行することができる。従っ
て、簡単な構成でありながら、折返し成分を十分に減衰
させたスペルクトル構成の波形データを用いて、精度の
良いフィルタ演算を行うことができる。なお、図8,図
11の実施例では、ディジタルフイルタ演算回路21に
おいて、サンプルデータを遅延する手段として遅延回路
を実際に設けるかわりに楽音波形メモリ13のアドレス
を制御する演算器を設けているが、これは図7のように
遅延回路を実際に設けるようにしてもよい。また、楽音
波形サンプルデータ発生手段として、複数周期波形を記
憶した楽音波形メモリ13を用いているが、これに限ら
ず、単に1周期波形を記憶した楽音波形メモリ、あるい
は周波数変調演算によって楽音波形サンプルデータを発
生する方式、あるいは振幅変調演算によって楽音波形サ
ンプルデータを発生する方式、あるいはアドレスデータ
をデータ変換して楽音波形サンプルデータを発生する方
式など、どのような方式のものを用いても良い。また、
上記実施例では、各チャンネルの楽音発生及びフィルタ
演算を時分割処理方式によって行っているが、これは並
列処理であってもよい。また、複音発生方式に限らず、
単音発生方式であってもよい。また、図8,図11の実
施例において、音色選択コードTC,キーコードKC,
タッチデータTDに応じた波形を楽音波形メモリ13で
選択するには、これらのデータTC,KC,TDを楽音
波形メモリ13に入力せずに、アドレス信号発生回路1
2に入力し、アドレス信号の上位ビットによって選択で
きるように該アドレス信号発生回路12を構成してもよ
い。 【0042】なお、図4(c)あるいは図10(b)の
ように中間の次数を中心にして対称形をなしたインパル
ス応答の場合、フィルタ係数を全次数分メモリに記憶し
ておく必要はなく、半分だけ記憶しておき、対称位置に
ある同じ値のフィルタ係数を異なる次数間で共用するよ
うにしてもよい。また、フィルタ係数メモリ25,26
または250,260を1個にし、補間用の2つの隣接
する係数データを時分割で読み出すようにしてもよい。
その場合、マスタクロックパルスMCの周波数を2倍に
して、1つのフィルタ演算タイムスロット内に補間用の
2つの時分割タイムスロットを形成する。図8,図11
の実施例では、フィルタ係数メモリから読み出したフィ
ルタ係数を4ステップで補間しているが、補間ステップ
数はこれに限らない。また、補間を行わなくてもよい。
また、フィルタ演算形式は、上述のFIR型に限らず、
IIR(無限インパルス応答)型やその他の形式であっ
てもよい。また、この発明で使用するディジタルフィル
タの用途は、上記実施例のような折返しノイズ除去の用
途に限らず、音色制御等その他の用途であってもよい。
その場合、音色選択コードTC、キーコードKC、タッ
チデータTD等に応じてフィルタ特性を選択するように
する。つまり、フィルタ係数メモリに複数のフィルタ特
性に対応するフィルタ係数データを夫々記憶しておき、
音色選択コードTC、キーコードKC、タッチデータT
D等に応じて所望の音色を実現するフィルタ係数データ
の組を選択し、これをアドレス信号の小数部に応じて読
み出すようにするのである。 【0043】また、キーコードKCに応じた音色のキー
スケーリング制御やタッチデータTDに応じた音色制御
の際に、メモリに予め記憶しておくフィルタ係数データ
の数を少なくしておき、このフィルタ係数データをキー
コードKCやタッチデータTDに応じて補間することに
よりフィルタ係数を密に発生するようにしてもよい。ま
た、この発明に係る楽音信号発生装置を複数系列設け、
各系列で発生する楽音信号をキーコードKCやタッチデ
ータTDに応じて補間合成するようにしてもよい。上記
実施例では、サンプリング周波数が楽音信号のピッチに
無関係に常に一定であるピッチ非同期方式によって楽音
波形サンプルデータを発生しているが、サンプリング周
波数が楽音信号のピッチに同期するピッチ同期方式によ
って楽音波形サンプルデータを発生する場合においても
この発明を適用することができる。また、楽音波形メモ
リに記憶した波形サンプルデータを全て読み出さずに、
高音域では例えば2回に1回あるいは4回に1回という
ように間引いて読み出すようにアドレス信号を制御する
ようにしてもよい。 【0044】 【発明の効果】以上の通り、この発明によれば、発生す
べき楽音の音高に対応して変化するアドレス信号の整数
部に応じて楽音波形サンプルデータを発生し、このアド
レス信号の小数部に応じてm次のフィルタ係数に対応す
る係数データのうちn個(ただしn<m)を選択し、こ
のn個の係数データとアドレス信号の整数部に対応して
発生されたnサンプル点分の楽音波形データとを用い
て、m次のフィルタ演算をnサンプル点分の楽音波形デ
ータに関して行うようにしたので、実際に楽音波形デ
ータ発生手段で準備する楽音波形サンプルデータの分解
能はアドレス信号の整数部に対応する比較的粗いもので
あっても良い、ということにより回路構成の簡単化を図
ることができるという利点、及び実際にはmよりも少
ないnサンプル点分の楽音波形データに対応する限られ
た次数に関してフィルタ演算を行えばよい、ということ
によりディジタルフィルタ回路の構成の簡単化をも図る
ことができるという利点、の両方を享受できると共に、
実質的なフィルタ演算はアドレス信号の小数部の分解
能を持つ精度の良い楽音波形サンプルデータに対してm
次の精密なフィルタ演算を行ったのと等価となる、とい
うことにより、高分解能の楽音波形サンプルデータに対
する精密なフィルタ演算によってもたらされる種々の効
果、例えば、不要なノイズ成分を確実にカットし、良質
の楽音信号を得ることができるという利点、をも享受す
ることができる、という優れた効果を奏する。 【0045】加えて、この発明によれば、フィルタ係数
供給手段ではフィルタ係数補間手段を有しているので、
フィルタ係数発生手段で記憶している所定次数よりも多
いm次のフィルタ係数を、該フィルタ係数発生手段にお
けるフィルタ係数の記憶容量を増すことなく、簡単に発
生することができるという効果を奏する。また、フィル
タ係数供給手段では、異なる特性を示す複数のフィルタ
特性の中から、楽音を制御するための制御データに対応
するフィルタ特性を選択し、選択されたフィルタ特性に
対応するm次のフィルタ特性を実現するための連続する
各次数に対応するm個のフィルタ係数の中から上記アド
レス信号の小数部に応じてn個(ただしn<m)の係数
データを選択して供給するようにしたので、前述のよう
に簡単な構成でありながらm次の精密なフィルタ演算に
よるノイズ除去機能を得ることができることに加えて、
任意の楽音制御データに応じた音色制御機能をも実現す
ることができるという優れた効果を奏する。更に、請求
項2に記載された発明によれば、フィルタ係数補間手段
を有しているので、フィルタ係数発生手段で記憶してい
るフィルタ係数の数よりも多い次数のフィルタ係数を、
該フィルタ係数発生手段におけるフィルタ係数の記憶容
量を増すことなく、簡単に発生することができるという
効果を奏する。
DETAILED DESCRIPTION OF THE INVENTION [0001] The present invention relates to a digital filter.
Elimination of aliasing noise and tone control using filter operation
In particular, a relatively simple c
High-precision digital filter operation with hardware configuration
A tone signal generator capable of performing
You. [0002] 2. Description of the Related Art In an electronic musical instrument, a digital musical tone signal is used.
Purposes such as controlling the tone of a signal or removing noise
Uses digital filters. For example, synthesis
Constant sump regardless of the frequency of the musical tone
By sampling at the ring frequency
In a so-called pitch-asynchronous tone synthesis method for synthesis
Generally means that the tone frequency and the sampling frequency are
It is a numerical ratio, and as is clear from the sampling theorem,
There is a possibility that aliasing noise that is not
Need to be removed. Such pitch unequal
In order to remove aliasing noise contained in the period type tone signal
As a countermeasure, a digital
To pass the tone signal through the filter
(JP-A-61-90514). [0003] SUMMARY OF THE INVENTION For digital filters
For removing aliasing noise through musical signal
Is an accurate filter with sufficient filter order
Operation must be performed, which complicates the filter configuration.
There is a problem that becomes. In addition, for aliasing noise removal
Not limited to digital filters, other applications for tone control
The same applies to the digital filter described above. The invention
Has been made in view of the above points, and
When performing tone control and aliasing noise removal using
In addition, a simple configuration, yet accurate filter
A music signal generator that can perform calculations
It is something to offer. [0004] [MEANS FOR SOLVING THE PROBLEMS] A musical tone signal according to the present invention
The signal generator has a rate corresponding to the pitch of the musical tone to be generated.
Generates an address signal consisting of an integer part and a decimal part
Address signal generating means for generating the address signal;
A musical sound wave that generates musical sound waveform sample data according to several parts
Shape data generation means and control data for controlling musical sounds
Control data generating means for generating
Number of filter characteristicsFor a filter of predetermined order
Numbers, each of which is stored in the filterof
Select the filter characteristics corresponding to the control data from among
Corresponding to the selected filter characteristicSaidPredetermined order
Filter coefficientsFrom the decimal part of the address signal
Reads out multiple filter coefficients according to the predetermined upper bits of
YouFilter coefficient generating means and filter coefficient generating means
FromMultiple readFilter coefficientsThe address signal
According to the predetermined lower bits of the fractional part of the signalBy interpolating
M-order filter coefficients that are larger than the predetermined order
Filter coefficient interpolation means, and
Filter in the filter coefficient generating means according to the decimal part
Coefficient ofreadingAnd the interpolation by the filter coefficient interpolation means
Control to achieve m-th order filter characteristics
Among m filter coefficients corresponding to each successive order of
Select and supply n (where n <m) coefficient data
Filter coefficient supply means, and the n coefficient data
For n sample points generated by the musical sound waveform data generating means
Using the tone waveform data of
Digital sound waveform data for sample points
Filter operation means. The address signal generating means generates a musical tone to be generated.
Integers and fractions that change at a rate corresponding to the pitch of the sound
Generates an address signal. Needless to say, ads
The integer part of the address signal has lower resolution than the decimal part. Musical sound wave
The shape data generating means responds to the integer part of the address signal.
The tone waveform sample data is generated. Therefore, the musical tone
Musical sound waveform sample data prepared by waveform data generation means
May have a relatively coarse resolution. For example,
In conventional pitch-synchronous tone signal generators.
As shown in FIG.
Only the pull data may be prepared. Note that later
In this case, the tone waveform data
The sampling frequency of the sampled waveform data
It does not matter whether or not it is synchronized with the pitch. Suppose, pitch
Assuming that it is an asynchronous type, a coarse resolution similar to the pitch synchronous type
It is only necessary to prepare musical sound waveform sample data with Noh
is there. In the filter coefficient supply means,Duplicates with different characteristics
Filter function of a predetermined order for a number of filter characteristics
Number of each of the filter characteristics.
Select the filter characteristics corresponding to the control data from among
The predetermined order corresponding to the selected filter characteristic
The fractional part of the address signal from the filter coefficients
Reads out multiple filter coefficients according to the predetermined upper bits of
Filter coefficient generating means and filter coefficient generating means
The plurality of filter coefficients read from the
By interpolating according to the predetermined lower bits of the decimal part of the signal
M-order filter coefficients that are larger than the predetermined order
Function filter coefficient interpolation means,Of the above address signal
According to the decimal part,coefficient data corresponding to the m-th order filter coefficient
Data (where n <m) is selected and supplied.
In the digital filter operation means, the n coefficient data
And a sump generated by the musical tone waveform data generating means.
M-th order filter performance using the tone waveform data for
The calculation is performed on the tone waveform data for n sample points. This
As a result, the precision of the resolution with the fractional part of the address signal
Good tone waveform sample data (this is actually a tone waveform
Although not prepared by the data generation means), m order
Filter operation (actually for n orders)
Filter operation which is equivalent to performing
It can be performed. That is, the integer part of the address signal
The tone waveform data generated in response to
Filter processing at the filter
Therefore, waveform interpolation is performed at the resolution of the decimal part of the address signal.
It is possible to achieve the same processing as. this
Can contribute to the elimination of aliasing noise
You. Incidentally, for example, the conventional pitch asynchronous type
In a tone signal generator, the effects of aliasing
In order to eliminate as much as possible, make the resolution of the waveform as high as possible.
Therefore, it is common practice to increase the sampling frequency.
You. For example, with an accuracy of 1000-16000 divisions per waveform cycle
Preparation of waveform data is being performed,
The waveform memory requires a considerable capacity. in this way
Since a considerable capacity is required for the waveform memory, one cycle
Stores waveforms consisting of relatively short sections, such as waveforms, in memory
In the case of a tone signal generation method in which
If it is still relatively long, such as a continuous multi-period waveform,
Store the waveform consisting of the interval in the memory and read it out.
It is not suitable for a simple tone signal generation system. to this
On the other hand, sampling to the frequency of the musical tone to be synthesized
A so-called pitch-synchronous tone synthesis method that synchronizes frequencies
The tone frequency (pitch) and the sampling frequency
The component generated by folding to be harmonious is the musical frequency
And does not become noise.
Prepare waveform data with relatively coarse precision of about 4 divisions
No problem. Therefore, the ratio of continuous multi-period waveforms
Store a relatively long section of the waveform in memory and read it.
It is also suitable for a tone signal generation system that protrudes.
In contrast, in the present invention, the sampling frequency is
Pitch-synchronous, whether or not synchronized with the pitch
Prepares sample data of musical tone waveform with coarse resolution
Is good. Therefore, a relatively short section such as a one-cycle waveform
Memorize the waveform consisting of the interval in memory and read it out repeatedly
In the case of such a tone signal generation method,
Stores waveforms consisting of relatively long sections, such as multiple cycle waveforms
In a tone signal generation system where
In any case, the invention is suitable. As a result, tone waveform data is actually generated.
The resolution of the tone waveform sample data prepared by
Even if it is relatively coarse, corresponding to the integer part of the
Good means that the circuit configuration can be simplified
Advantages of being able to, and Actually, the tone waveform data for n sample points less than m
Filter operation on the limited order corresponding to the
That the digital filter circuit
Both advantages that the configuration can be simplified
While enjoying Effective filter operation is the decomposition of the fractional part of the address signal.
M for accurate sound waveform sample data with high performance
It is equivalent to performing the following precise filter operation.
This makes it possible to deal with high-resolution musical sound waveform sample data.
The various benefits provided by the precise filter operation
Points, for example, to ensure that unnecessary noise components are
The advantage of being able to obtain the tone signal of
Can be Further, according to the present invention, the filter
The number supply means has a filter coefficient interpolation means.
And the filter coefficient generation meansRememberFrom the specified order
M-order filter coefficients, The filter coefficient generating means
Without increasing the storage capacity of the filter coefficients inSimple
This has the effect of being able to occur in Also,
In the filter coefficient supply means, a plurality of filters having different characteristics are provided.
From the filter characteristics to the control data for controlling the tone
Select the corresponding filter characteristics and select the selected filter characteristics.
To realize the m-th order filter characteristic corresponding to the characteristic
Out of m filter coefficients corresponding to each order
According to the decimal part of the address signal, n (where n <m)
The coefficient data is selected and supplied.
M-order precise filter performance with a simple configuration
In addition to being able to obtain the noise removal function by arithmetic
Also implements tone control functions corresponding to arbitrary tone control data.
It has an excellent effect that it can be realized.Furthermore,
The tone signal generating apparatus according to the present invention provides
From the integer part and the decimal part that change at the rate corresponding to the pitch
Address signal generating means for generating an address signal,
The tone waveform sample data is determined according to the integer part of the address signal.
Sound waveform data generating means for generating data,
The filter coefficients are stored before Decimal of address signal
Multiple different order fills according to the predetermined upper bits of the
Filter coefficient generating means for reading out filter coefficients;
A plurality of different orders read from the coefficient generator.
The filter coefficient is determined by a predetermined lower bit of the decimal part of the address signal.
Interpolated according to the order, and filters with orders higher than the predetermined order
Filter coefficient interpolation means for generating filter coefficients;
According to the filter coefficient generated by the filter coefficient interpolation means
The tone waveform data generated by the tone waveform data generating means.
Digital filter operation that performs filter operation on data
Means. According to this, the filter
Since it has a number interpolation means, the filter coefficient generation means
Filters of orders greater than the number of stored filter coefficients
Filter coefficients in the filter coefficient generation means.
Can easily occur without increasing the storage capacity of numbers.
It has the effect of cutting. [0008] BRIEF DESCRIPTION OF THE DRAWINGS FIG.
The embodiments of the present invention will be described in detail. FIG. 1 shows one embodiment of the present invention.
FIG. 1 is a basic block diagram showing an embodiment, where 1 is an address signal.
Signal generating means, 2 means musical tone waveform data generating means, 3 means fill
And 4 are digital filter operation means.
is there. As described above, the address signal generating means 1 has an integer part.
Generates an address signal consisting of IAD and decimal part FAD
Generated at a rate corresponding to the pitch of the
The tone waveform data generating means 2 outputs the address signal
Generates tone waveform sample data according to the integer part IAD
And the filter coefficient supply means 3
Filter coefficient of the m-th order according to the fractional part FAD of the
In addition, n units (where n <m) are selected and supplied.
The digital filter operation means 4 uses the n filters.
Luther coefficient and n generated by the tone waveform data generating means.
Using the tone waveform data for the sample points,
Performs a filter operation on musical sound waveform data for n sample points.
Is Umono. Note that in this example, the sampling frequency
fs is constant regardless of the pitch of the tone to be generated
(That is, pitch asynchronous type), digital filter operator
In stage 4, fs / 2 is used to remove aliasing noise.
Realizes low-pass filter characteristics with cut-off frequency
Shall be. The principle of the tone signal generator according to the present invention
In order to explain, first, the digital filter
The data operation will be described with reference to FIGS. FIG.
Is a waveform diagram based on the general sampling frequency conversion theory
FIG. 3 shows an example of the spectrum envelope.
This is an example. FIG. 2A shows the sampling frequency f.
An example of musical tone waveform sample data sampled by s
It is a figure showing about some sample points. This figure 2
The tone waveform sample data of FIG.
Sampling timing of M times frequency (M · fs) of several fs
Input to a digital filter that operates
You. In that case, one cycle ts = 1 of the sampling frequency fs
/ Fs contains M times one cycle ts / M of frequency M · fs.
However, one sample of the tone waveform sample data shown in FIG.
All M filter operation timings during the sample time.
M data in one cycle ts of fs without generating sample data
Only one of the filter operation timings
Generates sample data and the remaining M-1 timings
Let the sample value be "0". Thus, the frequency M
・ One of the sampling timings of fs
At the timing, the sample of the tone waveform sample data of FIG.
Generate a pull value, and M-1 timings for the remaining M
FIG. 2 (b) shows the sample value set to "0".
You. The sound waveform sample data shown in FIG.
Is input to a digital filter, and a sample of a frequency M
A filter operation is performed according to the ring timing. Toes
Each sampling point whose sampling period is ts / M
Musical sound waveform data (However, one sample
Has a valid sample value at the timing of
At M-1 timings, the sample value is "0".
To calculate filter coefficients of each order for
It is. Then, as a filter operation output, FIG.
As shown in the figure, each of the sampling timings of M · fs
The tone waveform data for which sample values are densely generated corresponding to
Obtainable. This means that each sample of frequency M
Filter operation is performed at the sampling timing,
For each filter timing,
The convolution of the number and its corresponding sample value
This is because an output signal is obtained. As shown in FIG.
The desired sound waveform data with dense sample values
Re-sampling at the pulling frequency
Tone waveform sample data converted to the sampling frequency of
Data can be obtained. FIG. 2 (d) shows such a desired
By re-sampling at the sampling frequency.
An example of the obtained musical tone waveform sample data is shown. This place
The desired sampling frequency to resample
Is M · fs / N, the waveform data of FIG.
Is calculated once every N times of the sampling timing of M · fs.
What is necessary is just to resample at a ratio. By the above processing, the sampling cycle
Music waveform data with wave number fs is sampled by M-fs / N
Sampling frequency. The figure
In the drawing, M = 4 and N = 3 are shown. FIG. 3A is a diagram.
An example of the spectrum envelope of the waveform 2 (a) is shown.
Fig. 3 (b) shows the spectrum envelope of the waveform of Fig. 2 (b).
FIGS. 3A and 3B show an example of a loop.
The shape of the spectral envelope is the same but the level is
(B) is 1 / M of (a). This was
Substantial sample values included in the convolution sum ("0"
Number of sample values) is 1 / M of the original number
It is. FIG. 3C shows an example of a digital filter characteristic.
Where fs / 2 is the cutoff frequency and
This is a low-pass filter. FIG. 3 (d) shows this roper.
Filter characteristics.
Shows the spectral envelope of the waveform of FIG. 2 (c).
It is. In this case, the return by the sampling theorem is M
It occurs at a frequency of fs / 2, which is quite high
Therefore, noise does not occur at the time of resampling. FIG.
(e) is one of the spectrum envelopes of the waveform of FIG.
It is a figure showing an example. Resample the output of the filter.
Just by ringing, the signal level is reduced to 1 / M as described above.
Since the level remains down, when resampling
By multiplying the level of the waveform data in FIG.
And return to the original level. In the above, the digital filter is used as a sampler.
It is used for converting the tone frequency
Setting a desired pitch and generating a tone signal directly
Has nothing to do with. In contrast, the present invention
When generating a tone signal with a pitch of
Digital filter operation is used.
is there. That is, the pitch corresponding to the pitch of the musical tone to be generated
Address signal which changes with the
Generated according to the address signal.
Digital data based on the above principle
The filter filter operation is used. Address information
The signal consists of an integer part IAD and a decimal part FAD.
In the data generating means 2, the integer part IA of the address signal
The tone waveform sample data is generated according to D. Paraphrase
Then, the musical tone that can be generated by the musical tone waveform data generating means 2
The waveform sample data corresponds to the integer part IAD of the address signal.
It only corresponds to the resolution. Address signal integer
Generated from musical sound waveform data generating means 2 corresponding to section IAD
FIG. 4 (a) shows an example of the sample data of the musical tone waveform to be generated.
You. The decimal part FAD of the address signal is
At the sample point specified by the integer part IAD of the signal
2 shows a finer phase between adjacent sample points.
For example, in the integer part IAD and the decimal part FAD of the address signal,
Therefore, the current address value indicated by CA in FIG.
If the phase is indicated by D, the current value of the integer part IAD
Is, for example, "3", and the decimal part FAD is CAD and IAD.
Is the difference. That is, CAD = IAD + FAD.
High quality sound wave signal free of harmonic distortion, subharmonic distortion and noise
Resolution of the fractional part FAD of the address signal to obtain the signal
In other words, corresponding to the CAD phase, the musical sound waveform sample
It is desirable to seek data. In the present invention, the aforementioned
Using digital filter operation based on the principle
This can be done with a simple configuration and with a sampling clock.
Clock frequency without special speed up.
I have to. Therefore, the filter coefficient supply means 3
Is an mth-order filter according to the decimal part FAD of the address signal.
Of the coefficient data corresponding to the data coefficients (where n <
m) is selected and supplied. Figure 2 above
As is clear from the explanations related to (b) and (c),
Sample data corresponding to all of the filter coefficients
One time per M orders without needing to supply data
Supply valid sample data at and for the remaining orders
May set the sample value of the sample data to “0”,
Even so, precise filtering is performed using multiple-order filter coefficients.
Filter operation is performed, so that a good tone signal can be obtained.
Can be. Based on this, a similar idea
In this invention, a digital filter operation based on
I have to. However, the general sampling frequency mentioned above
In processing based on number conversion theory, high-speed filtering
According to the arithmetic timing (frequency M · fs),
Must actually perform the filter operation on the filter coefficients.
Absent. Because the correspondence between order and sample data
Changes with time due to the change of operation timing.
Therefore, even if there is sample data with a sample value of "0"
It is clear that the product with the filter coefficient is "0"
It is unclear what order it holds
Because it is. Therefore, conventional general sampling
In the processing based on the frequency conversion theory, FIG.
A tone waveform sample data with a sampling frequency fs
As shown in FIG. 2 (b), the data
sampling once per M clocks of fs and M clocks
At sampling timing of M-1 times per sample,
Sampling by inserting “0” as pull value
Is converted to data of frequency M · fs, and this is converted to frequency M · fs.
Input to the operating digital filter, this digital
Filter coefficients of all orders set in the filter
The filter operation must be actually performed. On the other hand, in the present invention, the sample value
“0” sample data and corresponding filter coefficients
Noting that the operation of is virtually unnecessary,
The feature is that it is possible to omit the operation for
You. As a result, calculations can be performed at high-speed filter
The operation circuit is simplified while eliminating the need to perform
In addition, using a sufficiently large number of
By enabling the
Simultaneous simplification of circuit configuration and high-precision filter operation
To be realized. First, the functions shown in FIGS.
Similarly, the tone waveform sample data of FIG.
A sample with a frequency (M · fs) that is M times the sampling frequency fs
Input to a digital filter that operates at the
Assuming that one cycle ts of the sampling frequency fs
= 1 / fs contains M cycles of one cycle ts / M of frequency M · fs
Assuming that the tone waveform sample data shown in FIG.
All M filter operation timings in one sample time
Without generating sample data during one cycle ts of fs.
One of the M filter operation timings
Only sample data is generated, and the remaining M-1
It is assumed that the sampling value is set to “0”. This
, The sampling timing of the frequency M · fs
4 (a) at one timing per M pieces.
Generate sample values of sample data, and
At M−1 timings, the sample value is set to “0”.
This is shown in FIG. Where the decimal part of the address signal
FAD division number (1 divided by the minimum unit of decimal FAD
Indicates the number, for example, the minimum unit of the decimal part FAD is
If 0.1, the number of divisions is 10), and d is M.
You. FIG. 4B shows a musical sound waveform sample data as shown in FIG.
Consider performing m-th order filter operation on
(M is an arbitrary number determined when setting the filter characteristics
A), and as described with reference to FIG.
Sampling timing of frequency M · fs using all data coefficients
When the filter operation is performed by the filtering, it is as shown in FIG.
A filter output signal having a similar precision resolution is shown in FIG.
It can also be obtained for musical sound waveform sample data. But,
Then, as mentioned above, the digital filter
Must be operated at the sampling frequency M
In addition, all of the following
Actually perform the filter operation on the number of filter coefficients
Is disadvantageous because it must be adopted in this invention
do not do. Instead, we use the sample values
“0” sample data and corresponding filter coefficients
Noting that the operation of is virtually unnecessary,
Omit the calculation for
The calculation is performed without increasing the ring frequency.
It is. The elimination of such unnecessary operations is in accordance with the present invention.
Then, the address signal is divided into an integer part IAD and a decimal part FAD.
And divide the tone waveform sample data according to the integer part IAD.
Generated, but a filter for digital filter operation
Select and supply coefficients according to the fractional part FAD
It is realized by doing. In other words, the musical sound waveform sample
Data generation is relatively coarse resolution according to the integer part IAD
The digital filter operation is performed in accordance with the decimal part FAD.
The feature is that it is performed at a precise resolution.
For details, fill in according to the fractional part FAD of the address signal.
By selecting the data coefficient, the integer part IAD and the decimal part F
Current phase CA of the address signal specified by AD
At fine sampling timing related to D
The integer part I as if a filter operation had been performed.
Each sample of coarse sampling timing corresponding to AD
Filter coefficients corresponding to the tone waveform sample data
Can be determined. In other words,
In accordance with the fractional part FAD of the address signal, the integer part IAD
Sample data and filter coefficients for each corresponding sample point
4 is determined, and as a result, FIG.
As a sample value under the assumption as shown in (b)
Corresponds to dense sampling timing with “0” inserted
The order of the filter coefficient can be specified, and the order
Regarding, the product is set to “0” without performing any operation.
For sample data with substantial values
Calculate filter coefficients corresponding to discrete orders
It will be good. Thus, according to the present invention, the m-th order
In the filter operation of (1), the filter coefficient supply means 3
The filter coefficients to be supplied correspond to the m-th order filter coefficients.
Not all coefficient data, but n of them (where n <
m) according to the fractional part FAD of the address signal.
You just have to pay. Here, the assumed digital filter operation
M at the sampling frequency M · fs of
d (the number of divisions of the fractional part FAD), and FIG.
The sample data shown in FIG. 4B is a tone waveform sample shown in FIG.
Virtual file obtained by dividing one sample interval of file data by M = d
Sampling at only one of the data operation timings
Data is generated, and at the remaining d-1 timings,
Since the sample value is “0”, the ease of FIG.
Provisional data obtained by dividing one sample interval of sound waveform sample data by d
In one of the virtual filter operation timings
Only have virtual sample values and their virtual filter
Actual calculations only need to be performed for
You. Therefore, the above n is determined by a relationship of n = m / d.
Can be added, and n orders sequentially separated by an interval of d can be added.
What is necessary is just to select according to the decimal part FAD of the address signal. Ma
Also, the sampling frequency of the assumed digital filter operation
Once every d times at the timing of the wave number M · fs = d · fs
Only needs to be performed, and must be performed at other times.
No, that is, the sample data unit delay is
The sampling frequency does not need to be set at M · fs = d · fs,
At the frequency fs.
Precise filtering with the sampling frequency M-fs = d-fs
Despite performing the filter operation, the actual filter operation is
It should be done at a low sampling frequency fs.
You. In connection with this, a sump as shown in FIG.
Data, but actually
Once per d clock with the pulling frequency M-fs = d-fs
Sampling and insertion of the sample value “0” d-1 times
There is no need to perform any processing, and the sampling frequency f
s generated according to the integer part IAD of the address signal according to
The sample data obtained may be used as it is. This will be further described with reference to the drawings.
The bright filter operation is performed on the sample data as shown in FIG.
Data corresponding to the current phase CAD of the address signal.
This is equivalent to performing a filter operation. In this case, the figure
4 (b) and each of the m-th order filter coefficients
An example of a correspondence relationship with the order (0th order to m-1th order) is as follows.
It is as shown in FIG. FIG. 4C shows an m-order FIR.
(Finite impulse response) filter low-pass filter
Envelope shows an example of an impulse response
Things. The frequency domain of this FIR filter is M
-Fs = d-fs, and cut-off of low-pass filter characteristics
Is the return noise related to the sampling frequency fs.
Set to fs / 2 to remove noise. This impulse
A predetermined reference order (eg, center order)
Corresponds to the current address signal phase CAD
And In the filter operation, each sample shown in FIG.
Convolution of the pull data with the filter coefficients of FIG.
Is required. In that case, the frequency domain of d
Of the sample data shown in FIG.
No calculation is performed for the element with the default value "0". Sand
In FIG. 4B, a sample having a valid sample value
Of the data and the corresponding order filter coefficients
Just do. From the relationship of n = m / d, m-order convolution
Sample data with valid sample values in
Is n. In the illustrated example, m = 96, d = 16, n
= 6. Current address signal phase
It is obtained by the filter operation executed corresponding to CAD.
The convolution is shown by a solid line in FIG.
You. In FIG. 4D, a part is indicated by a broken line.
The convolution sum, that is, the filter output signal has a frequency of d
In several domains, it occurs as densely as shown in FIG.
Is done. Note that, as before, this convolution is actually
Performed only on n = 6 sample data
Therefore, the level of the filter output signal becomes 1 / d = 1 /
Drops to 16. To address this, the filter output signal
May be multiplied by d = 16. Alternatively,
Even if you increase the level of the filter output signal by d = 16
And a filter section with d = 16 times the original value
The operation may be performed using a number. FIG. 4 (e) shows the impulse response of FIG. 4 (c).
Example of amplitude-frequency characteristics of FIR low-pass filter with
It is shown. The frequency domain component cut is -80
It has been confirmed that it is attenuated below dB. this is
The filter characteristics are quite high precision. Figure 5 shows such
In the actual measurement diagram of the amplitude-frequency characteristics of the FIR low-pass filter
is there. FIG. 6 shows the result of passing through the FIR low-pass filter having the characteristic shown in FIG.
FIG. 7 is an actual measurement diagram of the spectrum of the sine wave signal obtained. from here
As is apparent, noise components other than the fundamental wave are reliably -8.
It is attenuated below 0 dB. 4 (a) to 4 (c)
In summary, each order of the m-th order filter coefficient (0th order to m−
(Primary) is the resolution of the fractional part FAD.
Corresponding to a given reference order (eg,
For example, the central order k) is the fractional part FA of the current address signal.
Corresponding to the position of D (that is, the position of the current phase CAD)
I have. For the fractional part FAD of this current address signal
A quantity corresponding to the distance between each integer part IAD for n sample points
Each of the n orders separated from the reference order by
The address part of the current address signal.
N filters corresponding to n orders determined according to
The filter coefficient is supplied by the filter coefficient supply means 3.
You. The reference next to the current phase CAD of the address signal
Let the number be the central order k (for example, when m = 96,
When the order is 0th to m-1 = 95th, the center order is k =
47) and n = 6, then “n sample points
Each integer part IAD of the minute address signal "
N = 6 samples before and after the integer part IAD of the address signal
The integer part of the point, ie, IAD-2, I shown in FIG.
AD-1, IAD, IAD + 1, IAD + 2, IAD +
3 corresponds to this. Each integer part I for this n sample points
AD-2, IAD-1, IAD, IAD + 1, IAD +
2, the reference order (k) by an amount corresponding to the distance of IAD + 3
= 47 orders), the n = 6 orders separated from the general
Are determined in the following manner. [0019] Order corresponding to IAD-2: k-FAD-2d Order corresponding to IAD-1: k-FAD-d Order corresponding to IAD: k-FAD Order corresponding to IAD + 1: k-FAD + d Order corresponding to IAD + 2: k-FAD + 2d Order corresponding to IAD + 3: k-FAD + 3d Of course, the above is only an example, and other definitions are possible.
In addition, even if it is defined as above, how to determine k, d, n
Depending on the situation, various other specific solutions may occur.
is there. For example, if k = 46 even under the same conditions,
3 sample points before the integer part IAD of the current address signal
The order corresponding to IAD-3 is defined as k-FAD-3d.
May need to be decided under filter
The coefficient supply means 3 includes a table as described above,
Alternatively, do not provide an arithmetic circuit that executes the above expression.
Thus, according to the decimal part FAD of the current address signal, n
Are determined, and coefficients corresponding to the determined n orders are determined.
Supply data respectively. This filter coefficient supply means 3
Some examples of the internal configuration of the digital filter operation means 4
This is shown in detail in FIG. Filter coefficient supplier
Stage 3 generates filter coefficients of order m (order 0 to m-1)
Filter coefficient generating means 3a and the m-th order filter
N of the coefficients are the values of the fractional part FAD of the address signal.
And selecting means 3b for selecting according to. Hand of choice
Stage 3b comprises, for example, the table described above,
N sample points according to the value of the fractional part FAD of the address signal.
Each integer part IAD-2, IAD-1, IAD, IAD +
Order k-FAD corresponding to 1, IAD + 2, IAD + 3
-2d, k-FAD-d, k-FAD, k-FAD +
d, k-FAD + 2d and k-FAD + 3d
And the filter corresponding to each discrete order
H (i-2d), h (i-d), h (i), h (i + d), h (i + 2
d) and h (i + 3d) are selected and output. In FIG. 7, the digital filter operation means 4
Is composed of FIR filter and generates musical tone waveform data.
Generated from stage 2 in response to the integer part IAD of the address signal
Clock of sampling frequency fs
With delay means 4a for delaying by pulse φ (fs)
I have. This delay means 4a is provided for each integer part for n sample points.
IAD-2, IAD-1, IAD, IAD + 1, IAD
+2, IAD + 3, sample data X (Ii−
2), X (Ii-1), X (Ii), X (Ii + 1), X (Ii + 2), X (Ii
i + 3). These sample data X (Ii-2),
X (Ii-1), X (Ii), X (Ii + 1), X (Ii + 2), X (Ii + 3)
Are input to the multipliers 4b1 to 4b6, and given from the selection means 3b.
The obtained filter coefficients h (i-2d), h (i-d), h (i), h (i
+ d), h (i + 2d) and h (i + 3d). Multiplier 4b1 ~
The output of 4b6 is added by the adder 4c.
Output as FIR filter output. The current sump
Sample data X (Ii) to be handled as
a, the file provided from the selection means 3b
The filter coefficients h (i-2d) to h (i + 3d) are appropriately delayed accordingly.
To the multipliers 4b1 to 4b6. here
Then, the above-described relationships of FIGS. 4A to 4C are arranged in another expression.
Then, the division number d of the decimal part in the address signal (the above-described number d)
In the example, n = m / d according to d = 16).
(N = 6 in the above example), and the n
The filter coefficients are based on n orders that are sequentially separated at intervals of d.
Corresponding to the decimal part of the current address signal
Each of the n orders is determined according to the value of FAD.
Is determined according to the fractional part FAD of the current address signal.
N filter coefficients corresponding to the n orders
It is supplied by the coefficient supplying means 3. Thus, according to the present invention, the m-th order fill
In the convolution operation of the data
Where the operation must be performed on the data, n = m
It is only necessary to perform an operation on / d coefficient data.
The calculation scale can be reduced to 1 / d. And actually
The sampling frequency in the calculation of fs is fs
Digital filter operation with high resolution of d · fs
The result is equivalent to Next, check the circuit configuration scale.
Improve the accuracy of the filter operation without enlarging
Will be described. Using the mth order filter coefficients,
To perform a filter operation of q times the order of
Is the difference between adjacent filter coefficients of the m-th order.
Interpolation of resolution q is performed.
The coefficients may be generated densely. Such q
Equivalent in digital filter operation by double interpolation
The typical sampling frequency is high resolution of qdfs
And the filter order is q · m order,
The accuracy of the calculation can be considerably improved. Then this
A more specific embodiment of the invention will be described with reference to FIG.
I do. In the embodiment of FIG. 8, the decimal part FAD of the address signal is used.
Is set to d = 16, the order of the filter is set to m = 96,
n = 6. And the m-th order
Between adjacent ones of the filter coefficients, each having a resolution of q = 4.
The filter coefficients for the qm order = 384 order
Are generated densely. Therefore, the address signal
The decimal part FAD of the signal is basically the number of divisions d = 16 = “2
4 bits of data corresponding to
Furthermore, the lower 2 bits are added to the interpolation step of resolution q = 4.
To instruct the user. Therefore, in this embodiment,
If the decimal part FAD of the address signal is 6-bit data,
Become. The sampling frequency is fs = 50 kHz.
It is fixed and generates tone signals asynchronously with pitch.
Swelling. In this embodiment, the digital filter
Filter is used to remove aliasing noise as before.
It is configured as an FIR filter with pass filter characteristics.
You. The keyboard 10 specifies the pitch of a musical tone to be generated.
With multiple keys for Pressed on keyboard 10
Key is detected by key assigner 11 and corresponds to pressed key
Tones that should generate multiple tone generation channels
. An example of the number of tone generation channels
And each channel has a common musical tone generating means.
Established by time sharing
You. The key assigner 11 stores the key assigned to each channel.
Key code KC, key-on signal KON and key-on pal
KONP is time-divisional according to channel timing
Output to The address signal generating circuit 12 is a key assigner
Key code KC and key-on pulse KONP from 11
To the pitch of the key assigned to each channel.
Address signal that changes at a
Occur in a time-sharing manner in response to the This address signal
Consists of the integer part IAD and the decimal part FAD as described above.
ing. The integer part IAD is, for example, 18-bit data
Or more than one period prepared in the tone waveform memory 13
Specifies continuous sample points of a musical sound waveform consisting of
Yes, the decimal part FAD is 6-bit data as described above.
You. As an example, the musical tone waveform memory 13
Multi-period waveform data and multi-period waveform data for the sustain part
Is stored, the address signal generation circuit 12
Now, the attack is triggered by the key-on pulse KONP
Part of the multi-period waveform data is read once,
Address so that multiple period waveform data of
Signal. Note that the address signal generation circuit 12
Address signal generation method repeats frequency number
Calculation method, variable frequency division method, or note clock
Any method, such as a method for counting
No. In connection with the keyboard 10, the touch detection device 14
And detects a touch of a pressed key. Musical sound waveform
As an example, the memory 13 has a multi-period waveform as described above.
The sample data of
Supports pull data that can be selected by the tone selection circuit 15
And a plurality of sets are stored. In addition, the key of the tone corresponding to the pitch
ー Scaling control or tone control according to key touch
In addition, multiple sets of waveform sample data are stored for
May be. For that, the tone selection code TC, key
The code KC and the touch data TD are stored in the tone waveform memory 13.
The waveform to be read is selected according to these
This is read according to the integer part IAD of the address signal.
Is spilled out. Generated from address signal generation circuit 12
The data of the integer part IAD of the address signal is stored in the tone waveform memory.
Thirteen phase address inputs, which directly participate
Not through the computing unit (subtractor 16, adder 17)
Join. The arithmetic units 16 and 17 are provided with digital filters.
Sample data delay means (see 4a in FIG. 7)
This is equivalent to the above. Sand
In this embodiment, the tone generated from the tone waveform memory 13 is used.
By actually delaying the sample data, n (= 6)
Each integer part IAD-2, IAD-1, IA for sample points
D, IAD + 1, IAD + 2, IAD + 3
Sample data, but not address signals.
Arithmetic units 16 and 17 perform time division on data of several IADs
-2, -1, 0, +1, +2, +3
, Each integer part IAD-2 for n (= 6) sample points,
IAD-1, IAD, IAD + 1, IAD + 2, IAD
+3 address data is generated in a time-sharing manner.
By reading the memory 13 by using the n (= 6)
Each integer part IAD-2, IAD-1, IA for each sample point
D, IAD + 1, IAD + 2, IAD + 3
They have obtained sample data. The calculation timing for this will be described in detail.
This is as shown in FIG. 9, where CAC is the sampling frequency.
Calculation cycle pulse generated at a period of several fs = 50 kHz
This period is divided into eight and time division of eight channels is performed.
Timings CH1 to CH8 are formed.
Each time-division time slot is divided into six parts to fill the sixth order
A data operation time slot is formed. Filter operation tie
One cycle of the memory slot is one cycle of the master clock pulse MC.
And the master clock pulse MC is modulated modulo 6
1 channel tie by counting with
Filter operation time slots 0,
Slot count data that distinguishes 1, 2, 3, 4, and 5
SLCTR is obtained. SMC is the filter operation cycle
Pulse, one cycle equals one channel time slot
Synchronized. When the calculation cycle pulse CAC is 50 kHz
If there is, the filter operation cycle pulse SMC is 40
0 kHz and the master clock pulse MC is 2.4 MHz.
You. Each pulse and count data described above are
Generated from the clock generator 22 and the timing signal generation circuit 23
Is done. The subtractor 16 calculates the integer part of the current address signal.
The value IA of the integer part of the sample point two sample points before the IAD
Subtract 2 from IAD to find D-2
is there. The data IAD-2 thus obtained is added to the adder 1
7 and the slot count data SLCTR is added.
Is calculated. This slot count data SLCTR is
As shown in FIG. 9, within one channel time slot
0, 1, 2, 3, 4, 5
6 filter operation types in channel time slot
6 slots corresponding to 0, 1, 2, 3, 4, 5
Each integer part IAD-2, IAD-1, IAD, for the pull point
Address data of IAD + 1, IAD + 2, IAD + 3
Is generated from the adder 17 in a time division manner. According to this
Thus, each integer part I for these six sample points is stored in the memory 13.
AD-2, IAD-1, IAD, IAD + 1, IAD +
2, the sample data corresponding to IAD + 3
Is read. The sample data read from the memory 13
The data is input to a multiplier 18 for multiplying the filter coefficient. H
The filter coefficient is filtered according to the fractional part FAD of the address signal.
It is supplied from the filter coefficient supply circuit 24 as described later.
The output of the multiplier 18 is input to the accumulator 19,
The convolution is required. This accumulator 19 is
At the timing of the star clock pulse MC (that is,
Accu) for each step of the count data SLCTR)
The filter operation cycle pulse SMC
Cleared at the timing. Clear accumulated value
Immediately before the operation, the convolution sum obtained in this operation is latched.
Latched by circuit 20. These subtracter 16, adder
17, multiplier 18, accumulator 19, latch circuit 2
0 is an FIR type digital filter operation circuit 21
Is equivalent to The filter coefficient supply circuit 24 has m = 96 order
Filter coefficients (0th order to 95th order)
Data coefficient memories 25 and 26 and the 96th-order filter coefficient
Of the address signals correspond to the value of the fractional part FAD of the address signal.
Selection means 27 and an interpolation circuit 28
I have it. The two series of filter coefficient memories 25 and 26
Are exactly the same,
To read in parallel two filter coefficients adjacent to
Are provided with two series of filter coefficient memories 25 and 26.
I have. The filters stored in the filter coefficient memories 25 and 26
The impulse response of the filter coefficient is, for example, as shown in FIG.
It is like the one shown in
The filter characteristics are shown in FIG. 4 (e) or FIG.
Low-pass filter characteristics, and the sampling frequency
Cut off fs / 2 = 25 kHz, half of fs = 50 kHz
Frequency. The selecting means 27 selects the decimal part F of the address signal.
Each integer part IA for n = 6 sample points according to the value of AD
D-2, IAD-1, IAD, IAD + 1, IAD +
2, the order k-FAD-2d, k- corresponding to IAD + 3
FAD-d, k-FAD, k-FAD + d, k-FAD
+ 2d, k-FAD + 3d, and the determined order
From the filter coefficient memories 25 and 26 as dress signals,
Filter coefficients h (i-2d), h (i-d), h (i), h (i + d), h (i +
2d) and h (i + 3d) are selectively read out.
The subtracter 29, multiplier 30,
An adder 31 is provided. The address signal of the
Input the upper 4-bit data of the decimal part FAD and enter "15-
FAD "is subtracted.
Input the data SLCTR, and enter “16 × SLCTR”
Perform multiplication. The outputs of the subtracter 29 and the multiplier 30 are added to the adder 3
1 and the above-described order k-FAD-2d, k-FAD
-D, k-FAD, k-FAD + d, k-FAD + 2
Data indicating d, k-FAD + 3d is output. S
Corresponding to each value 0-5 of lot count data SLCTR
The output of the adder 31, that is, the determined order is as follows.
You. The following table shows the integers for each of the six sample points.
Part values IAD-2, IAD-1, IAD, IAD + 1,
IAD + 2 and IAD + 3 are also shown. [0027] [Table 1] Assuming that k = 47 and d = 16,
K-FAD-2d, k-FAD-d,
k-FAD, k-FAD + d, k-FAD + 2d, k-
It is understood that FAD + 3d is as shown in the above table.
U. Therefore, the arithmetic circuit configuration in the selection means 27 is
Generally, “k−FAD + (SLCTR−2) × d” =
Calculation of “47−FAD + (SLCTR−2) × 16”
What is necessary is just to comprise so that an expression may be performed. Output of adder 31
Is input to the filter coefficient memory 25 as it is
The adder 32 adds 1 to the filter coefficient memory 26
Is input to Thus, two fills of adjacent orders
Data is read from the filter coefficient memories 25 and 26.
Will be issued. These two filter coefficient data are stored in the interpolation circuit 2
8 and the lower 2 bits of the fractional part FAD of the address signal.
4-step interpolation characteristics (for example, a straight line)
(Interpolation characteristic). Thus, the memories 25 and 26
Actually stores only m = 96th order filter coefficients.
Not available, but q · m = 4 × 96 = 384th order by interpolation
This is equivalent to densely preparing the filter coefficients of. Supplement
The output of the inter-circuit 28 is input to the multiplier 18. What
It should be noted that, by quadruple interpolation, the interpolation circuit 28
Output corresponding to each timing of the
The order of the filter coefficients used varies substantially as shown in the table below.
Has been updated. [0029] [Table 2] In Table 1, FAD is modulo 16 (d =
16), but in Table 2, FAD is modulo 64 (d = 64)
It is. Filter operation output from latch circuit 20
The force signal is supplied to a multiplier 33, and the envelope generator 3
4 is multiplied by the amplitude envelope signal.
Envelope generator 34 has key code KC and tone selection
Encoder controlled according to code TC and touch data TD
Generates a envelope waveform signal based on the key-on signal KON
You. The output of the multiplier 33 is input to the accumulator 35.
And sum the sample data of all channels.
You. This accumulator 35 is a filter operation cycle
At the timing of the SMC
Accumulate and calculate cycle pulse)
It is cleared at the timing of CAC. Accumulate value
Just before clearing
The total of the data is latched by the latch circuit 36. Luck
Sampling frequency of the tone signal output from the
The number is fs = 50 kHz, and the digital filter
The cutoff frequency is fs / 2 = 25 kHz on the road 21
By filtering the low-pass filter characteristics
Aliasing noise is reliably removed. Latch circuit 36
Output signal is analog-converted by the digital / analog converter 37.
The signal is converted to a sound signal and reaches the sound system 38. Ma
The output signal of the latch circuit 36 is, for example, reverb,
Digital effects to add kor and other musical sound effects
After being input to the circuit 39 and being given a tone effect,
Is converted into an analog signal by the
A sound system 38 is provided. As described above, the level of the filter output signal is
Dealing with bell drop to 1 / d = 1/16
Is the filter stored in the filter coefficient memories 25 and 26
The level of the coefficient is increased 16 times in advance, or the interpolation circuit 28
The coefficient data given to the multiplier 18 by 4 bits higher
I just need to shift to Next, as compared with the configuration of FIG.
Filter operation without significantly expanding the circuit configuration scale
An embodiment for improving the accuracy of the above will be described. Fig. 8
In the embodiment, the sampling frequency as shown in FIG.
Sample of sound waveform sample data with wave number fs = 50kHz
Upper d.fs = 16 x 50 = 800 kHz domain sampling
In order to set the frequency, as shown in FIG.
At a rate of d-1 times per d times of 800 kHz clock,
Processing is performed assuming that the pull value “0” has been inserted, and sampling is performed.
Filter operation is omitted for the order corresponding to the default value “0”.
Abbreviated. In contrast, the implementation of FIG.
In the example, the sampling frequency fs as shown in FIG.
= 50 kHz of the sound waveform sample data
0th-order hole in the domain of d.fs = 800 kHz as shown in
The data is interpreted as the
A sample having a valid value at all sample points of several d · fs = 800 kHz
Sample data was simplified as in the previous example.
The filter operation is performed. FIG. 10 (b) shows the same m = 96 as in FIG. 4 (c).
Illustrate the impulse response of the following low-pass filter characteristics
Things. As described above, the phase C of the current address signal is obtained.
AD corresponds to a predetermined reference order k (for example, intermediate 47th order)
Then, the sample data of FIG.
Find the convolution of the impulse response of. This fold
Komiwa is generally (Equation 1) It is expressed as Where x (ωs') is the current address signal
Is the convolution sum corresponding to the phase CAD, and h (95-i) is the
Luther coefficient, W (i) is the sample in the domain of d · fs = 800 kHz.
The pull value, that is, the sample data of each sample point in FIG.
It is. The spectrum envelope of the waveform shown in FIG.
The rope is as shown in FIG. Unnecessary harmonic components
It is attenuated and convenient. Therefore, according to the above equation
Unwanted aliasing components in the filtered output signal
It will be sufficiently attenuated. By the way, one of the above
The general formula requires 96 sums of products, but the wave of FIG.
The same amplitude continues for d = 16 times in shape sample data
So, if you perform this operation as a whole,
Can be reduced to seven times, and six times in the embodiment of FIG.
The operation scale can be reduced to a value that is not so different from the above.
That is, referring to FIG. 10A, the integer of the address signal
Same waveform sample data between IAD-2 and IAD-1
D = 16 times, and this is collected once
Multiplication of the IAD-1 and IAD-1
Similarly, between IAD and IAD + 1, IAD + 1
And between IAD + 2 and IAD + 3
Similarly, And between IAD-3 and IAD-2
Now, the same number of waveform sample data
Data, which are grouped together and multiplied by one coefficient.
And IAD + 3 and IAD + 4
The same is true during the period. Therefore, the above equation is obtained with a total of seven product sums
Can be performed. Therefore, in the embodiment shown in FIG.
D = 16 order filters corresponding to the shape sample data
Filter coefficients are summed in advance, and this is
Treat as numeric data and find sum of products by one coefficient operation
I am trying to. For example, W · h0 + W · h1 + W ·
Calculation of h2 + Wh3 + Wh4 + Wh5 + Wh6
Is performed by seven multiplications, h0 + h1 + h2 + h3
+ H4 + h5 + h6 is prepared in advance, and W ·
(H0 + h1 + h2 + h3 + h4 + h5 + h6)
The sum of products is obtained by one multiplication. In FIG.
The same parts as those in the embodiment of FIG. 8 are denoted by the same reference numerals. Strange
Additional points are the subtractor 16 and the master clock generator 2 shown in FIG.
2, timing signal generation circuit 23, filter coefficient memory
A subtractor 160 corresponding to 25 and 26 generates a master clock.
Generator 220, timing signal generating circuit 230, filter
This is a part of the coefficient memories 250 and 260. As mentioned above
In this embodiment, in the filter operation of one sample point,
1 time slot to perform 7 times sum of product calculation
7 filter operation time slots in the
Thus, the operation timing is changed as shown in FIG. FIG.
2, the calculation cycle pulse CAC is the same as described above.
Generated at a sampling frequency fs = 50 kHz,
Divides one cycle into 8 and time division timing of 8 channels
CH1 to CH8 are formed in the same manner as described above.
However, the time division time slot of each channel is divided into 7
To form seven filter operation time slots.
You. The slot count data SLCTR is used in this embodiment.
In the case of 7 channels in one channel time slot,
Time slot 0,1,2,3,4,5,6
Changed to distinguish. Master clock pulse MC
Is counted by a modulo 7 counter,
7 filter operation times in channel time slot
Slot count data SL for distinguishing slots 0 to 6
CTR is obtained. Therefore, the master clock pulse MC
Is changed to 2.8 MHz. According to this
Clock generator 220 and timing signal generation circuit 2
30 have been modified. Further, seven sampling points can be obtained by one filtering operation.
To the sample data corresponding to the integer part of the minute address signal
, The integer part IAD of the current address signal is calculated.
Corresponding to the integer part IAD-3 three sample points before
Extra data is needed. Therefore, the pull in FIG.
In the subtractor 160 of FIG.
3 is subtracted from the integer part IAD of the address signal to obtain "IAD-
3 "has been changed. Filter coefficient memo
The filters 250 and 260 are one of the filter coefficients of m = 96 order.
Or a filter coefficient corresponding to the sum of a plurality of filter coefficients
Group values are stored in advance, and both
250 and 260 have the same storage contents. Memory 250,
The filter coefficient group value stored in advance in 260 is
As shown in Table 3, d = 16
The sum of the filter coefficients (81 sets, one example
1 are stored at addresses 16 to 96).
D = 16 for the left end of the impulse response of 0 (b)
The sum of the full filter coefficients (there are 15 sets,
(For example, stored in addresses 1 to 15).
D = less than 16 fills for the right end of the impulse response
Sum of the data coefficients (there are also 15 sets, as an example
(Stored at addresses 97 to 111)
Consists of Note that “0” is stored in the address 0.
However, this is equivalent to the selection means 27 for generating address data.
This is a design issue caused by the same configuration as 8
Only. The data of the intermediate order (47th order) is used as the reference.
Is the sum of the 47th to 62nd order filter coefficients.
Is stored in the address 63. [0036] [Table 3] In this configuration, the slot count data
Of the selection means 27 corresponding to each value 0 to 6 of the data SLCTR.
The data output from the arithmetic unit 31 represents the order itself.
Instead of filtering, the filter
The addresses of the number memories 250 and 260 are shown. A
Slot count data according to the fractional part FAD of the dress signal
Of the selection means 27 corresponding to each value 0 to 6 of the data SLCTR.
Of the coefficient memory address data output from the adder 31
The values are as shown in Table 4 below. The following table corresponds to each
Each integer part IAD-3, IAD-2, I for 7 sample points
AD-1, IAD, IAD + 1, IAD + 2, IAD +
3 is also shown. The concept of memory reading in this case is as described above.
Similarly to the above-described embodiment, the reference intermediate order (47th order)
The coefficient data (47 to 6) stored in the corresponding address 63
The sum of the secondary filter coefficients) to the current address signal
Corresponding to the decimal part FAD,
Each integer part IAD for 7 sample points for several parts FAD-
3, IAD-2, IAD-1, IAD, IAD + 1, I
AD + 2, IAD + 3
Seven coefficient memories separated from the primary address 63
7 dresses decided each and every one of the dresses
7 filter coefficient groups from the coefficient memory address of
The value data is read out respectively. Also before
As before, filter coefficient group of adjacent address
Value data is read from both memories 250 and 260 in parallel.
In addition, interpolation is performed. [0039] [Table 4] Referring to Tables 3 and 4, for example, the address
If the fractional part FAD of the source signal is "6", SLCTR becomes 0
In this case, the coefficient memory address is 9, and the 0th to 8th order
The total data of the filter coefficients is obtained from the filter coefficient memory 250.
When SLCTR is 1, the address is 25 and
The total data of the 9th to 24th filter coefficients is SLCTR
If the value is 2, the address is 41 and the filter is 25th to 40th order
When the total data of the coefficient is 3 in SLCTR, the address
Is 57 and the total data of the 41st to 56th order filter coefficients is
When SLCTR is 4, the address is 73 and 57th to 72nd order
When the total data of the filter coefficients of SLCTR is 5
Is the sum of 73-88th order filter coefficients with address 89
When the data is SLCTR = 6, the address is 105
The total data of the 89th to 95th order filter coefficients is
Will be issued. Thus, 7 sets of filter coefficient group values
Therefore, all filter coefficients of the 0th to 95th orders are covered.
You. As described above, according to the embodiment of FIG.
In the domain of d.fs = 800 kHz as shown in FIG.
M = 96 for the sample data in the next hold state
The operation to find the product sum of all the following filter coefficients is actually
Can be performed with only seven operations. Follow
And simple structure, but with sufficient attenuation of aliasing components
Using the spell vector waveform data
A good filter operation can be performed. 8 and FIG.
In the eleventh embodiment, the digital filter operation circuit 21
A delay circuit is used as a means to delay sample data.
Address of the tone waveform memory 13 instead of actually providing
Is provided, which is controlled as shown in FIG.
A delay circuit may be actually provided. Also, music
Multi-period waveforms are recorded as waveform sample data generation means.
Uses the stored tone waveform memory 13, but is not limited to this.
Instead, a tone waveform memory that simply stores a one-cycle waveform, or
Generates tone waveform sample data by frequency modulation
Tone waveforms based on the
Method of generating sample data, or address data
To generate tone waveform sample data by converting data
Any method such as a formula may be used. Also,
In the above embodiment, the tone generation and the filter of each channel are performed.
The calculation is performed by the time-division processing method.
Column processing may be used. Also, not only the double tone generation method,
A single sound generation method may be used. 8 and FIG.
In the embodiment, the tone color selection code TC, the key code KC,
The waveform corresponding to the touch data TD is stored in the tone waveform memory 13.
To select, these data TC, KC, TD
Without input to the waveform memory 13, the address signal generation circuit 1
2 and can be selected by the upper bits of the address signal.
The address signal generation circuit 12 may be configured so that
No. Note that FIG. 4 (c) or FIG. 10 (b)
Symmetrically around the middle order
Response, the filter coefficients are stored in memory for all orders.
There is no need to keep it, just remember half and
A filter coefficient with the same value can be shared between different orders.
You may do it. Also, filter coefficient memories 25 and 26
Or 250 and 260 as one and two adjacent for interpolation
The coefficient data to be read may be read out in a time-division manner.
In that case, double the frequency of the master clock pulse MC.
Then, within one filter operation time slot,
Two time division time slots are formed. 8 and 11
In the embodiment, the filter read from the filter coefficient memory is used.
The interpolation of the filter coefficient is performed in 4 steps.
The number is not limited to this. Further, the interpolation need not be performed.
Also, the filter operation format is not limited to the above-mentioned FIR type,
IIR (infinite impulse response) and other formats
You may. The digital filter used in the present invention
Is used for removing aliasing noise as in the above embodiment.
The present invention is not limited to this, and may be used for other purposes such as tone control.
In that case, the tone selection code TC, key code KC,
To select the filter characteristics according to the
I do. In other words, multiple filter characteristics are stored in the filter coefficient memory.
The filter coefficient data corresponding to the characteristics are stored respectively,
Tone selection code TC, key code KC, touch data T
Filter coefficient data for realizing a desired tone according to D etc.
And read them according to the decimal part of the address signal.
It is to come out. Also, a key having a tone color corresponding to the key code KC
Tone control according to scaling control and touch data TD
Filter coefficient data stored in the memory in advance
And keep this filter coefficient data as a key.
To interpolate according to code KC and touch data TD
The filter coefficients may be generated more densely. Ma
Further, a plurality of musical tone signal generating devices according to the present invention are provided,
The tone signal generated in each series is converted to a key code KC or touch
Interpolation synthesis according to the data TD. the above
In the embodiment, the sampling frequency is set to the pitch of the tone signal.
Musical sound by pitch asynchronous method which is always constant regardless of
Although waveform sample data is being generated,
The pitch synchronization method in which the wave number is synchronized with the pitch of the tone signal
To generate musical sound waveform sample data
The present invention can be applied. In addition, musical sound memo
Without reading all the waveform sample data stored in the
In the high range, for example, once every two or once every four
Control the address signal so that it is decimated and read
You may do so. [0044] As described above, according to the present invention,
Integer of the address signal that changes according to the pitch of the power tone
Generates sound waveform sample data according to the
Corresponding to the m-th order filter coefficient according to the decimal part of the
Of the coefficient data (where n <m)
Corresponding to the n coefficient data and the integer part of the address signal
Using the generated tone waveform data for n sample points
Then, the m-th order filter operation is performed for the tone waveform data for n sample points.
Data for the sound wave data
Of sound waveform sample data prepared by data generator
The function is relatively coarse, corresponding to the integer part of the address signal.
To simplify the circuit configuration
And in practice less than m
Not limited to n sample points of tone waveform data
That the filter operation only needs to be performed on the
Also simplifies the configuration of digital filter circuits
You can enjoy both,
Effective filter operation is the decomposition of the fractional part of the address signal.
M for accurate sound waveform sample data with high performance
It is equivalent to performing the following precise filter operation.
This makes it possible to deal with high-resolution musical sound waveform sample data.
Various effects brought by the precise filter operation
As a result, for example, unnecessary noise components can be reliably
The advantage of being able to obtain the tone signal of
It has an excellent effect that it can be In addition, according to the present invention, the filter coefficient
Since the supply means has a filter coefficient interpolation means,
With filter coefficient generation meansRememberMore than predetermined order
M-th order filter coefficient, The filter coefficient generating means
Without increasing the storage capacity of filter coefficientsEasy departure
It has the effect of being able to live. Also Phil
The filter coefficient supply means includes a plurality of filters having different characteristics.
Corresponds to control data for controlling the tone from the characteristics
Select the filter characteristics to
Continuous to achieve the corresponding mth order filter characteristic
From the m filter coefficients corresponding to each order,
N (where n <m) coefficients according to the decimal part of the address signal
As we have selected and supplied data,
Simple filter configuration for m-order precise filter operation
In addition to being able to obtain the noise removal function by
Realizes tone control function according to arbitrary tone control data
It has an excellent effect that it can be performed.In addition, billing
According to the invention described in Item 2, the filter coefficient interpolation means
Is stored in the filter coefficient generating means.
Filter coefficients of a higher order than the number of filter coefficients
Storage capacity of filter coefficients in the filter coefficient generation means
It can be easily generated without increasing the amount
It works.

【図面の簡単な説明】 【図1】 この発明に係る楽音信号発生装置の一実施例
の基本的な構成を示すブロック図 【図2】 一般的なサンプリング周波数変換理論に基づ
く各段階の波形サンプルデータの一例を示す波形図 【図3】 図2の各波形サンプルデータのスペクトルエ
ンベロープの一例を示す図 【図4】 この発明におけるディジタルフィルタ演算動
作を原理的に説明するための図 【図5】 この発明に従って実現したFIRローパスフ
ィルタの振幅-周波数特性の一例を実測して示す図 【図6】 図5の特性のローパスフィルタを通した正弦
波信号のスペクトルを示す実測図 【図7】 図1におけるフィルタ係数供給手段及びディ
ジタルフィルタ演算手段の一例を示すブロック図 【図8】 この発明に係る楽音信号発生装置のより具体
的な実施例を示すブロック図 【図9】 図8の実施例における演算その他動作のタイ
ミング関係を示すタイミングチャート 【図10】 この発明の別の実施例におけるディジタル
フィルタ演算動作を説明するための図 【図11】 図10に関連するこの発明の別の実施例を
示すブロック図 【図12】 図11の実施例における演算その他動作の
タイミング関係を示すタイミングチャート 【符号の説明】 1…アドレス信号発生手段、2…楽音波形サンプルデー
タ発生手段、3…フィルタ係数供給手段、4…ディジタ
ルフィルタ演算手段、3a…フィルタ係数発生手段、3
b,27…選択手段、4a…遅延手段、4b1〜4b6
…乗算器、4c…加算器、12…アドレス信号発生回
路、13…楽音波形メモリ、21…ディジタルフィルタ
演算回路、24…フィルタ係数供給回路、25,26,
250,260…フィルタ係数メモリ。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a basic configuration of an embodiment of a tone signal generating apparatus according to the present invention. FIG. 2 is a waveform sample at each stage based on a general sampling frequency conversion theory. FIG. 3 is a waveform diagram showing an example of data. FIG. 3 is a diagram showing an example of a spectrum envelope of each waveform sample data in FIG. 2. FIG. 4 is a diagram for explaining in principle a digital filter operation in the present invention. FIG. 6 is a graph showing an example of an amplitude-frequency characteristic of an FIR low-pass filter realized according to the present invention. FIG. 6 is an actual measurement diagram showing a spectrum of a sine wave signal passing through a low-pass filter having the characteristics of FIG. FIG. 8 is a block diagram showing an example of a filter coefficient supply unit and a digital filter operation unit in the embodiment. FIG. 9 is a timing chart showing a timing relationship of arithmetic and other operations in the embodiment of FIG. 8; FIG. 10 is a diagram for explaining a digital filter arithmetic operation in another embodiment of the present invention; FIG. 12 is a block diagram showing another embodiment of the present invention related to FIG. 10; FIG. 12 is a timing chart showing timing relations of arithmetic and other operations in the embodiment of FIG. 11; Tone waveform sample data generating means, 3 ... filter coefficient supplying means, 4 ... digital filter calculating means, 3a ... filter coefficient generating means, 3
b, 27... selection means, 4a... delay means, 4b1 to 4b6
... Multiplier, 4c ... Adder, 12 ... Address signal generation circuit, 13 ... Tone waveform memory, 21 ... Digital filter operation circuit, 24 ... Filter coefficient supply circuit, 25, 26,
250, 260 ... Filter coefficient memory.

フロントページの続き (56)参考文献 特開 昭56−19099(JP,A) 特開 昭55−161296(JP,A) 特開 昭57−2114(JP,A) 特開 昭57−2115(JP,A) 特開 昭57−2116(JP,A) 特開 昭62−115194(JP,A) 特開 昭61−239713(JP,A) 特開 昭54−65020(JP,A) 特開 昭51−9348(JP,A) 特開 昭51−14016(JP,A) 特開 昭58−31395(JP,A) 特公 平6−31989(JP,B2)Continuation of front page    (56) References JP-A-56-19099 (JP, A)                 JP-A-55-161296 (JP, A)                 JP-A-57-2114 (JP, A)                 JP-A-57-2115 (JP, A)                 JP-A-57-2116 (JP, A)                 JP-A-62-115194 (JP, A)                 JP-A-61-239713 (JP, A)                 JP-A-54-65020 (JP, A)                 JP-A-51-9348 (JP, A)                 JP-A-51-14016 (JP, A)                 JP-A-58-31395 (JP, A)                 Tokiko Hei 6-31989 (JP, B2)

Claims (1)

(57)【特許請求の範囲】 1.発生すべき楽音の音高に対応するレートで変化する
整数部と小数部とからなるアドレス信号を発生するアド
レス信号発生手段と、 上記アドレス信号の整数部に応じて楽音波形サンプルデ
ータを発生する楽音波形データ発生手段と、 楽音を制御するための制御データを発生する制御データ
発生手段と、 異なる特性を示す複数のフィルタ特性について所定次数
からなるフィルタ係数をそれぞれ記憶してなり、この複
数のフィルタ特性の中から前記制御データに対応するフ
ィルタ特性を選択し、選択されたフィルタ特性に対応す
前記所定次数からなるフィルタ係数の中から前記アド
レス信号の小数部の所定上位ビットに応じて複数のフィ
ルタ係数を読み出すフィルタ係数発生手段及びこのフィ
ルタ係数発生手段から読み出された複数のフィルタ係数
前記アドレス信号の小数部の所定下位ビットに応じて
補間することにより前記所定次数よりも多いm次のフィ
ルタ係数が発生可能なフィルタ係数補間手段を有し、上
記アドレス信号の小数部に応じて前記フィルタ係数発生
手段でのフィルタ係数の読み出し及びフィルタ係数補間
手段での補間を制御することにより、m次のフィルタ特
性を実現するための連続する各次数に対応するm個のフ
ィルタ係数の中からn個(ただしn<m)の係数データ
を選択して供給するフィルタ係数供給手段と、 このn個の係数データと上記楽音波形データ発生手段で
発生されたnサンプル点分の楽音波形データとを用い
て、m次のフィルタ演算をnサンプル点分の楽音波形デ
ータに関して行うディジタルフィルタ演算手段とを具え
た楽音信号発生装置。 2.発生すべき楽音の音高に対応するレートで変化する
整数部と小数部とからなるアドレス信号を発生するアド
レス信号発生手段と、 上記アドレス信号の整数部に応じて楽音波形サンプルデ
ータを発生する楽音波形データ発生手段と、 所定次数のフィルタ係数を記憶してなり、前記アドレス
信号の小数部の所定上位ビットに応じて複数の異なる次
数のフィルタ係数を読み出すフィルタ係数発生手段と、 前記フィルタ係数発生手段から読み出された複数の異な
る次数のフィルタ係数を前記アドレス信号の小数部の所
定下位ビットに応じて補間し、前記所定次数よりも多い
次数のフィルタ係数を発生するフィルタ係数補間手段
と、 前記フィルタ係数補間手段から発生されるフィルタ係数
に応じて前記楽音波形データ発生手段で発生された楽音
波形データに対してフィルタ演算を行うディジタルフィ
ルタ演算手段とを具えた楽音信号発生装置。
(57) [Claims] Address signal generating means for generating an address signal comprising an integer part and a decimal part which change at a rate corresponding to the pitch of a musical tone to be generated; and a musical tone for generating musical tone waveform sample data in accordance with the integer part of the address signal Waveform data generating means, control data generating means for generating control data for controlling a musical tone, and a predetermined order for a plurality of filter characteristics exhibiting different characteristics.
The filter coefficients consisting of
Select a filter characteristic corresponding to the control data from the filter characteristics of several, the ad from the filter coefficient comprising a predetermined order corresponding to the filter characteristic selected
Multiple signals according to the predetermined upper bits of the decimal part of the address signal.
Filter coefficient generating means for reading a filter coefficient and a plurality of filter coefficients read out from the filter coefficient generating means interpolating according to a predetermined lower-order bit of a decimal part of the address signal to thereby obtain a filter order higher than the predetermined order. A filter coefficient interpolation means capable of generating a large number of m-th order filter coefficients, and controlling the reading of the filter coefficients by the filter coefficient generation means and the interpolation by the filter coefficient interpolation means according to the decimal part of the address signal; Filter coefficient supply means for selecting and supplying n (where n <m) coefficient data from m filter coefficients corresponding to each successive order for realizing an mth-order filter characteristic, Using the n pieces of coefficient data and tone waveform data for n sample points generated by the tone waveform data generating means, an m-th order filter operation is performed. Tone signal generation device with a digital filtering unit performed for n sample points worth of tone waveform data. 2. Address signal generating means for generating an address signal comprising an integer part and a decimal part which change at a rate corresponding to the pitch of a musical tone to be generated; and a musical tone for generating musical tone waveform sample data in accordance with the integer part of the address signal Waveform data generation means, filter coefficient generation means for storing filter coefficients of a predetermined order, and reading out a plurality of filter coefficients of different orders according to predetermined upper bits of a decimal part of the address signal; Filter coefficient interpolating means for interpolating a plurality of filter coefficients of different orders read from the filter according to predetermined lower-order bits of a decimal part of the address signal to generate a filter coefficient of an order larger than the predetermined order; and The tone waveform data generated by the tone waveform data generating means in accordance with the filter coefficient generated by the coefficient interpolation means. A tone signal generator comprising a digital filter operation means for performing a filter operation on data.
JP8149828A 1996-05-20 1996-05-20 Music signal generator Expired - Lifetime JP2708037B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8149828A JP2708037B2 (en) 1996-05-20 1996-05-20 Music signal generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8149828A JP2708037B2 (en) 1996-05-20 1996-05-20 Music signal generator

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP61311285A Division JPH0754432B2 (en) 1986-12-30 1986-12-30 Music signal generator

Publications (2)

Publication Number Publication Date
JPH09134176A JPH09134176A (en) 1997-05-20
JP2708037B2 true JP2708037B2 (en) 1998-02-04

Family

ID=15483573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8149828A Expired - Lifetime JP2708037B2 (en) 1996-05-20 1996-05-20 Music signal generator

Country Status (1)

Country Link
JP (1) JP2708037B2 (en)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5851307B2 (en) * 1974-07-11 1983-11-15 ヤマハ株式会社 Hakei Hatsei Souchi
JPS5330015B2 (en) * 1974-07-25 1978-08-24
JPS5917838B2 (en) * 1977-11-01 1984-04-24 ヤマハ株式会社 Waveform generator for electronic musical instruments
US4245541A (en) * 1979-06-01 1981-01-20 Kawai Musical Instrument Mfg. Co., Ltd. Apparatus for reducing noise in digital to analog conversion
US4256003A (en) * 1979-07-19 1981-03-17 Kawai Musical Instrument Mfg. Co., Ltd. Note frequency generator for an electronic musical instrument
JPS572116A (en) * 1980-06-05 1982-01-07 Casio Comput Co Ltd Digital filter device
JPS572114A (en) * 1980-06-05 1982-01-07 Casio Comput Co Ltd Digital filter device
JPS572115A (en) * 1980-06-05 1982-01-07 Casio Comput Co Ltd Digital filter device
JPH0732343B2 (en) * 1985-04-17 1995-04-10 日本電気株式会社 Asynchronous sampling frequency conversion method
JPH0631989B2 (en) * 1985-11-14 1994-04-27 ロ−ランド株式会社 Waveform generator for electronic musical instruments
JPH0631989A (en) * 1992-07-16 1994-02-08 Olympus Optical Co Ltd Control method of printing of page printer

Also Published As

Publication number Publication date
JPH09134176A (en) 1997-05-20

Similar Documents

Publication Publication Date Title
US7719446B2 (en) Method and apparatus for computing interpolation factors in sample rate conversion systems
JP2007067646A (en) Sampling rate conversion method and its circuit
US7612281B2 (en) Reverberation effect adding device
KR0150223B1 (en) Tone signal generating device
JP4957194B2 (en) Decimation filter
JPH0754432B2 (en) Music signal generator
US6300553B2 (en) Pitch shifter
US5250748A (en) Tone signal generation device employing a digital filter
JPH0795235B2 (en) Electronic musical instrument
JP2708037B2 (en) Music signal generator
US5283387A (en) Musical sound generator with single signal processing means
JP3097599B2 (en) Digital filter
JP2790066B2 (en) Tone signal generator and waveform memory read-out interpolator
JP3197648B2 (en) Digital filter
JP2668676B2 (en) Filter parameter supply device
JP3362796B2 (en) Music generator
JP3435702B2 (en) Music generator
JPS61239298A (en) Musical sound signal generator
JPS6091227A (en) Synthesizing apparatus of sound analyzer
JPH0710411Y2 (en) Signal generator
Adams et al. A monolithic asynchronous sample-rate converter for digital audio
JPS58200294A (en) Envelope signal generator
JP2682245B2 (en) Electronic musical instrument
JP3765670B2 (en) Music signal generator
JPS63261912A (en) Sampling frequency converter

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term