JPH0313595B2 - - Google Patents

Info

Publication number
JPH0313595B2
JPH0313595B2 JP60267542A JP26754285A JPH0313595B2 JP H0313595 B2 JPH0313595 B2 JP H0313595B2 JP 60267542 A JP60267542 A JP 60267542A JP 26754285 A JP26754285 A JP 26754285A JP H0313595 B2 JPH0313595 B2 JP H0313595B2
Authority
JP
Japan
Prior art keywords
signal
filter
data
pitch
channel
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
JP60267542A
Other languages
Japanese (ja)
Other versions
JPS62127899A (en
Inventor
Hideo Suzuki
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 JP60267542A priority Critical patent/JPS62127899A/en
Priority to US06/934,781 priority patent/US4841828A/en
Priority to DE86116328T priority patent/DE3689305T2/en
Priority to EP86116328A priority patent/EP0229926B1/en
Publication of JPS62127899A publication Critical patent/JPS62127899A/en
Publication of JPH0313595B2 publication Critical patent/JPH0313595B2/ja
Priority to SG6795A priority patent/SG6795G/en
Priority to HK134295A priority patent/HK134295A/en
Granted legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 この発明は、デイジタルフイルタを用いた楽音
信号処理装置に関し、電子楽器その他の楽音発生
機能を有する機器において用いられるものであ
る。 〔従来の技術〕 電子楽器の音色回路にデイジタルフイルタを用
いることは、例えば特開昭59−44096号公報にお
いて示されている。従来のデイジタルフイルタは
システムによつて定まる規則的なサンプリング周
期でフイルタ演算を実行するようになつており、
得られるフイルタ特性は固定フオルマントであつ
た。 〔発明が解決しようとする問題点〕 上述のようなデイジタルフイルタを用いた従来
の音色回路においては、移動フオルマントのフイ
ルタ特性を実現しようとする場合、入力される楽
音信号のピツチに応じてフイルタ係数を変えるよ
うにしなければならず、多数のフイルタ係数を準
備しておかねばならない。そのため、フイルタ係
数記憶手段が大容量となり、装置構成の複雑化及
び大型化をもたらしてしまう。 この発明は上述の点に鑑みてなされたもので、
極めて簡単な構成により移動フオルマントのフイ
ルタ特性を実現し得るようにしたデイジタルフイ
ルタを用いた楽音信号処理装置を提供することを
目的とする。 〔問題点を解決するための手段〕 第1図はこの発明の概要を図示したもので、こ
の発明に係る楽音信号処理装置は、デイジタル楽
音信号のピツチに同期した信号PSを発生するピ
ツチ同期信号発生手段110と、前記デイジタル
楽音信号を入力し、前記ピツチ同期信号発生手段
110から発生されたピツチ同期信号PSに同期
したサンプリング周期でフイルタ演算を実行する
デイジタルフイルタ回路111とを具えている。
第1図においては、デイジタルフイルタ回路11
1のブロツク内に一例としてFIRフイルタの基本
構成が略示されており、ピツチ同期信号PSを単
位遅延Dのサンプリングクロツク信号として用い
ることによりピツチに同期したフイルタ演算が行
われることになる。 また、この発明によれば、フイルタ演算を楽音
のピツチに同期して行うべきか非同期で行うべき
かを指定するピツチ同期/非同期指定信号を発生
する手段を更に設け、デイジタルフイルタ回路1
11では、このピツチ同期/非同期指定信号に応
じて、上記ピツチ同期したサンプリング周期又は
所定の共通サンプリング周期の何れか一方の周期
でフイルタ演算を実行するようにすることもでき
る。 〔作用及び発明の効果〕 デイジタルフイルタ回路111においてフイル
タ演算が行われるサンプリング周期は固定周期で
はなく、入力されるデイジタル楽音信号のピツチ
に同期した周期となる。デイジタルフイルタにお
けるフオルマントの位置はサンプリング周波数を
基準にして定まる。従つて、ピツチに同期してフ
イルタ演算のサンプリング周期が変動すれば、得
られるフイルタ特性はピツチに同期してフオルマ
ント位置が変動する移動フオルマントとなる。 また、ピツチ同期/非同期指定信号によりフイ
ルタの演算周期をピツチに同期した周期又は所定
の共通周期に切替えるようにすることにより、ピ
ツチ同期動作のときは移動フオルマント、ピツチ
非同期動作のときは固定フオルマントが実現され
る。従つて、実現しようとする楽音の特徴(例え
ば音色)に合わせて、移動フオルマントと固定フ
オルマントの選択が簡便に行える。ピツチ同期/
非同期指定信号を発生する手段としては、音色選
択スイツチ、効果選択スイツチ、あるいは専用の
スイツチあるいは外部から与えられる演奏情報の
データなど適宜の手段を用いてもよく、音色ある
いは効果等の選択操作に連動して、若しくは専用
のスイツチ操作に基づき、あるいは外部からの情
報入力に応答して、フイルタ演算動作のピツチ同
期/非同期の切替えを行うようにすることができ
る。 従つてこの発明によれば、ピツチに同期したサ
ンプリング周期でフイルタ演算を実行させるとい
う極めて簡単な構成により移動フオルマントを実
現することができ、簡便かつ低コストであるとい
う優れた効果を奏する。 また、フイルタ演算動作のピツチ同期/非同期
の切替えも簡便に行うことができるので、デイジ
タルフイルタによつて実現しようとする音色の特
徴あるいは楽音に付与される効果の特徴等に合わ
せて移動フオルマントと固定フオルマントの切替
えが自在に行えるようになるという優れた効果を
奏する。 〔実施例〕 以下、添付図面を参照してこの発明の実施例を
詳細に説明しよう。 <一実施例の全体構成説明> 第2図において、鍵盤10は発生すべき楽音の
音高を指定するための複数の鍵を具備している。
鍵タツチ検出器11は、鍵盤10で押圧された鍵
に加えられたタツチを検出するものであり、イニ
シヤルタツチあるいはアフタータツチのどちらを
検出するものであつてもよい。音色選択装置12
は発生すべき楽音の音色を選択する操作子群から
成るものである。ピツチベンド操作子13は、発
生すべき楽音のピツチをその操作量に応じて連続
的に変調するためのものであり、例えば、ダイヤ
ル式の操作子から成る。マイクロコンピユータ1
4は、CPU(中央処理ユニツト)15、プログラ
ム及びその他データを記憶しているROM(リー
ドオンリメモリ)16、ワーキング及びデータ記
憶用のRAM(ランダムアクセスメモリ)17を
含んでおり、データ及びアドレスバス28を介し
て電子楽器内の各回路との間でデータの授受を行
い、鍵盤10における押鍵検出処理及び複数の発
音チヤンネルに対する押圧鍵の発音割当て処理、
音色選択装置12における音色選択操作の検出処
理、ピツチベント操作子13における操作量の検
出処理、その他種々の処理を実行する。 トーンジエネレータ18は複数の発音チヤンネ
ルで夫々独立にデイジタル楽音信号を発生するこ
とが可能なものであり、各チヤンネルに割当てた
鍵を示すキーコードKC及び該鍵のオン・オフを
示すキーオン信号KONその他必要なデータをマ
イクロコンピユータ14からバス28を介して受
け取り、これに基づき各チヤンネルでデイジタル
楽音信号を発生する。トーンジエネレータ18の
内部にはピツチ同期信号発生回路19を含んでお
り、各チヤンネルで発生する楽音信号のピツチに
同期するピツチ同期信号を各チヤンネル毎に発生
する。 この実施例の仕様においては、トーンジエネレ
ータ18は第1乃至第16チヤンネル(Ch1〜
Ch16)の合計16チヤンネルで時分割的にデイジ
タル楽音信号を発生する。トーンジエネレータ1
8から時分割多重的に出力されるデイジタル楽音
波形サンプル値データをTDXで示す。マスタク
ロツク発生器20から発生されるマスタクロツク
パルスφは、トーンジエネレータ18の基本的な
動作時間を制御するものである。デイジタル楽音
波形サンプル値データTDXの時分割多重化の1
サイクルはマスタクロツクパルスφの64周期であ
り、この1サイクル64周期における各周期毎のタ
イムスロツトを1〜64の番号を付して示すと第3
図のようである。同図には、多重化されたデイジ
タル楽音波形サンプル値データTDXのチヤンネ
ルタイミング1〜16の仕様も示されている。例え
ば、第1チヤンネルのデータTDXはタイムスロ
ツト33〜36の4スロツトに割当てられている。 この実施例の仕様においては、楽音波形サンプ
ル値データTDXは16チヤンネル分のデータが上
述のように共通に多重化されて出力されるが、各
チヤンネルのピツチ同期信号PS1,PS2は2系
統に分けて8チヤンネル毎に時分割多重化されて
出力される。一方のピツチ同期信号PS1は第1
〜第8(Ch1〜Ch8)のピツチ同期信号を時分割多
重化したもので、そのチヤンネルタイミングは第
3図のようである。他方のピツチ同期信号PS2
は第9〜第16(Ch9〜Ch16)のピツチ同期信号を
時分割多重化したもので、そのチヤンネルタイミ
ングは第3図のようである。図から明らかなよう
に、各チヤンネルのピツチ同期信号PS1,PS2
は1タイムスロツトの幅で発生し、その時分割多
重化の1サイクルは8タイムスロツトである。 2系列のアダプテイブデイジタルフイルタ装置
(以下ADFと略称することがある)21,22
は、楽音信号のフイルタリングに適するように構
成されたデイジタルフイルタ装置であつて、この
実施例の仕様では夫々8チヤンネル分の楽音信号
のフイルタリングが可能であり、一方のADF2
1は第1〜第8チヤンネルの楽音信号のフイルタ
リングを行い、他方のADF21は第9〜第16チ
ヤンネルの楽音信号のフイルタリングを行う。こ
のADF21,22の内部には、所定の型式のデ
イジタルフイルタ回路、フイルタパラメータメモ
リ、フイルタパラメータの供給を制御する各種回
路、フイルタを施すべき楽音信号のピツチに同期
してフイルタ演算動作を行わせる制御回路、フイ
ルタを施した楽音信号をそのピツチに同期して出
力するピツチ同期出力回路、など各種機能の回路
が含まれており、楽音信号のフイルタリングに適
した構成となつている。 トーンジエネレータ18から出力されたデイジ
タル楽音波形サンプル値データTDXはADF21
及び22に入力される。また、第1〜第8チヤン
ネルのピツチ同期信号PS1はADF21に入力さ
れ、第9〜第16チヤンネルのピツチ同期信号PS
2はADF22に入力される。ADF21及び22
では、ピツチ同期信号PS1,PS2が発生した
(信号“1”となつた)タイムスロツトに対応す
るチヤンネルのデータTDXを内部に取り込み、
そのチヤンネルの1サンプル値データに関してフ
イルタ演算を実行する。従つて、一方のADF2
1では、ピツチ同期信号PS1に応じて第1〜第
8チヤンネルの楽音信号のフイルタ演算を行い、
他方のADF22では、ピツチ同期信号PS2に応
じて第9〜第16チヤンネルの楽音信号のフイルタ
演算を行う。こうして、ADF21及び22にお
けるフイルタ演算の単位時間(サンプリング周期
に同期した信号遅延時間)がフイルタを施すべき
楽音信号のピツチに同期したものとなり、ピツチ
に応じてフイルタ演算単位時間が変動することに
より移動フオルマント特性のフイルタリングが実
現される。なお、回路の基本的な動作タイミング
を制御するためにマスタクロツクパルスφとシス
テムシンクロパルスSYNCがADF21及び22
に与えられる。システムシンクロパルスSYNCは
第3図に示すように64タイムスロツト周期で発生
するパルスであり、デイジタル楽音信号の時分割
多重化の1タイクルに同期している。また、
ADF21及び22には、フイルタ動作を制御す
るための各種のデータがバス28を介してマイク
ロコンピユータ14の制御の下で与えられる。 また、このADF21及び22では、実際のフ
イルタ演算動作がフイルタを施すべき楽音信号の
ピツチに同期して行われるのみならず、フイルタ
済みの楽音波形サンプル値データをそのピツチに
同期してサンプリングし直し、完全にピツチ同期
させた状態で出力するようになつている。このフ
イルタ済みデータをピツチに同期して再サンプリ
ングするためにもピツチ同期信号PS1,PS2が
利用される。 ADF21及び22出力された各チヤンネルの
デイジタル楽音波形サンプル値データをアキユム
レータ23で合計し、16チヤンネル分のサンプル
値データを合計した楽音波形サンプル値データを
求める。アキユムレータ23の出力データをデイ
ジタル/アナログ変換器24でアナログの楽音信
号に変換し、サウンドシステム25を介して発音
する。 この実施例の仕様において、フイルタ係数の供
給は2つのモードで制御される。1つは「スタテ
イツクモード」であり、これは楽音の発音期間中
はフイルタ係数を変更しないモードである。もう
1つは「ダイナミツクモード」であり、これは楽
音の発音期間中はフイルタ係数を時間的に変化さ
せるモードであり、フイルタリングによる音色の
時間的変化が得られる。スタテイツクモードのた
めのフイルタ係数は、ADF21及び22の内部
のフイルタパラメータメモリ内に記憶されてい
る。ダイナミツクモードのためのフイルタ係数
は、ダイナミツク制御用パラメータメモリ26に
記憶されており、これはマイクロコンピユータ1
4の制御の下で時間的に切替えて読み出され、バ
ス28を介してADF21及び22に与えられる。
ダイナミツク/スタテイツク選択スイツチ27
は、フイルタ係数の供給をどちらのモードで制御
するかを選択するためのスイツチである。 なお、クロツク周波数について一例を示すと、
マスタクロツクパルスφは約3.2MHzであり、ピ
ツチ同期信号PS1,PS2の時分割1サイクル
(8タイムスロツト)の繰返し周波数は400kHzで
あり、デイジタル楽音波形サンプル値データ
TDXの時分割1サイクル(フイルタにおける1
演算サイクル)(64タイムスロツト)の繰返し周
波数は50kHzである。 次に、第2図における各回路の詳細例について
説明する。 <ピツチ同期信号の発生について> 第4図はピツチ同期信号発生回路19の一例を
示すもので、これは一方の系統(第1〜第8チヤ
ンネル)のピツチ同期信号PS1を発生する。も
う一方のピツチ同期信号PS2も第4図と同一の
構成によつて発生される。 ピツチ同期信号PS1は、Pナンバメモリ29
から読み出したPンバをカウンタ30で各チヤン
ネル毎に時分割的にカウントすることに基づき発
生される。Pナンバとは、或る基準オクターブに
おける各音名C〜Bに対応する周波数を持つ楽音
波形の1周期中のサンプル点数を示す数である。
ピツチ同期信号PS1を第3図に示すように8チ
ヤンネル時分割で発生するようにする場合、その
基本的なサンプリング周波数(換言すればピツチ
周期信号PS1の分解能)はマスタクロツクパル
スφの1/8の周波数(例えば400kHz)であり、こ
れはどの音名でも共通である。他方、基本的なサ
ンプリング周波数が共通であるため、各音名のP
ナンバは、その音名周波数に対応して夫々異なる
値を示す。基準オクターブにおける或る音名の周
波数をfnとし、上述の共通のサンプリング周波数
(400kHz)をfcとすると、その音名に対応するP
ナンバは次のようにして定まる。 Pナンバ=fc÷fn ……(1) ここで、共通サンプリング周波数fcがfc=400k
Hz、音名Aの周波数fnがfn=440Hz(つまりA4
音)であるとすると、音名AのPナンバは、上記
式から、 音名AのPナンバ=400000÷440=909 となる。 一方、トーンジエネレータ18内で発生可能な楽
音波形1周期当りの異なるサンプル点振幅値のサ
ンプル点数が64であるとすると、周波数fnの実効
サンプリング周波数feは、 fe=fn×64 ……(2) となり、fn=440Hzの場合は、 fe=440×64=28160Hz となる。 同様にして、或る基準オクターブにおける各音
名のPナンバと実効サンプリング周波数feを下記
表のように決定することができる。この場合、基
準オクターブはG4音からF#5音までの1オク
ターブである。
[Industrial Application Field] The present invention relates to a musical tone signal processing device using a digital filter, and is used in electronic musical instruments and other devices having a musical tone generation function. [Prior Art] The use of a digital filter in a timbre circuit of an electronic musical instrument is disclosed in, for example, Japanese Patent Laid-Open No. 59-44096. Conventional digital filters execute filter operations at regular sampling intervals determined by the system.
The filter characteristics obtained were fixed formants. [Problems to be Solved by the Invention] In a conventional tone circuit using a digital filter as described above, when trying to realize the filter characteristics of a moving formant, the filter coefficients must be adjusted according to the pitch of the input musical tone signal. , and a large number of filter coefficients must be prepared. Therefore, the capacity of the filter coefficient storage means becomes large, resulting in a complicated and large-sized device configuration. This invention was made in view of the above points,
It is an object of the present invention to provide a musical tone signal processing device using a digital filter that can realize filter characteristics of a moving formant with an extremely simple configuration. [Means for Solving the Problems] Fig. 1 shows an outline of the present invention, and the musical tone signal processing device according to the present invention uses a pitch synchronization signal that generates a signal PS synchronized with the pitch of a digital musical tone signal. The digital filter circuit 111 receives the digital musical tone signal and executes a filter operation at a sampling period synchronized with the pitch synchronization signal PS generated from the pitch synchronization signal generation means 110.
In FIG. 1, a digital filter circuit 11
The basic structure of an FIR filter is schematically shown in block 1 as an example, and by using the pitch synchronization signal PS as a sampling clock signal with a unit delay D, pitch-synchronized filter operation is performed. Further, according to the present invention, means is further provided for generating a pitch synchronization/asynchronous designation signal for designating whether the filter operation should be performed in synchronization with the pitch of musical tones or asynchronously, and the digital filter circuit 1
In step 11, the filter operation may be executed in either the pitch-synchronized sampling period or a predetermined common sampling period, depending on the pitch synchronization/asynchronous designation signal. [Operations and Effects of the Invention] The sampling period in which the filter calculation is performed in the digital filter circuit 111 is not a fixed period, but a period synchronized with the pitch of the input digital tone signal. The position of the formant in the digital filter is determined based on the sampling frequency. Therefore, if the sampling period of the filter calculation changes in synchronization with the pitch, the resulting filter characteristic will be a moving formant whose formant position changes in synchronization with the pitch. In addition, by switching the calculation cycle of the filter to a pitch-synchronized cycle or a predetermined common cycle using a pitch synchronous/asynchronous designation signal, a moving formant is used during pitch-synchronous operation, and a fixed formant is used during pitch-asynchronous operation. Realized. Therefore, the moving formant and the fixed formant can be easily selected according to the characteristics (for example, timbre) of the musical sound to be realized. Pitch synchronization/
The means for generating the asynchronous designation signal may be any appropriate means such as a tone selection switch, effect selection switch, a dedicated switch, or externally provided performance information data, and is linked to the selection operation of the tone or effect. The filter calculation operation can be switched between pitch synchronization and asynchronous operation based on a dedicated switch operation, or in response to information input from the outside. Therefore, according to the present invention, a moving formant can be realized with an extremely simple configuration in which filter calculation is executed at a sampling period synchronized with the pitch, and the excellent effects of simplicity and low cost can be achieved. In addition, filter calculation operation can be easily switched between pitch synchronization and asynchronous operation, so it is possible to easily switch between moving and fixed formants to match the characteristics of the timbre or the effect imparted to the musical tone that the digital filter is trying to achieve. This has an excellent effect of allowing the change of formants to be performed freely. [Embodiments] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. <Description of overall configuration of one embodiment> In FIG. 2, a keyboard 10 is provided with a plurality of keys for specifying pitches of musical tones to be generated.
The key touch detector 11 detects a touch applied to a key pressed on the keyboard 10, and may detect either an initial touch or an after touch. Tone selection device 12
consists of a group of operators for selecting the timbre of the musical tone to be generated. The pitch bend operator 13 is for continuously modulating the pitch of the musical tone to be generated in accordance with the amount of operation thereof, and is composed of, for example, a dial type operator. Microcomputer 1
4 includes a CPU (Central Processing Unit) 15, a ROM (Read Only Memory) 16 for storing programs and other data, a RAM (Random Access Memory) 17 for working and data storage, and a data and address bus. 28 to and from each circuit in the electronic musical instrument, processing for detecting pressed keys on the keyboard 10 and processing for assigning sounds of pressed keys to a plurality of sounding channels;
It executes processing for detecting a timbre selection operation in the timbre selection device 12, processing for detecting an operation amount on the pitch vent operator 13, and various other processes. The tone generator 18 is capable of independently generating digital musical tone signals in a plurality of channels, and has a key code KC indicating the key assigned to each channel and a key-on signal KON indicating whether the key is on or off. Other necessary data is received from the microcomputer 14 via the bus 28, and based on this data, digital musical tone signals are generated in each channel. The tone generator 18 includes a pitch synchronization signal generation circuit 19, which generates for each channel a pitch synchronization signal that is synchronized with the pitch of the musical tone signal generated in each channel. In the specifications of this embodiment, the tone generator 18 is connected to the first to sixteenth channels (Ch1 to
A total of 16 channels (Ch16) generate digital musical tone signals in a time-sharing manner. Tone generator 1
Digital musical sound waveform sample value data outputted from 8 in a time-division multiplexed manner is indicated by TDX. The master clock pulse φ generated by the master clock generator 20 controls the basic operating time of the tone generator 18. Time division multiplexing of digital musical waveform sample value data TDX 1
A cycle is 64 periods of the master clock pulse φ, and the time slots for each period in this 1 cycle of 64 periods are numbered from 1 to 64.
As shown in the figure. The figure also shows the specifications of channel timings 1 to 16 of the multiplexed digital musical tone waveform sample value data TDX. For example, the data TDX of the first channel is assigned to four time slots 33-36. In the specifications of this embodiment, the musical sound waveform sample value data TDX is commonly multiplexed and output as data for 16 channels as described above, but the pitch synchronization signals PS1 and PS2 of each channel are divided into two systems. The signals are time-division multiplexed and output every eight channels. One pitch synchronization signal PS1 is the first
- Eighth (Ch1 to Ch8) pitch synchronization signals are time-division multiplexed, and the channel timing is as shown in FIG. Other pitch synchronization signal PS2
is obtained by time-division multiplexing the 9th to 16th (Ch9 to Ch16) pitch synchronization signals, and the channel timing is as shown in FIG. As is clear from the figure, the pitch synchronization signals PS1 and PS2 of each channel
occurs with a width of one time slot, and one cycle of time division multiplexing is eight time slots. Two series adaptive digital filter device (hereinafter sometimes abbreviated as ADF) 21, 22
is a digital filter device configured to be suitable for filtering musical tone signals, and according to the specifications of this embodiment, it is possible to filter musical tone signals for each of eight channels.
1 performs filtering of the musical tone signals of the first to eighth channels, and the other ADF 21 performs filtering of the musical tone signals of the ninth to 16th channels. Inside the ADFs 21 and 22, there is a digital filter circuit of a predetermined type, a filter parameter memory, various circuits that control the supply of filter parameters, and a control that performs filter calculation operation in synchronization with the pitch of the musical tone signal to be filtered. It includes circuits for various functions, such as a pitch synchronization output circuit that outputs a filtered musical tone signal in synchronization with its pitch, and has a configuration suitable for filtering musical tone signals. The digital musical sound waveform sample value data TDX output from the tone generator 18 is ADF21
and 22. Further, the pitch synchronization signal PS1 of the 1st to 8th channels is input to the ADF21, and the pitch synchronization signal PS1 of the 9th to 16th channels is inputted to the ADF21.
2 is input to the ADF22. ADF21 and 22
Now, the data TDX of the channel corresponding to the time slot where the pitch synchronization signals PS1 and PS2 are generated (the signal becomes "1") is internally loaded,
A filter operation is performed on one sample value data of that channel. Therefore, one ADF2
1, a filter operation is performed on the musical tone signals of the first to eighth channels in accordance with the pitch synchronization signal PS1,
The other ADF 22 performs filter calculations on the musical tone signals of the 9th to 16th channels in accordance with the pitch synchronization signal PS2. In this way, the filter operation unit time (signal delay time synchronized with the sampling cycle) in ADFs 21 and 22 is synchronized with the pitch of the musical tone signal to be filtered, and the filter operation unit time changes according to the pitch, so that the filter operation unit time is shifted. Filtering of formant characteristics is realized. In addition, in order to control the basic operation timing of the circuit, the master clock pulse φ and the system synchronization pulse SYNC are connected to ADF21 and ADF22.
given to. As shown in FIG. 3, the system synchronization pulse SYNC is a pulse generated at a period of 64 time slots, and is synchronized with one cycle of time division multiplexing of the digital musical tone signal. Also,
The ADFs 21 and 22 are supplied with various data for controlling filter operations via a bus 28 under the control of the microcomputer 14. Furthermore, in these ADFs 21 and 22, not only is the actual filter calculation operation performed in synchronization with the pitch of the musical tone signal to be filtered, but also the filtered musical waveform sample value data is resampled in synchronization with the pitch. , the output is completely pitch synchronized. The pitch synchronization signals PS1 and PS2 are also used to resample the filtered data in synchronization with the pitch. The digital tone waveform sample value data of each channel outputted from the ADF 21 and 22 is summed by an accumulator 23, and tone waveform sample value data is obtained by summing the sample value data of 16 channels. The output data of the accumulator 23 is converted into an analog tone signal by a digital/analog converter 24, and the signal is generated via a sound system 25. In this embodiment specification, the supply of filter coefficients is controlled in two modes. One is the "static mode", which is a mode in which the filter coefficients are not changed while a musical tone is being produced. The other is the ``dynamic mode,'' which is a mode in which the filter coefficients are changed over time during the period in which musical tones are produced, and the timbre can be changed over time by filtering. Filter coefficients for static mode are stored in filter parameter memories internal to ADFs 21 and 22. The filter coefficients for the dynamic mode are stored in the dynamic control parameter memory 26, which is stored in the microcomputer 1.
The data is read out in a time-switched manner under the control of the ADF 21 and the ADF 22 via the bus 28.
Dynamic/status selection switch 27
is a switch for selecting in which mode the supply of filter coefficients is controlled. An example of the clock frequency is as follows:
The master clock pulse φ is approximately 3.2 MHz, the repetition frequency of one time-division cycle (8 time slots) of the pitch synchronization signals PS1 and PS2 is 400 kHz, and the digital musical sound waveform sample value data
1 cycle of TDX time division (1 cycle in filter)
The repetition frequency of the calculation cycle (64 time slots) is 50kHz. Next, detailed examples of each circuit in FIG. 2 will be explained. <Regarding generation of pitch synchronization signal> FIG. 4 shows an example of the pitch synchronization signal generation circuit 19, which generates pitch synchronization signal PS1 of one system (first to eighth channels). The other pitch synchronization signal PS2 is also generated by the same configuration as in FIG. The pitch synchronization signal PS1 is the P number memory 29
It is generated based on the counter 30 counting the P numbers read out from each channel in a time-division manner. The P number is a number indicating the number of sample points in one cycle of a musical sound waveform having frequencies corresponding to each of the note names C to B in a certain reference octave.
When the pitch synchronization signal PS1 is generated in 8-channel time division as shown in FIG. 3, the basic sampling frequency (in other words, the resolution of the pitch periodic signal PS1) is 1/1 of the master clock pulse φ. 8 frequency (for example, 400kHz), which is common to all pitch names. On the other hand, since the basic sampling frequency is common, the P of each note name is
The numbers each indicate a different value corresponding to the pitch name frequency. If the frequency of a certain note name in the standard octave is fn, and the common sampling frequency (400kHz) mentioned above is fc, then the P corresponding to that note name is
The number is determined as follows. P number = fc÷fn ...(1) Here, the common sampling frequency fc is fc = 400k
Hz, the frequency fn of pitch name A is fn = 440Hz (that is, A4
), then the P number of pitch name A is calculated from the above formula as follows: P number of pitch name A=400000÷440=909. On the other hand, assuming that the number of sample points of different sample point amplitude values per cycle of musical sound waveform that can be generated within the tone generator 18 is 64, the effective sampling frequency fe of the frequency fn is fe = fn × 64 ... (2 ), and when fn=440Hz, fe=440×64=28160Hz. Similarly, the P number and effective sampling frequency fe of each pitch name in a certain reference octave can be determined as shown in the table below. In this case, the standard octave is one octave from note G4 to note F#5.

【表】 第4図のカウンタ30において、ピツチ同期信
号PS1は、マスタクロツクパルスφに基づき確
立される共通サンプリング周波数fcをPナンバに
応じて分周することにより得られる。前述から明
らかなように、Pナンバは1周期波形中の共通サ
ンプリング周波数fcの周期数つまりサンプル点数
であり、一方、トーンジエネレータ18で発生可
能な楽音波形1周期当りの実効的なサンプル点数
は前述の通り64である。従つて、共通サンプリン
グ周波数fcを分周する分周数を 分周数=Pナンバ÷64 ……(3) とすれば、その分周出力として楽音1周期当り64
個のパルスを得ることができ、これにより64個の
実効的なサンプル点をすべて確立することができ
る。このようにして定まる分周数によつて共通サ
ンプリング周波数fcを分周すると、前記(1)、(2)、
(3)式より、 fc÷分周数=(fn×Pナンバ)÷(Pナンバ÷64) =fn×64=fe ……(4) となり、この分周出力によつてサンプル点アドレ
スを変化させることにより実効サンプリング周波
数feを確立することができる。このようにして確
立される実効サンプリング周波数feは、音名周波
数fnに調和しており、ピツチ同期が実現される。
カウンタ30から発生される各チヤンネルのピツ
チ同期信号PS1はそのチヤンネルに割当てられ
た鍵の音名に対応して上記(4)式で示されるような
分周出力信号すなわち実効サンプリング周波数fe
を持つ信号である。 ところで上記(3)式で定まる分周数は整数になる
とは限らず、小数を含むことが多い。例えば、音
名Aの場合、 分周数=909÷64≒14.20 である。そこで、カウンタ30における分周動作
は、後述のように、(3)式で定まる分周数に近い2
つの整数で適宜分周し、その平均的な結果として
(3)式で定まる分周数で分周したのと同じ結果が得
られるようにしている。 第4図において、Pナンバメモリ29は、前記
第1表に示すような基準オクターブにおける各音
名のPナンバを予め記憶している。各チヤンネル
に割当てられた鍵のキーコードKCがバス28を
介してトーンジエネレータ18に与えられ、該ト
ーンジエネレータ18の内部において第1〜第8
チヤンネルのキーコードKCが第3図のPS1のチ
ヤンネルタイミングに示すようなタイミングで時
分割多重化され、第9〜第16チヤンネルのキーコ
ードKCが第3図のPS2のチヤンネルタイミング
に示すようなタイミングで時分割多重化される。
こうして時分割多重化された第1〜第8チヤンネ
ルのキーコードKCがPナンバメモリ29に入力
される。Pナンバメモリ29は入力された第1〜
第8チヤンネルのキーコードKCの音名に対応し
てPナンバを時分割的に読み出す。 カウンタ30は、Pナンバメモリ29から読み
出されたPナンバを入力する加算器31と、この
加算器31の出力を「0」入力に入力したセレク
タ32と、このセレクタ32の出力を入力した8
ステージのシフトレジスタ33と、シフトレジス
タ33の出力の下位ビツト(小数部)をゲートし
て加算器31の他の入力に与えるゲート34と、
シフトレジスタ33の出力の上位ビツト(整数
部)を入力して全ビツトが“1”の7ビツトから
成るオール“1”信号と加算する加算器35とを
含んでいる。Pナンバそれ自体は12ビツトの2進
コード化信号であるが、加算器31の出力は桁上
がり信号のビツトとして1ビツト余分に含む13ビ
ツトの信号から成る。 反転キーオンパルスと加算器35のキ
ヤリアウト出力COから出力された信号がアンド
回路36に入力されており、このアンド回路36
の出力がセレクタ32の選択制御入力に加わる。
アンド回路36の出力信号が“0”のときは加算
器31からセレクタ32の「0」入力に与えられ
た信号が選択され、“1”のときは「1」入力に
与えられた信号が選択される。セレクタ32の
「1」入力には、シフトレジスタ33の出力の下
位ビツト(小数部)と加算器35の出力7ビツト
(整数部)とから成る13ビツトの信号が与えられ
る。キーオンパルスKONPは鍵の押し始めで一
度だけ“1”となる信号であり、第1〜第8チヤ
ンネルに対応するものが時分割多重化されてい
る。反転キーオンパルスはこのキーオン
パルスKONPを反転した信号である。 セレクタ32、シフトレジスタ33、加算器3
5の部分は、Pナンバに応じて前記(3)式に示すよ
うな分周数を確立し、この分周数の整数部に応じ
て共通サンプリング周波数fcの分周を行うための
回路である。加算器31は、上記分周数の小数部
に応じて前記整数部の値を調整するためのもので
ある。 前記(3)式において除数64は26であるため、分周
数を求めるために格別の割算を行うことなく、単
にPナンバの下位6ビツトを小数部として取扱う
だけで該Pナンバに対応する分周数を確立するこ
とができる。従つて、加算器31、セレクタ32
及びシフトレジスタ33の出力信号13ビツトのう
ち下位6ビツトが小数部の重みであり、上位7ビ
ツトが整数部の重みである。 加算器35においてオール“1”信号を加算す
ることは1減算することに等しい。従つて、加算
器35では、事実上、シフトレジスタ33の出力
の整数値から1減算することを行う。この加算器
35の減算結果は演算されなかつた小数部の6ビ
ツトデータと共にセレクタ32の「1」入力に戻
され、シフトレジスタ33を経由して再び加算器
35に入力される。シフトレジスタ33はマスタ
クロツクパルスφによつてシフト制御されるた
め、同じチヤンネルの信号がシフトレジスタ33
から出力される周期はマスタクロツクパルスφの
8倍の周期つまり共通サンプリング周波数fcの周
期である。 鍵の押し始めにおいて、その鍵が割当てられた
チヤンネルタイミングで反転キーオンパルス
KONPが一度だけ“0”となり、このとき、セ
レクタ32の「0」入力を介して該鍵のPナンバ
が選択される。このPナンバの整数部がシフトレ
ジスタ33から加算器35に与えられ、共通サン
プリング周波数fcの周期で該整数部から1が繰返
し減算される。整数部の減算結果が1以上の値の
とき、加算器35のキヤリイアウト出力COから
は絶えずキヤリイアウト信号“1”が出力され、
アンド回路36の条件が成立するので、セレクタ
32は「1」入力を選択し続ける。減算の繰返し
によつてやがて加算器35の出力が“0”になつ
たときつまりPナンバの整数部の数と同数のfcの
周期が経過したとき、加算器35のキヤリイアウ
ト信号は出力されず、アンド回路36の条件は成
立しない。そのとき、セレクタ32は「0」入力
を選択し、Pナンバとシフトレジスタ33の出力
の下位6ビツト(小数部データ)とを加算した加
算器31の出力を選択する。こうして、小数部の
加算によつて幾分変更された値のPナンバがシフ
トレジスタ33に与えられ、今度は変更されたP
ナンバの整数値から1減算することが繰返され
る。なお、ゲート34は反転キーオンパルス
KONPによつて鍵の押し始めでだけ不能化され、
それ以外のときは常時小数部データを加算器31
に与える。加算器31におけるPナンバに対する
小数部データの加算によつて実際に分周に使用す
る分周数の整数値はPナンバから求まる分周数の
整数値よりも1大きくなることがある。例えば、
音名AのPナンバは909であり、その分周数は
14.20であるが、最初はその整数値14に従つて分
周を行うが、次は14.20+0.20=14.40となり、や
がて15.00となりその整数値15に従つて分周を行
うことになる。こうして、Pナンバによつて求ま
る分周数の整数値と同じか、それよりも1大きい
数に従つて、共通サンプリング周波数fcの分周が
行われ、平均的な結果としてPナンバによつて求
まる分周数に従う分周動作が達成される。加算器
35のキヤリイアウト出力COの信号がその分周
出力に相当するものであり、これをインバータ3
7で反転した信号がピツチ同期信号PS1として
出力される。 理解を深めるために、音名Aを例にして、セレ
クタ32の出力の変化の一例を示す。変化タイミ
ングは共通サンプリング周波数fcの周期である。
最初はPナンバ909に対応する分周数14.20で
あり、次にその整数値が1減つた13.20であり、
以下、12.20、11.20、10.20、……2.20、1.20とそ
の整数値が順次1づつ減少する。fcの14周期目に
セレクタ32の「1」入力に加わる数値が0.20と
なり、このときキヤリイアウト信号が“0”とな
り、ピツチ同期信号PS1が“1”となり、セレ
クタ32では「0」入力を選択する。セレクタ3
2の「0」入力にはPナンバ909に対応する分
周数14.20にシフトレジスタ33から与えられる
小数値0.20を加算した値14.40が与えられている。
従つて、14.40がセレクタ32から出力される。
その後セレクタ32の出力は13.40、12.40、
11.40、……2.40、1.40と順次1づつ減少してゆ
き、fcの14周期目にセレクタ32の「1」入力に
加わる数値が0.40となると共に、加算器35のキ
ヤリイアウト信号が“0”となり、ピツチ同期信
号PS1が発生される。このとき加算器31の出
力は14.20+0.40=14.60であり、これがセレクタ
32の「0」入力を介してシフトレジスタ33に
与えられる。こうして、音名Aの場合は14又は15
を分周数として分周が行われ、共通サンプリング
周波数fc(例えば400kHz)の14又は15サイクル毎
にピツチ同期信号PS1が“1”となる。 もう一方の第9〜第16チヤンネルに対応するピ
ツチ同期信号PS2も上述と同様にして発生され
る。 <トーンジエネレータの説明> トーンジエネレータ18においては上述のよう
にして発生した各チヤンネルのピツチ同期信号
PS1,PS2を利用して、発生すべき楽音のピツ
チに同期したサンプリングタイミングに従つて該
楽音信号を発生するようにすることができる。勿
論、これに限らず、ピツチに同期していないサン
プリングタイミングに従つて楽音信号を発生する
ようにすることも可能である。 発生すべき楽音のサンプル点アドレス(瞬時位
相角)を指定するアドレスデータは、各チヤンネ
ルのピツチ同期信号PS1,PS2をチヤンネル別
に夫々独立にカウントすることにより発生するこ
とができる。ただし、ピツチ同期信号PS1,PS
2は前述の基準オクターブ(G4〜F#5音)の
ピツチに対応しているので、上記アドレスデータ
を発生する場合は、発生すべき楽音のオクターブ
音域に応じて上記ピツチ同期信号PS1,PS2の
カウントの際のカウントレートを切換える必要が
ある。例えば、G3〜F#4のオクターブの楽音
を発生する場合は、ピツチ同期信号PS1,PS2
が発生する毎に0.5をカウントし、G4〜F#5の
オクターブの楽音を発生する場合は、ピツチ同期
信号PS1,PS2が発生する毎に1をカウント
し、G5〜F#6のオクターブの楽音を発生する
場合は、ピツチ同期信号PS1,PS2が発生する
毎に2をカウントする。こうして、発生すべき楽
音のピツチ及びオクターブに同期して変化するア
ドレスデータを各チヤンネル毎に発生し、このア
ドレスデータに基づきデイジタル楽音信号を発生
する。 トーンジエネレータ18における楽音信号発生
方式はどのようなものを用いてもよい。例えば、
上記アドレスデータに応じて波形メモリに記憶し
た楽音波形サンプル値データを順次読み出す方式
(メモリ読出し方式)、あるいは上記アドレスデー
タを位相角パラメータデータとして所定の周波数
変調演算を実行して楽音波形サンプル値データを
求める方式(FM方式)、あるいは上記アドレス
データを位相角パラメータデータとして所定の振
幅変調演算を実行して楽音波形サンプル値データ
を求める方式(AM方式)、など公知のどのよう
な方式を用いてもよい。また、メモリ読出し方式
を採用する場合、波形メモリに記憶する楽音波形
は1周期波形のみであつてもよいが、複数周期波
形である方が音質の向上が図れるので好ましい。
複数周期波形を波形メモリに記憶しこれを読み出
す方式は、例えば特開昭52−121313号に示された
ように発音開始から終了までの全波形を記憶しこ
れを1回読み出す方式、あるいは特開昭58−
142396号に示されたようにアタツク部の複数周期
波形と持続部の1又は複数周期波形を記憶し、ア
タツク部の波形を1回読み出した後持続部の波形
を繰返し読み出す方式、あるいは特開昭60−
147793号に示されたように離散的にサンプリング
した複数の波形を記憶し、読み出すべき波形を時
間的に順次切換えて指定し、指定された波形を繰
返し読み出す方式、など種々の方式が公知であ
り、これらを適宜採用してよい。 <アダプテイブデイジタルフイルタの予備的説明
> デイジタルフイルタの演算型式としては、基本
的には有限インパルス応答(FIR)フイルタと無
限インパルス応答(IIR)フイルタとがあるが、
この実施例のアダプテイブデイジタルフイルタ装
置21,22においてはFIRフイルタを採用して
いる。まずFIRフイルタに関連する一般的説明を
行う。 (a) FIRフイルタの基本回路構成 第5図はFIRフイルタの基本回路構成図であ
り、x(n)は任意のn番目のサンプル点のデイジ
タル楽音波形サンプル値データであり、該FIR
フイルタの入力信号である。z-1は単位時間遅
れ要素であり、1サンプリング周期の時間遅れ
を設定するものである。従つて、x(n−1)
はn−1番目のサンプル点のデイジタル楽音波
形サンプル値データであり、x(n−N+1)
はn−N+1番目のサンプル点のデイジタル楽
音波形サンプル値データである。Nはインパル
応答の持続時間であり、該FIRフイルタの次数
に相当する。h(0)〜h(N−1)はN次のフ
イルタ係数である。このフイルタ係数が入力さ
れた三角形のブロツクは乗算要素であり、遅延
要素で遅延された各サンプル点のデータx(n)〜
x(n−N+1)に対して夫々に対応するフイ
ルタ係数h(0)〜h(N−1)を乗算する。乗
算出力が入力された+記号を付したブロツクは
加算要素であり、各乗算出力を加算合計し、出
力信号y(n)を得る。 このようなFIRフイルタのインパルス応答
{h(n)}のz変換すなわち伝達関数は、 H(z)=N-1n=0 h(n)z-n =h(0)+h(1)z-1+…h(N−1)z-(N-1)
……(5) と表わされる。 (b) FIRフイルタの直線位相特性 このようなFIRフイルタの1つの特徴は、位
相特性を直線位相とすることができることであ
る。直線位相とすると、フイルタの入出力波形
間においてその位相が完全に直線特性で対応
し、出力波形に歪みが生じない。従つて、楽
音、音声、オーデイオ等の信号のフイルタ処理
に好適である。直線位相のFIRフイルタにおい
ては、位相特性が角周波数ωの関数として θ(ω)=−αω ……(6) となることが要求される。ここでαは位相遅れ
といわれる定数である。また、上記のような直
線位相特性をもつFIRフイルタの必要十分条件
は、下記(8)式のようにそのインパルス応答が対
称性をもち、下記(7)式のように位相遅れαが持
続時間(フイルタの次数)Nによつて一意的に
規定されることである。 α=(N−1)/2 ……(7) h(n)=h(N−1−n) ……(8) ただし0≦n≦N−1 (c) フイルタ係数の対称性 上記(8)式のようにインパルス応答が対称性を
もつということは、フイルタ係数h(0)〜h
(N−1)が対称性を持つことを意味する。す
なわち、フイルタ係数を対称特性で設定するこ
とにより、前述の直線位相特性を実現すること
ができるのである。 インパルス応答が対称性の一例を図示する
と、次数Nが奇数の場合は第6図のようであ
り、Nが偶数の場合は第7図のようである。図
から明らかなように、n=(N−1)/2を中
心とする対称特性を示す。Nが奇数の場合は、
(N−1)/2次が中心となり、その両側のイ
ンパルス応答が対称となる。Nが偶数の場合
は、(N−2)/2次とN/2の中間が中心と
なり、その両側のインパルス応答が対称とな
る。対称位置にある次数同士はフイルタ係数が
同じ値であるため、全ての次数Nのフイルタ係
数を準備する必要はなく、その半分でよい。詳
しくは、Nが奇数の場合は、0次から(N−
1)/2次までの{(N−1)/2}+1個のフ
イルタ係数を準備すればよく、{(N−1)/
2}+1次からN−1次までのフイルタ係数は
0次から{(N−1)/2}−1次までの対称位
置にあるフイルタ係数を利用すればよい。すな
わち0次とN−1次とでは同じフイルタ係数を
使用し、1次とN−2次とでも同じフイルタ係
数を使用する。また、Nが偶数の場合は、0次
から(N−2)/2次までのN/2個のフイル
タ係数を準備すればよく、N/2次からN−1
次までのフイルタ係数は0次から(N−2)/
2次までの対称位置にあるフイルタ係数を利用
すればよい。 (d) 直線位相FIRフイルタの周波数応答 第6図、第7図のようにインパルス応答が対
称性を示す直線位相FIRフイルタの周波数応答
H*(ej〓)の特性を例示すると第8図、第9図
のようである。Nが奇数の場合は第8図のよう
にω=π(ここでπはサンプリング周波数fsの
1/2に対応している)のときのレベルが0に固
定されず、任意に設定できる。Nが偶数の場合
は第9図のようにω=πのときのレベルが必ら
ず0になる。ここから明らかなように、次数N
が奇数の場合は、フイルタ係数の設定によつて
ハイパスフイルタ特性を実現することが可能で
あるが、Nが偶数の場合はハイパスフイルタ特
性を実現することが不可能である。しかし、N
が偶数の方がフイルタ設計がし易く、ローパス
フイルタやバンドパスフイルタの設計には適し
ている。 そこで、実現しようとするフイルタ特性に応
じてフイルタの次数Nの偶奇を切替えるように
することが好ましく、この実施例のアダプテイ
ブデイジタルフイルタ装置21,22において
はそのような次数Nの偶奇切替えを行うことが
できるような仕様となつている。すなわちバン
ドパスフイルタやローパスフイルタの特性のフ
イルタリングを行う場合は次数Nを偶数に設定
し、ハイパスフイルタ特性のフイルタリングを
行う場合は次数Nを奇数に設定する。 (e) FIRフイルタのその他の特徴 FIRフイルタのその他の特徴としては、フイ
ードバツクループがないため、安定性がよいと
いう特徴がある。 すなわち、IIRフイルタのようにフイードバ
ツクループがある場合は発振等の問題が起る
が、FIRフイルタでは発振等の問題が生じず、
設計も容易である。 また、フイルタ特性を時間的に変化させる場
合においてもFIRフイルタは有利である。この
場合、通常は、時間的に異なるフイルタ特性の
各々に対応してフイルタ係数の組を夫々準備し
なければならないが、そうするとフイルタ特性
の時変動を細かくするには多数のフイルタ係数
の組が必要とされる。この問題点を解決するた
めに、時間的にある程度離れた2組のフイルタ
係数を準備し、その2組のフイルタ係数の間で
補間を行うことによりその間の時間経過に伴つ
てフイルタ係数の組を密に発生させ、こうして
補間によつて発生したフイルタ係数によつて時
間的に変動するフイルタ特性を設定することが
考えられる。このようにフイルタ係数の補間を
実時間で行いながら時変動フイルタ特性を実現
する場合、FIRフイルタのように安定性のよい
ものは、不安定性を考慮してフイルタ係数を工
夫する必要がないので、非常に有利である。 また、デイジタルフイルタにおける信号の語
長は有限であるため、制限された語長内に信号
データを必然的に丸めなければない。このよう
な丸めがノイズとなるのであるが、FIRフイル
タではフイードバツクループがないため、丸め
による誤差が累積されることがないので、ノイ
ズ対策上有利である。 なお、上述したようなFIRフイルタの諸特性
については、例えば書籍「Theory and
Application of Digital Signal Processing」
(著者:Lawrence、R.Rabiner;Bernard、
Gold、発行社:Prentice−Hall Inc)に詳し
く記載されている。 次に、この実施例におけるアダプテイブデイ
ジタルフイルタ装置21及び22におけるいく
つかの特徴について予め簡単に説明する。 (f) フイルタ係数の求め方 フイルタ係数は実際の楽音を分析することに
より求められる。フイルタ係数を求めるための
手順の一例を第10図を参照して説明すると、
まず、異なる音色を示す2種類の楽音波形(原
楽音波形)を自然楽器音からサンプリングする
ことにより準備する。例えば、原楽音波形1は
強い鍵タツチで演奏されたピアノ音の波形であ
り、原楽音波形2は弱い鍵タツチで演奏された
ピアノ音の波形である。次に、高速フーリエ変
換を行い、原楽音波形1,2のフーリエ成分を
分析し、これに基づき両波形1,2のスペクト
ル特性を求める。次に、波形1,2のスペクト
ル特性の差を求める。次に、差のスペクトル特
性を量子化し、これに基づきフイルタ係数を求
める処理を行う。最後に求めたフイルタ係数を
メモリに記憶する。 フイルタ特性の時変動を実現するするフイル
タ係数はダイナミツク制御用パラメータメモリ
26(第2図)に記憶し、時間的に変化しない
定常的なフイルタ特性を実現するフイルタ係数
はADF22及び22(第2図)内にパラメー
タメモリに記憶する。 なお、上述で2波形の差のスペクトル特性に
基づきフイルタ係数を求める理由は、トーンジ
エネレータ18(第2図)で一方の原楽音波形
(例えば強い鍵タツチに対応する波形)に相当
する楽音信号を発生し、これに対して差のスペ
クトル特性に従うフイルタリングを施すことに
より他方の原楽音波形(例えば弱いタツチに対
応する波形)に相当する楽音信号を得るように
するためである。鍵タツチに応じたフイルタリ
ングを行う場合、全ての鍵タツチ強度の段階に
対応してフイルタ係数の組を準備しておかず
に、いくつかの段階に対応するフイルタ係数の
組だけを準備しておき、準備されていない鍵タ
ツチ強度に対応するフイルタ係数は上述と同様
の補間によつて求めるようにしてもよい。 勿論、鍵タツチに対応するフイルタ係数のみ
ならず、音高(又は音域)あるいは音色種類あ
るいはその他種々のフアクタに対応するフイル
タ係数を上述と同様の手法によつて準備する。 (g) ピツチに同期したフイルタ演算 ADF21及び22(第2図)における各サ
ンプル点毎のフイルタ演算タイミングはピツチ
同期信号PS1及びPS2によつて設定される。
このことは、フイルタ演算における単位時間遅
れ(第5図のz-1)がピツチ同期信号PS1,PS
2によつて設定されることを意味する。すなわ
ち、フイルタ演算におけるサンプリング周波数
fsはピツチ同期信号PS1,PS2によつて設定
される。具体的には各音名G〜F#に対応する
ピツチ同期信号PS1,PS2の周波数は前出の
第1表に示した実効サンプリング周波数feと同
じであるから、ADF21及び22におけるフ
イルタ演算のサンプリング周波数fsは、入力さ
れた楽音信号の音名に応じて同表に示すように
異なるものとなる。フイルタ演算におけるサン
プリング周波数fsは、第8図及び第9図に示す
ような周波数応答特性におけるω=2πに該当
する。ここから明らかなように、音名に応じて
サンプリング周波数fsが変化すると、周波数応
答特性におけるω=2πに対応する周波数もそ
れに応じて変化することになり、得られるフイ
ルタ特性は移動フオルマント特性となる。この
ような移動フオルマント特性は楽音信号の音色
制御に非常に適したものである。 これに対してフイルタ演算におけるサンプリ
ング周波数が入力信号のピツチに無関係に一定
である場合は、得られるフイルタ特性は固定フ
オルマントとなる。 (h) ピツチ同期/非同期の切替 上述のように移動フオルマントのフイルタは
楽音の音色制御に適しているが、得ようとする
音色又は効果によつては固定フオルマントのフ
イルタの方が望ましい場合がある。また、ピツ
チベント操作子13(第2図)を操作して発生
音のピツチを大きくスライドさせる場合も固定
フオルマントのフイルタの方が好ましい。その
ために、この実施例のADF21及び22では、
フイルタ演算をピツチ同期で行うか非同期で行
うかの切替えができるような仕様となつてい
る。また、このようなピツチ同期/非同期の切
替えは全チヤンネル一様ではなく、各チヤンネ
ル別に独立にピツチ同期又は非同期の指定を行
うことができるようになつている。 因みに、ピツチベント操作時には固定フオル
マントのフイルタの方が好ましい理由は、次の
通りである。ピツチベント操作子13によるピ
ツチ制御は、僅かなピツチずれ制御のみなら
ず、数音程にわたる大きなピツチスライド制御
も可能であり、その場合前出の第1表に示す音
名G〜F#のオクターブの境界を横切つてピツ
チ制御が施されることがある。そのとき、ピツ
チに同期したフイルタ演算を行つているとサン
プリング周波数fsが急激に変動し、それに伴な
いカツトオフ周波数も急激に変動し(移動フオ
ルマントであるため)、不自然な音色変化をも
たらす。例えば、ピツチベント操作によつて発
音中の楽音がF#5音からG5音にスライドし
たとすると、サンプリング周波数が47.359kHz
から25.088kHzに急激に変動し(前記第1表参
照)移動フオルマントの場合は、その差と同じ
分だけカツト周波数も急激に変動する。このよ
うな不都合を防ぐには、ピツチベント操作時は
移動フオルマント(ピツチに同期したフイルタ
演算)とせずに、固定フオルマント(ピツチに
非同期のフイルタ演算)とするのがよい。ピツ
チ非同期のフイルタ演算の場合、ADF21及
び22におけるフイルタ演算のサンプリング周
波数は第3図の例では50kHzである。 (i) ダイナミツク/スタテイツクに応じたフイル
タ次数の切替 前述の通り、ダイナミツクモードにおいて
は、発音時に実時間で、マイクロコンピユータ
14の制御の下でダイナミツク制御用パラメー
タメモリ26(第2図)からダイナミツク制御
用パラメータデータを読み出し、これをADF
21,22の内部に転送しなければならない。
そのため、データ転送時間に制限があり、フイ
ルタ係数の次数が多いと、制限された時間内に
全次数のフイルタ係数パラメータデータを転送
できないおそれがある。従つて、ダイナミツク
モードにおけるフイルタ次数は実時間のデータ
転送時間に見合つた制限された次数としなけれ
ばならない。 他方、スタテイツクモードの場合は発音中に
フイルタ係数を変化させる必要がないためその
ような問題はない。また、フイルタ次数が多い
ほど細かなフイルタ特性を実現することができ
るので好ましい。従つて、スタテイツクモード
においてはフイルタ次数を十分に多くするよう
にしている。 以上のような理由で、この実施例の仕様で
は、ダイナミツクモードかスタテイツクモード
かに応じてフイルタ次数を切換えるようにして
いる。例えば、スタテイツクモードのときのフ
イルタ次数を32次(但しこれは偶数次特性の場
合であつて、奇数次特性の場合は31次)とし、
ダイナミツクモードのときのフイルタ次数をそ
の半分の16次(奇数次特性の場合は15次)とし
ている。 (j) フイルタ係数の重みづけ制御 1つのフイルタ係数の2進デイジタルデータ
形式は、12ビツトのフイルタ係数データ部と、
3ビツトの重みづけデータ部とからなる。3ビ
ツトの重みづけデータ部は、0、+1、+2、+
3、+4、及び+5ビツトの6通りのシフト量
のうち1つを指示するものであり、このシフト
量に応じてフイルタ係数データ部がシフトさ
れ、その重みづけがなされる。12ビツトのフイ
ルタ係数データ部を最大で5ビツトシフトし得
る重みづけ制御を行うことにより、フイルタ係
数のダイナミツクレンジが実質的に17ビツトに
拡大される。このような重みづけ制御によつ
て、十分なダイナミツクレンジを確保しつつ、
メモリに記憶しておくフイルタ係数のビツト数
は少なくて済むので、フイルタ係数メモリの容
量の節約に役立つ。 <アダプテイブデイジタルフイルタの全体説明> 第11図は第1〜第8チヤンネルに対応するア
ダプテイブデイジタルフイルタ装置(ADF)2
1の内部構成例を略示するブロツク図であり、も
う一方のADF22も全く同様に構成することが
できる。 入力インターフエース38はトーンジエネレー
タ18(第2図)からピツチ同期信号PS1を受
入れて、各チヤンネルのピツチ同期信号PS1を
ADF21内部の演算タイミングに適合させた状
態に整形するものであり、その詳細例は第12図
に示されている。 タイミング信号発生回路39は、ADF21内
部の各種の動作を制御するタイミング信号を発生
すると共に、入力インターフエース38から与え
られる各チヤンネルのピツチ同期信号に対応する
信号に基づきフイルタ演算動作に必要な種々の演
算タイミング信号を発生するものであり、その詳
細例は第13図に示されている。後述するよう
に、各チヤンネルのフイルタ演算は時分割的に行
われるため、このタイミング信号発生回路39か
ら適切なタイミングで各チヤンネルのフイルタ演
算動作制御用のタイミング信号を与えてやるよう
になつている。 ステートメモリ40,42及び乗算器及びアキ
ユムレータ部41,43は、FIRフイルタのフイ
ルタ演算を実行するデイジタルフイルタ回路であ
る。ステートメモリ40と乗算器及びアキユムレ
ータ部41からなるデイジタルフイルタ回路(こ
れをA系列のデイジタルフイルタ回路という)は
第1乃至第4チヤンネル(Ch1〜Ch4)のフイル
タ演算を行うものでステートメモリ42と乗算器
及びアキユムレータ部43からなるデイジタルフ
イルタ回路(これをB系列のデイジタルフイルタ
回路という)は第5乃至第8チヤンネル(Ch5〜
Ch8)のフイルタ演算を行うものである。各系列
A、Bのデイジタルフイルタ回路では、夫々4チ
ヤンネル分のフイルタ演算を時分割的に行うよう
になつている。第1〜第8チヤンネルのフイルタ
演算を2系列A、Bに分けて行うようにした理由
は、回路設計上の理由による。ステートメモリ4
0,42はトーンジエネレータ18(第2図)か
ら与えられたデイジタル楽音信号サンプル値デー
タTDXをピツチ同期信号PS1に同期して取込
み、所定のフイルタ次数に対応する段数だけ該ピ
ツチ同期信号PS1に対応するタイミングで遅延
するものであり、第5図のFIRフイルタ基本回路
における単位遅延要素z-1の集合に対応する。乗
算器及びアキユムレータ部41,43は、ステー
トメモリ40,42で遅延されたデイジタル楽音
信号サンプル値データに対してその遅延次数に対
応する次数のフイルタ係数を乗算し、各次数の乗
算結果を累算合計するものであり、第5図のFIR
フイルタ基本回路における乗算要素及び加算要素
に対応する。A系列のステートメモリ40と乗算
器及びアキユムレータ部41の詳細例は第14図
に示されており、B系列のものもこれと同様に構
成することができる。 マイコンインタフエース44はマイクロコンピ
ユータ14(第2図)の制御の下でデータ及びア
ドレスバス28を介して与えられる各種データを
受入れ、ADF21内の各回路に供給するもので
ある。このインターフエース44を介して受入れ
られるデータの種類は次の通りである。 キーコードKC:各チヤンネルに割当てられた
鍵を示す。 キーオンパルスKONP:各チヤンネルに割当
てられた鍵の押し始めで一度だけ信号“1”とな
る。 タツチコードTCH:各チヤンネルに割当てら
れた鍵の押圧時のタツチの強さを示す。 音色コードVN:各チヤンネルに割当てられた
鍵に対して選択されている音色種類(ボイス)を
示す。 上記KC、KONP、TCH、VNは、所定の時分
割タイミングに従つて各チヤンネルのものが時分
割多重化された状態でインタフエース44から出
力され、パラメータプロセシングユニツト
(PPUということがある)45に与えられる。 ピツチ同期/非同期指定信号PASY:この
ADF21におけるデイジタルフイルタ演算をピ
ツチ同期で行うか非同期で行うかの指定を行う信
号である。この信号PASYも各チヤンネル毎に時
分割で与えられるようにすることができ、フイル
タ演算のピツチ同期/非同期制御を各チヤンネル
毎に独立に行うことができる。この信号PASY
は、選択された音色種類、あるいはピツチベント
操作子13(第2図)の操作内容、あるいは専用
又は適宜の操作子の操作状態、等に応じて発生さ
れ、バス28を介してインタフエース44に与え
られる。インタフエース44から出力されたピツ
チ同期/非同期指定信号PASYは入力インタフエ
ース38に与えられ、ピツチ同期信号PS1に応
じた信号の発生を該入力インタフエース38が行
うべきか否かの制御を行うために使用される。 ダイナミツク用フイルタパラメータDPR:マ
イクロコンピユータ14の制御の下でダイナミツ
ク制御用パラメータメモリ26(第2図)から読
み出されたフイルタパラメータ(フイルタ係数)
である。前述の通り、このダイナミツクモード用
フイルタパラメータDPRの内容は発音中の時間
経過に伴つて変化する。このダイナミツクモード
用フイルタパラメータDPRのデータ形式も前述
と同様に、12ビツトのフイルタ係数データ部と3
ビツトの重みづけデータ部とから成り、更に、次
数の偶奇を識別するデータを含む。また、前述の
通り、このダイナミツクモード用フイルタパラメ
ータDPRの一組の次数は16次(又は15次)であ
る。更に、前述から明らかなように、直線位相特
性におけるフイルタ係数の対称性により、実際に
準備する一組のダイナミツクモード用フイルタパ
ラメータDPRは8次分だけでよい。 ダイナミツク/スタテイツク選択信号DS:ダ
イナミツク/スタテイツク選択スイツチ27(第
2図)の操作に応じて発生される信号であり、フ
イルタ演算を前述のダイナミツクモードで行うか
スタテイツクモードで行うかを指示する。 上記DPR、DSはインタフエース44からパラ
メータセレクタ46に与えられる。 パラメータメモリ47は、スタテイツクモード
のためのフイルタパラメータ(フイルタ係数)を
記憶したものである。 パラメータプロセシングユニツト45は、上記
パラメータメモリ47からスタテイツクモード用
のフイルタパラメータを読み出す働きをする。す
なわち、キーオンパルスKONPが与えられたと
き、音色コードVN、タツチコードTCH、キー
コードKCの内容に基づき読み出すべきパラメー
タメモリ47のアドレスを計算し、このアドレス
に記憶されているフイルタパラメータを該メモリ
47から読み出す。読み出されたスタテイツクモ
ード用フイルタパラメータSPRはパラメータセ
レクタ46に与えられる。このスタテイツクモー
ド用フイルタパラメータSPRのデータ形式も前
述のDPRと同様である。また、前述の通り、ス
タテイツクモード用フイルタパラメータSPRの
一組の次数は32次(又は31次)である。更に、前
述から明らかなように、直線位相特性におけるフ
イルタ係数の対称性により、実際に準備する一組
のスタテイツクモード用フイルタパラメータ
SPRは16次分だけでよい。 パラメータセレクタ46は、ダイナミツク/ス
タテイツク選択信号DSの内容に応じてダイナミ
ツクモード用又はスタテイツクモード用のフイル
タパラメータDPR,SPRの一方を選択する。選
択されたパラメータはA系列及びB系列のパラメ
ータ供給回路48,49に入力される。A系列の
パラメータ供給回路48では第1〜第4チヤンネ
ルのフイルタパラメータDPR又はSPRを受け入
れ、これを記憶し、フイルタ演算タイミングに同
期してステートメモリ40及び乗算器及びアキユ
ムレータ部41に供給する。B系列のパラメータ
供給回路49では第5〜第8チヤンネルのフイル
タパラメータに関して同様のことを行う。 スタテイツクモード用のフイルタパラメータ
SPRは、鍵押圧当初に一度だけパラメータメモ
リ47から読み出されて、以後はパラメータ供給
回路48,49に記憶される。従つて、スタテイ
ツクモードにおいては発音期間中はフイルタ係数
が変化せず、一定のフイルタ特性を維持する。他
方、ダイナミツクモード用のフイルタパラメータ
DPRは、新しい内容のパラメータがマイコンイ
ンタフエース44を介して与えられるまでパラメ
ータ供給回路48,49で記憶され、その記憶内
容はパラメータDPRの内容が時間的に変化する
毎に書替えられる。 パラメータ供給回路48,49から出力される
フイルタパラメータのうち次数の偶奇を識別する
偶奇識別データEOA1〜EOA4、EOB1〜EOB
4はステートメモリ40,42に与えられ、フイ
ルタ係数データ部COEA,COEB及び重みづけデ
ータ部WEIA,WEIBは乗算器及びアキユームレ
ータ部41,43に与えられる。なお、図中の符
号において末尾のA又はBはA系列とB系列の区
別を表わす。データEOA1〜EOA4,EOB1〜
EOB4は各チヤンネルのものが並列的に与えら
れるが、データCOEA,COEB,WEIA,WEIB
は各チヤンネルのものが時分割的に与えられる。 パラメータプロセシングユニツト45、パラメ
ータセレクタ46、パラメータメモリ47、パラ
メータ供給回路48,49の詳細例は第15図に
示されている。 ピツチ同期出力回路50は、乗算器及びアキユ
ムレータ部41,43から出力された各チヤンネ
ルのフイルタ済みの楽音信号サンプル値データを
入力し、これらを各々のピツチに同期したタイミ
ングでサンプリングし直す回路である。ここでサ
ンプリング制御に用いる信号は、入力インタフエ
ース38から与えられる。ピツチ同期信号PS1D
であり、これは各チヤンネルのピツチ同期信号
PS1を所定時間遅延したものである。ピツチに
同期した再サンプリングのために、遅延したピツ
チ同期信号PS1Dを用いる理由は、前段でのデイ
ジタルフイルタ演算における各チヤンネルの楽音
信号の時間遅れに合わせるためである。このよう
にデイジタルフイルタ出力信号をそのピツチに同
期して再サンプリングする処理は、サンプリング
周波数を楽音ピツチに調和させるので、折返しノ
イズの問題を解決する。ピツチに同期してデイジ
タルフイルタ演算を行う場合は、デイジタルフイ
ルタ出力信号はピツチに同期したサンプリング周
期を持つのでピツチ同期出力回路50を特に設け
なかつたとしてもピツチ同期を実現することがで
きるが、ピツチに非同期でデイジタルフイルタ演
算を行う場合はピツチ同期を実現するためにはピ
ツチ同期出力回路50が必要である。ピツチ同期
出力回路50の詳細例は第16図に示されてい
る。 次にアダプテイブデイジタルフイルタ装置21
の各部の詳細例について説明する。 なお、各図においてブロツク中に「1D」、
「8D」等の数字と文字Dが伴記された回路は、遅
延回路若しくはシフトレジスタであり、前の数字
は遅延段数若しくはステージ数を示す。また、こ
の遅延回路又はシフトレジスタブロツクにおい
て、遅延制御クロツクパルス又はシフト制御クロ
ツクパルスが入力されることが図示されていない
ものは、マスタクロツクパルスφ(第3図参照)
によつて遅延又はシフト制御がなされる。 <入力インタフエース38:第12図> 第12図において、ピツチ同期信号PS1はオ
ア回路51,52を介してシフトレジスタ53に
入力される。第3図に示すようにこのピツチ同期
信号PS1は8タイムスロツトを1サイクルとし
て8チヤンネル分が時分割多重化されており、或
るチヤンネルに割当てられた鍵のピツチに同期す
る周期でそのチヤンネルに対応する1タイムスロ
ツトに信号“1”が生じる。シフトレジスタ53
の出力はアンド回路54、オア回路52を介して
入力側に戻され、8チヤンネル分のピツチ同期信
号PS1が8ステージのシフトレジスタ53内で
循環保持される。各チヤンネルに対応する8個の
ラツチ回路55が並列的に設けられており、シフ
トレジスタ53から出力されるピツチ同期信号が
そのデータ入力Dに並列的に入力される。各ラツ
チ回路55のラツチ制御入力Lには各チヤンネル
に対応するラツチタイミング信号φFS1(25)、
φFS2(29)、……φFS8(56)が夫々入力去れる。
φFSの次に記された数字はチヤンネル番号を示
し、その次のかつこ内の数字は1演算サイクル
(第3図に示す64タイムスロツト)中のタイムス
ロツト番号を示し、そのタイムスロツト番号に対
応するタイムスロツトにおいて該ラツチタイミン
グ信号が信号“1”となる。例えば、信号φFS1
(25)はタイムスロツト25で信号“1”となり、
これは第1チヤンネルに対応している。第3図を
参照すると明らかなようにタイムスロツト25は
ピツチ同期信号PS1における第1チヤンネルの
時分割タイミングに対応している。従つて、この
信号φFS1(25)によつてラツチ制御されるラツチ
回路55の部分にはチヤンネル1のピツチ同期信
号PS1の内容(ピツチに同期したタイミングで
は信号“1”、それ以外のタイミングでは信号
“0”)がラツチされる。他のチヤンネル2〜8も
同様であり、各チヤンネルのピツチ同期信号が所
定のタイミングでラツチ回路55に夫々並列的に
ラツチされる。 なお、各チヤンネルに対応するラツチタイミン
グ信号φFS1(25)〜φFS8(56)は第13図ものデ
コーダ56から発生される。デコーダ56はカウ
ンタ57の出力をデコードして様々な種類のタイ
ミング信号を発生する。カウンタ57はマスタク
ロツクパルスφをカウントするモジユロ64のカ
ウンタであり、システムシンクロパルスSYNC
(第3図)によつて定期的にリセツトされる。各
チヤンネル1〜8に対応するラツチタイミング信
号φFS1(25)〜φFS8(56)がどのタイムスロツト
で発生するかは第13図の表示から明らかであろ
う。 第12図に戻り、各タイミング信号φFS1(25)
〜φFS8(56)はノア回路58で多重化されかつ反
転される。ノア回路58の出力はアンド回路54
に入力される。これにより、ラツチ回路55への
取り込みが行われたチヤンネルに関するシフトレ
ジスタ53の記憶がクリアされる。 一方、ピツチ同期信号PS1が“1”となつた
チヤンネルに対応してラツチ回路55にラツチさ
れた信号“1”は、次のサイクルでそれに対応す
るラツチタイミング信号φFS1(25)〜φFS8(56)
が発生するまで保持される。こうして、ラツチ回
路55には、ピツチ同期信号PS1が“1”とな
つたチヤンネルに対応してい64タイムスロツト分
の時間だけ信号“1”が保持される。各チヤンネ
ルに対応するラツチ回路55の出力はフイルタ演
算要求信号φF1〜φF8として第13図のタイミ
ング信号発生回路39に与えられる。後述するよ
うに、このフイルタ演算要求信号φF1〜φF8が
“1”になつたとき1サンプル点分のフイルタ演
算が実行される。ピツチ同期信号PS1が発生し
たときのみフイルタ演算要求信号φF1〜φF8が
“1”となるので、結局、フイルタを施すべき楽
音信号のピツチに同期したデイジタルフイルタ演
算が行われることになる。 例えば、第17図に示すように、タイムスロツ
ト9のときにピツチ同期信号PS1が“1”とな
つたとすると(この場合この信号“1”はチヤン
ネル1のピツチ同期信号である)、これがシフト
レジスタ53で循環保持され、タイムスロツト2
5でタイミング信号φFS1(25)が発生したときラ
ツチ回路55にラツチされ、チヤンネル1に対応
するフイルタ演算要求信号φF1がそのタイムスロ
ツト25において“1”に立上る。この信号φF
1は次のサイクルのタイムスロツト24まで合計
64タイムスロツト分の時間幅だけ信号“1”を維
持する。 <タイミング信号発生回路39:第13図> 第13図において、タイミング信号発生回路3
9は、前述のデコーダ56及びカウンタ57の他
に、第12図の入力インタフエース38から与え
られる各チヤンネルのフイルタ演算要求信号φF
1〜φF8に応じてフイルタ演算動作制御用のタ
イミング信号を発生する演算タイミング発生回路
391〜398を各チヤンネル(Ch1〜Ch8)毎
に具えている。図ではチヤンネル1の回路391
のみ詳細を示したが、他のチヤンネル2〜8の回
路392〜398も同一構成であり、そこにに入
力されるタイミング信号T(33)、T(49)、……の
時間関係だけが異なる。タイミング信号T(33)、
T(49)、……はデコーダ56から発生される。前
述と同様に、タイミング信号を示す符号において
かつこ内の数字は、1演算サイクル(第3図に示
す64タイムスロツト)中のタイムスロツト番号を
示し、そのタイムスロツト番号に対応するタイム
スロツトにおいて該タイミング信号が“1”とな
ることを示す。デコーダ56から発生される他の
タイミング信号についても同様であり、かつこ内
の数字を参照することによりそのタイミング信号
がどのタイムスロツトにおいて発生するか(“1”
となるか)が容易に判る。例えば、タイミング信
号T(33)は第17図に示すようにタイムスロツ
ト33において信号“1”となるものであり、信
号T(3−18)はタイムスロツト3から18まで
の間で信号“1”となるものである。 チヤンネル1の演算タイミング信号発生回路3
91について説明すると、フイルタ演算要求信号
φF1とタイミング信号T(33)がアンド回路59
に与えられる。従つて、フイルタ演算動作を行う
べきことが要求されたならば、タイムスロツト3
3のタイミングでアンド回路59の出力が“1”
となる。このアンド回路59の出力信号と、この
信号を遅延回路60で1タイムスロツト遅延した
信号とがオア回路61に与えられる。このオア回
路61の出力はフイルタデータサンプリングクロ
ツク信号RLA1としてデイジタルフイルタ回路
における単位遅延を制御するために利用される。
この信号RLA1は第17図に示すようにタイム
スロツト33と34のときに“1”となる。 アンド回路62にはアンド回路59の出力とチ
ヤンネル1の偶奇識別データEOA1(これは第
11図のパラメータ供給回路48から出力された
ものである)をインバータ63で反転した信号が
与えられる。このデータEOA1は実現しようと
するフイルタ特性の次数が偶数次のとき信号
“1”であり、奇数次のとき信号“0”、である。
アンド回路62の出力は遅延回路64で2タイム
スロツト遅延され、インヒビツト信号INHA1と
して出力される。フイルタ次数が奇数のときアン
ド回路62の出力信号はタイムスロツト33で
“1”となり、その2タイムスロツト後のタイム
スロツト35のとき信号INHA1が“1”となる
(第17図参照)。フイルタ次数が偶数ならば、信
号INHA1は常に“0”である。このインビツト
信号INHA1は、デイジタルフイルタ回路の演算
動作において偶数次の最高次数(32次)の演算を
禁止することにより奇数次のフイルタ特性を実現
するために使用される。 タイミング信号T(3−18)とT(35−50)がオ
ア回路65に入力されており、その出力とアンド
回路59の出力がオア回路66に入力されてい
る。オア回路66の出力は遅延回路67で1タイ
ムスロツト遅延され、第1シフトクロツク信号
φFFA1として出力される(第17図参照)。ま
た、オア回路66の出力と遅延回路64の出力を
インバータ68で反転した信号がアンド回路69
に加わつており、その出力を遅延回路70で1タ
イムスロツト遅延した信号が第2シフトクロツク
信号φFLA1として出力される(第17図参照)。
信号φFLA1は、フイルタ次数が偶数ならばタイ
ムスロツト36のとき“1”であるが、奇数なら
ば“0”である。これらのシフトクロツク信号
φFFA1,φFLA1は、デイジタルフイルタ回路
において各次数毎の演算動作を時分割的に行うた
めに、ステートメモリ40(第11図)内の各遅
延段階に対応する楽音信号サンプル値データを順
次シフトするために使用される。 タイミング信号T(35−50)に応じてタイムス
ロツト35から50の間で“1”となる乗算タイ
ミング信号PDOA1(第17図参照)は、デイ
ジタルフイルタ回路において楽音信号サンプル値
データとフイルタ係数との乗算を行うべき期間を
指示するものである。 A系列における他のチヤンネル2〜4に対応す
る演算タイミング信号発生回路392〜394に
おいて用いられるタイミング信号T(49)、T(19
−34)、T(51−2)、……はチヤンネル1のタイ
ミング信号T(33)、T(3−18)、T(35−50)の
タイミングから順に16タイムスロツトづつずれた
ものである。従つて、チヤンネル1の回路391
から出力される各信号RLA1〜PDOA1と同様
の信号RLA2〜PDOA2,……RLA4〜PDOA
4が他のチヤンネル2〜4の回路392〜394
から夫々順次16タイムスロツトづつずれたタイミ
ングで発生される。これに基づき、A系列のデイ
ジタルフイルタ回路(特に乗算器及びアキユムレ
ータ部41)において、1演算サイクル=64タイ
ムスロツトの間で16タイムスロツト毎の時間区間
で4つのチヤンネル1〜4のフイルタ演算動作を
時分割的に行わせることができるようになつてい
る。 B系列の各チヤンネル5〜8に対応する演算タ
イミング信号発生回路395〜398においても
各チヤンネル間で16タイムスロツトづつずれた所
定のタイミングでタイミング信号T(49)、T(19
−34)、T(51−2)、……が使用され、上述と同
様の各種信号RLB1〜PDOB1,……RLB4〜
PDOB4が発生される。 A系列に対応する演算タイミング信号発生回路
391〜394で発生された各信号RLA1〜
PDOA4はA系列のステートメモリ40に与え
られ、B系列に対応する回路395〜398で発
生された各信号RLB1〜PDOB4はB系列のス
テートメモリ42(第11図)に与えられる。 <ステートメモリ40:第14図> 第14図において、A系列のステートメモリ4
0はA系列の各チヤンネル1〜4に対応するステ
ートメモリ401〜404を並列的に具えてい
る。チヤンネル1のステートメモリ401のみ詳
細を示したが、他のチヤンネル2〜4のステート
メモリ402〜404も同一構成であり、そこに
入力される信号が異なつている。上述の各チヤン
ネル1〜4に対応する演算タイミング信号発生回
路391〜394(第13図)から発生された各
信号RLA1〜PDOA1,……RLA4〜PDOA4
は、自己のチヤンネルに対応するステートメモリ
401〜404に夫々入力される。 同図に示したステートメモリ40と乗算器及び
アキユムレータ部41の詳細を説明する前に、こ
れらの回路から成るデイジタルフイルタ回路の基
本動作について第18図及び第19図に示す略図
を参照して説明する。 <偶数次のフイルタ演算基本動作:第18図> 第18図は、上記デイジタルフイルタ回路にお
いて偶数次(32次)から成るフイルタ特性を実現
する場合のFIR型フイルタ演算の基本動作を説明
するための略図であり、aはブロツク図、bは各
演算タイミングにおけるaのシフトレジスタSR
1,SR2の各ステージQ0〜Q15,Q16〜
Q31内の楽音信号サンプル値の状態を示す。 第1のシフトレジスタSR1は16ステージを持
ち、フイルタをかけるべきデイジタル楽音信号サ
ンプル値データxoがセレクタSEL1を介して入力
される。セレクタSEL1を介して新しいサンプル
値データxoを取り込むための信号としては前述の
フイルタデータサンプリングクロツク信号RLA
(チヤンネル1の場合はRLA1)が使用され、シ
フトレジスタSR1のシフトクロツクパルスとし
ては前述の第1シフトクロツク信号φFFA(チヤ
ンネル1の場合はφFFA1)が使用される。第1
のシフトレジスタSR1の各ステージQ0〜Q1
5にはサンプル点nからn−15までの16個のサン
プル値データxo〜xo-15が保持される。このシフ
トレジスタSR1の最終ステージの出力はセレク
タSEL1を介してサンプリングクロツク信号
RLAが無いとき第1ステージに戻される。この
シフトレジスタSR1は右方向のみにシフトされ
る。 第2のシフトレジスタSR2も16ステージを持
ち、第1のシフトレジスタSR1の出力がセレク
タSEL2を介して入力される。セレクタSEL2を
介してSR1の出力をSR2に取り込むための信号
として前述のフイルタデータサンプリングクロツ
ク信号RLAが使用され、該SR2のシフトクロツ
クパルスとしては前述の第2シフトクロツク信号
φFLA(チヤンネル1の場合はφFLA1)が使用
される。この第2のシフトレジスタSR2の各ス
テージQ16〜Q31にはサンプル点nからn−
16からn−31までの16個のサンプル値データ
xo-16〜xo-31が保持される。シフトレジスタSR2
の最終ステージQ31はセレクタSEL2を介して
サンブリングクロツク信号RLAが無いとき第1
ステージQ16に接続される。このシフトレジス
タSR2は双方向シフト型であり、サンプリング
クロツク信号RLAが“1”のとき右シフトモー
ド、“0”のとき左シフトモードとなる。 シフトレジスタSR1,SR2のステージQ15
とQ16の出力が加算器ADDで加算され、その
加算結果が乗算器MULに与えられ、フイルタ係
数COEAが乗算される。その乗算結果はアキユム
レータACCに与えられ、全次数に関する乗算結
果がそこでアキユムレートされる。こうして、ア
キユムレータACCからは1サンプル点分のフイ
ルタ演算結果が出力される。 加算器ADDで2サンプル点分のサンプル値デ
ータを加算し、それに共通のフイルタ係数COEA
を乗算器MULで乗算する理由は、前述の「フイ
ルタ係数の対称性」による。すなわち、対称関係
にある2つのサンプル値データには同じ値のフイ
ルタ係数が掛けられるため、それらを別々に乗算
せずに、加算した上で1回の乗算によつて両サン
プル値データへの係数乗算を同時に行うようにし
ている。 第18図のbにおいて、たて軸の演算タイミン
グはマスタクロツクに応じた1タイムスロツト毎
に進行する。そこに示した数字は便宜上の順序を
示すもので1演算サイクル(64タイムスロツト)
中のタイムスロツト番号を絶対的に示すものでは
ない。図の例では、演算タイミング1のとき、シ
フトレジスタSR1,SR2の各ステージQ0〜Q
31にxoからxo-31までの32サンプル点のサンプ
ル値データが入つている。 図の例では、演算タイミング2のときサンプリ
ングクロツク信号RLAが“1”になるものとし
ている。これにより、シフトクロツク信号
φFFA,φFLAに応じてシフトレジスタSR1,
SR2が1ステージ右シフトされ、この演算タイ
ミング2では図示のような状態となる。このとき
のシフトクロツク信号φFFA,φFLAはチヤンネ
ル1の場合は第17図のφFFA1,φFLA1の欄
に示すようにタイムスロツト34で発生するもので
ある。同図から明らかなように、次の1タイムス
ロツトはシフトクロツク信号φFFA,φFLAは発
生せず、従つて第18図bの演算タイミング3で
は各ステージQ0〜Q31の状態は変化しない。
しかし、演算タイミング3から18までの16タイム
スロツト幅は、チヤンネル1でいえば乗算タイミ
ング信号PDOA1(第17図)が発生するタイ
ムスロツト35〜50に対応しており、この間で
乗算及びアキユムレートが行われる。 つまり、演算タイミング3では、ステージQ1
5とQ16に入つているxo-14とxo-15のサンプル
値データが加算器ADDが加算され、これに第1
6次のフイルタ係数が掛けられ、その結果がアキ
ユムレータACCに保持される。 演算タイミング4から18までの間は、1タイム
スロツト毎に、第1のシフトレジスタSR1は右
シフト、第2のシフトレジスタSR2は左シフト
され、各ステージQ0〜Q31の状態は図示のよ
うに順次変化する。従つて、演算タイミング4で
はxo-13とxo-16が加算され、これに第15次のフイ
ルタ係数が乗算され、その結果がアキムユレータ
ACCに累算される。次の演算タイミング5では
xo-12とxo-17について同様の演算が行われ、こう
して対称位置にある2サンプル値データに関して
同様のフイルタ係数演算が順次時分割で行われ、
演算タイミング18では最後の対称位置にあるxo+1
とxo-30に関して同様の演算が行われ、これで全
次数のフイルタ演算が完了する。次の演算タイミ
ング19ではもう一度シフトが行われ、図示のよう
に、各ステージQ0〜Q31に遅延された時間順
に各サンプル値データxo+1〜xo-30が並ぶ。 <奇数次のフイルタ演算基本動作:第19図> 第19図は、奇数次(31次)からなるフイルタ
特性を実現する場合のFIR型フイルタ演算の基本
動作を説明するための略図であり、aはブロツク
図、bは各演算タイミングにおけるaのシフトレ
ジスタSR1,SR2の各ステージQ0〜Q15,
Q16〜Q30の楽音信号サンプル値の状態を示
す。 aにおける各ブロツクは第18図aに示したも
のと同一であり、異なる点は、ステージQ16の
出力がゲータGTを介して加算器ADDに与えられ
ることである。ゲートGTはインヒビツト信号
INHA(第1チヤンネルではINHA1)を反転し
た信号によつて制御されるようになつており、該
信号INHAが“1”のときステージQ16の出力
信号が加算器ADDに与えられることを禁止する。
また、第2のシフトレジスタSR2の第16ステー
ジQ31は利用せず、第15ステージQ30と第1
ステージQ16がセレクタSEL2を介して接続さ
れる。 bにおいて、第1シフトレジスタSR1の状態
変化は第18図bと同じである。第2シフトレジ
スタSR2の状態変化は第18図(偶数次の場合)
とは若干異なる。第2のシフトレジスタSR2の
シフトクロツク信号φFLAは、演算タイミング4
のとき偶数次モードでは“1”であつたが奇数次
モードでは“0”となる(チヤンネル1の場合は
第17図のφFLA1の欄のタイムスロツト36参
照)。従つて、奇数次モードでは、第19図bに
示すように、第2のシフトレジスタSR2の内容
は、演算タイミング4ではシフトされず、演算タ
イミング5から19の間で順次左シフトされる。 演算タイミング3では、シフトレジスタSR1,
SR2の各ステージQ0〜Q30には31次の各遅
延段階に対応する楽音信号サンプル値xo+1
xo-29が順番に入つており、ステージQ15に中
央の次数のサンプル値xo-14が入つている。第6
図に示されているように、奇数次モードの対称の
中央に位置する次数ではそれ単独に対応して固有
のフイルタ係数が割り当てられる。従つて、演算
タイミング3では、インヒビツト信号INHAによ
つてステージQ16の出力を禁止し、中央次数に
対応するステージQ15の出力信号のみを加算器
ADDに加え、乗算器MULにおいて該中央次数に
対応する固有のフイルタ係数を乗算する。 演算タイミング4では、第1のシフトレジスタ
SR1のみが右シフトされ、第2のシフトレジス
タSR2はシフトされない。従つて、ステージQ
15にはxo-13が入り、Q16にはxo-15が入つて
いる。また、インヒビツト信号INHAは“0”と
なり、ゲートGTが開かれる。こうして、中央次
数の両隣の次数に対応するサンプル値xo-13
xo-15が加算器ADDに与えられて加算され、乗算
器MULにおいて両者に共通のフイルタ係数が乗
算される。 演算タイミング5〜18ではSR1が順次右シフ
ト、SR2が順次左シフトされ、図示のように対
称位置にあるサンプル値がステージQ15,Q1
6に入り、両者が加算されて共通のフイルタ係数
が乗算される。 <デイジタルフイルタ回路:第14図> 第14図を参照してチヤンネル1に対応するス
テートメモリ401について説明する。16ステー
ジの一方向シフトレジスタ71は第18図、第1
9図の第1のシフトレジスタSR1に対応するも
のであり、チヤンネル1に対応する第1のシフト
クロツク信号φFFA1によつてシフト制御され
る。トーンジエネレータ18(第2図)から供給
されたデイジタル楽音信号サンプル値データ
TDXはラツチ回路73に入力され、ラツチタイ
ミング信号XLDA1に従つてチヤンネル1のサ
ンプル値データが該ラツチ回路73に取込まれ
る。楽音信号サンプル値データTDXにおける各
チヤンネルの時分割タイミング(第3図参照)に
対応し、各チヤンネル1〜8に対応するラツチタ
イミング信号XLDA1〜XLDA4,XLDB1〜
XLDB4がデコーダ56(第13図)から発生
される。前述のように、第13図の各信号表示の
末尾のかつこ内の数字はその信号が発生するタイ
ムスロツト番号を示す。各チヤンネルに対応する
ステートメモリ内にはラツチ回路73と同様のラ
ツチ回路が設けられており、各々に対応するラツ
チタイミング信号XLDA1〜XLDA4,XLDB
1〜XLDB4によつて各チヤンネル1〜8の楽
音信号サンプル値データTDXが別々にラツチさ
れ、こうしてデマルチプレクスされる。 ラツチ回路73にラツチされたチヤンネル1の
楽音信号サンプル値データはセレクタ74のA入
力にあたえられる。セレクタ74は第13図の演
算タイミング信号発生回路391から与えられる
フイルタデータサンプリングクロツク信号RLA
1が“1”のときA入力を選択し、それ以外のと
きはB入力に加わるシフトレジスタ71の第16ス
テージの出力信号を選択する。前述の通り、この
信号RLA1は楽音のピツチに同期するものであ
り、ピツチに同期してセレクタ74で新しいサン
プル値データ(A入力)を選択し、これをシフト
レジスタ71に与える。第17図から明らかなよ
うに、信号RLA1が“1”となるタイムスロツ
ト34で、シフトクロツク信号φFFA1が“1”
となるので、シフトレジスタ71はセレクタ74
から与えられる新しいサンプル値データを第1ス
テージ(Q0)に取込む。次のタイムスロツト3
5ではシフト動作を一時休止し、続くタイムスロ
ツト36〜51で順次右シフトするのは前述の通
りである。 双方向シフトレジスタ72は第18図、第19
図の第2のシフトレジスタSR2に対応するもの
である。この双方向シフトレジスタ72の各ステ
ージQ16〜Q31は図示のようにセレクタSL
1〜SL16とラツチ回路LC1〜LC16から成
つていて、双方向シフトが可能なように接続され
ている。すなわち、最初のステージQ16のセレ
クタSL1のA入力には第1のシフトレジスタ7
1の最終ステージ(Q15)の出力信号が入力さ
れ、他の各ステージQ17〜Q31のセレクタ
SL2〜SL16のA入力には夫々前のステージの
ラツチ回路LC1〜LC15の出力が入力され。ま
た、各ステージのセレクタSL1〜SL16のB入
力には次のステージのラツチ回路LC2〜LC1
6,LC1の出力が入力される。これにより、各
セレクタSL1〜SL16のA入力が選択されたと
き右シフトモードとなり、B入力が選択されたと
き左シフトモードとなる。各セレクタSL1〜SL
16の選択信号としてサンプリングクロツク信号
RLA1が用いられ、これが“1”のときA入力
選択つまり右シフトモードとなる。ただし、奇数
次モードのときにステージQ31を無効にするた
めに、ステージQ30のセレクタSL15が他と
は幾分異なつている。つまり、このセレクタSL
15にはC入力が設けられており、そこにステー
ジQ16の出力信号が加わる。チヤンネル1に関
する偶奇識別データEOA1が“1”(つまり偶数
次モード)のときアンド回路751が可能化さ
れ、信号RLA1が“0”のとき該アンド回路7
51の出力が信号“1”となり、これによりセレ
クタSL15がB入力を選択し、ステージQ31
の出力がステージQ30に与えられる(左シフト
される)。EOA1が“0”のとき(奇数次モード
のとき)アンド回路761が可能化され、信号
RLA1が“0”のときセレクタSL15がC入力
を選択し、ステージQ16の出力がステージQ3
0に与えられる(Q31を飛越して左シフトされ
る)。 以上の構成により、第1及び第2のシフトレジ
スタ71,72の内容の変化状態は偶数次モード
と奇数次モードの別に応じて第18図b、第19
図bに示したものと全く同様になる。 第2のシフトレジスタ72の第1ステージQ1
6の出力信号はゲート75を介してゲート76に
与えられる。ゲート75はインヒビツト信号
INHA1を反転した信号によつて制御されるもの
で、第19図のゲートGTに対応するものであ
る。ゲート76は、第1のシフトレジスタ71の
出力信号(ステージQ15の出力信号)とゲート
75を介して与えられる第2のシフトレジスタ7
2の出力信号(ステージQ16の出力信号)を入
力し、乗算タイミング信号PDOA1(第17図
参照)によつて開放される。 ゲート76の出力は乗算器及びアキユムレート
部41の加算器77に与えられ、そこで2つの楽
音信号サンプル値データが加算される。この加算
器77は第18図、第19図の加算器ADDに対
応するものである。加算器77の出力は遅延回路
78で1タイムスロツト遅延されて乗算器79に
入力される。乗算器79は遅延回路78を介して
与えられる楽音信号サンプル値データに遅延回路
80を介して与えられるフイルタ係数データ
COEAを乗算するものである。乗算器79の出力
は遅延回路81で4タイムスロツト遅延されてシ
フタ82に与えられる。シフタ82のシフト制御
入力には5タイムスロツトの遅延を設定する遅延
回路83を介して重みづけデータWEIAが与えら
れる。この乗算器79とシフタ82は、第18
図、第19図の乗算器MULに対応するものであ
る。すなわち、前述の通り、フイルタ係数データ
COEAはフイルタ係数の有効ビツトのデータであ
り、乗算器79においてこのフイルタ係数の有効
ビツトと楽音信号サンプル値データとの乗算が行
われる。そして、この乗算結果をシフタ82にお
いて重みづけデータWEIAの値に応じたビツト数
だけシフトすることにより、フイルタ係数の実数
と楽音信号サンプル値データとの乗算が完了す
る。 シフタ82の出力はアキユムレータ84に与え
られ、1チヤンネル分の各次数に対応する乗算結
果がアキユムレートされる。アキユムレータ84
の出力はラツチ回路85に入力され、演算終了タ
イミング信号FENDAに従つてラツチされる。こ
の信号FENDAは第13図のデコーダ56から発
生される。同図中に表示されているように、この
信号FENDAはタイムスロツト8,24,40,
56において“1”となる。タイムスロツト56
ではチヤンネル1の演算結果をラツチし、8では
チヤンネル2の演算結果をラツチし、24ではチ
ヤンネル3の演算結果をラツチし、40ではチヤ
ンネル4の演算結果をラツチする。デコーダ56
からはB系列の演算終了タイミング信号FENDB
も同様に発生される。 乗算器及びアキユムレート部41は、4つのチ
ヤンネルによつて時分割共用される。すなわち、
加算器77には、チヤンネル1のステートメモリ
401のゲート76の出力のみならず、チヤンネ
ル2〜4のステートメモリ402〜404内に設
けられている同様の機能をもつゲートの出力信号
が多重的に入力される。各ステートメモリ401
〜404の出力ゲート76には、16タイムスロツ
ト幅の乗算タイミング信号PDOA1〜PDOA4
が16タイムスロツトづつずれた異なるタイミング
で夫々入力される。従つて、加算器77には各チ
ヤンネル1〜4の信号が16タイムスロツト毎に時
分割多重的に入力される。フイルタ係数データ
COEA及び重みづけデータWEIAは、4つのチヤ
ンネルのものが上述と同じタイミングで16タイム
スロツト毎に時分割多重化されており、1つのチ
ヤンネルに関する16タイムスロツトにおいては1
次から16次までのデータが時分割多重化されてい
る。 B系列のステートメモリ42と乗算器及びアキ
ユムレータ部43も第14図と同一の構成であ
り、但し、各種信号のタイミングが適宜異なつて
いる。 第14図に示されたようなA系列及びB系列の
デイジタルフイルタ回路(すなわちステートメモ
リ40,42と乗算器およびアキユムレータ部4
1,43)における各チヤンネル1〜8に関する
フイルタ動作のタイミングを第20図に示す。第
20図において、シフト1の欄には第1のシフト
レジスタ(チヤンネル1の場合は71)のシフトタ
イミングを示し、シフト2の欄には第2のシフト
レジスタ(チヤンネル1の場合は72)のシフトタ
イミングを示している。矢印の方向はシフト方向
(右シフト又は左シフト)を示している。各チヤ
ンネルのシフトタイミングは演算タイミング信号
発生回路391〜398(第13図)から発生さ
れる第1及び第2のシフトクロツク信号φFFA1
〜φFFB4、φFLA1〜φFLB4の発生タイミン
グに対応している。シフト動作には、フイルタ演
算のためのシフト動作と記憶データリフレツシユ
のためのダミーシフト動作とがある。例えばチヤ
ンネル1の場合、タイムスロツト4〜19でのシ
フトがダミーシフトである。シフト2の欄におけ
る(←)の記号は偶数次モードのとき左シフトを
行い、奇数次モードのときシフトを行わないこと
を示す。 第20図において、INHの欄はインヒビツト
信号INHA1〜INHB4の発生タイミングを示し
ている。奇数次モードのときは○印のタイムスロ
ツトにおいてインヒビツト信号INHA1〜INHB
4が“1”となる。PDOの欄は、各チヤンネル
のステートメモリ40,42から乗算器及びアキ
ユムレータ部41,43に楽音信号サンプル値デ
ータが入力されるタイミングを示している。これ
は各チヤンネルの乗算タイミング信号PDOA1
〜PDOB4の発生タイミングに対応している。
SUMの欄は、アキユムレータ84の出力タイミ
ングを示している。PDOとSUMのタイミングの
間に6タイムスロツトの遅れがあるのは、遅延回
路78,81による5タイムスロツトの遅れとア
キユムレート84による1タイムスロツトの遅れ
による。アキユムレータ84の出力タイミングの
最後のタイムスロツトでは演算終了タイミング信
号FENDAが発生し、アキユムレータ84の出力
をラツチ回路85に取り込む。 <パラメータメモリ47:第21図> 第21図はパラメータメモリ47の記憶フオー
マツトの一例を示しており、キーグループテーブ
ル、タツチグループテーブル、パラメータアドレ
ステーブルとパラメータバンクから成つている。
実際のフイルタパラメータはパラメータバンクに
記憶されており、パラメータアドレステーブルに
はパラメータバンクから読み出すべきパラメータ
のアドレスデータが記憶されている。キーグルー
プテーブルは各鍵に対応してその鍵をグループ化
する情報を記憶している。一例として鍵数は88、
グループ数は44であり、キーグループテーブルで
は各鍵に対応するアドレス位置にその鍵の属する
キーグループに関する相対アドレスデータ(キー
グループアドレスという)を記憶している。従つ
て、キーグループテーブルはキーコードKCによ
つてアドレスされる。このキーグループテーブル
はパラメータメモリ47の所定の絶対アドレス
(オフセツトアドレスOADSという)から始まる
記憶エリアを占めている。 タツチグループテーブルは各音色毎の鍵タツチ
強度の各段階に対応してそのタツチ強度をグルー
プ化する情報を記憶している。一例として音色数
は32であり、このタツチグループテーブルは音色
コードVNの値0〜31に対応する32の音色別エリ
アを含んでおり、またタツチコードTCHによつ
て表現し得るタツチ強度の段階は一例として64で
あり、各音色別エリアはタツチ0から63に対応す
る64個のアドレス位置を有している。各タツチ強
度に対応するアドレス位置にはそのタツチ強度の
属するタツチグループに関する相対アドレスデー
タ(タツチグループアドレスという)が記憶され
ている。一例としてタツチグループ数は16であ
る。従つて、タツチグループテーブルは音色コー
ドVNとタツチコードTCHによつてアドレスさ
れる。このタツチグループテーブルはパラメータ
メモリ47の所定の絶対アドレス(これをオフセ
ツトアドレスOAD1という)から始まる記憶エ
リアを占めている。このタツチグループテーブル
を読み出すための絶対アドレスデータは、6ビツ
トのタツチコードTCHの上位に5ビツトの音色
コードVNを組合せて11ビツトの相対アドレスデ
ータ(オフセツトアドレスOAD1を0とするア
ドレス)を作成し、これをオフセツトアドレス
OAD1に加算することにより作成される。 パラメータアドレステーブルは、各キーグルー
プ毎に、かつ各音色毎に、各タツチグループに対
応するフイルタパラメータを記憶しているアドレ
スの相対アドレスデータ(パラメータアドレスと
いう)を記憶している。このパラメータアドレス
テーブルは、各キーグループ0〜43に対応する44
個のキーグループエリアを含んでおり、このキー
グループエリアは上述のキーグループテーブルか
ら読み出したキーグループアドレスによつてアド
レスされる。各キーグループエリアは音色0〜31
に対応する32個の音色別エリアを夫々含んでお
り、この音色別エリアは音色コードVNによつて
アドレスされる。各音色別エリアはタツチグルー
プ0〜15に対応する16個のアドレス位置を有して
おり、各アドレス位置は上述のタツチグループテ
ーブルから読み出したタツチグループアドレスに
よつてアドレスされる。なお、1アドレス位置に
2バイト分の記憶位置が割当てられており、そこ
に上記パラメータアドレスデータが12ビツトで記
憶されている。このパラメータアドレステーブル
はパラメータメモリ47の所定の絶対アドレス
(これをオフセツトアドレスOAD2という)から
始まる記憶エリアを占めている。このパラメータ
アドレステーブルを読み出すための絶対アドレス
データは、最下位の1ビツトを“0”又は“1”
に設定し(これは1アドレス位置が2バイトつま
り2絶対アドレスを占めるため)、その上位に4
ビツトのタツチグループアドレスデータを位置さ
せ、更にその上位に5ビツトの音色コードVNを
位置させ、更にその上位に6ビツトのキーグルー
プコードを位置させて合計16ビツトの相対アドレ
スデータ(オフセツトアドレスOAD2を0とす
るアドレス)を作成し、これをオフセツトアドレ
スOAD2に加算することにより作成される。 パラメータバンクは一例として2620種類のフイ
ルタパラメータを記憶しており、パラメータアド
レス0から2619に対応する2620個のパラメータ記
憶エリアを含んでいる。1つのパラメータ記憶エ
リアは32バイトの記憶位置(32個の絶対アドレス
位置)を含んでおり、16次数分の1組のフイルタ
係数に対応するパラメータを記憶している。1次
数分のフイルタ係数は2バイトの記憶位置に記憶
されており、その内訳は、前述の通り、12ビツト
のフイルタ係数データ(COE)と3ビツトの重
みづけデータ(WEI)と1ビツトの偶奇識別デ
ータ(EO)から成る。但し、重みづけデータ
(WEI)と偶奇識別データ(EO)は1組のパラメ
ータにおいては各次数間で共通であるため第1次
の記憶位置にのみ記憶し、他の次数の記憶位置に
は記憶しない。しかし、重みづけデータ(WEI)
は各次数毎に独立に記憶するようにすることも可
能である。このパラメータバンクは上述のパラメ
ータアドレステーブルから読み出されたパラメー
タアドレスによつてアドレスされる。パラメータ
バンクはパラメータメモリ47の所定の絶対アド
レス(これをオフセツトアドレスOAD3という)
から始まる記憶エリアを占めている。このパラメ
ータバンクを読み出すための絶対アドレスデータ
は、12ビツトのパラメータアドレスデータを17ビ
ツトの相対アドレスデータ(オフセツトアドレス
OAD3を0とするアドレス)の上位12ビツトに
位置させることにより該相対アドレスデータを作
成し、これをオフセツトアドレスOAD3に加算
することにより作成される。この絶対アドレスデ
ータの下位5ビツトを32ステツプで順次変化させ
ることにより、パラメータアドレスによつて指定
された1パラメータ記憶エリア内の16次数分から
なる1組のフイルタパラメータが順次読み出され
る。 第21図に示したような階層化されたパラメー
タメモリ構造は、メモリ容量を節約することがで
きるので有利である。このようにせずに、44キー
グループ、32音色、16タツチグループの組合せの
すべて(22528通り)に対応して個別にフイルタ
パラメータを記憶したとすると、22528×32バイ
トの記憶容量が要求されるが、第21図のように
すればパラメータアドレステーブルの1408(=44
×32)×32バイトとパラメータバンクの2620×32
バイトを合わせた4028×32バイトの記憶容量しか
要求されない。つまり、キーグループ、音色、タ
ツチグループの組合せが異なつていてもフイルタ
パラメータは共通のものを使用できる場合がある
ので、第21図の例では22528通りの組合せに対
して2620種のパラメータを共用する構造としてお
り、これによりメモリ容量の節約を図つている。 <パラメータプロセシングユニツト45、パラメ
ータセレクタ46、パラメータメモリ47、パラ
メータ供給回路48,49:第15図> パラメータプロセシングユニツト45は、前述
のスタテイツクモードのために、上述したような
パラメータメモリ47の読み出しを制御するもの
である。プログラムメモリ451には、上述のよ
うなパラメータメモリ47の読み出し制御を実行
するプログラムが記憶されている。プログラムカ
ウンタ452はプログラムメモリ451を読み出
すためのプログラムステツプ信号PCを発生する
もので、8ステージのシフトレジスタ86と加算
器87、ゲート88,89、エンド検出回路90
を含んでおり、8チヤンネル分のカウント動作を
時分割的に行う。キーオンパルスKONPがイン
バータ91で反転され、ゲート88の制御入力に
加わる。このキーオンパルスKONPは、鍵の押
し始めで信号“1”となるもので、各チヤンネル
に対応するものが時分割多重化されている。加算
器87はシフトレジスタ86の出力に対してゲー
ト89から与えられる“1”を加算するもので、
その加算結果はゲート88を介してシフトレジス
タ86に与えられる。エンド検出回路90はシフ
トレジスタ86の出力の値がプログラムの最終ス
テツプになつたか否かを検出するもので、最終ス
テツプに至らない場合は信号“0”を出力し、イ
ンバータ92を介して信号“1”をゲート89の
制御入力に与え、1カウントアツプを指示する信
号“1”が加算器87に与えられるようにする
が、最終ステツプに至つた場合は、信号“1”を
出力し、インバータ92を介して信号“0”をゲ
ート89に与え、該ゲート89を閉じ、カウント
が行われないようにする。 以上の構成により、プログラムカウンタ452
の内容つまりステツプ信号PCは、キーオンパル
スKONPが発生したとき「0」にリセツトされ、
以後シフトレジスタ86が一巡する毎に(8タイ
ムスロツト毎に)1カウントアツプされ、やがて
最終ステツプに到達するとカウントが停止され
る。一例としてプログラムステツプ数は37であ
り、カウンタ452から出力されるステツプ信号
PCは「0」から「36」(最終ステツプ)まで順次
変化する。ステツプ信号PCはシフトレジスタ8
6の出力であり、8チヤンネルのものが時分割多
重化されている。 プログラムメモリ451は入力されたステツプ
信号PCのステツプに応じて選択制御信号SELC
1〜SELC4を読み出し、かつオフセツトアドレ
スメモリ453を読み出すためのアドレスデータ
を読み出す。オフセツトアドレスメモリ453は
前述のオフセツトアドレスOADS〜OAD3の値
を記憶している。オフセツトアドレスメモリ45
3から読み出されたオフセツトアドレスデータ
ADOF(OADS〜OAD3のいずれか)は加算器4
54に入力される。加算器454はセレクタ45
5から与えられる相対アドレスデータRADDと
オフセツトアドレスデータADOFとを加算し、
その出力をアドレスデータPRADとしてパラメ
ータメモリ47のアドレス入力に加わる。 キーグループアドレスレジスタ456、タツチ
グループアドレスレジスタ457、パラメータア
ドレスレジスタ458は夫々8ステージのシフト
レジスタから成り、キーグループアドレスデータ
KEYG、タツチグループアドレスデータTCHG、
パラメータアドレスデータPADを各チヤンネル
毎に時分割的に記憶するものである。各レジスタ
456〜458の入力側にセレクタ93〜95が
設けられており、パラメータメモリ47から読み
出されたデータが各セレクタの一方の入力に加わ
る。各セレクタ93〜95の他方の入力には各レ
ジスタ456〜458の出力が加わる。セレクタ
93〜95の選択制御信号SELC2〜SELC4は
プログラムメモリ451から与えられるようにな
つており、プログラムのステツプに応じて、パラ
メータメモリ47の読み出し出力データをレジス
タ456〜458に取り込むか、あるいはレジス
タ456〜458に一旦取り込んだデータを循環
保持するかの制御を行う。明らかなように、パラ
メータメモリ47から前述のキーグループアドレ
スデータが読み出されたときこれをキーグループ
アドレスレジスタ456に取り込み、前述のタツ
チグループアドレスデータが読み出されたときこ
れをタツチグループアドレスレジスタ457に取
り込み、前述のパラメータアドレスデータが読み
出されたときこれをパラメータアドレスレジスタ
458に取り込むように選択制御信号SELC2〜
SELC4が発生される。 各レジスタ456〜458にストアされたアド
レスデータKEYG,TCHG,PADはセレクタ4
55に入力される。セクタ455にはキーコード
KC、音色コードVN及びタツチコードTCH更に
はプログラムカウンタ452から出力されるステ
ツプ信号PCの最下位ビツトPCLSB及びこのステ
ツプ信号PCから「4」(2進の“100”)を引いた
データPC−4も入力されている。セレクタ45
5ではプログラムメモリ451から与えられる選
択制御信号SELC1に応じて入力データを所定の
組合せで選択しかつ選択したデータを相対アドレ
スデータRADDにおける所定の重みに対応する
ビツト位置に位置させ、こうして相対アドレスデ
ータRADDを作成し出力する。 このパラメータプロセシングユニツト45にお
いて実行される37ステツプの処理内容は下記の通
りである。 PC=0のとき:キーグループテーブル読出し
処理 選択制御信号SELC1によりキーコードKCを
選択し、オフセツトアドレスデータADOFとし
てキーグループテーブルのオフセツトアドレス
OADSを読み出す。また、選択制御信号SELC2
によりパラメータメモリ47の出力データをキー
グループアドレスレジスタ456に取り込む。こ
れにより、パラメータメモリ47のキーグループ
テーブルからキーコードKCに対応するキーグル
ープアドレスが読み出され、これがレジスタ45
6にストアされる。 PC=1のとき:タツチグループテーブル読出
し処理 信号SELC1により音色コードVNとタツチコ
ードTCHを選択し、最下位ビツトにTCHを、そ
の上位にVNを、位置させて相対アドレスデータ
RADDを作成する。オフセツトアドレスデータ
ADOFとしてタツチグループテーブルのオフセ
ツトアドレスOAD1を読み出す。また、信号
SELC3によりパラメータメモリ47の出力デー
タをタツチグループアドレスレジスタ457に取
り込む。これにより、パラメータメモリ47のタ
ツチグループテーブルから音色コードVN及びタ
ツチコードTCHに対応するタツチグループアド
レスが読み出され、これがレジスタ457にスト
アされる。 PC=2、3のとき:パラメータアドレステー
ブル読出し処理 信号SELC1によりキーグループアドレスデー
タKEYG、音色コードVN、タツチグループアド
レスデータTCHG、ステツプ信号PCの最下位ビ
ツトPCLSBを選択し、最下位ビツトから
PCLSB、TCHG、VN、KEYGの順で位置させ
て相対アドレスデータRADDを作成する。デー
タADOFとしてパラメータアドレステーブルの
オフセツトアドレスOAD2を読み出す。また、
信号SELC4によりパラメータメモリ47の出力
データをパラメータアドレスレジスタ458に取
り込む。これにより、パラメータメモリ47のパ
ラメータアドレステーブルから適切なパラメータ
アドレスが読み出され、これがレジスタ458に
ストアされる。前述の通り、1つのパラメータア
ドレスデータは12ビツトから成り、2バイトの記
憶位置に記憶されている(第21図参照)。ビツ
トPCLBが“0”のとき(PC=2のステツプ)、
下位8ビツトのパラメータアドレスデータが読み
出され、PCLSBが“1”のとき(PC=3のステ
ツプ)、その上位4ビツトのパラメータアドレス
データが読み出される。セレクタ95では、この
パラメータアドレスデータが12ビツトデータに並
列化されるようにビツト位置を振分けてレジスタ
458にストアする。 PC=4〜35のとき:パラメータバンク読出し
処理 信号SELC1によりパラメータアドレスデータ
PADと4減算したステツプ信号PC−4を選択
し、最下位ビツトからPC−4、PADの順で位置
させて相対アドレスデータRADDを作成する。
また、データADOFとしてパラメータバンクの
オフセツトアドレスOAD3を読み出す。信号PC
−4は、PC=4〜35の32ステツプにおいてその
値が「0」から「31」まで変化する。従つて、パ
ラメータアドレスによつて指定された32バイトか
ら成る1組のフイルタパラメータ(第21図参
照)がパラメータメモリ47のパラメータバンク
から1バイトづつ順次読み出される。 PC=36のとき:プログラムカウンタ452を
ストツプし、フイルタパラメータの読み出しシー
ケンスを終了する。 パラメータメモリ47から読み出されたフイル
タパラメータはタイミング同期化回路459に入
力される。この回路459はプログラムステツプ
信号PCとタイミング信号発生回路39のデコー
ダ56(第13図)から与えられるタイミング信
号群TS1を受入れ、これらの信号に基づき、各
次数のフイルタパラメータを所定のタイミングに
同期化して出力する。この同期化回路459の出
力はスタテイツクモード用のフイルタパラメータ
SPRとしてパラメータセレクタ46のA入力に
与えられる。パラメータセレクタ46のB入力に
はマイコンインタフエース44(第11図)から
出力されたダイナミツクモード用のフイルタパラ
メータDPRが与えられる。セレクタ46の選択
制御入力SBにはマイコンインタフエース44か
ら出力されたダイナミツク/スタテイツク選択信
号DSが与えられ、ダイナミツクモード時はB入
力のパラメータDPRを選択し、スタテイツクモ
ード時はA入力のパラメータSPRを選択する。 セレクタ46の出力はA、B各系列のパラメー
タ供給回路48,49に入力される。A系列の回
路48のみ詳細例を示したが、B系列の回路49
も同一構成である。パラメータ供給回路49にお
いて、分配回路485は、セレクタ46からシリ
アルに与えられるパラメータデータのうちA系列
のチヤンネル1〜4に関するデータを取り込み、
これを各チヤンネル別に並列化すると共に、フイ
ルタ係数データ(チヤンネル1ではCOEA1)、
重みづけデータ(チヤンネル1ではWEIA1)、
偶奇識別データ(チヤンネル1ではEOA1)の
別に並列化し、これらを各チヤンネルに対応する
記憶回路481〜484に分配する。このような
分配制御のために、適宜のタイミング信号TS2
がタイミング信号発生回路39のデコーダ56
(第13図)から発生され、分配回路485に与
えられる。 記憶回路481〜484はチヤンネル1につい
て詳細例を示すが、他のチヤンネルに関しても同
様である。12ビツトのフイルタ係数データCOEA
1はセレクタ96を介して16ステージのシフトレ
ジスタ97に入力される。このフイルタ係数デー
タCOEA1は16タイムスロツトにおいて16次数分
のデータが時分割多重化されており、この16次数
分のデータがシフトレジスタ97の各ステージに
取り込まれる。シフトレジスタ97の内容はセレ
クタ96を介して循環保持される。3ビツトの重
みづけデータWEIA1はラツチ回路98に入力さ
れる。1ビツトの偶奇識別データEOA1はラツ
チ回路99に入力される。セレクタ96及びラツ
チ回路98,99の制御は、図示しない適宜の制
御信号によつて適切なタイミングで行われる。す
なわち、スタテイツクモードのときは、鍵の押し
始めに応答してパラメータメモリ47から読み出
された16次数分のパラメータデータが、タイミン
グ同期化回路459、セレクタ46、分配回路4
85を経由して記憶回路481に入力されるタイ
ミングに同期して、セレクタ96が16次数分のフ
イルタ係数データCOEA1をシフトレジスタ97
に取り込み、ラツチ回路98,99が重みづけデ
ータWEIA1、偶奇識別データEOA1をラツチ
する。以後、そのチヤンネルに対して新しい押圧
鍵が割当てられるまで、シフトレジスタ97、ラ
ツチ回路98,99の記憶は保持される。一方、
ダイナミツクモードのときは、マイコンインタフ
エース44(第11図)からセレクタ46、分配
回路485を経由して8次数分のダイナミツク制
御用パラメータデータDPRが与えられるタイミ
ングに同期して、該パラメータデータDPRのう
ち8次数分のフイルタ係数データCOEA1をシフ
トレジスタ97に取り込み、重みづけデータ
WIA1をラツチ回路98にラツチし、偶奇識別
データEOA1をラツチ回路99にラツチする。
以後、新たなダイナミツク制御用パラメータデー
タDPRが与えられるまで、シフトレジスタ97、
ラツチ回路98,99の記憶は保持される。な
お、ダイナミツクモードにおいては、シフトレジ
スタ97の16ステージのうち、9次から16次に対
応する8ステージに8次数分のダイナミツク制御
用パラメータのフイルタ係数データをストアし、
1次から8次に対応する8ステージの内容は0に
しておく。 各記憶回路481〜484のシフトレジスタ9
7から出力されるフイルタ係数データはセレクタ
486に与えられ、そこでタイミング信号TS3
に従つて各チヤンネルのものが順次選択され、時
分割多重化される。こうして、チヤンネル1〜4
に関するフイルタ係数データが時分割多重化さ
れ、A系列のフイルタ係数データCOEAとしてA
系列の乗算器及びアキユムレータ部41(第14
図)に供給される。 各記憶回路481〜484のラツチ回路98か
ら出力される重みづけデータはセレクタ487に
与えられ、そこでタイミング信号TS4に従つて
各チヤンネルのものが順次選択され、時分割多重
化される。こうして時分割多重化されたチヤンネ
ル1〜4の重みづけデータWEIAはA系列の乗算
器及びアキユムレータ部41(第14図)に供給
される。 各記憶回路481〜484のラツチ回路99に
ラツチされた各チヤンネル1〜4の偶奇識別デー
タEOA1〜EOA4は対応するチヤンネルのステ
ートメモリ401〜404(第14図)に並列的
に与えられる。 <ピツチ同期出力回路50:第16図> 第16図において、セレクタ501のB入力に
はA系列の乗算器及びアキユムレータ部41(第
11図、第14図)から出力されたチヤンネル1
〜4のフイルタ済み楽音信号サンプル値データ
SMAが時分割多重的に与えられる。第14図の
ラツチ回路85において各チヤンネル1〜4のフ
イルタ済み出力が取り込まれるタイミングは第2
0図のSUMの欄の累算最終タイムスロツト(斜
線の部分)であり、これにより、各チヤンネル1
〜4のフイルタ済みサンプル値データSMAのチ
ヤンネルタイミングを示すと第17図のようにな
る。セレクタ501のC入力にはB系列の乗算器
及びアキユムレータ部43(第11図)から出力
されたチヤンネル5〜8のフイルタ済み楽音信号
サンプル値データSMBが時分割多重的に与えら
れる。このデータSMBのチヤンネルタイミング
は第17図のようである。 セレクタ501のA入力には8ステージのシフ
トレジスタ502の出力が与えられ、該セレクタ
501の出力は該シフトレジスタ502に入力さ
れる。このセレクタ501とシフトレジスタ50
2は、各チヤンネル1〜8のフイルタ済みサンプ
ル値データを第3図のPS1のチヤンネルタイミ
ングに示すような1タイムスロツト単位の高速の
時分割タイミングに従つて時分割多重化するため
のものである。第13図のデコーダ56からタイ
ムスロツト57,13,26,46において
“1”となるタイミング信号1REGLDAとタイム
スロツト11,31,44,64において“1”
となるタイミング信号1REGLDBが発生され、こ
れが第16図のセレクタ501のB選択制御入力
SBとC選択制御入力SCに与えられる。これによ
り、B入力に与えられるデータSMAのうち、チ
ヤンネル1のデータがタイムスロツト57(これ
は第3図に示すPS1のチヤンネルタイミングの
うちチヤンネル1のタイミングに対応する)で選
択され、チヤンネル2のデータがタイムスロツト
13(第3図のPS1のチヤンネル2のタイミン
グ)で選択され、チヤンネル3のデータがタイム
スロツト26(第3図のPS1のチヤンネル3の
タイミング)で選択され、チヤンネル4のデータ
がタイムスロツト46(第3図のPS1のチヤン
ネル4のタイミング)で選択される。また、C入
力に与えられるデータSMBのうち、チヤンネル
5のデータがタイムスロツト11(第3図のPS
1のチヤンネル5のタイミング)で選択され、チ
ヤンネル6のデータがタイムスロツト31(第3
図のPS1のチヤンネル6のタイミング)で選択
され、チヤンネル7のデータがタイムスロツト4
4(第3図のPS1のチヤンネル7のタイミング)
で選択され、チヤンネル8のデータがタイムスロ
ツト64(第3図のPS1のチヤンネル8のタイ
ミング)で選択される。 タイミング信号1REGLDA,1REGLDBをノア
回路503で反転した信号がセレクタ501のA
選択制御入力SAに与えられる。従つて、上述の
各タイミングでシフトレジスタ502に取り込ま
れた各チヤンネルのフイルタ済みサンプル値デー
タは、それ以外のタイミングでは該シフトレジス
タ502で循環保持される。 シフトレジスタ502の出力はセレクタ504
のA入力に与えられる。セレクタ504の出力は
8ステージのシフトレジスタ505に入力され
る。シフトレジスタ505の出力はセレクタ50
4のB入力を介して入力側に戻される。セレクタ
504及びシフトレジスタ505は、デイジタル
フイルタの出力楽音信号をそのピツチに同期して
再サンプリングするためのものである。セレクタ
504のA選択制御入力SAには入力インタフエ
ース38(第12図)から与えられる遅延された
ピツチ同期信号PS1Dが8タイムスロツトの遅延
回路506を介して入力される。 第12図において、ピツチ同期信号PS1はオ
ア回路51を介して64ステージのシフトレジスタ
100に入力される。このシフトレジスタ100
で24タイムスロツト遅延されたピツチ同期信号が
アンド回路101に入力され、40タイムスロツト
遅延されたものがアンド回路102に入力され、
48タイムスロツト遅延されたものがアンド回路1
03に入力され、64タイムスロツト遅延されたも
のがアンド回路104に入力される。各アンド回
路101〜104の他の入力には、第13図のデ
コーダ56から発生されたタイミング信号PSS1
〜PSS4が夫々入力される。各アンド回路101
〜104の出力はオア回路105に与えられ、遅
延されたピツチ同期信号PS1Dが得られる。各信
号PSS1〜PSS4の発生タイミングは第13図中
にかつこ書きで示した通りである。そこにおい
て、例えば「1y8」なる表示は8タイムスロツト
周期で1番目のタイムスロツトで信号“1”が発
生することを示す。従つて、タイミング信号PSS
1の場合、「1y8、3y8」であるから、8タイムス
ロツト周期で1番目と3番目のタイムスロツトで
夫々信号“1”が発生する。第13図中の各信号
PSS1〜PSS4のかつこ内の表示と第3図のPS
1のチヤンネルタイミングとを参照すれば明らか
なように、信号PSS1はPS1におけるチヤンネ
ル1と3のタイミングで“1”となり、PSS2は
PS1におけるチヤンネル2と6のタイミングで
“1”となり、PSS3はPS1におけるチヤンネル
3と7のタイミングで“1”となり、PSS4は
PS1におけるチヤンネル4と8のタイミングで
“1”となる。 以上により、チヤンネル1と5のピツチ同期信
号PS1は24タイムスロツト、2と6のPS1は40
タイムスロツト、3と7のPS1は48タイムスロ
ツト、4と8のPS1は64タイムスロツト、夫々
遅延したものを遅延されたピツチ同期信号PS1D
とする。このようにチヤンネルによつて遅延時間
が異なる理由は、アダプテイブデイジタルフイル
タ装置21(第11図)における各チヤンネル1
〜4、5〜8の演算タイミングのずれに合せたか
らである。 第16図に戻り、遅延されたピツチ同期信号
PS1Dは遅延回路506で更に8タイムスロツト
遅延され、セレクタ504の入力SAに与えられ
る。セレクタ504は或るチヤンネルの信号
PS1Dが“1”のときそのチヤンネルのフイルタ
済みサンプル値データをシフトレジスタ502か
ら取り込み、シフトレジスタ505に入力する。
それ以外のときは、シフトレジスタ505の内容
がセレクタ504のB入力を介して循環保持され
る。こうして、セレクタ504及びシフトレジス
タ505の回路において、各チヤンネルのフイル
タ済みサンプル値データがそのチヤンネルで発生
すべき楽音のピツチに同期して再サンプリングさ
れる。 <フイルタ演算のピツチ同期/非同期の切替> マイコンインタフエース44(第11図)から
第12図のオア回路51に与えられるピツチ同
期/非同期指定信号PASYは、ピツチ同期でフイ
ルタ演算を行う場合常に“0”であり、入力イン
タフエース38はピツチ同期信号PS1に応答し
てフイルタ演算要求信号φF1〜φF8及び遅延さ
れたピツチ同期信号PS1Dを発生する。従つて、
ピツチ同期信号PS1が発生したとき、つまりフ
イルタをかけるべき楽音信号のピツチに同期した
サンプリング周期で、デイジタルフイルタ演算が
行われる。これにより、得られるフイルタ特性は
移動フオルマントとなる。 ピツチ同期させずにフイルタ演算を行う場合
は、ピツチ同期/非同期指定信号PASYを常に
“1”とする。従つて、第12図のオア回路51
の出力はピツチ同期信号PS1の有無にかかわら
ず、常に“1”となる。従つて、入力インタフエ
ース38は各フイルタ演算サイクル(64タイムス
ロツト)毎に一定周期でフイルタ演算要求信号
φF1〜φF8及び信号PS1Dを発生する。従つて、
デイジタルフイルタ演算におけるサンプリング周
波数はピツチに無関係に一定(例えば50kHz)と
なり、得られるフイルタ特性は固定フオルマント
となる。 <フイルタ特性の一例> 上記実施例によつて実現できるフイルタ特性の
一例を第22図〜第27図に示す。 第22図はフイルタの次数を奇数次(31次)に
設定した場合に得られる特性の一例を示すもの
で、ハイパスフイルタ特性を実現したものであ
る。fs/2はサンプリグ周波数fsの1/2であり、
ピツチ周期モードのときは楽音のピツチに同期し
た周波数であり、ピツチ非同期モードのときは一
定の周波数である。 第23図はフイルタの次数を偶数次(32次)に
設定した場合に得られる特性の一例を示すもの
で、ローパスフイルタ特性を実現したものであ
る。 第24図はダイナミツクモードにおける時間的
に変化するフイルタ特性の一例を示している。こ
の例の場合、トーンジエネレータ部18から発生
する音源波形信号はf(フオルテ)つまり最強鍵
タツチに対応するものであるとし、p(ピアノ)
のタツチ、mp(メゾピアノ)のタツチ、mf(メゾ
フオルテ)のタツチに夫々対応する楽音信号をこ
の音源波形信号のフイルタリングによつて得る場
合のフイルタ特性の時間的変化を示している。時
間の欄には、各フイルタ特性に切替えるべきタイ
ミングを発音開始時からの時間によつて示してい
る。フイルタ特性図中の数字は変化ポイントでの
周波数を示しており、単位はHzである。なお、発
生すべき楽音の音高はF2音であるとする。 第25図はf(フオルテ)のタツチで演奏され
たF2のピアノ音の原波形のスペクトルエンベロ
ープを示しており、第26図はp(ピアノ)のタ
ツチで演奏されたF2のピアノ音の原波形のスペ
クトルエンベロープを示している。第25図の原
波形を第24図のp(ピアノ)の欄のOmsの時点
でのフイルタ特性でフイルタリングして得られた
楽音信号のスペクトルエンベロープを示すと第2
7図のようであり、第26図に示すpタツチの原
波形のスペクトルエンベロープと近似しているこ
とが判る。 <変更例> 第16図に示したピツチ同期出力回路50はシ
フトレジスタ502,505を用いてチヤンネル
時分割でピツチ同期処理を行つているが、これに
限らず、各チヤンネル毎に並列的に記憶回路を設
け、並列的にピツチ同期処理を行うようにしても
よい。 上記実施例では、デイジタルフイルタとして係
数が対称性を示すFIRフイルタを用いたが、これ
に限らず非対称の係数のFIRフイルタを用いても
よい。また、フイルタ型式はFIRに限らずIIR(無
限インパルス応答)やその他の型式を用いるよう
にしてもよい。 第21図に示したパラメータメモリの記憶フオ
ーマツトはこれに限定されず、様々な変更が可能
である。例えば、そのような階層構造を採用しな
いようにしてもよい。 また、パラメータメモリのアドレスの仕方は上
記実施例に示した手順に限らず、様々な変更が可
能である。例えば、実施例ではキーグループテー
ブルを先にアクセスし、次にタツチグループテー
ブルをアクセスしているが、これは逆であつても
よい。また、第15図ではプログラムメモリ45
1に読み出し手順を予め記憶したマイクロプログ
ラミング方式を採用し、これによりパラメータメ
モリ47の読み出しを行うようにしているが、こ
のようなマイクロプログラム方式によらずに、完
全なハードワイヤード回路あるいは完全なソフト
ウエアプログラムによつて読み出し制御を行うよ
うにしてもよい。 また、上記実施例では複音型の電子楽器におい
てこの発明を適用しているが、単音型の電子楽器
においても適用することができるのは勿論であ
る。また、専用の電子楽器に限らず、楽音信号発
生又は処理機能を持つ装置一般においてこの発明
を適用することができる。 上記実施例では、トーンジエネレータからアダ
プテイブデイジタルフイルタ装置に入力されるデ
イジタル楽音信号サンプル値データそれ自体がピ
ツチに同期してサンプリングされた状態となつて
いるものとしているが、これに限らない。例え
ば、ピツチ非同期の固定サンプリング周期でサン
プリングされたデイジタル楽音信号をデイジタル
フイルタ装置に入力する場合でも、ピツチ同期信
号によつてこの入力デイジタル楽音信号をサンプ
リングし直しながらピツチに同期したフイルタ演
算動作を行うようにすればよい。 また、上記実施例ではピツチ同期信号発生回路
はトーンジエネレータ内に含まれており、そこで
発生したピツチ同期信号をアダプテイブデイジタ
ルフイルタ装置に導入するようにしているが、こ
れに限らない。例えば、ピツチに同期したサンプ
リング周期を持つデイジタル楽音信号をデイジタ
ルフイルタに入力する場合、このデイジタル楽音
信号のサンプル値データの変化を検出することに
よりピツチ同期信号を発生し、こうして発生した
ピツチ同期信号によつてフイルタ演算動作を制御
するようにしてもよい。
【table】 In the counter 30 of FIG.
No. PS1 is confirmed based on master clock pulse φ.
Set the common sampling frequency fc to P number.
It can be obtained by dividing the frequency accordingly. From the above
As is clear, the P number is the common sample in one period waveform.
Number of cycles of sampling frequency fc, that is, number of sample points
On the other hand, it can be generated by the tone generator 18.
Effective number of sample points per period of musical sound waveform
is 64 as mentioned above. Therefore, the common sample
The dividing number to divide the programming frequency fc is Frequency division number = P number ÷ 64 ...(3) Then, the divided output is 64 per period of musical tone.
It is possible to obtain 64 pulses, which results in 64 pulses.
All effective sample points can be established.
Ru. The common frequency is determined by the division number determined in this way.
When the sampling frequency fc is divided, the above (1), (2),
From equation (3), fc ÷ Frequency division number = (fn x P number) ÷ (P number ÷ 64) =fn×64=fe……(4) The sample point address is determined by this frequency divided output.
The effective sampling frequency can be adjusted by changing the
number fe can be established. In this way,
The effective sampling frequency fe set is the pitch name frequency
It is in harmony with several fn, and pitch synchronization is realized.
The pitch of each channel generated from the counter 30
The channel synchronization signal PS1 is assigned to that channel.
corresponding to the note name of the key, as shown in equation (4) above.
Divided output signal or effective sampling frequency fe
It is a signal with By the way, the frequency division number determined by the above formula (3) is an integer.
However, it often includes decimals. For example, sound
In the case of name A, Dividing number = 909÷64≒14.20 It is. Therefore, the frequency dividing operation in the counter 30
is 2, which is close to the dividing number determined by equation (3), as described later.
The average result is
The same result as dividing by the frequency division number determined by equation (3) is obtained.
I'm trying to be able to do that. In FIG. 4, the P number memory 29 is
Each note in the standard octave as shown in Table 1
The P number of the name is stored in advance. Each channel
The key code KC of the key assigned to bus 28
is applied to the tone generator 18 via the tone generator 18.
Inside the engine generator 18, the first to eighth
The channel key code KC is the PS1 channel shown in Figure 3.
At the timing shown in Jannel timing.
Divided and multiplexed, key codes for channels 9 to 16
The code KC is the PS2 channel timing in Figure 3.
The signals are time-division multiplexed at the timing shown in .
The first to eighth channels thus time-division multiplexed
key code KC is input to P number memory 29.
be done. The P number memory 29 stores the input numbers 1-
Corresponds to the key code KC note name of the 8th channel.
The P number is read out in a time-division manner. The counter 30 reads from the P number memory 29.
an adder 31 that inputs the output P number;
Select input the output of adder 31 to "0" input
selector 32 and 8 which inputs the output of this selector 32.
Stage shift register 33 and shift register
Gate the lower bit (decimal part) of the output of the
a gate 34 which is applied to the other input of the adder 31;
The upper bit of the output of the shift register 33 (integer
part) and start from 7 bits with all bits being “1”.
An adder 35 that adds all "1" signals consisting of
Contains. The P number itself is a 12-bit binary number.
Although it is a coded signal, the output of adder 31 is
13 bits including 1 extra bit as a signal bit
The signal consists of two signals. Inverted key-on pulse and adder 35 key
The signal output from the output output CO is
It is input to the circuit 36, and this AND circuit 36
The output of is applied to the selection control input of the selector 32.
Addition when the output signal of the AND circuit 36 is “0”
is given from the device 31 to the “0” input of the selector 32.
If the selected signal is selected and is “1”, it is input to “1”.
The given signal is selected. selector 32
The "1" input is under the output of the shift register 33.
digit bit (decimal part) and 7 bits output from adder 35
A 13-bit signal consisting of (integer part) is given.
Ru. Key-on pulse KONP starts when the key is first pressed.
This is a signal that becomes “1” only once, and the signals from the 1st to 8th channels
channels are time-division multiplexed.
Ru. The inverted key-on pulse is this key-on
This is the inverted signal of pulse KONP. Selector 32, shift register 33, adder 3
The part 5 is calculated according to the P number as shown in equation (3) above.
Establish a division number like this, and depending on the integer part of this division number
To divide the common sampling frequency fc using
It is a circuit. The adder 31 calculates the decimal part of the frequency division number.
This is to adjust the value of the integer part according to
be. In the above formula (3), the divisor 64 is 26Therefore, dividing
You can simply calculate the number without doing any special division.
The lower 6 bits of the P number are treated as a decimal part.
It is possible to establish the frequency division number corresponding to the P number simply by
I can do that. Therefore, adder 31, selector 32
and the 13-bit output signal of the shift register 33.
The lower 6 bits are the weight of the decimal part, and the upper 7 bits are the weight of the decimal part.
is the weight of the integer part. The adder 35 adds all “1” signals.
is equivalent to subtracting 1. Therefore, addition
In fact, the output of the shift register 33
1 is subtracted from the integer value of . this adder
The result of subtraction of 35 is the 6 bits of the decimal part that were not calculated.
Return to "1" input of selector 32 along with the current data.
is added to the adder again via the shift register 33.
35. Shift register 33 is the master
Since the shift is controlled by the clock pulse φ,
Therefore, the signal of the same channel is transferred to the shift register 33.
The period output from is the master clock pulse φ.
8 times the period, that is, the period of the common sampling frequency fc
It is the period. At the beginning of the key press, the key is assigned
Inverted key-on pulse at channel timing
KONP becomes “0” only once, and at this time, the
The P number of the key is input via the “0” input of the receiver 32.
is selected. The integer part of this P number is the shift lever.
from the register 33 to the adder 35, and the common sample
1 is repeated from the integer part at the period of the pulling frequency fc
and is subtracted. The subtraction result of the integer part is 1 or more.
When, from the carryout output CO of the adder 35
The carry-out signal “1” is constantly output,
Since the conditions of the AND circuit 36 are satisfied, the selector
32 continues to select the "1" input. Repeated subtraction
Eventually, the output of the adder 35 becomes "0".
In other words, the number of fc equal to the number of integer parts of the P number
When the period has elapsed, the carry-out of the adder 35
The output signal is not output, and the conditions of the AND circuit 36 are satisfied.
It doesn't stand. At that time, the selector 32 inputs "0"
Select P number and output of shift register 33
The sum of the lower 6 bits (decimal part data) of
The output of the calculator 31 is selected. In this way, the decimal part
The P number of the value changed somewhat by the addition is shifted.
P given to the register 33 and now changed
Subtracting 1 from the integer value of the number is repeated.
Ru. Note that the gate 34 is an inverted key-on pulse.
KONP disables it only at the beginning of pressing the key,
At other times, the decimal part data is always sent to the adder 31.
give to For P number in adder 31
The value actually used for frequency division is determined by adding the decimal part data.
The integer value of the frequency division number is the division number found from the P number.
May be 1 greater than the integer value. for example,
The P number of pitch name A is 909, and its frequency division number is
14.20, but initially the minutes are divided according to its integer value 14.
I do a lap, but the next time is 14.20 + 0.20 = 14.40, and
becomes 15.00, and divides the frequency according to the integer value 15.
That's what happens. In this way, it is determined by the P number.
The same as or 1 greater than the integer value of the dividing number.
According to the number, the division of the common sampling frequency fc is
The average result is determined by the P number.
A frequency division operation according to the total frequency division number is achieved. adder
The signal of the carry out output CO of 35 is the frequency division.
This corresponds to the output of inverter 3.
The signal inverted at step 7 is used as the pitch synchronization signal PS1.
Output. To deepen your understanding, let's use pitch name A as an example.
3 shows an example of a change in the output of the vector 32. change time
is the period of the common sampling frequency fc.
Initially, the frequency division number is 14.20, which corresponds to P number 909.
, and then the integer value is decreased by 1, which is 13.20,
Below, 12.20, 11.20, 10.20, ...2.20, 1.20 and so on.
The integer value of is sequentially decreased by 1. In the 14th cycle of fc
The number added to the “1” input of the selector 32 is 0.20.
At this time, the carry out signal becomes “0”.
Then, pitch synchronization signal PS1 becomes “1” and select
The controller 32 selects the "0" input. Selector 3
2 "0" input corresponds to P number 909
Given from shift register 33 at cycle number 14.20
The value 14.40 is given by adding the decimal value 0.20.
Therefore, 14.40 is output from the selector 32.
After that, the output of selector 32 is 13.40, 12.40,
11.40, ...2.40, 1.40, decreasing by 1 in sequence.
Then, in the 14th cycle of fc, the input to “1” of selector 32
When the added value becomes 0.40, the key of adder 35
The Yariout signal becomes “0” and the pitch synchronization signal
No. PS1 is generated. At this time, the output of adder 31
The force is 14.20 + 0.40 = 14.60, which is the selector
to the shift register 33 via the “0” input of 32.
Given. Thus, in the case of pitch name A, 14 or 15
The frequency is divided using the dividing number, and the common sampling
Every 14 or 15 cycles of frequency fc (e.g. 400kHz)
The pitch synchronization signal PS1 becomes "1". The pin corresponding to the other 9th to 16th channels
The Tuchi synchronization signal PS2 is also generated in the same manner as described above.
Ru. <Description of tone generator> In the tone generator 18, as described above,
Pitch synchronization signal of each channel generated by
Use PS1 and PS2 to find the exact musical tone that should be generated.
according to sampling timing synchronized with
A musical tone signal can be generated. Of course
However, this is not limited to,
Generates musical tone signals according to pulling timing
It is also possible to do so. Sample point address (instantaneous position) of the musical tone to be generated
The address data that specifies the phase angle) is
Pitch synchronization signals PS1 and PS2 of each channel
This is caused by counting each independently.
I can do it. However, pitch synchronization signals PS1, PS
2 is the reference octave (G4 to F#5 notes) mentioned above.
Since it is compatible with Pitzchi, the above address data
, the octave of the musical note that should be generated
The above pitch synchronization signals PS1 and PS2 are adjusted according to the sound range.
It is necessary to switch the count rate when counting.
be. For example, an octave tone from G3 to F#4.
When generating, pitch synchronization signals PS1, PS2
Count 0.5 each time G4~F#5 occurs.
When generating octave musical tones, use pitch synchronization.
Counts 1 every time signals PS1 and PS2 occur
and generates musical tones in the octave from G5 to F#6.
In this case, pitch synchronization signals PS1 and PS2 are generated.
Count 2 each time. In this way, the ease that should occur
Acoustic sound that changes in sync with the pitch and octave of the sound.
Address data is generated for each channel and this address data is generated for each channel.
Generates digital musical tone signals based on dress data
do. Musical tone signal generation in tone generator 18
Any method may be used. for example,
Store it in the waveform memory according to the address data above.
A method for sequentially reading out musical sound waveform sample value data
(memory read method) or the above address data
A predetermined frequency is set as phase angle parameter data.
Executes modulation calculation to generate musical waveform sample value data.
The desired method (FM method) or the above address
data as phase angle parameter data.
Execute width modulation calculation to generate musical waveform sample value data
What are the known methods such as the AM method?
Other methods may also be used. In addition, the memory read method
When using , the musical sound waveform to be stored in the waveform memory.
may have only one period waveform, but it may be a multi-period waveform.
A shape is preferable because it can improve the sound quality.
Store multiple period waveforms in waveform memory and read them
For example, the method shown in JP-A-52-121313 is
The entire waveform from the start to the end of the sound can be memorized.
A method of reading the data once, or a method of reading out the
Multiple cycles of attack part as shown in issue 142396
Store the waveform and one or more periodic waveforms of the sustain part, and
After reading the waveform of the tact part once, the waveform of the continuous part
A method of repeatedly reading out the
Discrete sampling as shown in issue 147793
Save multiple waveforms and read out the waveform at any time.
Repeat the specified waveform by switching sequentially in between.
Various methods are known, such as a return read method.
These may be adopted as appropriate. <Preliminary explanation of adaptive digital filter
> The basic calculation format for digital filters is
Generally, finite impulse response (FIR) filters and
There is a limited impulse response (IIR) filter.
Adaptive digital filter implementation in this example
FIR filters are used in locations 21 and 22.
There is. First, a general explanation related to FIR filters.
conduct. (a) Basic circuit configuration of FIR filter Figure 5 is a basic circuit diagram of an FIR filter.
Therefore, x(n) is the digit of any nth sample point.
This is the drum sound waveform sample value data, and the FIR
This is the input signal of the filter. z-1is unit time delay
is a time delay of one sampling period.
This is to set. Therefore, x(n-1)
is the digital musical sound wave at the n-1st sample point
It is sample value data of the form x(n-N+1)
is the digital music of the n-N+1st sample point
This is sound waveform sample value data. N is Impul
is the duration of the response and the order of the FIR filter
corresponds to h(0) to h(N-1) are Nth order frames.
is the filter coefficient. This filter coefficient is entered
The triangular blocks shown are multiplicative elements, and the delayed
Data x(n) for each sample point delayed by the element
The corresponding file for x(n-N+1)
Multiply the router coefficients h(0) to h(N-1). Squared
Blocks with a + sign in which calculation power has been input are
It is an addition element, which adds and sums the output of each multiplication and outputs
Obtain the force signal y(n). Impulse response of such a FIR filter
The z-transform or transfer function of {h(n)} is H(z)=N-1n=0 h(n)z-n =h(0)+h(1)z-1+...h(N-1)z-(N-1)
……(Five) It is expressed as (b) Linear phase characteristics of FIR filter One feature of such FIR filters is that
It is possible to make the phase characteristic a linear phase.
Ru. Assuming linear phase, the input and output waveforms of the filter
The phase corresponds completely with linear characteristics between
However, no distortion occurs in the output waveform. Therefore, it is easy
Filter processing of signals such as sound, voice, audio, etc.
suitable for Linear phase FIR filter smell
Then, the phase characteristic is expressed as a function of the angular frequency ω. θ(ω)=−αω ……(6) It is required that Here α is the phase delay
It is a constant called . Also, the direct
Necessary and sufficient conditions for an FIR filter with linear phase characteristics
The impulse response is as shown in equation (8) below.
symmetrical, and has a phase delay α as shown in equation (7) below.
uniquely depending on the duration time (filter order) N
It is to be stipulated. α=(N-1)/2...(7) h(n)=h(N-1-n)...(8) However, 0≦n≦N-1 (c) Symmetry of filter coefficients As shown in equation (8) above, the impulse response exhibits symmetry.
Having filter coefficients h(0) to h
(N-1) means that it has symmetry. vinegar
In other words, setting the filter coefficients with symmetrical characteristics
By this, the linear phase characteristics mentioned above can be realized.
This is possible. Impulse response illustrates an example of symmetry
If the order N is an odd number, it is as shown in Figure 6.
When N is an even number, the result is as shown in FIG. figure
As is clear from
It exhibits symmetrical properties. If N is an odd number,
(N-1)/quadratic is the center, and the images on both sides of it are
The impulse response becomes symmetrical. If N is an even number
is centered between (N-2)/quadratic and N/2.
and the impulse responses on both sides are symmetrical.
Ru. The filter coefficients for orders in symmetrical positions are
Since they are the same value, all filter coefficients of order N
You don't need to prepare that many, just half that number. Details
In other words, if N is an odd number, from the 0th order to (N-
1)/{(N-1)/2}+1 frames up to second order
All you need to do is prepare the filter coefficients, {(N-1)/
2} The filter coefficients from +1st order to N-1st order are
Symmetry from 0th order to {(N-1)/2}-1st order
You can use the filter coefficients at the location. sand
In other words, the same filter coefficient is used for the 0th order and the N-1st order.
The same filter is used for the 1st and N-2nd order.
Use numbers. Also, if N is an even number, the 0th order
N/2 files from (N-2)/2nd order
All you need to do is prepare the coefficients, from N/2 to N-1
The filter coefficients from 0th order to (N-2)/
Use filter coefficients at symmetrical positions up to the second order
do it. (d) Frequency response of linear phase FIR filter The impulse responses are matched as shown in Figures 6 and 7.
Frequency response of linear phase FIR filter exhibiting symmetry
H*(ejFigures 8 and 9 illustrate the characteristics of 〓).
It seems like. If N is an odd number, as shown in Figure 8.
ω=π (where π is the sampling frequency fs
1/2), the level is fixed at 0.
It is not specified and can be set arbitrarily. If N is an even number
As shown in Figure 9, the level when ω = π is necessarily
Z becomes 0. As is clear from this, the order N
If is an odd number, depending on the filter coefficient settings
It is possible to realize high-pass filter characteristics.
However, if N is an even number, the high-pass filter
It is impossible to realize sexuality. However, N
If is an even number, it is easier to design the filter, and the low-pass
Suitable for designing filters and bandpass filters
ing. Therefore, depending on the filter characteristics you are trying to achieve,
so that the order of the filter N can be switched between even and odd.
It is preferable that the adapter of this embodiment
In the digital filter devices 21 and 22
can perform such even-odd switching of order N.
The specifications are such that it can be done. i.e. van
Filter characteristics of high-pass filter and low-pass filter
When performing filtering, set the order N to an even number.
and filtering with high-pass filter characteristics.
If so, set the order N to an odd number. (e) Other features of FIR filter Other features of FIR filters include
Good stability as there is no back loop
There is a characteristic that In other words, the feedback filter, like an IIR filter,
If there is a loop, problems such as oscillation will occur.
However, FIR filters do not cause problems such as oscillation,
It is also easy to design. In addition, when changing the filter characteristics over time,
FIR filters are also advantageous in these cases. this
In the case of temporally different filter characteristics,
Prepare a set of filter coefficients corresponding to each
but then the filter characteristics
A large number of filter coefficients are used to refine the time fluctuations of
A set of is required. To solve this problem
In order to
Prepare the coefficients and calculate between the two sets of filter coefficients.
By performing interpolation, the time elapsed between
to generate a dense set of filter coefficients, and thus
time by the filter coefficients generated by interpolation.
It is possible to set filter characteristics that change over time.
Conceivable. Interpolating the filter coefficients like this
Achieving time-varying filter characteristics while performing in real time
If so, use a highly stable filter like an FIR filter.
In some cases, the filter coefficients are modified to account for instability.
It is very advantageous because there is no need for a husband. In addition, the signal word in the digital filter
Since the length is finite, the signal within the limited word length
Data must necessarily be rounded. like this
The rounding causes noise, but the FIR file
There is no feedback loop in data, so rounding
Since the error due to noise is not accumulated,
This is advantageous in terms of countermeasures. Furthermore, the various characteristics of the FIR filter as described above
For example, the book ``Theory and
Application of Digital Signal Processing”
(Authors: Lawrence, R. Rabiner; Bernard,
Gold, Publisher: Prentice-Hall Inc)
It is described in detail. Next, the adaptive date in this example is
In the digital filter devices 21 and 22,
Some of the features will be briefly explained in advance. (f) How to find filter coefficients Filter coefficients are used to analyze actual musical tones.
More demanded. to find the filter coefficients
An example of the procedure will be explained with reference to FIG.
First, we will introduce two types of musical sound waveforms (original) that represent different tones.
Sampling musical sound waveforms from natural instrument sounds
Prepare by doing so. For example, the original sound waveform 1 is
This is the waveform of a piano sound played with a strong key touch.
The original sound waveform 2 was played with a weak key touch.
This is the waveform of a piano sound. Next, the fast Fourier transformation
The Fourier components of the original sound waveforms 1 and 2 are
Analyze and based on this, the spectrum of both waveforms 1 and 2
Find the characteristics of the file. Next, the spectrum of waveforms 1 and 2
Find the difference in the characteristics of the Next, the spectral characteristics of the difference
quantize the filter coefficients and calculate the filter coefficients based on this.
process. The last obtained filter coefficient is
Store in memory. A filter that realizes time-varying filter characteristics
The data coefficients are parameter memory for dynamic control.
26 (Figure 2) and does not change over time.
Filter coefficients that achieve steady filter characteristics
is a parameter in ADF22 and 22 (Figure 2).
stored in the data memory. In addition, in the above, the spectral characteristics of the difference between the two waveforms are
The reason for determining the filter coefficients based on the tone difference is
One of the original music waveforms in the energator 18 (Fig. 2)
(for example, the waveform corresponding to a strong key touch)
A musical tone signal is generated, and a difference space signal is generated.
filtering according to the vector characteristics.
the other original sound waveform (for example, for weaker touches).
to obtain a musical tone signal corresponding to the corresponding waveform).
This is to do so. Filter according to key touch
When performing key touch strength,
Prepare a corresponding set of filter coefficients.
of the filter coefficients corresponding to several stages.
Prepare only the set of keys, and then use the keys that are not prepared.
The filter coefficient corresponding to the Tsuchi strength is the same as above.
It may also be determined by interpolation. Of course, only the filter coefficient corresponding to the key touch
However, the pitch (or range) or type of tone
or other various factors.
The data coefficients are prepared using a method similar to that described above. (g) Filter operation synchronized with pitch Each service in ADF21 and 22 (Figure 2)
The filter calculation timing for each sample point is accurate.
It is set by synchronization signals PS1 and PS2.
This means that the unit time delay in filter operation is
(z in Figure 5)-1) is the pitch synchronization signal PS1, PS
2. Sunawa
Sampling frequency in filter operation
fs is set by pitch synchronization signals PS1 and PS2
be done. Specifically, it corresponds to each note name G~F#
The frequencies of the pitch synchronization signals PS1 and PS2 are as described above.
Same as the effective sampling frequency fe shown in Table 1.
Since they are the same, the fencing in ADF21 and 22 is
The sampling frequency fs of the filter operation is
As shown in the table, depending on the tone name of the musical tone signal
It will be different. Sun in filter operation
The pulling frequency fs is shown in Figures 8 and 9.
Corresponds to ω = 2π in the frequency response characteristic like
do. As is clear from this, depending on the note name
When the sampling frequency fs changes, the frequency response
The frequency corresponding to ω=2π in the response characteristic is also
The result will change depending on the
The router characteristic becomes a moving formant characteristic. this
The moving formant characteristics are the timbre of the musical signal.
It is very suitable for control. In contrast, the sample in filter operation
The switching frequency remains constant regardless of the pitch of the input signal.
, the resulting filter characteristics are fixed filters.
Becomes Ormanto. (h) Pitch synchronous/asynchronous switching As mentioned above, the moving formant filter is
Suitable for controlling the timbre of musical sounds, but trying to obtain
Depending on the tone or effect, a fixed formant may be used.
Iruta may be preferable. Also, Pitsu
Occurs when operating the Tivent controller 13 (Fig. 2)
Fixed even when the pitch of the sound is greatly slid.
Formant filters are preferred. the
Therefore, in ADF21 and 22 of this embodiment,
Perform filter operations in pitch synchronization or asynchronously
It is designed so that it can be switched between
Ru. In addition, such pitch synchronization/asynchronous switching
Replacement is not the same for all channels, but for each channel.
Specify pitch sync or async independently for each file.
It has become possible to do so. By the way, when operating the pitch vent, the fixed foil is
The reason why a cloak filter is preferable is as follows.
That's right. Pitch vent operator 13
Pitch control can only be used to control slight pitch deviations.
Large pitch slide control over several pitches
is also possible, in which case the sounds shown in Table 1 above
Pit across the octave boundaries of G~F#
control may be applied. At that time, Pitsu
If you are performing filter operations synchronized with
The pulling frequency fs fluctuates rapidly and
The cutoff frequency also fluctuates rapidly (moving focus
), it also causes unnatural timbre changes.
Tarasu. For example, the sound generated by pitch vent operation
The musical note in the note slides from F#5 note to G5 note.
If the sampling frequency is 47.359kHz
to 25.088kHz (see Table 1 above).
) In the case of moving formants, the difference is the same as
The cut frequency also fluctuates rapidly. This way
To prevent such inconvenience, when operating the pitch vent,
Moving formant (filter synchronized to pitch)
fixed formant (in pitch) without using
Asynchronous filter operation) is preferable. Pitsu
In case of asynchronous filter operation, ADF21 and
Sampling frequency of filter operation in and 22
The wave number is 50kHz in the example shown in Figure 3. (i) Files according to dynamics/status
Switching the data order As mentioned above, in dynamic mode
is executed by a microcomputer in real time at the time of pronunciation.
Dynamic control parameters under the control of 14
Dynamic control from the data memory 26 (Figure 2)
Read the parameter data for the ADF
21 and 22.
Therefore, data transfer time is limited and file transfer time is limited.
If the order of the router coefficients is large, within a limited time
Transfer filter coefficient parameter data of all orders
There is a possibility that it cannot be done. Therefore, the dynamic
The filter order in mode is real time data.
The order must be limited to match the transfer time.
Must be. On the other hand, in static mode,
Since there is no need to change the filter coefficients,
There are no such problems. Also, the filter order is large.
It is possible to achieve very fine filter characteristics.
It is preferable because Therefore, static mode
In this case, the filter order should be made sufficiently large.
I have to. For the above reasons, the specifications of this example
is dynamic mode or static mode.
The filter order can be changed depending on the
There is. For example, when in static mode,
The filter order is set to 32 (however, this is for even-order characteristics).
and in the case of odd-order characteristics, it is 31st order),
Set the filter order in dynamic mode.
The 16th order (15th order for odd-order characteristics) is half of
ing. (j) Weighting control of filter coefficients Binary digital data of one filter coefficient
The format is a 12-bit filter coefficient data section,
It consists of a 3-bit weighting data part. 3bi
The weighting data part of the tuto is 0, +1, +2, +
6 types of shift amounts: 3, +4, and +5 bits
This shift
The filter coefficient data section is shifted according to the amount.
and the weighting is done. 12-bit file
The router coefficient data part can be shifted by up to 5 bits.
By performing weighting control, the filter
The dynamic range of numbers is effectively 17 bits.
Expanded. This kind of weighting control
While ensuring sufficient dynamic cleansing,
Number of bits of filter coefficient stored in memory
The capacity of the filter coefficient memory is
Helps save on quantity. <Overall explanation of adaptive digital filter> Figure 11 shows the addresses corresponding to channels 1 to 8.
Adaptive digital filter device (ADF) 2
1 is a block diagram schematically showing an example of the internal configuration of
The other ADF22 can be configured in exactly the same way.
can. The input interface 38 is a tone generator
The pitch synchronization signal PS1 is received from the
input the pitch synchronization signal PS1 of each channel.
Condition adapted to the calculation timing inside ADF21
A detailed example is shown in Figure 12.
is shown. The timing signal generation circuit 39 is inside the ADF 21.
Generates timing signals that control various operations of the unit.
At the same time, input from the input interface 38
corresponds to the pitch synchronization signal of each channel.
Performs various operations required for filter operation based on signals.
It generates a calculation timing signal, and its details are
A detailed example is shown in FIG. As mentioned later
The filter operation for each channel is performed in a time-sharing manner.
This timing signal generation circuit 39
filter performance of each channel at the appropriate time.
Give a timing signal to control the calculation operation.
It's getting old. State memories 40, 42 and multipliers and
The humulator parts 41 and 43 are filters of the FIR filter.
A digital filter circuit that performs filter calculations.
Ru. State memory 40, multiplier and storage
A digital filter circuit consisting of a data section 41 (this
This is called an A-series digital filter circuit).
1st to 4th channel (Ch1 to Ch4) files
State memory 42 and multiplier
and an accumulator section 43.
filter circuit (this is a B series digital filter
(referred to as circuit) is the fifth to eighth channel (Ch5~
Ch8) is used to perform the filter operation. Each series
The digital filter circuits A and B each have 4 channels.
The filter operation for the filter is performed in a time-sharing manner.
It's getting old. Filters for channels 1 to 8
Reason for dividing calculation into two series A and B
is due to circuit design reasons. state memory 4
0,42 is tone generator 18 (Figure 2)
The digital musical tone signal sample value data given by
Import data TDX in synchronization with pitch synchronization signal PS1
the number of stages corresponding to the predetermined filter order.
Delayed at the timing corresponding to the Tuchi synchronization signal PS1
The basic circuit of the FIR filter shown in Figure 5 is
unit delay element z in-1corresponds to the set of Squared
The calculator and accumulator sections 41 and 43 are
Digital musical tones delayed in memory 40, 42
For signal sample value data, its delay order is
Multiply the filter coefficients of the corresponding orders, and
The calculation results are cumulatively summed, and the FIR shown in Figure 5
Multiplication elements and addition elements in basic filter circuits
corresponds to Multiplication with A-series state memory 40
A detailed example of the container and accumulator section 41 is shown in Fig. 14.
The structure of the B series is similar to this.
can be achieved. The microcomputer interface 44 is a microcomputer
data and access under the control of the user 14 (Figure 2).
Various data given via the address bus 28
Accepts and supplies to each circuit in ADF21.
be. Accepted via this interface 44
The types of data that can be collected are as follows. Key code KC: assigned to each channel
Show the key. Key-on pulse KONP: Assigned to each channel
The signal becomes “1” only once at the beginning of pressing the key.
Ru. Touch code TCH: Assigned to each channel
Indicates the strength of the touch when pressing the key. Tone code VN: assigned to each channel
Displays the tone type (voice) selected for the key.
show. The above KC, KONP, TCH, and VN are specified times and minutes.
According to the division timing, each channel is divided into hours and minutes.
output from the interface 44 in a partially multiplexed state.
parameter processing unit
(Sometimes called PPU) It is given to 45. Pitch synchronous/asynchronous designation signal PASY: This
Digital filter calculation in ADF21
A signal that specifies whether to perform the process synchronously or asynchronously.
This is the number. This signal PASY is also
can be given in splits, and the file
Pitch synchronous/asynchronous control of data calculations on each channel
It can be done independently for each. This signal PASY
is the selected tone type or pitch vent.
Operation details of the operator 13 (Fig. 2) or dedicated
Or, it may occur depending on the operation status of the appropriate controls, etc.
and is provided to interface 44 via bus 28.
It will be done. Pitsu output from interface 44
The synchronous/asynchronous designation signal PASY is input interface
is applied to the pitch synchronization signal PS1.
The input interface 38 generates a signal according to the
It is used to control whether or not to Dynamic filter parameter DPR: Ma
Dynamite under the control of Microcomputer 14
read from the parameter memory 26 (Fig. 2) for
Extracted filter parameters (filter coefficients)
It is. As mentioned above, for this dynamic mode
The content of the filter parameter DPR is the duration of the sound.
Changes over time. This dynamic mode
The data format of the filter parameter DPR for
Similarly, the 12-bit filter coefficient data part and 3
It consists of a bit weighting data part, and further the following
Contains data that identifies whether a number is even or odd. Also, the aforementioned
As per the filter parameters for this dynamic mode.
The order of one set of data DPR is 16th (or 15th).
Ru. Furthermore, as is clear from the above, the linear phase characteristic
Due to the symmetry of the filter coefficients in
A set of dynamic mode filters to prepare
The parameter DPR only needs to be for the 8th order. Dynamic/static selection signal DS:
Power/status selection switch 27 (No.
This is a signal generated in response to the operation shown in Figure 2), and is a signal generated in response to the operation of
Is the filter calculation performed in the dynamic mode described above?
Instruct whether to perform in static mode. The above DPR and DS are parameters from interface 44.
is applied to meter selector 46. The parameter memory 47 is in static mode.
Filter parameters (filter coefficients) for
It is something I have memorized. The parameter processing unit 45 is
From parameter memory 47 for static mode
It functions to read the filter parameters of. vinegar
That is, given a key-on pulse KONP
, tone code VN, touch code TCH, key
Parameters to be read based on the contents of code KC
Calculate the address of the data memory 47 and use this address.
The filter parameters stored in the memory
Read from 47. State spider read out
The filter parameter SPR for the
46. This state spider
The data format of the filter parameter SPR for
This is similar to the DPR described above. Also, as mentioned above,
Filter parameter SPR for vertical mode
One set of orders is 32nd (or 31st). Furthermore, before
As is clear from the above, the curve in the linear phase characteristic
Due to the symmetry of the filter coefficients, a set of actually prepared
Filter parameters for static mode
Only the 16th order is sufficient for SPR. The parameter selector 46 is a dynamic/speed
dynamically depending on the contents of the vertical selection signal DS.
File for static mode or static mode
Select one of the parameters DPR and SPR. Selection
The selected parameters are A series and B series parameters.
The data is input to data supply circuits 48 and 49. A series
In the parameter supply circuit 48, the first to fourth channels
Accepts the filter parameter DPR or SPR of the file
This is stored and used at the same time as the filter calculation timing.
The state memory 40, multipliers and
It is supplied to the mulrator section 41. B series parameters
In the supply circuit 49, the films of the fifth to eighth channels are
Do the same thing for the data parameters. Filter parameters for static mode
SPR is a parameter memo only once at the beginning of key press.
The parameters are read out from the library 47 and then supplied
It is stored in circuits 48 and 49. Therefore, the state
In Tsuku mode, the filter coefficient is set during the sound generation period.
does not change and maintains constant filter characteristics. other
On the other hand, filter parameters for dynamic mode
DPR allows new parameters to be installed on the microcontroller.
parameters until given via the interface 44.
stored in the data supply circuits 48 and 49, and
The content of the parameter DPR changes over time.
It is rewritten every time. Output from parameter supply circuits 48 and 49
Identify whether the order of filter parameters is even or odd
Odd-even identification data EOA1 to EOA4, EOB1 to EOB
4 is given to state memories 40 and 42, and
router coefficient data section COEA, COEB and weighting data
The data parts WEIA and WEIB are multipliers and storage units.
The data is given to the data sections 41 and 43. In addition, the marks in the diagram
The suffix A or B in the number indicates the distinction between A series and B series.
represents something different. Data EOA1~EOA4, EOB1~
EOB4 is given in parallel for each channel.
However, data COEA, COEB, WEIA, WEIB
is given for each channel in a time-sharing manner. Parameter processing unit 45, parameter
parameter selector 46, parameter memory 47,
A detailed example of the meter supply circuits 48 and 49 is shown in Figure 15.
It is shown. The pitch synchronization output circuit 50 includes a multiplier and an
Each channel output from the mulrator sections 41 and 43
filtered musical tone signal sample value data.
input and synchronize these to each pitch.
This is a circuit that re-samples the signal by sampling. Click here
The signals used for sampling control are
source 38. Pitch synchronization signal PS1D
This is the pitch synchronization signal for each channel.
PS1 is delayed by a predetermined time. in a pinch
Delayed pits due to synchronized resampling
The reason for using the synchronization signal PS1D is because the data in the previous stage is
Musical tone of each channel in digital filter calculation
This is to match the time delay of the signal. like this
The digital filter output signal is synchronized to that pitch.
The process of resampling after
The frequency is harmonized to the pitch of the musical note, so there is no folding noise.
solve the problem of issuance. Daiji in sync with Pitzchi
When performing digital filter calculation, use digital filter.
The router output signal has a sampling frequency synchronized to pitch.
Since it has a period of time, a pitch synchronization output circuit 50 is specially provided.
Even if you do not have one, it is possible to achieve pitch synchronization.
Digital filter performance is performed asynchronously to the pitch.
When performing calculations, pitch synchronization is required.
A synchronous output circuit 50 is required. pitch synchronization
A detailed example of the output circuit 50 is shown in FIG.
Ru. Next, the adaptive digital filter device 21
A detailed example of each part will be explained. In addition, in each figure, "1D" is written in the block.
Circuits marked with a number such as “8D” and the letter D are slow
It is a delay circuit or shift register, and the previous number
indicates the number of delay stages or stages. Also, this
in the delay circuit or shift register block.
delay control clock pulse or shift control clock pulse.
It is not shown that the Tsuku pulse is input.
The master clock pulse φ (see Figure 3)
Delay or shift control is performed by. <Input interface 38: Figure 12> In Figure 12, the pitch synchronization signal PS1 is
to the shift register 53 via the circuits 51 and 52.
is input. As shown in Figure 3, this pitch synchronization
Signal PS1 has 8 time slots as one cycle.
8 channels are time-division multiplexed, or
Synchronize to the pitch of the key assigned to the channel.
1 time slot corresponding to that channel with a period of
A signal "1" is generated at the point. shift register 53
The output of is passed through an AND circuit 54 and an OR circuit 52.
It is returned to the input side, and the pitch synchronization signal for 8 channels is sent back to the input side.
No. PS1 is in the 8-stage shift register 53.
Retained in circulation. Eight channels corresponding to each channel.
A latch circuit 55 is provided in parallel, and a shift circuit 55 is provided in parallel.
The pitch synchronization signal output from the register 53 is
The data input D is inputted in parallel. Each rat
Each channel is connected to the latch control input L of the latch circuit 55.
Latch timing signal φFS1 (25) corresponding to
φFS2 (29), ...φFS8 (56) can be input and left respectively.
The number written after φFS indicates the channel number.
The next number in brackets is one operation cycle.
(64 time slots shown in Figure 3)
indicates the slot number and corresponds to that time slot number.
the latch timing in the corresponding time slot.
The signal becomes “1”. For example, signal φFS1
(25) becomes signal “1” at time slot 25,
This corresponds to the first channel. Figure 3
As is clear from reference, time slot 25 is
The first channel of pitch synchronization signal PS1
It supports time division timing. Therefore, this
Latch controlled by signal φFS1 (25)
The pitch synchronous signal of channel 1 is connected to the circuit 55.
Contents of issue PS1 (at the timing of synchronization with Pitzchi)
is the signal “1”, and the signal is “1” at other times.
“0”) is latched. Other channels 2 to 8 as well
The pitch sync signal of each channel is
each in parallel to the latch circuit 55 at a certain timing.
Latched. In addition, the latch timing corresponding to each channel
The input signals φFS1 (25) to φFS8 (56) are the same as those shown in Figure 13.
generated from coder 56. The decoder 56 is
The output of the printer 57 is decoded and various types of
generates a timing signal. Counter 57 is a master
The modulus 64 that counts the lock pulse φ
counter and system synchronization pulse SYNC
(FIG. 3). each
Latch timing signals corresponding to channels 1-8
Which time slot are numbers φFS1 (25) to φFS8 (56)?
It is clear from the display in Figure 13 that this occurs in
cormorant. Returning to Figure 12, each timing signal φFS1 (25)
~φFS8 (56) is multiplexed and inverted by the NOR circuit 58.
be transferred. The output of the NOR circuit 58 is the AND circuit 54
is input. This causes the latch circuit 55 to
Shift rate for the channel where the acquisition was performed
The memory of register 53 is cleared. On the other hand, the pitch synchronization signal PS1 became “1”.
It is latched in the latch circuit 55 corresponding to the channel.
The received signal “1” will correspond to it in the next cycle.
Latch timing signal φFS1 (25) to φFS8 (56)
is held until it occurs. In this way, the latch times
The pitch synchronization signal PS1 is “1” on the line 55.
Supports 64 time slots for channels
The signal "1" is held for a period of time. Each chiyanne
The output of the latch circuit 55 corresponding to the filter
The timing shown in Fig. 13 is used as the calculation request signals φF1 to φF8.
is applied to the switching signal generation circuit 39. I'll explain later
In other words, these filter operation request signals φF1 to φF8 are
When it becomes “1”, the filter performance for one sample point is
calculation is performed. Pitch synchronization signal PS1 is generated.
Only when the filter operation request signals φF1 to φF8 are
Since it becomes “1”, it is easy to apply a filter after all.
Digital filter performance synchronized to the pitch of the sound signal
A calculation will be performed. For example, as shown in FIG.
The pitch synchronization signal PS1 becomes “1” when the pitch is 9.
(In this case, this signal “1” is a
This is the pitch synchronization signal of channel 1), and this is the shift
It is circularly held in the register 53 and is stored in the time slot 2.
5, when the timing signal φFS1 (25) is generated,
It is latched to the tsuchi circuit 55 and corresponds to channel 1.
The filter operation request signal φF1 to be
It rises to "1" at step 25. This signal φF
1 is total up to time slot 24 of next cycle
The signal “1” is maintained for a time width of 64 time slots.
hold <Timing signal generation circuit 39: Fig. 13> In FIG. 13, the timing signal generation circuit 3
9 is the decoder 56 and the counter 57 described above.
is given from input interface 38 in FIG.
Filter operation request signal φF for each channel
1 to φF8 to control the filter calculation operation.
Arithmetic timing generation circuit that generates timing signals
391-398 for each channel (Ch1-Ch8)
It is equipped with. In the figure, channel 1 circuit 391
The details were shown only for episodes 2 to 8 of other channels.
Roads 392 to 398 also have the same configuration, and if you enter there
The input timing signals T(33), T(49),...
Only the time relationship is different. timing signal T (33),
T(49), . . . are generated from the decoder 56. Before
Similar to the above, in the code indicating the timing signal,
The numbers in brackets represent one calculation cycle (shown in Figure 3).
64 time slots)
and the time corresponding to that time slot number.
The timing signal becomes “1” in the slot.
to show that Other signals generated from decoder 56
The same goes for the timing signal;
Its timing signal by referring to the numbers in
In which time slot occurs (“1”
) can be easily determined. For example, timing signal
No. T (33) has a time slot as shown in Figure 17.
The signal becomes “1” at port 33, and is reliable.
No. T (3-18) is from time slot 3 to 18.
The signal becomes "1" between the two. Channel 1 calculation timing signal generation circuit 3
To explain 91, the filter calculation request signal
φF1 and timing signal T (33) are connected to AND circuit 59
given to. Therefore, perform filter operation
If required, time slot 3
At the timing of 3, the output of the AND circuit 59 becomes “1”
becomes. The output signal of this AND circuit 59 and this
The signal was delayed by one time slot using the delay circuit 60.
The signal is applied to the OR circuit 61. This or time
The output of line 61 is the filter data sampling clock.
Digital filter circuit as the check signal RLA1
It is used to control the unit delay in
This signal RLA1 is timed as shown in Figure 17.
When the slots are 33 and 34, it becomes "1". The AND circuit 62 is connected to the output of the AND circuit 59 and the output of the AND circuit 59.
Even-odd identification data EOA1 of Yannel 1 (this is the
Output from the parameter supply circuit 48 in Figure 11
) is inverted by the inverter 63, and the signal is
Given. We are trying to realize this data EOA1
When the order of the filter characteristic is an even number, the signal
The signal is "1", and the signal is "0" when the order is an odd number.
The output of the AND circuit 62 is sent to the delay circuit 64 for 2 times.
The slot is delayed and the inhibit signal INHA1 and
is output. When the filter order is odd,
The output signal of the code circuit 62 is sent to the time slot 33.
becomes “1” and the time after that 2 time slots
When slot 35, signal INHA1 becomes “1”
(See Figure 17). If the filter order is even, the
The number INHA1 is always “0”. This invitation
Signal INHA1 is used for calculation of digital filter circuit.
In operation, the highest even order (32nd order) operation is performed.
Odd-order filter characteristics are achieved by inhibiting
used to. Timing signals T(3-18) and T(35-50) are on.
It is input to the circuit 65, and its output and AND
The output of the circuit 59 is input to the OR circuit 66.
Ru. The output of the OR circuit 66 is connected to one tie in the delay circuit 67.
mslot delayed first shift clock signal
It is output as φFFA1 (see FIG. 17). Ma
In addition, the output of the OR circuit 66 and the output of the delay circuit 64 are
The signal inverted by the inverter 68 is sent to the AND circuit 69.
, and its output is connected to the delay circuit 70 to
The imslot-delayed signal is used as the second shift clock.
It is output as a signal φFLA1 (see FIG. 17).
Signal φFLA1 is a tie if the filter order is even.
It is “1” when the number is 36, but if it is an odd number
In this case, it is “0”. These shift clock signals
φFFA1 and φFLA1 are digital filter circuits
In order to perform calculation operations for each order in a time-sharing manner,
In order to
The musical tone signal sample value data corresponding to the delay stage is
Used for next shift. Times according to timing signal T(35-50)
A multiplication tie that is “1” between 35 and 50.
The timing signal PDOA1 (see Figure 17) is
Musical tone signal sample value in digital filter circuit
The period during which the data should be multiplied by the filter coefficient
It gives instructions. Corresponding to other channels 2 to 4 in A series
to the calculation timing signal generation circuits 392 to 394.
Timing signals T(49) and T(19) used in
-34), T (51-2), ... are ties for channel 1.
timing signals T(33), T(3-18), T(35-50)
The timing was shifted by 16 time slots.
It is something. Therefore, the circuit 391 of channel 1
Same as each signal RLA1~PDOA1 output from
Signals RLA2~PDOA2,...RLA4~PDOA
4 is the circuit 392-394 of other channels 2-4
The timings are shifted by 16 time slots from
This occurs during Based on this, the A series day
Digital filter circuits (especially multipliers and
In the data section 41), one operation cycle = 64 tie
Time interval every 16 time slots between slots
to perform filter calculation operations for four channels 1 to 4.
It is now possible to have it done in a time-divided manner.
Ru. Arithmetic data corresponding to each channel 5 to 8 of B series
Also in the timing signal generation circuits 395 to 398
16 time slots shifted between each channel
Timing signals T(49) and T(19
-34), T(51-2), ... are used, and the same as above.
various signals RLB1~PDOB1,...RLB4~
PDOB4 is generated. Arithmetic timing signal generation circuit corresponding to A series
Each signal RLA1~ generated in 391~394
PDOA4 is given to the A series state memory 40.
and is emitted by circuits 395 to 398 corresponding to the B series.
Each of the generated signals RLB1 to PDOB4 is a B-series stream.
The data is applied to the state memory 42 (FIG. 11). <State memory 40: Fig. 14> In FIG. 14, the A-series state memory 4
0 is the step corresponding to each channel 1 to 4 of the A series.
It is equipped with root memories 401 to 404 in parallel.
Ru. Only the state memory 401 of channel 1 is detailed.
Although the details are shown, the states of other channels 2 to 4
The memories 402 to 404 also have the same configuration, and there
The input signals are different. Each of the above
Calculation timing signal generation times corresponding to channels 1 to 4
Each line generated from paths 391 to 394 (Fig. 13)
Signal RLA1~PDOA1,...RLA4~PDOA4
is the state memory corresponding to the channel of self
401 to 404, respectively. The state memory 40, multiplier and
Before explaining the details of the accumulator section 41, this
The basis of a digital filter circuit consisting of these circuits is
Schematic diagrams shown in Figures 18 and 19 regarding this operation
Explain with reference to. <Basic operation of even-order filter calculation: Figure 18> Figure 18 shows the above digital filter circuit.
Realizes filter characteristics consisting of an even number order (32nd order).
Explains the basic operation of FIR type filter operation when
A is a block diagram, b is a schematic diagram for each
Shift register SR of a at calculation timing
1. Each stage of SR2 Q0~Q15,Q16~
It shows the state of the musical tone signal sample value in Q31. The first shift register SR1 has 16 stages.
First, the digital musical tone signal signal to be filtered.
sample value data xois input via selector SEL1
be done. New sample via selector SEL1
value data xoAs a signal to capture the
Filter data sampling clock signal RLA
(RLA1 for channel 1) is used and
As shift clock pulse of shift register SR1
The above-mentioned first shift clock signal φFFA (ch.
For channel 1, φFFA1) is used. 1st
Each stage Q0 to Q1 of shift register SR1
5 contains 16 samples from sample point n to n-15.
pull value data xo~xo-15is retained. This schiff
The output of the final stage of register SR1 is selected.
Sampling clock signal via data SEL1
When there is no RLA, it returns to the first stage. this
Shift register SR1 is shifted only to the right.
Ru. The second shift register SR2 also has 16 stages.
Then, the output of the first shift register SR1 is selected.
It is input via data SEL2. Selector SEL2
A signal to take the output of SR1 into SR2 via
As mentioned above, the filter data sampling method is
clock signal RLA is used to control the shift clock of the SR2.
The clock pulse is the second shift clock signal mentioned above.
φFLA (φFLA1 for channel 1) is used
be done. Each step of this second shift register SR2
The stages Q16 to Q31 have sample points n to n-.
16 sample value data from 16 to n-31
xo-16~xo-31is retained. Shift register SR2
The final stage Q31 of is passed through selector SEL2.
When there is no sampling clock signal RLA, the first
Connected to stage Q16. This shift register
The SR2 is a bidirectional shift type, and the sampling
Right shift mode when clock signal RLA is “1”
When it is “0”, it becomes the left shift mode. Stage Q15 of shift registers SR1 and SR2
and the output of Q16 are added by adder ADD, and the output of
The addition result is given to the multiplier MUL and filtered
The number COEA is multiplied. The multiplication result is Akiyum
The multiplication result with respect to all orders is given to the
The fruits are accumulated there. In this way, a
The data for one sample point is output from the storage unit ACC.
The router calculation result is output. Adder ADD adds sample value data for two sample points.
and add the common filter coefficient COEA to it
The reason for multiplying by the multiplier MUL is based on the above-mentioned
Due to the symmetry of the router coefficients. That is, the symmetrical relationship
The two sample value data in
Multiply them separately because they are multiplied by the router coefficients
Both samples are added together and then multiplied once without
Multiply the pull value data by coefficient at the same time.
ing. In Figure 18b, the calculation timing of the vertical axis
Each time slot corresponds to the master clock.
Proceed to. The numbers shown therein are in the order of convenience.
1 calculation cycle (64 time slots) as shown
This is not an absolute indication of the time slot number in the
do not have. In the example in the figure, at calculation timing 1, the system
Each stage Q0 to Q of foot registers SR1 and SR2
x to 31ofrom xo-31Sampling of up to 32 sample points
Contains value data. In the example in the figure, the sample is
Assume that the operating clock signal RLA becomes “1”.
ing. This allows the shift clock signal to
According to φFFA and φFLA, shift register SR1,
SR2 is shifted to the right by one stage, and this calculation timer is
In timing 2, the state is as shown in the figure. At this time
The shift clock signals φFFA and φFLA are channel
In case of 1, the columns of φFFA1 and φFLA1 in Figure 17
This occurs at time slot 34 as shown in
be. As is clear from the figure, the next time period
The rotor generates shift clock signals φFFA and φFLA.
Therefore, at calculation timing 3 in Figure 18b,
The states of each stage Q0 to Q31 do not change.
However, 16 times from calculation timing 3 to 18
The slot width is the multiplication time for channel 1.
timing signal PDOA1 (Fig. 17) is generated.
It corresponds to Muslot 35-50, and between this
Multiplication and accumulation are performed. In other words, at calculation timing 3, stage Q1
x in 5 and Q16o-14and xo-15sample of
The value data is added by the adder ADD, and the first
The 6th order filter coefficient is multiplied and the result is
Retained in Umuleta ACC. Calculation timing 4 to 18 is 1 time
For each slot, the first shift register SR1 is
shift, the second shift register SR2 shifts left
The status of each stage Q0 to Q31 is as shown in the figure.
The sea urchins change sequentially. Therefore, at calculation timing 4
is xo-13and xo-16is added to this, and the 15th order
The ultur coefficients are multiplied and the result is the accumulator
Accumulated in ACC. At the next calculation timing 5
xo-12and xo-17A similar operation is performed for
Regarding the two sample value data at symmetrical positions,
Similar filter coefficient calculations are performed sequentially on a time-sharing basis,
At calculation timing 18, x is at the last symmetrical positiono+1
and xo-30A similar operation is performed on
The order filter operation is completed. Next calculation time
At ng 19, another shift is made, as shown.
In order of time delayed to each stage Q0 to Q31
For each sample value data xo+1~xo-30are lined up. <Basic operation of odd-order filter calculation: Figure 19> Figure 19 shows a filter consisting of an odd order (31st order).
Basics of FIR type filter operation when realizing characteristics
This is a schematic diagram for explaining the operation, and a is a block.
In the figure, b is the shift rate of a at each calculation timing.
Each stage Q0 to Q15 of registers SR1 and SR2,
Indicates the status of musical tone signal sample values from Q16 to Q30.
vinegar. Each block in a is as shown in Figure 18a.
The difference is that stage Q16
The output is given to adder ADD via gator GT
Is Rukoto. Gate GT is an inhibit signal
Invert INHA (INHA1 for the first channel)
It is now controlled by the corresponding signal.
Output of stage Q16 when signal INHA is “1”
Prohibits signals from being applied to adder ADD.
Also, the 16th stage of the second shift register SR2
The 15th stage Q30 and the 1st stage are not used.
Stage Q16 is connected via selector SEL2.
It will be done. In b, the state of the first shift register SR1
The changes are the same as in Figure 18b. 2nd shift register
The state change of star SR2 is shown in Figure 18 (even number order case).
It is slightly different. of the second shift register SR2
The shift clock signal φFLA is calculated at calculation timing 4.
In the even-order mode, it is “1”, but in the odd-order mode
mode, it will be “0” (for channel 1, it will be “0”).
See time slot 36 in the φFLA1 column in Figure 17.
(see). Therefore, in the odd-order mode, as shown in Fig. 19b,
The contents of the second shift register SR2 as shown
is not shifted at calculation timing 4, and is not shifted at calculation timing 4.
It is sequentially shifted to the left between timings 5 and 19. At calculation timing 3, shift register SR1,
Each stage Q0 to Q30 of SR2 has 31st order delays.
Musical tone signal sample value x corresponding to the delay stageo+1~
xo-29is in order and is in stage Q15.
sample value x of center ordero-14Contains. 6th
As shown in the figure, the symmetry of the odd mode is
For the order located in the center, it is unique
filter coefficients are assigned. Therefore, the operation
At timing 3, the inhibit signal INHA is activated.
Therefore, the output of stage Q16 is inhibited, and the central order is
Only the output signal of the corresponding stage Q15 is added to the adder.
In addition to ADD, the central order is
Multiply by the corresponding unique filter coefficient. At calculation timing 4, the first shift register
Only SR1 is shifted right and the second shift register
Data SR2 is not shifted. Therefore, stage Q
x for 15o-13enters, and x in Q16o-15is included
There is. In addition, the inhibit signal INHA is “0”.
Then, Gate GT opens. Thus, the central order
sample value x corresponding to the order on both sides of the numbero-13,
xo-15is given to the adder ADD and added, and multiplied by
In the filter MUL, both are multiplied by a common filter coefficient.
calculated. At calculation timings 5 to 18, SR1 shifts to the right in sequence.
SR2 and SR2 are sequentially shifted to the left, as shown in the figure.
The sample value at the position is the stage Q15, Q1.
6, both are added and a common filter coefficient is obtained.
is multiplied. <Digital filter circuit: Fig. 14> Referring to Figure 14, the screen corresponding to channel 1
The state memory 401 will be explained. 16 stays
The one-way shift register 71 shown in FIG.
The one corresponding to the first shift register SR1 in Figure 9
and the first shift corresponding to channel 1
The shift is controlled by the clock signal φFFA1.
Ru. Supplied from tone generator 18 (Figure 2)
digital musical tone signal sample value data
TDX is input to the latch circuit 73, and the latch
channel 1 signal according to the XLDA1 signal.
The sample value data is taken into the latch circuit 73.
Ru. Each of the musical tone signal sample value data TDX
Channel time division timing (see Figure 3)
corresponding to each channel 1 to 8.
Timing signal XLDA1~XLDA4, XLDB1~
XLDB4 is generated from decoder 56 (Figure 13)
be done. As mentioned above, each signal display in Figure 13
The number in parentheses at the end is the timer at which the signal occurs.
Indicates the muslot number. Corresponds to each channel
A latch similar to the latch circuit 73 is included in the state memory.
There are two circuits, each with a corresponding one.
Timing signal XLDA1 to XLDA4, XLDB
1 to XLDB4 for each channel 1 to 8.
The sound signal sample value data TDX is latched separately.
and is thus demultiplexed. Channel 1 latched in latch circuit 73
The musical tone signal sample value data is input to the A input of the selector 74.
Gives strength. The selector 74 operates as shown in FIG.
is given from the calculation timing signal generation circuit 391.
Filter data sampling clock signal RLA
When 1 is “1”, A input is selected, and other
is the 16th shift register 71 that is added to the B input.
Select the stage output signal. As mentioned above, this
The signal RLA1 is synchronized with the pitch of the musical tone.
and select a new sample using selector 74 in synchronization with the pitch.
Select pull value data (A input) and shift it
It is given to register 71. It is clear from Figure 17.
Time slot where signal RLA1 becomes “1”
At step 34, shift clock signal φFFA1 becomes “1”.
Therefore, the shift register 71 is connected to the selector 74.
The new sample value data given from
Take in the stage (Q0). Next time slot 3
5, the shift operation is temporarily stopped and the following time slot is started.
As mentioned above, the steps 36 to 51 are sequentially shifted to the right.
It is. The bidirectional shift register 72 is shown in FIGS.
Corresponding to the second shift register SR2 in the diagram
It is. Each step of this bidirectional shift register 72
Pages Q16 to Q31 are selected by selector SL as shown.
Consists of 1 to SL16 and latch circuits LC1 to LC16.
connected for bidirectional shifting.
ing. In other words, the selection of the first stage Q16
The first shift register 7 is connected to the A input of the vector SL1.
The output signal of the final stage (Q15) of 1 is input.
and selectors for each of the other stages Q17 to Q31.
The A inputs of SL2 to SL16 are connected to the previous stage.
The outputs of latch circuits LC1 to LC15 are input. Ma
In addition, the B input of selectors SL1 to SL16 of each stage
For power, the next stage latch circuit LC2~LC1
6.The output of LC1 is input. This allows each
When the A input of selectors SL1 to SL16 is selected
When the right shift mode is selected and the B input is selected,
and enters left shift mode. Each selector SL1~SL
Sampling clock signal as selection signal of 16
When RLA1 is used and this is “1”, the A input
Select, that is, shift to the right mode. However, odd numbers
To disable stage Q31 in the next mode.
For this reason, selector SL15 of stage Q30 is different from others.
are somewhat different. That is, this selector SL
15 is provided with a C input, and the stage
The output signal of Q16 is added. Regarding channel 1
Even/odd identification data EOA1 is “1” (that is, even number
(next mode), the AND circuit 751 is enabled.
When the signal RLA1 is “0”, the AND circuit 7
The output of 51 becomes the signal “1”, which causes the select
Kuta SL15 selects B input and stage Q31
is given to stage Q30 (left shift
). When EOA1 is “0” (odd order mode)
) when the AND circuit 761 is enabled and the signal
When RLA1 is “0”, selector SL15 inputs C
is selected, and the output of stage Q16 becomes stage Q3.
0 (jumps Q31 and shifts left)
). With the above configuration, the first and second shift registers
The changing state of the contents of stars 71 and 72 is in even order mode.
Figures 18b and 19 depending on the odd mode and
It will be exactly the same as shown in Figure b. First stage Q1 of second shift register 72
The output signal of 6 is sent to gate 76 via gate 75.
Given. Gate 75 is an inhibit signal
Controlled by the inverted signal of INHA1
This corresponds to gate GT in Figure 19.
Ru. The gate 76 is connected to the first shift register 71.
Output signal (output signal of stage Q15) and gate
A second shift register 7 provided via 75
Input the output signal of stage 2 (output signal of stage Q16).
and multiply timing signal PDOA1 (Fig. 17).
(see). The output of gate 76 is a multiplier and an accumulation rate.
section 41 to an adder 77, where the two
The sound signal sample value data is added. This addition
The adder 77 corresponds to the adder ADD in FIGS. 18 and 19.
It corresponds to the above. The output of adder 77 is a delay circuit
78 and is delayed by one time slot to the multiplier 79.
is input. Multiplier 79 via delay circuit 78
A delay circuit is applied to the given musical tone signal sample value data.
Filter coefficient data given via 80
It is multiplied by COEA. Output of multiplier 79
is delayed by four time slots in the delay circuit 81 and the
provided to the lid 82. Shift control of shifter 82
The input is a delay that sets a delay of 5 time slots.
Weighting data WEIA is given via circuit 83.
It will be done. This multiplier 79 and shifter 82
This corresponds to the multiplier MUL in Fig. 19.
Ru. In other words, as mentioned above, the filter coefficient data
COEA is the effective bit data of the filter coefficient.
The multiplier 79 calculates the effective value of this filter coefficient.
The bits are multiplied by the musical tone signal sample value data.
be exposed. Then, this multiplication result is sent to the shifter 82.
The number of bits according to the value of the weighting data WEIA
The real number of filter coefficients by shifting by
When the multiplication of and the musical tone signal sample value data is completed,
Ru. The output of the shifter 82 is fed to the accumulator 84.
and the multiplication result corresponding to each order for one channel.
The fruits are accumulated. Accumulator 84
The output of is input to the latch circuit 85, and the operation end terminal
It is latched according to the timing signal FENDA. child
The signal FENDA is generated from the decoder 56 in FIG.
be born. As shown in the figure, this
Signal FENDA is time slot 8, 24, 40,
It becomes "1" at 56. time slot 56
Then latch the calculation result of channel 1, and in 8
Latch the calculation result of channel 2, and
Latch the calculation result of channel 3, and at channel 40
Latch the calculation result of channel 4. Decoder 56
From is the B series calculation end timing signal FENDB
is generated in the same way. The multiplier and accumulation unit 41 has four channels.
It is shared in time division by Yannel. That is,
Adder 77 includes state memory for channel 1.
Not only the output of gate 76 of 401 but also the channel
The settings in the state memories 402 to 404 of the modules 2 to 4
The output signal of a gate with similar function is
are input multiple times. Each state memory 401
The output gate 76 of ~404 has 16 time slots.
multiplication timing signals PDOA1 to PDOA4
is shifted by 16 time slots at different timings.
are input respectively. Therefore, the adder 77 has
The signals of channels 1 to 4 are displayed every 16 time slots.
The input is divided and multiplexed. Filter coefficient data
COEA and weighting data WEIA are divided into four channels.
16 times with the same timing as above.
Each slot is time-division multiplexed, and one channel
1 in 16 time slots regarding Yannel.
The data from the next to the 16th order are time-division multiplexed.
Ru. B-series state memory 42, multiplier and
The humulator section 43 also has the same configuration as in FIG.
However, the timing of various signals may vary accordingly.
There is. A series and B series as shown in Fig. 14.
Digital filter circuit (i.e. state memo)
40, 42, multiplier and accumulator section 4
Regarding each channel 1 to 8 in 1, 43)
FIG. 20 shows the timing of filter operation. No.
In Figure 20, the shift 1 column shows the first shift.
Shifter register (71 for channel 1)
The shift 2 column shows the timing of the second shift.
Shifter register (72 for channel 1)
It shows the timing. The direction of the arrow is the shift direction
(right shift or left shift). Each chia
The channel shift timing is the calculation timing signal.
Generated from generation circuits 391 to 398 (Fig. 13)
The first and second shift clock signals φFFA1
~ φFFB4, φFLA1 ~ φFLB4 generation timing
It is compatible with A filter function is used for shift operation.
Shift operation and memory data refresh for calculation
There is a dummy shift operation for For example,
For channel 1, the system in time slots 4 to 19
The shift is a dummy shift. In the shift 2 column
The (←) symbol indicates a left shift in even mode.
and do not shift when in odd mode.
shows. In Figure 20, the INH column is the inhibit
Indicates the generation timing of signals INHA1 to INHB4.
ing. When in odd-numbered mode, the time slot is marked with ○.
Inhibit signal INHA1 to INHB
4 becomes "1". The PDO column is for each channel.
Multipliers and
Musical tone signal sample value data is input to the humulator sections 41 and 43.
Indicates when data is input. this
is the multiplication timing signal PDOA1 of each channel
~ Corresponds to the timing of PDOB4 occurrence.
The SUM column is the output time of the accumulator 84.
It shows the PDO and SUM timing
There is a delay of 6 time slots in between.
5 time slot delay due to routes 78 and 81 and
1 time slot delay due to cumulative rate 84
by. The output timing of the accumulator 84
At the last time slot, the computation end timing signal is sent.
No. FENDA occurs and the output of accumulator 84
is taken into the latch circuit 85. <Parameter memory 47: Fig. 21> FIG. 21 shows the memory format of the parameter memory 47.
Shows an example of a matte key group table
table, touch group table, parameter address
It consists of a stable and a parameter bank.
Actual filter parameters are in the parameter bank
is stored in the parameter address table.
is the parameter to be read from the parameter bank
address data is stored. key glue
A table groups keys according to each key.
remembers information to be used. As an example, the number of keys is 88,
The number of groups is 44 and in the key group table
indicates that the key belongs to the address position corresponding to each key.
Relative address data about key groups (key
group address). obey
The key group table is set according to the key code KC.
address. This key group table
is a predetermined absolute address of the parameter memory 47
(referred to as offset address OADS)
Occupies memory area. The tatsuchi group table is a key tatsuchi for each tone.
Group the touch intensity corresponding to each level of intensity.
It remembers the information to be converted into a file. As an example, the number of tones
is 32, and this Tatsuchi group table has a tone of
32 tone-specific areas corresponding to code VN values 0 to 31
It also includes a touch cord TCH.
As an example, there are 64 levels of touch strength that can be expressed as
Yes, each tone area corresponds to Tatsuchi 0 to 63.
It has 64 address locations. Each touch strong
The address position corresponding to the touch intensity is
Relative address data regarding the Tatsuchi group to which it belongs
(referred to as Tatsuchi group address) is memorized.
ing. As an example, the number of touch groups is 16.
Ru. Therefore, the Tatsuchi group table
Addressed by code VN and touch code TCH
It will be done. This touch group table is a parameter
A predetermined absolute address of the memory 47 (this is offset)
The memory address starting from address OAD1)
It occupies the rear. This tatsuchi group table
The absolute address data for reading is 6 bits.
5-bit tone above the touch code TCH
Combined with code VN to create 11-bit relative address data.
data (with offset address OAD1 set to 0)
address) and use this as the offset address
Created by adding to OAD1. A parameter address table is provided for each key group.
for each touch group for each group and for each tone.
address that stores the corresponding filter parameters.
relative address data (parameter address and
). This parameter address
The table has 44 keys corresponding to each key group 0-43.
This key group area contains
Is the group area the key group table mentioned above?
Add by key group address read from
will be responded to. Each key group area has tones 0 to 31
Contains 32 tone-specific areas corresponding to the
This tone area is divided by tone code VN.
addressed. Each tone area is Tatsuchiguru.
It has 16 address locations corresponding to numbers 0 to 15.
and each address position corresponds to the touch group text described above.
to the touch group address read from the cable.
It is then addressed. In addition, at the 1 address position
A 2-byte storage location has been allocated and
The above parameter address data is written in 12 bits.
It is remembered. This parameter address table
is a predetermined absolute address of the parameter memory 47
(This is called offset address OAD2)
Occupies the memory area that begins. This parameter
Absolute address for reading address table
The data has the lowest 1 bit as “0” or “1”
(This means that one address position is 2 bytes or
occupies 2 absolute addresses), and 4 above it.
Locate the bit touch group address data.
and then add a 5-bit tone code VN above it.
position, and then add a 6-bit key glue above it.
A total of 16 bits of relative address
data (set offset address OAD2 to 0)
address) and set it as an offset address.
is created by adding it to OAD2. For example, the parameter bank has 2620 types of filters.
The router parameters are memorized and the parameter
2620 parameters corresponding to responses 0 to 2619
Contains a memory area. One parameter memory
rear is a 32-byte storage location (32 absolute addresses)
position), and one set of filters for 16 orders.
Stores parameters corresponding to coefficients. primary
Several minutes of filter coefficients are stored in 2-byte storage locations.
The breakdown is, as mentioned above, 12-bit
filter coefficient data (COE) and 3-bit weight
The finding data (WEI) and the 1-bit even/odd identification data
consists of data (EO). However, weighted data
(WEI) and odd-even identification data (EO) are one set of parameters.
In the data, the first order is common to each order.
Store only in the storage location of , and store in the storage location of other orders
I don't remember. However, weighted data (WEI)
can be stored independently for each order.
It is Noh. This parameter bank contains the parameters described above.
parameters read from the data address table.
address by the data address. parameters
The bank is a predetermined absolute address in the parameter memory 47.
address (this is called offset address OAD3)
Occupies the memory area starting from. This parameter
Absolute address data for reading data bank
converts 12-bit parameter address data to 17-bit
Relative address data (offset address)
The upper 12 bits of the address (with OAD3 set to 0)
Create the relative address data by positioning
and add this to offset address OAD3
It is created by This absolute address
The lower 5 bits of the data are changed sequentially in 32 steps.
specified by the parameter address by
From the 16th order in the 1-parameter storage area
A set of filter parameters are read out sequentially.
Ru. Hierarchical parameters as shown in Figure 21
The data memory structure can save memory capacity.
It is advantageous because it can be done. 44 keys without doing it like this
A combination of groups, 32 tones, and 16 touch groups.
Individual filter for all (22528 ways)
Assuming you memorize the parameters, 22528 x 32 bytes
However, as shown in Figure 21,
Then 1408 (=44) in the parameter address table
×32) ×32 bytes and parameter bank 2620 × 32
The storage capacity is only 4028 x 32 bytes including bytes.
Not required. In other words, key groups, tones,
Even if the combination of Tutsi groups is different, the filter
Common parameters may be used
Therefore, in the example in Figure 21, there are 22528 combinations.
As a structure that shares 2620 types of parameters.
This saves memory capacity. <Parameter processing unit 45, parameter
parameter selector 46, parameter memory 47,
Meter supply circuit 48, 49: Fig. 15> The parameter processing unit 45 is
For the static mode of
Controls reading of parameter memory 47
It is. The program memory 451 includes the above-mentioned
Execute read control of parameter memory 47
The program to do this is stored in memory. Program card
Counter 452 reads program memory 451
Generate program step signal PC for
8-stage shift register 86 and addition
device 87, gates 88, 89, end detection circuit 90
It includes counting operation for 8 channels.
Do it in a time-divided manner. Key-on pulse KONP is in
It is inverted by the inverter 91 and sent to the control input of the gate 88.
join. This key-on pulse KONP
The signal becomes “1” at the beginning of each channel.
are time-division multiplexed. addition
A gate circuit 87 applies a gate to the output of the shift register 86.
This is to add “1” given from 89.
The addition result is transferred to the shift register via gate 88.
data 86. The end detection circuit 90 shifts
The value of the output of the register 86 is the final step of the program.
This is to detect whether the step has reached the final step.
If the step is not reached, the signal “0” is output and the
The signal “1” is passed through the inverter 92 to the gate 89.
A signal that is applied to the control input and instructs the count up by 1.
The signal “1” is given to the adder 87.
However, when the final step is reached, the signal “1” is set.
output and gate the signal “0” through the inverter 92.
gate 89, close the gate 89, and count.
prevent this from happening. With the above configuration, the program counter 452
The content of the step signal PC is the key-on pulse.
It is reset to “0” when a KONP occurs.
After that, every time the shift register 86 goes around (8 times)
(for each muslot), the count will be increased by 1, and eventually
Counting stops when the final step is reached.
Ru. As an example, the number of program steps is 37.
The step signal output from the counter 452
PC sequentially from "0" to "36" (final step)
Change. Step signal PC is shift register 8
6 outputs, and 8 channels are time division multiplexed.
It is exacerbated. The program memory 451 stores input steps.
Select control signal SELC according to the step of signal PC
Read 1 to SELC4 and set the offset address.
Address data for reading the memory 453
Read out. The offset address memory 453 is
Values of the offset addresses OADS to OAD3 mentioned above
I remember. Offset address memory 45
Offset address data read from 3
ADOF (any of OADS to OAD3) is adder 4
54. Adder 454 is selector 45
Relative address data RADD given from 5 and
Add the offset address data ADOF,
Parameterize the output as address data PRAD.
It is added to the address input of data memory 47. Key group address register 456, touch
Group address register 457, parameter address
Each dress register 458 has eight stages of shifting.
Consists of registers, key group address data
KEYG, Tatsuchi Group address data TCHG,
Parameter address data PAD for each channel
The information is stored in a time-division manner. Each register
Selectors 93-95 are on the input side of 456-458.
read from the parameter memory 47.
The output data is added to one input of each selector.
Ru. The other input of each selector 93 to 95 is
The outputs of registers 456-458 are added. selector
The selection control signals SELC2 to SELC4 of 93 to 95 are
from the program memory 451.
The parameters are set according to the steps of the program.
Register read output data of meter memory 47
data 456 to 458 or register
Circulate the data once imported into the data
Controls whether to hold or not. As is clear, para
The key group address mentioned above from the meter memory 47
Set this to the key group when the data is read.
The address register 456 is loaded with the above-mentioned tag.
When the group address data is read
This is stored in the touch group address register 457.
The above parameter address data is read.
When issued, set this to the parameter address register
Select control signal SELC2~
SELC4 is generated. Addresses stored in each register 456 to 458
Selector 4 for response data KEYG, TCHG, PAD
55. The key code is in sector 455.
KC, tone code VN and touch code TCH
is the step output from the program counter 452.
The least significant bit of the drop signal PC, PCLSB, and this step
“4” (binary “100”) was subtracted from the Tsupu signal PC.
Data PC-4 is also input. selector 45
5, the selection given from the program memory 451.
The input data is set to the specified value according to the selection control signal SELC1.
Select a combination and set the selected data to a relative address.
corresponds to a predetermined weight in the data RADD
bit position and thus the relative address data.
Create and output data RADD. This parameter processing unit 45
The contents of the 37 steps executed are as follows.
It is. When PC=0: Read key group table
process Key code KC is set by selection control signal SELC1.
Select and set the offset address data as ADOF.
offset address of key group table
Read OADS. In addition, selection control signal SELC2
key the output data of parameter memory 47.
Load into group address register 456. child
As a result, the key group of the parameter memory 47
Keygle corresponding to key code KC from table
The loop address is read and this is stored in register 45.
6 is stored. When PC=1: Read touch group table
processing Tone code VN and Tatsuchiko by signal SELC1
Select the code TCH and set the TCH to the least significant bit.
Position the VN above the relative address data
Create RADD. Offset address data
Offset of Tatsuchi group table as ADOF
Reads the address OAD1. Also, the signal
The output data of parameter memory 47 is set by SELC3.
the touch group address register 457.
Get into it. As a result, the data in the parameter memory 47 is
Tone code VN and tag from the Tsuchi group table.
Tatsuchi group ad compatible with Tatsuchi code TCH
The response is read out and stored in register 457.
is applied. When PC=2, 3: Parameter address table
Bull read processing Key group address data is set by signal SELC1.
Ta KEYG, Tone Code VN, Tatsuchi Group Ad
response data TCHG, lowest bit of step signal PC
Select PCLSB, starting from the least significant bit.
Position in the order of PCLSB, TCHG, VN, KEYG
Create relative address data RADD. day
Parameter address table as ADOF
Read offset address OAD2. Also,
Output of parameter memory 47 by signal SELC4
data to parameter address register 458.
Get into it. As a result, the parameters of the parameter memory 47 are
appropriate parameters from the parameter address table.
The address is read and placed in register 458.
Stored. As mentioned above, one parameter
Address data consists of 12 bits and is recorded in 2 bytes.
It is stored in the storage location (see FIG. 21). bits
When PCLB is “0” (step PC=2),
The lower 8 bits of parameter address data are read.
is issued and PCLSB is “1” (PC=3 step).
), its upper 4 bits parameter address
Data is read. In selector 95, this
Parameter address data is arranged as 12-bit data.
Sort the bit positions so that they are columnar and register them.
458. When PC=4 to 35: Read parameter bank
process Parameter address data by signal SELC1
Select step signal PC-4 subtracted by 4 from PAD
Then, the positions are placed in the order of PC-4 and PAD from the least significant bit.
to create relative address data RADD.
In addition, the parameter bank can be used as a data ADOF.
Read offset address OAD3. signal pc
-4 is that in 32 steps from PC=4 to 35.
The value changes from "0" to "31". Therefore, Pa
32 bytes specified by parameter address
A set of filter parameters (see Figure 21)
) is the parameter bank of parameter memory 47.
One byte at a time is read out sequentially. When PC=36: Program counter 452
Stop and read filter parameters
End the Kens. File read from parameter memory 47
The data parameters are input to the timing synchronization circuit 459.
Powered. This circuit 459 is a program step
Decoding of signal PC and timing signal generation circuit 39
The timing signal provided by the driver 56 (FIG. 13)
signal group TS1, and based on these signals, each
Order filter parameters at specified timing
Synchronize and output. The output of this synchronization circuit 459
force is a filter parameter for static mode
To A input of parameter selector 46 as SPR
Given. To B input of parameter selector 46
is from the microcomputer interface 44 (Figure 11).
Output filter parameters for dynamic mode
The meter DPR is given. Selection of selector 46
Is there a microcomputer interface 44 for the control input SB?
The dynamic/static selection signal output from
No. DS is given, and when in dynamic mode, enter B.
Select the force parameter dpr and stats spider
When loading, select the A input parameter SPR. The output of the selector 46 is the parameter of each series A and B.
data supply circuits 48 and 49. A series episode
A detailed example of only the circuit 48 is shown, but the B series circuit 49
also have the same configuration. to the parameter supply circuit 49.
The distribution circuit 485 receives serial data from the selector 46.
A series of parameter data given to Al
Import data regarding channels 1 to 4 of
In addition to parallelizing this for each channel,
router coefficient data (COEA1 for channel 1),
Weighting data (WEIA1 for channel 1),
Even-odd identification data (EOA1 for channel 1)
Parallelize them separately and correspond to each channel
It is distributed to memory circuits 481-484. like this
For distribution control, appropriate timing signal TS2
is the decoder 56 of the timing signal generation circuit 39
(FIG. 13) and applied to the distribution circuit 485.
available. Memory circuits 481 to 484 are for channel 1.
A detailed example is shown below, but the same applies to other channels.
It's like that. 12-bit filter coefficient data COEA
1 is a 16-stage shift lever via selector 96.
It is input to the register 97. This filter coefficient data
The data COEA1 corresponds to 16 orders in 16 time slots.
data is time-division multiplexed, and this 16-order
data is stored in each stage of the shift register 97.
It is captured. The contents of shift register 97 are selected.
It is circulated and held through the tank 96. 3 bit weight
The finding data WEIA1 is input to the latch circuit 98.
It will be done. The 1-bit even-odd identification data EOA1 is easy.
input to the circuit 99. selector 96 and rat
The circuits 98 and 99 are controlled by appropriate controls (not shown).
This is done at the appropriate timing according to the control signal. vinegar
In other words, when in static mode, key presses
Read from parameter memory 47 in response to the beginning
The parameter data for the 16th order
synchronization circuit 459, selector 46, distribution circuit 4
85 to the memory circuit 481.
In synchronization with the timing, the selector 96 selects 16 orders of frames.
Shift register 97 to filter coefficient data COEA1
The latch circuits 98 and 99 load the weighting data into
Latch data WEIA1 and even/odd identification data EOA1.
do. From then on, a new push will be applied to that channel.
Until the key is assigned, the shift register 97,
The memories of the switch circuits 98 and 99 are retained. on the other hand,
When in dynamic mode, the microcontroller interface
Ace 44 (Figure 11) to selector 46, distribution
Dynamic control for 8 orders via circuit 485
Timing when the regular parameter data DPR is given
The parameter data DPR is updated in synchronization with the
Shift the filter coefficient data COEA1 for the 8th order.
Loaded into the register 97 and weighted data
Latch WIA1 to latch circuit 98 and distinguish between even and odd
Data EOA1 is latched into the latch circuit 99.
Since then, new dynamic control parameter data has been developed.
shift register 97 until data DPR is given.
The memories in latch circuits 98 and 99 are retained. Na
In dynamic mode, the shift register
Of the 16 stages of Star 97, from the 9th to the 16th stage
Dynamic control for 8 orders in 8 stages corresponding to
Store the filter coefficient data of the parameters for
The contents of the 8 stages corresponding to the 1st to 8th stages are set to 0.
I'll keep it. Shift register 9 of each storage circuit 481 to 484
The filter coefficient data output from 7 is the selector
486, where the timing signal TS3
Each channel is selected in turn according to the
Divided and multiplexed. In this way, channels 1 to 4
filter coefficient data is time-division multiplexed.
Then, as A series filter coefficient data COEA, A
series multiplier and accumulator section 41 (fourteenth
(Fig.) is supplied. The latch circuit 98 of each memory circuit 481 to 484
The weighted data output from the selector 487
given, where according to the timing signal TS4
Each channel is selected sequentially and time division multiplexed.
be converted into Channels that are time-division multiplexed in this way
The weighting data WEIA for rules 1 to 4 is the multiplication of the A series.
Supplied to the container and accumulator section 41 (Fig. 14)
be done. The latch circuit 99 of each memory circuit 481 to 484
Even/odd identification data of each latched channel 1 to 4
EOA1 to EOA4 are the steps of the corresponding channel.
parallel to the root memories 401 to 404 (Fig. 14).
given to. <Pitch synchronization output circuit 50: Fig. 16> In FIG. 16, the B input of selector 501
is the A-series multiplier and accumulator section 41 (the
Channel 1 output from Figures 11 and 14)
~4 filtered musical tone signal sample value data
SMA is provided in a time division multiplexed manner. Figure 14
In the latch circuit 85, the flaps of each channel 1 to 4 are
The timing at which the filtered output is captured is the second
The cumulative final time slot (slanted) in the SUM column in Figure 0
line part), and this allows each channel 1
~4 filtered sample value data SMA chip
The Yannel timing is shown in Figure 17.
Ru. A B-series multiplier is connected to the C input of the selector 501.
and output from the accumulator section 43 (Fig. 11)
Filtered musical tone signals of channels 5 to 8
The sample value data SMB is given in a time division multiplexed manner.
It will be done. Channel timing for this data SMB
is as shown in FIG. The A input of selector 501 has 8 stages of shifting.
The output of the selector register 502 is given, and the selector
The output of 501 is input to the shift register 502.
It will be done. This selector 501 and shift register 50
2 is a filtered sample of each channel 1-8
channel value data to the channel timing of PS1 in Figure 3.
High-speed processing in one time slot unit as shown in Fig.
To perform time division multiplexing according to time division timing
belongs to. Tie from decoder 56 in FIG.
At Muslot 57, 13, 26, 46
Timing signal 1REGLDA that becomes “1” and time
“1” in slots 11, 31, 44, 64
A timing signal 1REGLDB is generated, and this
This is the B selection control input of selector 501 in Fig. 16.
SB and C selection control input SC. This is it
out of the data SMA given to the B input.
The data of channel 1 is in time slot 57 (this
is the channel timing of PS1 shown in Figure 3.
(corresponding to the timing of channel 1).
channel 2 data is selected in the time slot.
13 (timing of channel 2 of PS1 in Figure 3)
channel 3 data is selected in
Slot 26 (channel 3 of PS1 in Figure 3)
timing) and channel 4 data.
is time slot 46 (PS1 channel in Figure 3).
(timing of channel 4). Also, C input
Out of the data SMB given to the power channel
5 data is time slot 11 (PS in Figure 3).
1 channel 5 timing), and the channel
The data of channel 6 is in time slot 31 (3rd
Select at the timing of channel 6 of PS1 in the diagram)
and the channel 7 data is transferred to time slot 4.
4 (timing of channel 7 of PS1 in Figure 3)
is selected, and the data of channel 8 is time slotted.
64 (Tie of channel 8 of PS1 in Figure 3)
selected). Timing signals 1REGLDA and 1REGLDB are set to NOR
The signal inverted by the circuit 503 is the A of the selector 501.
Provided to selection control input SA. Therefore, the above
The data is taken into the shift register 502 at each timing.
Filtered sample value data for each channel
At other times, the shift register
The data is cyclically held in the data file 502. The output of the shift register 502 is sent to the selector 504
is given to the A input of The output of selector 504 is
is input to the 8-stage shift register 505.
Ru. The output of the shift register 505 is the selector 50
It is returned to the input side via the B input of 4. selector
504 and shift register 505 are digital
Synchronize the output musical tone signal of the filter with that pitch.
This is for resampling. selector
The A selection control input SA of 504 has an input interface.
source 38 (Figure 12)
Pitch synchronization signal PS1D is delayed by 8 time slots
It is input via circuit 506. In Figure 12, the pitch synchronization signal PS1 is
64 stage shift register via circuit 51
100 is input. This shift register 100
The pitch synchronization signal delayed by 24 time slots is
Input to AND circuit 101, 40 time slots
The delayed one is input to the AND circuit 102,
The one delayed by 48 time slots is AND circuit 1
03 and delayed by 64 timeslots.
is input to the AND circuit 104. each and times
The other inputs of paths 101 to 104 include the devices shown in FIG.
Timing signal PSS1 generated from coder 56
~PSS4 are respectively input. Each AND circuit 101
The outputs of ~104 are given to the OR circuit 105 and
An extended pitch synchronization signal PS1D is obtained. each message
The timing of occurrence of PSS1 to PSS4 is shown in Figure 13.
This is as shown in Nikatsuko's writing. Hey there
For example, the display “1y8” means 8 time slots.
The signal “1” is generated at the first time slot in the cycle.
to show that it is alive. Therefore, the timing signal PSS
In the case of 1, it is "1y8, 3y8", so 8 times
At the 1st and 3rd time slot in the lot cycle
A signal "1" is generated in each case. Each signal in Figure 13
Display inside the box for PSS1 to PSS4 and PS in Figure 3
It is clear if you refer to the channel timing of 1.
As shown, signal PSS1 is a channel in PS1.
becomes “1” at the timing of signals 1 and 3, and PSS2 becomes “1”.
At the timing of channels 2 and 6 on PS1
“1” and PSS3 is the channel in PS1
It becomes “1” at the timing of 3 and 7, and PSS4 becomes
At the timing of channels 4 and 8 on PS1
It becomes “1”. As a result of the above, the pitch synchronous communication of channels 1 and 5 is completed.
No. PS1 has 24 time slots, 2 and 6 PS1 have 40
Time slot, 3 and 7 PS1 is 48 time slot
4 and 8 PS1 have 64 time slots, respectively.
Delayed pitch synchronization signal PS1D
shall be. In this way, the delay time depends on the channel.
The reason for the difference is that adaptive digital files
Each channel 1 in data device 21 (Fig. 11)
~4, Did you adjust to the difference in calculation timing from 5 to 8?
It is et al. Returning to Figure 16, the delayed pitch synchronization signal
PS1D has 8 additional time slots with delay circuit 506
is delayed and given to input SA of selector 504.
Ru. Selector 504 selects the signal of a certain channel.
When PS1D is “1”, the filter of that channel
The completed sample value data is transferred to the shift register 502.
and input it to the shift register 505.
Otherwise, the contents of the shift register 505
is held in circulation via the B input of selector 504.
Ru. In this way, selector 504 and shift register
In the circuit of the controller 505, the filter of each channel is
sampled data occurs on that channel.
resampled in sync with the pitch of the musical note.
It will be done. <Switching between pitch synchronous/asynchronous filter calculation> From the microcomputer interface 44 (Figure 11)
The same pitch applied to the OR circuit 51 in FIG.
The period/asynchronous designation signal PASY is synchronized with pitch.
When performing a router operation, it is always “0” and the input input
Tough Ace 38 responds to pitch synchronization signal PS1.
Filter operation request signals φF1 to φF8 and delay
generates pitch synchronization signal PS1D. Therefore,
When the pitch synchronization signal PS1 is generated, that is, when the pitch synchronization signal PS1 is generated,
Synchronized with the pitch of the musical tone signal to which the filter should be applied.
Digital filter calculation is performed at the sampling period.
It will be done. As a result, the obtained filter characteristics are
It becomes a moving formant. When performing filter calculation without pitch synchronization
always sets the pitch synchronous/asynchronous designation signal PASY.
Set to “1”. Therefore, the OR circuit 51 in FIG.
The output of is regardless of the presence or absence of pitch synchronization signal PS1.
It is always “1”. Therefore, the input interface
Base 38 corresponds to each filter operation cycle (64 times).
Filter calculation request signal at a constant cycle for each lot
Generates φF1 to φF8 and signal PS1D. Therefore,
Sampling frequency in digital filter calculation
The wave number is constant (for example, 50kHz) regardless of pitch.
The resulting filter characteristics are fixed formants.
becomes. <Example of filter characteristics> Filter characteristics that can be realized by the above embodiment
An example is shown in FIGS. 22 to 27. In Figure 22, the order of the filter is set to an odd number (31st order).
Shows an example of the characteristics obtained when set.
It realizes high-pass filter characteristics.
Ru. fs/2 is 1/2 of the sampling frequency fs,
When in pitch cycle mode, the pitch is synchronized with the pitch of the musical note.
frequency, and is constant when in pitch asynchronous mode.
It is a constant frequency. In Figure 23, the order of the filter is set to an even number (32nd order).
Shows an example of the characteristics obtained when set.
It realizes low-pass filter characteristics.
Ru. Figure 24 shows the time in dynamic mode.
This shows an example of filter characteristics that change. child
In the case of the example, the tone generator section 18 generates
The sound source waveform signal to be played is f (fuorte), that is, the strongest key.
Assuming that it corresponds to tatsuchi, p (piano)
touch, mp (mezzo piano) touch, mf (mezzo)
The musical tone signal corresponding to each touch of Fuorte) is
The field obtained by filtering the sound source waveform signal
It shows the temporal change in the filter characteristics when Time
The columns in between indicate the types to be switched to for each filter characteristic.
The timing is indicated by the time from the start of pronunciation.
Ru. The numbers in the filter characteristic diagram indicate the change point.
It shows the frequency, and the unit is Hz. In addition,
Assume that the pitch of the musical tone to be played is F2. Figure 25 is played with the touch of f (fuorte).
Spectral envelope of the original waveform of the F2 piano sound
Figure 26 shows the p (piano) tap.
Specifies the original waveform of the F2 piano sound played in Tutsi.
The vector envelope is shown. Figure 25 original
The waveform is at the Oms point in the column p (piano) in Figure 24.
Obtained by filtering with the filter characteristics of
The second spectral envelope of the musical tone signal is
It is as shown in Figure 7, and the source of p touch shown in Figure 26.
It is similar to the spectral envelope of the waveform.
I understand. <Example of change> The pitch synchronization output circuit 50 shown in FIG.
channel using the shift registers 502 and 505.
I am performing pitch synchronization processing in time division, but this
However, memory circuits can be set up in parallel for each channel.
Even if you perform pitch synchronization processing in parallel,
good. In the above embodiment, the digital filter is
We used an FIR filter with numerical symmetry, but this
Even when using an FIR filter with asymmetric coefficients,
good. In addition, the filter model is not limited to FIR, but also IIR (innocent).
limited impulse response) or other types.
You can also do this. The storage format of the parameter memory shown in Figure 21
-Matsuto is not limited to this, and various changes are possible.
It is. For example, do not adopt such a hierarchical structure.
You can do whatever you like. Also, the method of addressing the parameter memory is shown above.
Not limited to the procedure shown in the example below, various changes are possible.
It is Noh. For example, in the example, the key group
access the table first, then the Tatsuchi group table.
accessing the bull, even if it is the other way around.
good. In addition, in FIG. 15, the program memory 45
1. Microprogram with readout procedure stored in advance
A ramming method is adopted, which allows parameter
I am trying to read memory 47, but this
It is not possible to use a microprogram method such as
Complete hardwired circuit or complete software
The readout is controlled by the hardware program.
You may do so. In addition, in the above embodiment, in a multitone electronic musical instrument,
Although the lever invention is applied, it is a single-note electronic musical instrument.
Of course, it can also be applied to
Ru. In addition, not only dedicated electronic musical instruments, but also musical tone signal generators can be used.
This invention generally applies to devices with raw or processing functions.
can be applied. In the above embodiment, the adapter is connected to the tone generator.
The data input to the digital filter device
The digital musical tone signal sample value data itself is
It was sampled in sync with Tsuchi.
However, it is not limited to this. example
For example, sampling with a pitch asynchronous fixed sampling period
Digitally converts the pulled digital musical tone signal into
Even when inputting to a filter device, the pitch synchronization signal
This input digital musical tone signal is sampled by
Filter performance synchronized with pitch while re-ringing
All you have to do is perform arithmetic operations. In addition, in the above embodiment, the pitch synchronization signal generation circuit
is contained within the tone generator, where
The generated pitch synchronization signal is converted into an adaptive digitizer.
I am trying to introduce it into a filter device, but this
Not limited to this. For example, sample data synchronized to pitch.
A digital musical tone signal with a ring period is digitized.
When inputting to the filter, this digital musical tone
To detect changes in sample value data of a signal
Generate a pitch synchronization signal, thus generated
Control filter calculation operation by pitch synchronization signal
You may also do so.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明の概要を示すブロツク図、第
2図はこの発明の一実施例に係る電子楽器の全体
構成を示すブロツク図、第3図は同実施例におけ
る主要な信号のタイミングを示すタイミングチヤ
ート、第4図は第2図のトーンジエネレータ内に
含まれるピツチ同期信号発生回路の一例を示すブ
ロツク図、第5図はFIRフイルタの基本構成を示
すブロツク図、第6図及び第7図は直線位相FIR
フイルタにおけるインパルス応答の対称性の一例
を次数Nが奇数のときと偶数のときについて夫々
示すグラフ、第8図及び第9図は直線位相FIRフ
イルタにおける周波数応答特性の一例を次数Nが
奇数のときと偶数のときについて夫々示すグラ
フ、第10図はフイルタ係数を求めるための手順
の一例を示すフローチヤート、第11図は第2図
におけるアダプテイブデイジタルフイルタ装置の
一例を示すブロツク図、第12図は第11図にお
ける入力インタフエースの一例を示すブロツク
図、第13図は第11図におけるタイミング信号
発生回路の一例を示すブロツク図、第14図は第
11図におけるステートメモリと乗算器及びアキ
ユムレータ部の一例(すなわちFIR型デイジタル
フイルタ回路の一例)を示すブロツク図、第15
図は第11図におけるパラメータプロセシングユ
ニツトとパラメータ供給回路の一例を示すブロツ
ク図、第16図は第11図におけるピツチ同期出
力回路の一例を示すブロツク図、第17図はフイ
ルタ演算タイミングを制御する各種信号の発生例
を示すタイミングチヤート、第18図は第14図
に示されたデイジタルフイルタ回路において偶数
次(32次)から成るフイルタ特性を実現する場合
のFIR型フイルタ演算の基本動作を説明するため
の略図、第19図は同じデイジタルフイルタ回路
において奇数次(31次)から成るフイルタ特性を
実現する場合のFIR型フイルタ演算の基本動作を
説明するための略図、第20図は第14図に示し
たようなA、B2系列のデイジタルフイルタ回路
における8チヤンネル分のフイルタ演算動作タイ
ミングを示す図、第21図は第11図及び第15
図に示されたパラメータメモリにおける記憶フオ
ーマツトの一例を示す図、第22図及び第23図
は第2図乃至第21図に示されたこの発明の一実
施例において実現されるフイルタ特性の一例を奇
数次と偶数次について夫々示す図、第24図は同
実施例のダイナミツクモードにおいて実現する時
間的に変化するフイルタ特性の一例をいくつかの
タツチ強度について夫々示す図、第25図及び第
26図はピアノのF2音の原波形のスペクトルエ
ンベロープをフオルテタツチ演奏時及びピアノタ
ツチ演奏時に関して夫々示す図、第27図は上記
実施例においてフオルテタツチの原波形をピアノ
タツチのフイルタ特性でフイルタリングしたとき
に得られる楽音信号のスペクトルエンベロープの
一例を示す図、である。 110……ピツチ同期信号発生手段、111…
…デイジタルフイルタ回路、10……鍵盤、11
……鍵タツチ検出器、18……トーンジエネレー
タ、19……ピツチ同期信号発生回路、21,2
2……アダプテイブデイジタルフイルタ装置、4
0,42……ステートメモリ、41,43……乗
算器及びアキユムレータ部、45……パラメータ
プロセシングユニツト、47……パラメータメモ
リ、50……ピツチ同期出力回路。
Fig. 1 is a block diagram showing an overview of the invention, Fig. 2 is a block diagram showing the overall configuration of an electronic musical instrument according to an embodiment of the invention, and Fig. 3 shows the timing of main signals in the embodiment. Timing chart, Figure 4 is a block diagram showing an example of the pitch synchronization signal generation circuit included in the tone generator of Figure 2, Figure 5 is a block diagram showing the basic configuration of the FIR filter, Figures 6 and 7. The figure shows linear phase FIR
Graphs showing an example of the symmetry of the impulse response in a filter when the order N is an odd number and when the order N is an even number. Figures 8 and 9 show examples of frequency response characteristics in a linear phase FIR filter when the order N is an odd number. 10 is a flowchart showing an example of the procedure for determining the filter coefficient, FIG. 11 is a block diagram showing an example of the adaptive digital filter device in FIG. 2, and FIG. 11 is a block diagram showing an example of the input interface in FIG. 11, FIG. 13 is a block diagram showing an example of the timing signal generation circuit in FIG. 11, and FIG. 14 is a block diagram showing the state memory, multiplier, and accumulator in FIG. 11. 15 is a block diagram showing an example of the FIR type digital filter circuit.
The figure is a block diagram showing an example of the parameter processing unit and parameter supply circuit in Fig. 11, Fig. 16 is a block diagram showing an example of the pitch synchronization output circuit in Fig. 11, and Fig. 17 is a block diagram showing an example of the pitch synchronization output circuit in Fig. A timing chart showing an example of signal generation, and FIG. 18 is used to explain the basic operation of FIR type filter operation when realizing filter characteristics consisting of an even number order (32nd order) in the digital filter circuit shown in FIG. 14. Figure 19 is a schematic diagram for explaining the basic operation of FIR type filter operation when realizing odd-order (31st order) filter characteristics in the same digital filter circuit, and Figure 20 is shown in Figure 14. A diagram showing the filter calculation operation timing for 8 channels in the A and B2 series digital filter circuits, Figure 21 is similar to Figures 11 and 15.
FIGS. 22 and 23 are diagrams showing an example of the storage format of the parameter memory shown in the figure, and FIGS. 22 and 23 show examples of filter characteristics realized in the embodiment of the present invention shown in FIGS. FIG. 24 is a diagram showing an example of the temporally changing filter characteristics realized in the dynamic mode of the same embodiment for several touch intensities, and FIGS. The figure shows the spectral envelope of the original waveform of the F2 note of the piano when played with Folte Touch and when played with Piano Touch, respectively. Figure 27 is obtained when the original waveform of Folte Touch is filtered with the filter characteristics of Piano Touch in the above example. FIG. 3 is a diagram showing an example of a spectral envelope of a musical tone signal. 110... pitch synchronization signal generating means, 111...
...Digital filter circuit, 10...Keyboard, 11
...Key touch detector, 18...Tone generator, 19...Pitch synchronization signal generation circuit, 21,2
2...Adaptive digital filter device, 4
0, 42... State memory, 41, 43... Multiplier and accumulator section, 45... Parameter processing unit, 47... Parameter memory, 50... Pitch synchronization output circuit.

Claims (1)

【特許請求の範囲】 1 デイジタル楽音信号のピツチに同期した信号
を発生するピツチ同期信号発生手段と、 前記デイジタル楽音信号を入力し、前記ピツチ
同期信号発生手段から発生されたピツチ同期信号
に同期したサンプリング周期でフイルタ演算を実
行するデイジタルフイルタ回路と を具えた楽音信号処理装置。 2 デイジタル楽音信号のピツチに同期した信号
を発生するピツチ同期信号発生手段と、 フイルタ演算を楽音のピツチに同期して行うべ
きか非同期で行うべきかを指定するピツチ同期/
非同期指定信号を発生する手段と、 前記デイジタル楽音信号を入力し、前記ピツチ
同期/非同期指定信号に応じて、前記ピツチ同期
信号発生手段から発生されたピツチ同期信号に同
期したサンプリング周期又は所定の共通サンプリ
ング周期の何れか一方の周期でフイルタ演算を実
行するデイジタルフイルタ回路と を具えた楽音信号処理装置。
[Scope of Claims] 1. pitch synchronization signal generation means for generating a signal synchronized with the pitch of a digital musical tone signal; A musical tone signal processing device comprising a digital filter circuit that performs filter calculation at a sampling period. 2. A pitch synchronization signal generation means for generating a signal synchronized with the pitch of a digital musical tone signal, and a pitch synchronization signal generating means for specifying whether filter operation should be performed in synchronization with the pitch of the musical tone or asynchronously.
means for generating an asynchronous designation signal; and a means for inputting the digital musical tone signal and generating a sampling period synchronized with the pitch synchronization signal generated from the pitch synchronization signal generation means or a predetermined common frequency according to the pitch synchronization/asynchronous designation signal. A musical tone signal processing device comprising a digital filter circuit that performs a filter operation in one of sampling periods.
JP60267542A 1985-11-29 1985-11-29 Musical sound signal processor using digital filter Granted JPS62127899A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP60267542A JPS62127899A (en) 1985-11-29 1985-11-29 Musical sound signal processor using digital filter
US06/934,781 US4841828A (en) 1985-11-29 1986-11-25 Electronic musical instrument with digital filter
DE86116328T DE3689305T2 (en) 1985-11-29 1986-11-25 Sound signal processing device.
EP86116328A EP0229926B1 (en) 1985-11-29 1986-11-25 Tone signal processing device
SG6795A SG6795G (en) 1985-11-29 1995-01-17 Tone signal processing device
HK134295A HK134295A (en) 1985-11-29 1995-08-24 Tone signal processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60267542A JPS62127899A (en) 1985-11-29 1985-11-29 Musical sound signal processor using digital filter

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP61121315A Division JPH0644702B2 (en) 1985-11-29 1986-05-28 Digital filter device

Publications (2)

Publication Number Publication Date
JPS62127899A JPS62127899A (en) 1987-06-10
JPH0313595B2 true JPH0313595B2 (en) 1991-02-22

Family

ID=17446264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60267542A Granted JPS62127899A (en) 1985-11-29 1985-11-29 Musical sound signal processor using digital filter

Country Status (1)

Country Link
JP (1) JPS62127899A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087591B2 (en) * 1987-11-17 1996-01-29 ヤマハ株式会社 Musical tone signal forming device

Also Published As

Publication number Publication date
JPS62127899A (en) 1987-06-10

Similar Documents

Publication Publication Date Title
JPS642958B2 (en)
US6721711B1 (en) Audio waveform reproduction apparatus
JPH05165480A (en) Waveform generator
US4841828A (en) Electronic musical instrument with digital filter
US4114498A (en) Electronic musical instrument having an electronic filter with time variant slope
JPS5919356B2 (en) electronic musical instruments
JPS6140118B2 (en)
US5290965A (en) Asynchronous waveform generating device for use in an electronic musical instrument
US4223583A (en) Apparatus for producing musical tones having time variant harmonics
EP0235538B1 (en) Waveform generator for electronic musical instrument
US4192210A (en) Formant filter synthesizer for an electronic musical instrument
JPS5925235B2 (en) electronic musical instruments
JPH0313595B2 (en)
JPH052013B2 (en)
JPH0332078B2 (en)
JP2668676B2 (en) Filter parameter supply device
JPH0561473A (en) Musical tone frequency generator for electronic musical instruments
JPS62129893A (en) Digital filter
JPH0310959B2 (en)
JP2697701B2 (en) Electronic musical instrument parameter supply device
JPS6049320B2 (en) electronic musical instruments
JPH07325581A (en) Musical sound generator
JP2728032B2 (en) Tone generator
JPH0644702B2 (en) Digital filter device
JP3435702B2 (en) Music generator