JP3551575B2 - Tone generator - Google Patents
Tone generator Download PDFInfo
- Publication number
- JP3551575B2 JP3551575B2 JP25925595A JP25925595A JP3551575B2 JP 3551575 B2 JP3551575 B2 JP 3551575B2 JP 25925595 A JP25925595 A JP 25925595A JP 25925595 A JP25925595 A JP 25925595A JP 3551575 B2 JP3551575 B2 JP 3551575B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- address
- linear
- interpolation
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、例えば、クラリネット等の管楽器の発音メカニズムに基づいて楽音を発生する楽音発生装置に関する。
【0002】
【従来の技術】
近年、自然楽器の発音メカニズムをシミュレートしたモデルを動作させ、これにより自然楽器の楽音を発生する装置が各種開発されており、管楽器の発音メカニズムをシミュレートするものとしては、例えば、特開平2−293898号公報に開示されている。
この種の装置によれば、管楽器のマウスピースおよびリードからなる部分の非線形動作をシミュレートする励振部と、管楽器の管部である共鳴管の伝送特性をシミュレートする管体部とで閉ループを形成し、この閉ループ中に励振部から吹奏圧に相当する励振信号を注入すると、閉ループで信号の循環が励起され、これにより共鳴管の共振動作に対応したピッチ(音高)の楽音信号が得られる。
【0003】
【発明が解決しようとする課題】
さて、上述した従来の楽音発生装置では、マウスピースおよびリードからなる部分の非線形動作をシミュレートする非線形テーブルを備えている。この非線形テーブルは、管内圧力変化をリード振動により励起される上記励振信号に変換するものであり、マウスピースとリードとの間隙を通過する空気流による管内圧力変化を読み出しアドレスとして、リードの非線形的な変位に応じた振動で励起される圧力を発生するようにしている。
こうしたテーブル変換では、ROMなどに変換特性を記憶しておく訳であるが、楽音発生用信号処理では、処理精度の向上を図る為に入力アドレス長が16ビットを超える場合が多く、そのため膨大な記憶容量を持つテーブルとなってしまうという弊害が出ている。
【0004】
ところで、近年においては、上述した従来の楽音発生装置による自励振動型の音源と、周知の波形読み出し型の音源とを搭載し、発生すべき楽音の種類に応じていずれかの音源を用いるようにした装置も案出されつつある。その場合、自励振動型の音源も波形読み出し型の音源もいずれも「テーブル」あるいは「波形メモリ」を読み出す構成が必須になる。そこで、上述した弊害を鑑みてテーブル記憶容量あるいは波形メモリ記憶容量の低減を図る上、自励振動型や波形読み出し型の音源と共用可能な補間手段が待望されている。
【0005】
そこで、本発明は、上述した事情に鑑みてなされたもので、テーブル記憶容量あるいは波形メモリ記憶容量の低減を図る上、自励振動型や波形読み出し型の音源と共用可能な補間手段を備える楽音発生装置を提供することを目的としている。
【0006】
上記目的を達成するため、請求項1に記載の発明では、発音体の非線形特性に基づいて励振信号を発生する励振手段と、共鳴体の伝送特性をシミュレートするために、この励振手段から出力される励振信号を所定時間遅延させながら繰り返し循環させて共鳴体の共振動作に対応した音高の楽音を生成するウエーブガイド手段と、を少なくとも有する楽音発生装置において、前記励振手段は、外部より供給される吹奏圧に対応する信号と前記ウエーブガイド手段の伝送復路を介してフィードバックされる反射圧力波に対応する信号との差を表す圧力差信号を算出する第1の演算手段と、この第1の演算手段より供給される圧力差信号を、吹奏態様に応じた共振値及びカットオフ周波数に基づいてローパスフィルタリングするローパスフィルタ手段と、このローパスフィルタ手段からの信号を非線形変換する非線形テーブル手段と、この非線形テーブル手段からの信号と前記圧力差信号とを乗算して前記ウエーブガイド手段の伝送往路に供給する第2の演算手段と、を有し、さらに前記非線形テーブル手段は、前記発音体の非線形特性を記憶する記憶手段を有し、前記ローパスフィルタ手段からの信号を読み出しアドレスとし、当該読み出しアドレスの整数部に応じて前記記憶手段から前記当該非線形特性を参照読み出しして前記ローパスフィルタ手段からの信号を非線形出力信号に変換する変換手段と、前記非線形特性を補間するための補間係数を記憶しておき、前記読み出しアドレスの小数部に応じて補間係数を読み出し、読み出した補間係数に従って前記非線形出力信号を補間して出力する補間手段と、を具備することを特徴としている。
【0007】
請求項2記載の発明では、発音体の非線形特性に基づいて励振信号を発生する励振手段と、共鳴体の伝送特性をシミュレートするために、この励振手段から出力される励振信号を所定時間遅延させながら繰り返し循環させて共鳴体の共振動作に対応した音高の楽音を生成するウエーブガイド手段と、を少なくとも有する楽音発生装置において、前記励振手段は、外部より供給される吹奏圧に対応する信号と前記ウエーブガイド手段の伝送復路を介してフィードバックされる反射圧力波に対応する信号との差を表す圧力差信号を算出する第1の演算手段と、この第1の演算手段より供給される圧力差信号を、吹奏態様に応じた共振値及びカットオフ周波数に基づいてローパスフィルタリングするローパスフィルタ手段と、このローパスフィルタ手段からの信号を非線形変換する非線形テーブル手段と、この非線形テーブル手段からの信号と前記圧力差信号とを乗算して前記ウエーブガイド手段の伝送往路に供給する第2の演算手段と、を有し、さらに前記非線形テーブル手段は、前記発音体の非線形特性を記憶する記憶手段を有し、前記ローパスフィルタ手段からの信号を読み出しアドレスとして、当該読み出しアドレス整数部INTおよびアドレス小数部FRCを発生する一方、このアドレス整数部INTの前後複数のアドレスINT±nと、前記アドレス小数部FRCの前後複数のアドレスFRC±nとを発生し、前記アドレス整数部INTおよびその前後複数のアドレスINT±nに従って非線形特性を前記記憶手段から参照読み出し、それぞれ対応する複数の非線形出力信号を発生する非線形出力手段と、前記非線形特性を補間する補間関数から求まる複数の補間係数を記憶しておき、前記アドレス発生手段が発生したアドレス小数部FRCおよびその前後複数のアドレスFRC±nに従って対応する補間係数をそれぞれ読み出し、読み出した各補間係数により前記複数の非線形出力信号を重み付け加算した信号を形成して出力する補間演算手段と、
を具備することを特徴としている。
【0009】
本発明では、発音励起操作に応じた読み出しアドレスを発生すると、発音体の非線形特性を記憶する変換手段が読み出しアドレスの整数部に応じて当該非線形特性を参照読み出しして前記発音励起操作を非線形出力信号に変換する一方、非線形特性を補間するための補間係数が記憶された補間手段では、読み出しアドレスの小数部に応じて補間係数を読み出し、読み出した補間係数に従って前記非線形出力信号を補間して前記励振信号を生成するので、非線形特性が格納されるテーブル容量を低減できる。
【0010】
【発明の実施の形態】
本発明は、管楽器の発音メカニズムをシミュレートする楽音発生装置に適用され得る。以下では、発明の原理について述べた後、本発明の実施の形態である楽音発生装置を実施例とし、図面を参照して説明する。
【0011】
A.発明の原理
(1)発音メカニズム
実施例の説明に入る前に、本発明による管楽器(シングル・リード楽器)の発音メカニズムについて述べる。周知の通り、管楽器は空気柱を取囲む管と、空気柱に振動を生じさせる機構とを備え、管は共鳴体として動作し、空気振動を生じる機構は発音体として動作する。管楽器では、多くの場合、リードと呼ばれる弾性体の薄片を振動させて発音するようになっており、ここで、図1に示すシングル・リード楽器の断面構造を参照して発音メカニズムについて説明する。
【0012】
マウスピースMPとリードRDとの間隙に吹奏圧Pを吹込むと、吹込んだ吹奏圧Pによって発生する正の圧力波はボアBO(管体)を経てベルBLへ伝播する。この様子をインパルス応答として図示すると、図2のように、管長L、音速cとした場合、2L/c,4L/cおよび6L/cで圧力ピークとなる定在波が生じるのが判る。
ところで、ベルBLは開放端だから、ボアBO(管体)を経た圧力波の符号は反転して負となり、今度はベルBL→ボアBO→リードRDの順に伝播し、リードRD間近の圧力pを低下させる。これにより、マウスピースMPとリードRDとの間隙(スリット)を流れる空気流速は上昇し、その時リードRDに作用するベルヌーイ力により当該リードRDが閉じられ、スリット幅が減少する。
【0013】
このように、吹奏圧Pが加えられると、体積流量はある程度まで上昇するが、それに応じてスリット幅が徐々に減少し、ついにはスリットが閉じて体積流量がゼロとなる。リードRDが閉じると、リード直近は完全な閉管状態になり、この場合、ベルBL→ボアBOの順に到来する圧力波はその符号が反転せずに透過して行く。
こうしてリード直近の圧力pがある程度まで上昇すると、今度はリードRDが開き、吹奏圧Pが加えられた状況に戻り、以後同様な繰り返しがなされる。この繰り返し挙動に関わるパラメータとしては、ボアBOやベルBLの形状、吹奏圧P、リードRDと吹奏者の唇とを合わせた弾性係数などで決る共振周波数Fcや共振値Qの他、管体の伝播損失などが挙げられる。
【0014】
吹奏圧Pとリード直近の圧力pとの圧力差に対する体積流量Fの関係は、凡そ図3に示す2次関数で表現し得る。リード楽器の物性は、リードRDの変位xをも考慮した場合、「流量F」→「圧力p」→「変位x」→「流量F」の順に変換されるフィードバックループとして捉えることができる。つまり、「吹奏圧P」から出発して「圧力p(吹奏圧Pとリード直近の圧力pとの圧力差)」→「リードRDの変位x」→「流量F」の順に変換される非線形特性と、「流量F」→「圧力p(吹奏圧Pとリード直近の圧力pとの圧力差)」に変換される線形特性とで発音メカニズムが実現される訳である。
【0015】
ここで、「吹奏圧P」から出発して「圧力p(吹奏圧Pとリード直近の圧力pとの圧力差)」→「リードRDの変位x」→「流量F」の順に変換される非線形特性、つまり、リードRDの非線形動作は、上述したように、図3に示す2次関数であるから、図4に図示する2次方程式F=−p(p+a)で近似することができる。但し、p<aではF=0とする。また、これは当然、非線形テーブルとして扱うこともできるし、上記近似式の(p+a)項をテーブル変換する方法も考えられる。
【0016】
(2)信号処理アルゴリズム
次に、図5を参照して上述した発音メカニズムに基づきリード楽器の発音動作をシミュレートする信号処理アルゴリズムについて説明する。この図において、1は乗算器であり、後述する非線形テーブル部10から出力される圧力pに、後述する加算器8の出力(−p+a)を乗算して吹奏体積速度(流量F)を発生する。Mはこの乗算器1の出力に比例定数g1を乗算して出力する係数乗算器である。2はマウスピースとリードとの間隙における反射圧力波の散乱(反射および透過)をシミュレートする信号散乱ジャンクションであり、加算器2a,2c、乗算器2e,2bおよび遅延素子2dとからなる乗算格子で形成される。ここで、遅延素子2dは、入力される信号を1サンプル周期遅延して出力するものである。
【0017】
3は共鳴管の伝送特性をシミュレートするウェーブガイドであり、構成要素4〜6から構成されている。4−1〜4−6は、それぞれウェーブガイド3の伝送往路に介挿されて共鳴管における空気圧力波の伝播遅延をシミュレートする遅延回路である。これら遅延回路4は、例えば、RAMなどの揮発性メモリを環状アドレッシングしたリングバッファで形成され、その書込みアドレスと読み出しアドレスとの相対差に応じた遅延時間を発生する。
遅延回路4は、図6に示すように、リングバッファ4aに互いに異なる2つの読み出しアドレスa,bをセット可能とし、かつ、このアドレスa,bに対応する遅延時間にそれぞれ補間係数r,1−rを乗算する乗算器4b,4cと、これら乗算器4b,4cの出力を加算する加算器4dとを備える。
【0018】
上記構成による遅延回路4では、ノートオンタイミング毎に読み出しアドレスa,bが交互にセットされるようになっており、例えば、図7に示すように、ノートオンタイミングt1において読み出しアドレスaがセットされ、これに応じた遅延時間Daに対応するピッチで発音している時、乗算器6bには補間係数rとして「1」がセットされる一方、読み出しアドレスb側は使用されない。次に、新たなピッチへ音高変化させる過程において、補間係数rを徐々に「0」にしながら、ノートオンタイミングt2において新たな読み出しアドレスbをセットすることで、先のピッチに対応する遅延時間Daから現ピッチに対応する遅延時間Dbに遅延補間されるようになっている。
【0019】
次に、再び図5に戻り、信号処理アルゴリズムの説明を進める。図5において、5−1〜5−5は、それぞれ共鳴管において管の径が変化している箇所で発生する空気圧力波の散乱をシミュレートする信号散乱ジャンクションである。
信号散乱ジャンクション5は、図8に示すように、減算器5a、係数乗算器5bおよび加算器5c,5dから構成される格子構造フィルタであり、図10に図示するように、管の断面積がS1からS2に変化する際の圧力波の反射(p1’,p2’)および透過(p1,p2)をシミュレートする。なお、係数乗算器5bの乗算係数kは、上記断面積の値S1、S2に基づき、k=S1−S2/S1+S2の関係で与えられる値である。
【0020】
また、図9は、図8に図示した格子構造フィルタと同等のジャンクションであり、この場合、図8に示す構成のものに比して乗算器の数を1つ省略し得る。図8および図9に示すジャンクションの構成は、使用するDSP(ディジタル・シグナル・プロセッサ)の特性に応じていずれかを選択する。つまり、乗算回数を減らしたい場合には、図8に図示する構成のジャンクションを使用した方が有利であるし、一方、乗加算処理が早いタイプのDSPであれば、図9に図示する構成のジャンクションを用いれば良い。
【0021】
再び図5を参照して信号処理アルゴリズムの説明に戻る。図5において、6−1〜6−6は、それぞれウェーブガイド3の伝送復路に介挿され、1サンプリング周期遅延する遅延素子、7は管体終端の損失をシミュレートする乗算器である。加算器8は、ウェーブガイド3の復路を介してフィードバックされる反射圧力波と吹奏圧との圧力差(−p+a)を発生し、これを次段へ出力する一方、前述した乗算器1に供給する。9はリードRD(図1参照)の共振特性をシミュレートするローパスフィルタ(以下、LPFと記す)である。
LPF9は、例えば、図11に図示するように、減算器9a,9b、乗算器9c,9e,9i、加算器9d,9fおよび遅延素子9g,9hからなるIIRフィルタから構成され、吹奏態様に応じた共振値Qおよびカットオフ周波数Fcが乗算器9c,9e,9iの係数として与えられ、これによりリードの自励振動モード等が定められる。
【0022】
非線形テーブル部10は、リードRDの非線形動作をシミュレートするものであり、図12に図示する関係、すなわち、吹奏圧Pとリード直近の圧力との圧力差(−p+a)に対する圧力(反射圧力)pをテーブル記憶している。この非線形テーブル部10は、図13に示すように、構成要素10a〜10fから形成される。
ここで、図13を参照して非線形テーブル部10の構成について説明する。図において、10aは、例えばフラッシュメモリやEPROMなどのように、電気的に書き換え可能な不揮発性メモリで構成される非線形テーブルメモリであり、上述した通り、吹奏圧Pとリード直近の圧力との圧力差(−p+a)に対する反射圧力pをデータテーブルとして記憶している。10bは補間係数メモリであり、図14に図示される補間関数Jnにより求まる補間係数を記憶する。
【0023】
これらメモリ10a,10bには、吹奏圧Pに対応して生成されるアドレスADの整数部INTと小数部FRCとがそれぞれ供給される。10c−1はアドレスADの小数部FRCに「1」を加算して小数部FRC+1を発生する加算器、10c−2は小数部FRCから「1」を減算して小数部FRC−1を発生する減算器、10c−3は小数部FRCから「2」を減算して小数部FRC−2を発生する減算器である。これにより、アドレスADの小数部FRCに対応した補間係数IPC1と、これに前後隣り合うアドレスの3つの補間係数IPC2〜IPC4とが小数部FRC+1,FRC−1,FRC−2に応じて補間係数メモリ10bから読み出される。
【0024】
一方、10d−1はアドレスADの整数部INTに「2」を加算して整数部INT+2を発生する加算器、10d−2はアドレスADの整数部INTに「1」を加算して整数部INT+1を発生する加算器、10d−3は整数部INTから「2」を減算して整数部INTを発生する減算器であり、上記小数部FRC側と同様に、アドレスADの整数部INTに対応した反射圧力p1と、これに前後前後隣り合うアドレスの3つの反射圧力p2〜p4とが整数部INT−1,INT+1,INT+2に応じて非線形テーブルメモリ10aから読み出される。
【0025】
10e−1〜10e−4は乗算器であり、アドレスADの整数部INT,INT−1,INT+1,INT+2に応じて非線形テーブルメモリ10aから読み出される反射圧力p2〜p4に対して、アドレスADの小数部FRC,FRC+1,FRC−1,FRC−2に応じて補間係数メモリ10bから読み出される補間係数IPC1〜IPC4をそれぞれ互いに乗算して出力する。10fはこれら乗算器10e−1〜10e−4の各出力を加算して補間された反射圧力pを発生する加算器である。
【0026】
このように、本発明では、補間関数により導出される補間係数を記憶する補間係数メモリ10bを設けると共に、読み出しアドレスを整数部と小数部とに分割し、アドレス整数部に従って非線形テーブルメモリ10aから読み出した複数のテーブル値(圧力p)を、アドレス小数部に従って上記メモリ10bから読み出した複数の補間係数に基づいて補間演算する構成を備える為、非線形テーブルメモリ10aのメモリ容量の低減を図ることが可能となっている。
【0027】
以上説明した信号処理アルゴリズムでは、構成要素8,9,10,1からなる励振部において吹奏圧Pが与えられると、先ず加算器8においてウェーブガイド3の復路を介して伝播して来る反射圧力との圧力差(−p+a)が生成されてLPF9に入力される一方、乗算器1に乗算係数として供給される。LPF9では、吹奏態様に応じた共振値Qおよびカットオフ周波数Fcに基づき、この圧力差(−p+a)にローパスフィルタリングを施してリードの自励振動モードに基づく管内圧力変化、つまり、マウスピースとリードとの間隙を通過する空気流による管内圧力変化を非線形テーブル部10に与える。
【0028】
非線形テーブル部10では、管内圧力変化に対応した反射圧力pを上述した補間演算により求めて出力し、これが乗算器1において加算器8の出力(−p+a)と乗算されて吹奏体積速度(流量F)となる。次いで、この吹奏体積速度がマウスピースとエア・リードとの間隙における圧力波の透過/反射をシミュレートする信号散乱ジャンクション2を経てウェーブガイド3の伝送往路に入力される。ウェーブガイド3では、共鳴管の伝播遅延、管の径が変化する箇所での散乱および管端の反射損失とがシミュレートされる。この後、遅延素子→ジャンクション→遅延素子…というようにウェーブガイド3の伝送復路を辿り、再び加算器8にフィードバック入力される。
こうにして構成要素1〜10からなる閉ループ中にデータの循環、すなわち、共振動作が行われている過程で、ウェーブガイド3の終端となる乗算器7から楽音信号が出力される。
【0029】
ところで、構成要素8,9,10,1からなる励振部は、図5に示す構成のみならず各種態様を採り得る。例えば、図15に図示する構成は、最も簡易的に非線形特性をシミュレートするものであり、この場合、非線形テーブル部10には管内圧力変化に対応した吹奏体積速度(流量F)を格納しておき、LPF9の出力を流量Fに直接的に変換する簡易な構成となっている。
また、図16に示す構成では、非線形テーブルに替えて加算器ADDおよび論理ゲートGを設けて図4に示した2次方程式F=−p(p+a)をシミュレートするようにしている。ここで、論理ゲートGは入力信号がゼロ以下である時にゼロ出力し、それ以外は入力信号をそのまま出力する励振部となる。
【0030】
なお、所謂、エア・リードの非線形特性をシミュレートするには、図17に示す構成が有効である。この場合、ウェーブガイド3の伝送復路を介してフィードバックされる反射圧力波を直接、LPF9に供給する。LPF9では、吹奏態様に応じた共振値Qおよびカットオフ周波数Fcに基づき、この反射圧力波にローパスフィルタリングを施してエア・リードの自励振動モードに基づく流速分布変化を生成して非線形テーブル部10に与える。非線形テーブル部10では、管内を往来する反射圧力波に対して作用する流速分布の変化に応じて発生する圧力波をテーブル記憶することになり、LPF9の出力に対応した圧力波を読み出す。読み出された圧力波は、乗算器1にて吹奏圧Pが乗算されて吹奏体積速度(空気流速)となる。
【0031】
B.実施例の構成
(1)全体構成
次に、図18を参照し、上に述べた信号処理アルゴリズムに基づき楽音を発生する実施例の全体構成について説明する。この図において、20は押離鍵操作に応じたキーオン、キーオフ、ノートナンバ(音高)および押鍵速度に対応したベロシティ値などの演奏情報を発生する鍵盤である。21は操作パネルに各種配設されるパネルスイッチであり、各種スイッチの操作に応じた操作信号を発生する。パネルスイッチ21には、例えば、図19に示すように、数値入力する際に操作されるテンキー21a、カーソル移動する際に操作されるカーソルキー21bの他、前述した非線形テーブルメモリ10a(図13参照)の内容などを編集する際に操作されるキーEDITや、動作モードを遷移する際に操作されるキーEXIT、入力確定する際に操作されるキーEnterなどがある。
【0032】
22はLCDパネルやLCD駆動回路等で構成される表示装置であり、後述するマイクロコンピュータ23からバスBを介して供給される表示制御信号に基づき、例えば、上記操作信号に応じたパネル設定状態などを表示する。マイクロコンピュータ23は、例えば、CPU、ROMおよびRAM等を同一チップ上に形成した所謂ワンチップマイコンであり、後述する動作により装置各部を制御する。24はディジタル・シグナル・プロセッサ(以下、DSPと記す)であり、自身に内蔵されるマイクロプログラムに従って上述した信号処理アルゴリズムに基づき楽音形成する。
【0033】
DSP24において実行される信号処理アルゴリズムは、マイクロコンピュータ23からバスBを介して供給される各種パラメータ(後述する)に基づき制御される。25は前述した遅延回路4−1〜4−5および遅延素子6−1〜6−6として使用される遅延用のRAMである。26はROMであり、前述した非線形テーブルメモリ10aや補間係数メモリ10b(図13参照)が設けられている。27はDSP14から出力される楽音出力をアナログ信号に変換して出力するD/A変換器である。
【0034】
(2)DSP24の機能構成
▲1▼概略構成
次に、図20〜図25を参照してDSP24の機能構成について説明していく。まず図20を参照してDSP24の概略構成について述べる。この図において、30はマイクロコンピュータ23(以下、マイコン23と略称する)側とデータ授受するマイコンインタフェース部(MIF)である。31はマイクロプログラムメモリ(MPRAM)であり、前述した信号処理アルゴリズムの内容を規定するマイクロプログラムが記憶される。
【0035】
このMPRAM31に記憶されるマイクロプログラムは、上記MIF30を介してマイコン23側から供給される制御信号に応じて順次読み出される。こうして読み出されるマイクロプログラムは、処理単位毎、すなわち命令セット毎にインストラクションレジスタ(IR)32にストアされる。33はプログラムデコーダ(PD)であり、IR32から読み出される命令セットをデコードして制御信号Scを発生する。この制御信号Scに応じてDSP24内部のレジスタ、乗算器および論理演算器の動作が制御される。
【0036】
34はMIF30を介してマイコン23側から供給される各種楽音パラメータ(吹奏圧P、補間係数r、カットオフ周波数F等)を設定されたレートで目標値になるようにエンべロープ制御するエンベローパであり、その構成および概略動作については追って述べる。35は補間器/外部RAMインタフェースである。この補間器/外部RAMインタフェース35は、ROM26に設けられている非線形テーブルメモリ10aおよび補間係数メモリ10bに対する読み出しアドレスを制御して非線形テーブル変換時の補間を行う一方、遅延回路として用いられているRAM25の読み出しアドレスを制御して遅延制御するものであり、その詳細については後述する。
【0037】
36は上記補間器/外部RAMインタフェース35にて補間処理されたパラメータを記憶するパラメータメモリ(PRAM)、37はDSP24内部で行われる演算結果等を一時記憶するワークメモリである。38はバス、39,40は乗算されるデータが一時記憶される乗算用レジスタ、41,42は論理演算されるデータが一時記憶される論理演算用レジスタである。43〜45はセレクタ、46は乗算器、47は乗算器46の出力を保持する乗算結果レジスタである。48は論理演算器、49は論理演算器48の出力を保持する論理演算結果レジスタである。50は上記論理演算結果レジスタ49の出力をシフトあるいはクリップするシフター/クリッパー、51はシフター/クリッパー50の出力結果をストアする結果レジスタである。52〜53は出力レジスタ、54はこれらレジスタ52,53の内容をシリアルデータに変換して出力するパラレル/シリアル変換器である。
【0038】
▲2▼エンベローパ34の構成
図21はエンベローパ34の構成を示すブロック図である。この図において、34aは、PRAM36の出力あるいはTRAM1の出力のいずれかを選択して次段へ供給するセレクタである。34bはターゲットデータレジスタ(TGR)であり、設定目標値となるパラメータがセットされる。34cはレートデータレジスタ(RTR)であり、パラメータ変化率を表わすレートデータがストアされる。34dはカレントデータレジスタ(CRR)であり、現在設定されているパラメータ値がストアされる。
【0039】
34eは上記TGR34bあるいはRTR34cの出力のいずれかを選択して次段へ供給するセレクタである。34fは上記セレクタ34eの出力とCRR34dの出力とを加算、減算あるいは大小比較する加減算比較器である。この加減算比較器34fの動作は、前述した制御信号Scに応じて定まる。34gは加減算比較器34fが比較演算する際の比較結果フラグがストアされる比較結果フラグレジスタである。34hは上記加減算比較器34fの演算により生成されるパラメータ値(エンベロープ)を一時記憶する結果レジスタである。34iは、この結果レジスタ34hの出力、あるいは前述したMIF30から供給される信号のいずれかを選択して出力するセレクタである。
【0040】
上記構成によるエンベローパ34では、図22に示すタイミングでパラメータのエンベロープ制御結果を出力する。すなわち、基本クロックφに同期してTGR34bに設定目標値D_targetがセットされた時刻t0から基本クロックφの1周期後の時刻t1においてCRR34dに現在値D_Currentがストアされる。
これにより、時刻t2では、加減算比較器34fにおいて設定目標値D_targetと現在値D_Currentとが比較される一方、RTR34dにレートデータがセットされる。そして、加減算比較器34fの比較結果に基づき、時刻t3ではCRR34dにストアされる現在値D_Currentに対してRTR34cに格納されているレートデータに従ってレート加算、あるいはレート減算した結果をEVR34hにセットするようにしている。
【0041】
▲3▼補間器/外部RAMインタフェース35の構成
次に、図23を参照して補間器/外部RAMインタフェース35の構成について説明する。図において、351は実数型のオフセットアドレスがストアされるアドレスメモリ(TRAM1)である。352は、バスTRから供給されるオフセットアドレス、あるいは上記TRAM1から読み出されるオフセットアドレスのいずれかを選択して次段へ供給するセレクタである。353は上記セレクタ352を介して供給される実数型のアドレス、すなわち、アドレス整数部およびアドレス小数部が格納されるアドレスレジスタ(TXR)である。
【0042】
354は前述したMIF30から供給される整数型のアドレスがストアされるアドレスメモリ(TRAM2)であり、355はこのアドレスメモリ354から読み出される整数アドレスを一時記憶するアドレスレジスタ(TR)である。356は上記TXR353あるいはTR355から出力されるアドレス整数部のいずれかを選択して次段へ供給するセレクタである。357はセレクタであり、後述する演算結果レジスタ359の出力あるいはサンプリングサイクルカウンタ値SCのいずれを選択して出力する。
【0043】
358はセレクタ356の出力とセレクタ357の出力とに基づき指定アドレスに対して前後3つのアドレス整数部を発生する論理演算器である。演算結果レジスタ359には、論理演算器358が生成する指定アドレス(整数部)とこれに前後する3つのアドレス(整数部)が逐次ストアされる。360はこの演算結果レジスタ359から出力される指定アドレス(整数部)とこれに前後する3つのアドレス(整数部)を外部メモリアドレスEADRとして格納される外部メモリアドレスレジスタである。
この外部メモリアドレスEADRに基づき非線形テーブルメモリ10a(図13参照)から補間演算のためのテーブル値が読み出される。
【0044】
361は上述したTXR353から出力されるアドレス小数部を一時記憶する小数部レジスタ(TTR)である。362は加減算器であり、上記TTR361に格納されるアドレス小数部に前後する3つのアドレス小数部を発生する。363は前述したROM26(図18参照)に設けられる補間係数メモリであり、加減算器362から出力される隣り合う4つのアドレス小数部に応じて対応する補間係数を読み出す。364はこの補間係数メモリ363から順次読み出される補間係数を一時記憶する補間係数レジスタである。365は、上述した外部メモリアドレスEADRに基づき非線形テーブルメモリ10aから読み出されるテーブル値EDATを一時記憶するレジスタである。
【0045】
366は補間係数レジスタ364から出力される補間係数と、レジスタ365から出力されるテーブル値EDATとを乗算する乗算器である。367は乗算器366の出力と自己の出力とを加算して補間演算する加算器である。368は加算器367の補間結果を一時記憶する演算結果レジスタ、369は補間結果を保持する保持レジスタである。370は前述したバスTRを介して供給されるベロシティ値pを遅延用RAM25に書き込むために一時記憶するレジスタである。
【0046】
結局、上記構成による補間器/外部RAMインタフェース35では、図24に示すタイミングで非線形テーブルメモリ10aから読み出したテーブル値を補間演算する。
すなわち、図13に示すアドレス表記に合せて説明すれば、まずTXR353に読み出すべきアドレス整数部INTがセットされると、次のクロックタイミングでは、論理演算器358の処理に基づきAR359には順次、アドレス整数部INT−1,INT,INT+1,INT+2がセットされる一方、TTR361に対応するアドレス小数部FRCがストアされる。TTR361にアドレス小数部FRCがセットされると、加減算器362はアドレス小数部FRC−2,FRC−1,FRC,FRC+1を順次発生する。
【0047】
こうして非線形テーブルメモリ10aを読み出すためのアドレス整数部INT−1,INT,INT+1,INT+2と、補間係数メモリ10bを読み出すためのアドレス小数部FRC−2,FRC−1,FRC,FRC+1とが生成されると、これに応じて上記メモリ10aから逐次読み出されるテーブル値(圧力値)p2,p1,p3およびp4がEIR365に順次セットされると共に、KR364では上記メモリ10bから逐次読み出される補間係数IPC2,IPC1,IPC3およびIPC4がセットされる。
そして、乗算器366および加算器367を介した補間演算によりADR368には、補間演算結果として「p2×IPC2」,「p2×IPC2+p1×IPC1」,「p2×IPC2+p1×IPC1+p3×IPC3」および「p2×IPC2+p1×IPC1+p3×IPC3+p4×IPC4」が順次ストアされることになる。
【0048】
これに対し、補間器/外部RAMインタフェース35が遅延発生する際には、図25に図示するように、TRAM2からのアドレス整数部と、サンプリングサイクルカウンタ値SCとが論理演算器358において加算され、その結果がAR359にストアされる。このアドレスにより遅延用RAM25から読み出されたデータがEIR365に与えられる。
また、書込みの場合はバスTRからEOR370に書き込むべきデータを予めセットしておき、同様なアドレス演算により生成される書込みアドレスがADR368にセットされ、そのアドレスに従い遅延RAM25にEOR370のデータが書き込まれるようになる。
【0049】
C.実施例の動作
次に、上記構成による実施例の動作について図26〜図32を参照して説明する。
(1)イニシャル処理
まず、本実施例である楽音発生装置に電源が投入されると、マイクロコンピュータ23は、内部ROMに記憶されている制御プログラムを読み出してロードした後、図26に示すイニシャル処理を実行してステップSA1に処理を進める。ステップSA1では、レジスタc_flagに格納される制御フラグを「0」、レジスタr_targetに格納される遅延補間係数目標値を「0」、吹奏息圧に相当する直流成分DCを格納するレジスタp_targetを「0」とするイニシャライズを行った後、割込みマスクを解除してイベント割込みが発生するまで待機する。なお、ここで言うイベント割込みとは、上述したパネルスイッチ11のスイッチ操作に応じた割込みや、押離鍵操作に応じた割込みの他、一定周期毎に発生するタイマ割込みを指す。
【0050】
(2)エディット処理
ここで、例えば、演奏に先立って楽音パラメータの内容を編集すべく、操作パネルに配設されるキーEDIT(図19参照)が操作されたとする。そうすると、このキーEDITの操作に応じて発生するキーオンイベントに基づき、マイクロコンピュータ23は、図27に示すエディット処理ルーチンを起動してステップSB1に処理を進める。
ステップSB1では、スイッチ操作に応じてエディット指定されたパラメータの種類を判別する。ここで、楽音の立上がり形状を表わすアタックレートを更新する際には、ステップSB2に処理を進め、新たに入力されたアタックレートをレジスタatk_rateにセットする。
【0051】
また、リリースレートを更新する際には、ステップSB3に処理を進め、新たに入力されたリリースレートをレジスタrls_rateにセットする。さらに、発音音高を滑らかに変化させる際のポルタメントレートを更新する時には、ステップSB4に処理を進め、新たに入力されたポルタメントレートをレジスタplt_rateにセットする。
そして、前述した非線形テーブルメモリ10aの内容を更新する場合には、ステップSB5に処理を進めて当該テーブル10aを形成する全テーブル値を画面(LCDパネル)表示し、続く、ステップSB6では、これら画面表示された全テーブル値の内、更新すべきテーブル値番号No.を入力、あるいはカーソルキー11bの操作にて指定する。そして、次のステップSB7では、この指定したテーブル値に対して新たに入力された値を、レジスタNLT[NO.]にセットして非線形テーブルの内容を更新する。
【0052】
(3)ノートオン処理
こうして各種パラメータや非線形テーブルの内容を更新させてエディット処理を完了すると、マイクロコンピュータ23は再び割込み待機状態となる。そして、この状態で操作者が演奏操作により鍵盤10のいずれかの鍵を押鍵したとする。そうすると、この押鍵に応じて発生するキーオンイベントに基づき、マイクロコンピュータ23は図28に示すノートオン処理を実行してステップSC1に処理を進める。
ステップSC1では、押鍵された鍵のノートナンバと押鍵速度に対応するベロシティ値とをそれぞれレジスタNote、レジスタVelにストアし、次のステップSC2に処理を進める。
【0053】
ステップSC2では、レジスタc_flagに格納される制御フラグが「0」、すなわち、先の発音音高から現発音音高へ変化させる場合に遅延補間するか否かを判断する。ここで、遅延補間しない時には、レジスタc_flagに格納される制御フラグは「0」であるから、判断結果は「YES」となり、次のステップSC3に処理を進める。ステップSC3では、レジスタr_targetに補間係数目標値として「1」をセットすると共に、レジスタD3aに上記レジスタNoteに格納されるノートナンバに対応した遅延時間を与える読み出しアドレスaをセットする。
つまり、レジスタD3aには、前述した信号処理アルゴリズム(図5参照)における遅延回路4−3の読み出しアドレスaがセットされる。次いで、マイクロコンピュータ23は、ステップSC4に進み、レジスタc_flagに格納される制御フラグを「1」にセットした後、後述するステップSC7へ処理を進める。
【0054】
一方、遅延補間する発音の場合、すなわち、先の発音音高に対応する遅延時間から現発音音高に対応する遅延時間に補間する時には、レジスタc_flagに格納される制御フラグが「1」にセットされるから、上記ステップSC2の判断結果は「NO」となり、ステップSC5に進む。ステップSC5では、レジスタr_targetの遅延補間係数目標値を「0」とし、かつ、レジスタD3bにノートナンバ(音高)に対応した遅延時間を与える読み出しアドレスbをセットする。
これにより、遅延回路4−3における遅延時間は図7に図示したように、遅延補間係数rが「1」から「0」へ連続的に変化することで内挿補間される。次いで、ステップSC6では、遅延補間を完了したので、レジスタc_flagに格納される制御フラグをゼロリセットする。
【0055】
そして、この後、マイクロコンピュータ23はステップSC7に処理を進め、レジスタF_targetにノートナンバ(音高)に対応した目標カットオフ周波数をセットする一方、レジスタplt_rateに格納されているポルタメントレートをレジスタF_rateにストアする。また、レジスタVelに格納されているベロシティ値を吹奏息圧に相当する直流成分DCとしてレジスタP_targetにストアすると共に、レジスタatk_rateに格納されているアタックレートをレジスタP_rateに格納する。さらに、レジスタplt_rateに格納されているポルタメントレートをレジスタr_rateにセットする。
【0056】
なお、レジスタF_targetに格納される目標カットオフ周波数は、図29に図示するように、予めテーブル化されており、発音すべき音高(ノートナンバ)に応じて読み出されるようになっている。
結局、ステップSC7では、発音すべき音高に応じた目標カットオフ周波数とその変化レート(ポルタメントレート)とがセットされ、また、押鍵速度に応じたベロシティ値(吹奏息圧に相当)とその変化レート(アタックレート)とがセットされる。さらに、遅延補間係数を「1」から「0」に変化させる際のレートにポルタメントレートを割り当てる。
【0057】
(4)ノートオフ処理
次に、押鍵されていた鍵が離鍵されると、その離鍵操作に応じて発生するキーオフイベントに基づき、マイクロコンピュータ23は図30に示すノートオン処理を実行してステップSD1に処理を進め、上記ノートオン処理においてレジスタP_targetにストアされたベロシティ値(吹奏圧に相当)をゼロリセットすると共に、レジスタrls_rateに格納されているリリースレートをレジスタP_rateにセットする。
【0058】
(5)タイマ割込み処理
さて、マイクロコンピュータ23では、一定周期毎にタイマ割込み処理を起動して図21に示すステップSE1〜SE3を実行する。すなわち、ステップSE1では、遅延補間係数rが目標値に到達するようポルタメントレートに応じて増加あるいは減少させる。また、ステップSE2では、カットオフ周波数Fをカットオフ周波数目標値となるようにポルタメントレートに応じて増加あるいは減少させる。さらに、ステップSE3では、吹奏息圧に相当するベロシティ値までアタックレートに応じて増加あるいは減少させる。つまり、これらステップSE1〜SE3は、いずれも与えられたレートに応じてパラメータを目標値になるよう制御するエンベロープ処理であり、その詳細を上記ステップSE1における遅延補間係数発生処理を例に挙げて説明する。
【0059】
いま、タイマ割込みイベントが発生して図31に示すタイマ割込み処理が起動され、ステップSE1に進むと、マイクロコンピュータ23は、図32に示す遅延補間係数発生処理を実行してステップSF1に処理を進める。
ステップSF1では、遅延補間係数rがレジスタr_targetに格納される目標値に達したか否かを判断する。ここで、目標値に達したならば、判断結果は「YES」となり、この処理を完了するが、そうでない場合には、判断結果が「NO」となり、次のステップSF2に処理を進める。
【0060】
ステップSF2では、現在の遅延補間係数rが目標値より小であるか否かを判断する。ここで、現在の遅延補間係数rが目標値より小さい時には、判断結果が「YES」となり、ステップSF3に進む。ステップSF3では、現在の遅延補間係数rに対してレジスタr_rateに格納されるポルタメントレートを加算して係数値を更新する。つまり、音高変化に応じて遅延補間係数rをレート加算する訳である。
一方、上記ステップSF2において補間係数rが目標値より大なる時には、判断結果が「NO」となり、ステップSF4に処理を進める。
【0061】
ステップSF4では、現在の遅延補間係数rに対してレジスタr_rateに格納されるポルタメントレートを減算することにより、音高変化に応じて遅延補間係数rがレート減算される。そして、次のステップSF5に進むと、マイクロコンピュータ23は、レート加算あるいはレート減算された遅延補間係数rをDSP14側に転送する。これにより、DSP24では、マイクロコンピュータ23から供給される遅延補間係数rに応じて遅延補間する。
【0062】
このように、遅延補間係数発生処理においては、遅延補間係数rが目標値に達するまでレート加算あるいはレート減算されて更新され、その更新された遅延補間係数rが逐次DSP14側へ転送される。こうした処理は、前述したステップSE2,SE3においても同様である。
すなわち、ステップSE2が実行された場合には、図示されていないカットオフ周波数発生処理を実行し、カットオフ周波数Fが目標値に達するまでレート加算あるいはレート減算されて更新され、その更新されたカットオフ周波数が逐次DSP14側へ転送される。また、ステップSE3が実行された場合には、図示されていないベロシティ発生処理を実行し、吹奏息圧に相当するベロシティ値が目標値に達するまでレート加算あるいはレート減算されて更新され、その更新されたベロシティ値が逐次DSP14側へ転送される。
【0063】
こうして演奏操作に応じた各パラメータが生成されると、マイクロコンピュータ23はこれら各パラメータをDSP24側へ送出する。すると、DSP24では、前述した信号処理アルゴリズム(図5参照)に基づき、先ず励振部において吹奏圧Pを与え、これにより加算器8にてウェーブガイド3の復路を介して伝播して来る反射圧力との圧力差(−p+a)を生成し、これをLPF9に入力する一方、乗算器1に乗算係数として供給する。
そして、LPF9では、吹奏態様に応じた共振値Qおよびカットオフ周波数Fcに基づき、この圧力差(−p+a)にローパスフィルタリングを施してリードの自励振動モードに基づく管内圧力変化、つまり、マウスピースとリードとの間隙を通過する空気流による管内圧力変化を非線形テーブル部10に与える。
【0064】
前述したように、DSP24では、LPF9の出力、つまり、管内圧力変化に相当する読み出しアドレスADを発生する。このアドレスADは、整数部INTと小数部FRCとから形成され、これに基づいて前述した補間器/外部RAMインタフェース35が小数部FRC−2,FRC−1,FRCおよびFRC+1を発生すると共に、整数部INT−1,INT,INT+1およびINT+2を発生する。そして、アドレスADの小数部FRC−2,FRC−1,FRCおよびFRC+1を補間係数メモリ10bに与えて補間係数IPC2〜IPC4を読み出す一方、アドレスADの整数部INT−1,INT,INT+1およびINT+2に基づき非線形テーブルメモリ10aから圧力p2〜p4を読み出す。
【0065】
こうして指定アドレスADを含む前後4サンプルの圧力p2〜p4と、これに対応する補間係数IPC2〜IPC4とが読み出されると、DSP24は、圧力p2〜p4と補間係数IPC2〜IPC4とをそれぞれ互いに乗算して加算する補間演算を行って補間された反射圧力pを発生する。そして、非線形テーブル部10が補間演算により生成した反射圧力pは、乗算器1において加算器8の出力(−p+a)と乗算されて吹奏体積速度(流量F)に変換され、この吹奏体積速度がマウスピースとエア・リードとの間隙における圧力波の透過/反射をシミュレートする信号散乱ジャンクション2を経てウェーブガイド3の伝送往路に入力される。
【0066】
ウェーブガイド3では、共鳴管の伝播遅延、管の径が変化する箇所での散乱および管端の反射損失とがシミュレートされる。この後、遅延素子→ジャンクション→遅延素子…というようにウェーブガイド3の伝送復路を辿り、再び加算器8にフィードバック入力される。以後、構成要素1〜10からなる閉ループ中において上述した過程を繰り返すデータ循環がなされることで共振動作し、この時ウェーブガイド3の終端部に設けられた乗算器7から指定音高で共振する楽音信号が抽出される。
【0067】
以上説明したように、本発明では、補間関数により導出される補間係数を記憶する補間係数メモリ10bを設けておき、読み出しアドレスの整数部に従って非線形テーブルメモリ10aから読み出した複数のテーブル値(圧力p)を、アドレス小数部に従って上記メモリ10bから読み出した複数の補間係数に基づいて補間演算するから、従来のように、膨大なテーブル容量を備える必要がなく、非線形テーブルメモリ10aのメモリ容量の低減を図り得るようになっている。
【0068】
D.変形例
(1)構成
さて、上述した実施例では、所謂、自励振動型と呼ばれる方式で楽音形成する際の補間技術について言及したが、以下では、この自励振動型の音源に用いた補間手段を波形読み出し型の音源と共用可能した変形例について説明する。
すなわち、上述した実施例においてはリードの非線形特性をシミュレートするための非線形テーブルメモリ10aを補間読み出ししたが、変形例ではこの非線形テーブルメモリ10aに替えて波形メモリを設け、当該波形メモリから波形データを補間読み出しして楽音形成する。この場合の信号処理アルゴリムを図33に示す。
【0069】
図33において、60は後述する波形メモリ部63の読み出しアドレス整数部および小数部が一時記憶されるテンポラリレジスタ(TEMPR)である。61は発音すべき音高に応じて上記TEMPR60に記憶されるアドレスをインクリメントするためのレートデータがストアされるインクリメントレジスタ(INCR)である。62は加算器であり、INCR61の値をTEMPR60の出力にレート加算して再びTEMPR60にフィードバック入力する。
波形メモリ部63は、図13に示した非線形テーブル部10と同等な構成を備え、非線形テーブルメモリ10aを波形メモリ(図示略)に置換したものである。
【0070】
すなわち、図14に図示される補間関数Jnにより求まる補間係数を記憶した補間係数メモリ10bを備える一方、TEMPR60から供給されるアドレスの小数部FRCに「1」を加算して小数部FRC+1を発生する加算器10c−1、小数部FRCから「1」を減算して小数部FRC−1を発生する減算器10c−2および小数部FRCから「2」を減算して小数部FRC−2を発生する減算器10c−3を具備し、アドレスの小数部FRCに対応した補間係数IPC1と、これに前後隣り合うアドレスの3つの補間係数IPC2〜IPC4とを小数部FRC+1,FRC−1,FRC−2に応じて補間係数メモリ10bから読み出す構成となっている。
【0071】
また、波形メモリに対しては、アドレスの整数部INTに「2」を加算して整数部INT+2を発生する加算器10d−1、アドレスADの整数部INTに「1」を加算して整数部INT+1を発生する加算器10d−2および整数部INTから「2」を減算して整数部INTを発生する減算器10d−3を設け、上記小数部FRC側と同様に、アドレスの整数部INTに対応した波形データWD1と、これに前後前後隣り合うアドレスの3つの波形データWD2〜WD4とを整数部INT−1,INT+1,INT+2に応じて波形メモリから読み出す構成となっている。
【0072】
さらに、アドレスの整数部INT,INT−1,INT+1,INT+2に応じて波形メモリから読み出される波形データWD2〜WD4に対して、アドレスの小数部FRC,FRC+1,FRC−1,FRC−2に応じて補間係数メモリ10bから読み出される補間係数IPC1〜IPC4をそれぞれ互いに乗算して出力する乗算器10e−1〜10e−4と、これら乗算結果を加算して補間波形を出力する加算器10fとを備えている。
LPF9は、前述した自励振動型の信号処理アルゴリズムに適用されるものと同一であり、2次IIRフィルタから構成され、吹奏態様に応じた共振値Qおよびカットオフ周波数Fcに基づきローパスフィルタリング係数が定められ、これに応じて波形形状が加工されて音色調整がなされ、さらにこのLPF9の出力が係数乗算器1に入力されてエンベープ係数ENVが乗算されて楽音形成される。
【0073】
このように、上記実施例における補間技術は、従前の波形読み出し方式による音源と共用し得るので、例えば、実施例による自励振動型の音源と波形読み出し型の音源とを具備して発生すべき楽音の種類に応じてこれら音源を切換えて動作させる楽音発生装置を実現する場合、補間手段を共用し得るので、効率良い設計が可能となり、製品価格の低減を招致する要因とも成り得る訳である。なお、ポリフォニック発音する場合には、上述した補間手段を時分割使用すれば良い。
【0074】
(2)動作
次に、上記信号処理アルゴリズムに基づく変形例の動作について説明する。なお、上述した信号処理アルゴリズムは、図18と同一の構成であるから、ここでは詳細な構成については省略している。
▲1▼イニシャル処理
まず、変形例による楽音発生装置に電源が投入されると、マイクロコンピュータ23は、内部ROMに記憶されている制御プログラムを読み出してロードした後、図34に示すイニシャル処理を実行してステップSG1に処理を進める。ステップSA1では、レジスタFに格納されるカットオフ周波数を「0」、レジスタENVに格納されるエンベロープ係数値を「0」とするイニシャライズを行った後、割込みマスクを解除してイベント割込みが発生するまで待機する。なお、ここで言うイベント割込みとは、押離鍵操作に応じた割込みの他、一定周期毎に発生するタイマ割込みがある。
【0075】
▲2▼ノートオン処理
こうしてイニシャライズがなされた後、操作者が演奏操作すべく鍵盤10のいずれかの鍵を押鍵したとする。そうすると、この押鍵に応じて発生するキーオンイベントに基づき、マイクロコンピュータ23は図35に示すノートオン処理を実行してステップSH1に処理を進める。
ステップSH1では、押鍵された鍵のノートナンバと押鍵速度に対応するベロシティ値とをそれぞれレジスタNote、レジスタVelにストアし、次のステップSH2に処理を進める。
【0076】
ステップSH2では、波形読み出し開始アドレスSADを上述したテンパラリレジスタ(TEMPR)60にセットし、続く、ステップSH3では、ノートナンバに対応する周波数ナンバをインクリメントレジスタ(INCR)61にセットする。これにより、発音すべき音高に応じて読み出しアドレスADが上記開始アドレスSADより逐次累算されていく。
そして、この後、マイクロコンピュータ23は、ステップSH4に処理を進め、レジスタVelに格納されているベロシティ値をレジスタENV_targetにストアして目標エンベロープ値に設定し、次いで、ステップSH5では、レジスタVelに格納されているベロシティ値をレジスタF_targetにストアして目標カットオフ周波数に設定する。
【0077】
▲3▼ノートオフ処理
次に、押鍵されていた鍵が離鍵されると、その離鍵操作に応じて発生するキーオフイベントに基づき、マイクロコンピュータ23は図36に示すノートオン処理を実行してステップSJ1に処理を進め、上記ノートオン処理においてレジスタENV_targetおよびレジスタF_targetに各々ストアされたベロシティ値をゼロリセットする。
【0078】
▲4▼タイマ割込み処理
さて、マイクロコンピュータ23では、一定周期毎にタイマ割込み処理を起動して図37に示すステップSK1〜SK2を実行する。まずステップSK1では、カットオフ周波数Fを目標カットオフ周波数となるように所定レートに応じて増加あるいは減少させる。さらに、ステップSK2では、エンベロープ係数ENVを目標値になるよう所定レートに応じて増加あるいは減少させる。このように、ステップSK1〜SK2は、いずれも与えられたレートに応じてパラメータを目標値になるよう制御するエンベロープ処理であり、その詳細は前述した遅延補間係数発生処理(図32参照)とほぼ同等であるので、その説明については省略する。
【0079】
上述した一連の処理に基づき、演奏操作に応じた各パラメータが生成されると、マイクロコンピュータ23はこれら各パラメータをDSP14側へ送出する。すると、DSP24では、図33に示す信号処理アルゴリズムに基づき、押鍵と共に発音音高に同期して累算進行する読み出しアドレスADを発生し、波形メモリ部63に供給する。
このアドレスADは、整数部INTと小数部FRCとから形成され、これに基づいて前述した補間器/外部RAMインタフェース35が小数部FRC−2,FRC−1,FRCおよびFRC+1を発生すると共に、整数部INT−1,INT,INT+1およびINT+2を発生する。そして、アドレスADの小数部FRC−2,FRC−1,FRCおよびFRC+1を補間係数メモリ10bに与えて補間係数IPC2〜IPC4を読み出す一方、アドレスADの整数部INT−1,INT,INT+1およびINT+2に基づき波形メモリ(図示略)から波形データWD2〜WD4を読み出す。
【0080】
こうして指定アドレスADを含む前後4サンプルの波形データWD2〜WD4と、これに対応する補間係数IPC2〜IPC4とが読み出されると、DSP24は、波形データWD2〜WD4と補間係数IPC2〜IPC4とをそれぞれ互いに乗算して加算する補間演算を行って補間された波形データWDを発生する。そして、この波形データWDがLPF9においてエンベロープ処理されたカットオフ周波数Fに基づきローパスフィルタリングされ、さらにこのフィルタリング出力にエンベロープ乗算されて楽音形成される。
【0081】
このように、変形例では、補間関数により導出される補間係数を記憶する補間係数メモリ10bを有し、読み出しアドレスの整数部に従って波形メモリから読み出した複数の波形データを、アドレス小数部に従って上記メモリ10bから読み出した複数の補間係数に基づいて補間演算するから、波形メモリ容量の低減を図りながらも、前に述べた自励振動型の音源と補間手段を共用し得る。
【0082】
E.その他の例
次に、前述した実施例において、ウェーブガイド3の伝送往路に介挿されて共鳴管における空気圧力波の伝播遅延をシミュレートする遅延回路4の変形態様に基づくその他の例について説明する。
前述した実施例の遅延回路4は、図6に示したように、環状アドレッシングしたリングバッファ4aにおいて互いに異なる2つの読み出しアドレスa,bをセット可能とし、かつ、このアドレスa,bに対応する遅延時間Da,Dbにそれぞれ補間係数r,1−rを乗算する乗算器4b,4cと、これら乗算器4b,4cの出力を加算する加算器4dとを備えて遅延時間Daから遅延時間Dbに直線補間するものであるが、これに替えて、図38に示す態様の遅延回路100を構成する。
【0083】
図38において、101は環状アドレッシングされるリングバッファ4aであり、RAM等で構成され、4つの読み出しアドレスa〜dをセット可能としている。102は減算器であり、読み出しアドレスaに対応する遅延時間Daから読み出しアドレスbに対応する遅延時間Dbを減算して(Da−Db)を発生する。103は乗算器であり、減算器102の出力に遅延補間係数rを乗算してr・(Da−Db)を発生する。104は、この乗算器103の出力に遅延時間Dbを加算してr・Da+(1−r)・Dbとなる遅延補間出力out1を発生する加算器である。このように、構成要素101〜104は前述した遅延回路4と同様に遅延補間係数rに応じて遅延時間Daから遅延時間Dbに内挿補間する。
【0084】
次に、105は減算器であり、読み出しアドレスcに対応する遅延時間Dcから読み出しアドレスdに対応する遅延時間Ddを減算して(Dc−Dd)を発生する。106は係数乗算器であり、減算器102の出力にアドレス小数部FRCを乗算する。107は、この乗算器106の出力に遅延時間Ddを加算して遅延補間出力out2を発生する加算器である。108は書込みアドレスin_addressに対して中心遅延時間を表わすデータDtを加算する加算器である。109は加算器108の出力にLFO(低周波発振器)出力を加算する加算器である。この加算器109から出力されるアドレス信号の小数部FRCが上述した係数乗算器106の乗算係数として供給され、一方、整数部INTが読み出しアドレスcとしてリングバッファ101に与えられる。また、この整数部INTは、加算器110において「1」が加算され、読み出しアドレスdとしてリングバッファ101に与えられる。
【0085】
上記構成によれば、書込みアドレスin_addressに対して中心遅延時間を表わすデータDtが加算され、さらにLFOの値が加算された読み出しアドレスcと、このアドレスcに「1」を加算した読み出しアドレスdとの2種類のアドレスが生成される。そして、読み出しアドレスcに対応する遅延時間Dcから読み出しアドレスdに対応する遅延時間Ddを減算して(Dc−Dd)を発生し、これにアドレス小数部FRCを乗算する一方、その乗算結果に遅延時間Ddを加算することで直線補間された遅延補間出力out2が出力される。
【0086】
こうした遅延回路100を前述した信号処理アルゴリズム(図5参照)に適用させる場合には、図39に示す構成となる。なお、この図において、図5に示す各部と共通する要素には同一の番号を付し、その説明を省略する。
この場合、遅延回路100−1〜100−6からそれぞれ出力される遅延補間出力out1,out2は乗算器120,123にて所定係数が乗算された後、出力out1系統および出力out2系統の系統毎に加算器121,124にて加算され、さらに、ウェーブガイド3の終端点から抽出した信号を、加算器122,125にてそれぞれ系統別に加え合わせる。
【0087】
このようにすることで、加算器122,125の各出力out1,out2からは各種遅延時間が異なる複数の楽音が出力されるので、周知のコーラス効果を付与し得る。
また、タップをさらに増やすことでアンサンブル効果も得ることが可能になる。さらに、各遅延回路100−1〜100−6の各出力out1,out2だけを楽音として抽出すれば、ビブラート効果を得ることも可能である。さらに、LFO出力を重畳させる為、モジュレーション効果も付与し得る。
【0088】
以上のように、本発明によれば、補間関数により導出される補間係数を記憶する補間係数メモリ10bを設けておき、読み出しアドレスの整数部に従って非線形テーブルメモリ10aから読み出した複数のテーブル値(圧力p)を、アドレス小数部に従って上記メモリ10bから読み出した複数の補間係数に基づいて補間演算するから、従来のように、膨大なテーブル容量を備える必要がなく、非線形テーブルメモリ10aのメモリ容量の低減を図り得るようになっている。また、この非線形テーブルメモリ10aに替えて、波形メモリを設ければ、波形メモリ読み出し方式に適用でき、波形メモリ容量の低減を図りながらも、前に述べた自励振動型の音源と補間手段を共用し得る。
【0089】
なお、上述した実施例では、マイクロコンピュータ23側が演奏操作に応じた各種パラメータを生成し、DSP24側がこの各種パラメータに基づき信号処理アルゴリズムを動作させて楽音形成しているが、これに替えて、全ての処理をマイクロコンピュータ23側に任せる構成としても良い。
また、本実施例による自励振動型の音源において、楽音発生当初のみに圧力変化に相当する初期励振信号を非線形テーブル部10に入力させる構成としても良い。このようにすることで、信号が閉ループを一巡する前に楽音形成し得るので、発音遅延を解消し得る。
【0090】
加えて、本発明の要旨は、管楽器音を発生する装置にのみ適用し得るものではなく、例えば、ギターなどの撥弦楽器やバイオリンなどの擦弦楽器の発音メカニズムをシミュレートするものにも適用可能であることは言うまでもない。要は、非線形特性をテーブル読み出しする信号処理アルゴリズムを用いた装置であれば、どのような態様であっても本発明の要旨が適用し得る。
【0091】
【発明の効果】
本発明によれば、発音励起操作に応じた読み出しアドレスを発生すると、発音体の非線形特性を記憶する変換手段が読み出しアドレスの整数部に応じて当該非線形特性を参照読み出しして前記発音励起操作を非線形出力信号に変換する一方、非線形特性を補間するための補間係数が記憶された補間手段では、アドレス発生手段が発生した読み出しアドレスの小数部に応じて補間係数を読み出し、読み出した補間係数に従って前記非線形出力信号を補間して前記励振信号を生成するので、非線形特性が格納されるテーブル容量を低減できる。
【図面の簡単な説明】
【図1】本発明における発音メカニズムを説明するための図である。
【図2】本発明における発音メカニズムを説明するための図である。
【図3】吹奏圧Pとリード直近の圧力pとの圧力差に対する体積流量Fの関係を示す図である。
【図4】リードRDの非線形特性を示す図である。
【図5】本発明における信号処理アルゴリズムを示すブロック図である。
【図6】信号処理アルゴリズムにおける遅延回路4の構成を示すブロック図である。
【図7】遅延回路4における遅延補間を説明するための図である。
【図8】信号処理アルゴリズムにおける信号散乱ジャンクション5の構成を示すブロック図である。
【図9】信号散乱ジャンクション5の他の構成例を示すブロック図である。
【図10】信号散乱ジャンクション5における乗算係数kを説明するための図である。
【図11】信号処理アルゴリズムにおけるLPF9の構成を示すブロック図である。
【図12】非線形テーブルメモリ10aに記憶される非線形特性を示す図である。
【図13】非線形テーブル部10の構成を示すブロック図である。
【図14】補間関数を説明するための図である。
【図15】他の態様による励振部の構成を示すブロック図である。
【図16】他の態様による励振部の構成を示すブロック図である。
【図17】他の態様による励振部の構成を示すブロック図である。
【図18】本発明による実施例の構成を示すブロック図である。
【図19】同実施例における操作パネルの外観を示す図である。
【図20】DSP24の概略構成を示すブロック図である。
【図21】DSP24におけるエンベローパ34の構成を示すブロックである。
【図22】エンベローパ34の動作タイミングを示すタイミングチャートである。
【図23】DSP24における補間器/外部RAMインタフェース35の構成を示すブロック図である。
【図24】補間器/外部RAMインタフェース35の補間動作タイミングを示すタイミングチャートである。
【図25】補間器/外部RAMインタフェース35の遅延発生動作タイミングを示すタイミングチャートである。
【図26】同実施例におけるイニシャル処理の動作を示すフローチャートである。
【図27】同実施例におけるエディット処理の動作を示すフローチャートである。
【図28】同実施例におけるノートオン処理の動作を示すフローチャートである。
【図29】同実施例におけるパラメータテーブルの一例を示す図である。
【図30】同実施例におけるノートオフ処理の動作を示すフローチャートである。
【図31】同実施例におけるタイマ割込み処理の動作を示すフローチャートである。
【図32】同実施例における遅延補間係数発生処理の動作を説明するためのフローチャートである。
【図33】変形例の信号処理アルゴリムを示すブロック図である。
【図34】変形例の動作を示すフローチャートである。
【図35】変形例の動作を示すフローチャートである。
【図36】変形例の動作を示すフローチャートである。
【図37】変形例の動作を示すフローチャートである。
【図38】その他の例による遅延回路100の構成を示すブロック図である。
【図39】遅延回路100を適用した信号処理アルゴリズムの構成を示すブロック図である。
【符号の説明】
23 マイクロコンピュータ(アドレス発生手段、変換手段)
24 DSP(変換手段、補間手段)
26 ROM(変換手段、補間手段)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a tone generator that generates a tone based on a sounding mechanism of a wind instrument such as a clarinet.
[0002]
[Prior art]
In recent years, various devices have been developed to operate a model simulating the sounding mechanism of a natural musical instrument and thereby generate a musical sound of a natural musical instrument. -293898.
According to this type of device, a closed loop is formed by an excitation unit that simulates the non-linear operation of a portion consisting of a mouthpiece and a lead of a wind instrument, and a tube unit that simulates the transmission characteristics of a resonance tube that is a tube of the wind instrument. When the excitation signal corresponding to the blowing pressure is injected from the excitation section into the closed loop, signal circulation is excited in the closed loop, whereby a tone signal having a pitch (pitch) corresponding to the resonance operation of the resonance tube is obtained. Can be
[0003]
[Problems to be solved by the invention]
By the way, the above-described conventional tone generating device has a non-linear table for simulating a non-linear operation of a portion including a mouthpiece and a lead. This non-linear table converts the pressure change in the pipe into the above-mentioned excitation signal excited by the vibration of the reed, and uses the pressure change in the pipe due to the air flow passing through the gap between the mouthpiece and the reed as a read address. A pressure is generated that is excited by vibration corresponding to a large displacement.
In such a table conversion, conversion characteristics are stored in a ROM or the like. However, in the signal processing for tone generation, the input address length often exceeds 16 bits in order to improve processing accuracy. There is an adverse effect that the table has a storage capacity.
[0004]
By the way, in recent years, a self-excited vibration type sound source and a well-known waveform readout type sound source by the above-mentioned conventional musical sound generating device are mounted, and one of the sound sources is used depending on the type of musical sound to be generated. Devices are being devised. In such a case, both the self-excited vibration type sound source and the waveform readout type sound source require a configuration for reading a “table” or a “waveform memory”. In view of the above-mentioned problems, in order to reduce the table storage capacity or the waveform memory storage capacity, interpolation means that can be shared with a self-excited vibration type or waveform reading type sound source has been desired.
[0005]
Therefore, the present invention has been made in view of the above-described circumstances, and aims at reducing the table storage capacity or the waveform memory storage capacity, and further includes a tone generator having interpolation means that can be shared with a self-excited vibration type or waveform readout type sound source. It is intended to provide a generator.
[0006]
In order to achieve the above object, in the invention described in
[0007]
In the invention according to
It is characterized by having.
[0009]
In the present invention,When a read address corresponding to the sound excitation operation is generated,The conversion means for storing the nonlinear characteristic of the sounding body refers to the nonlinear characteristic in accordance with the integer part of the read address and reads the nonlinear characteristic to convert the sound generation excitation operation into a nonlinear output signal. In the stored interpolation means,The interpolation coefficient is read according to the decimal part of the read address,Since the excitation signal is generated by interpolating the nonlinear output signal according to the read interpolation coefficient,The table capacity for storing the non-linear characteristics can be reduced.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
INDUSTRIAL APPLICABILITY The present invention can be applied to a tone generator that simulates a sounding mechanism of a wind instrument. Hereinafter, the principle of the invention will be described, and then a tone generator according to an embodiment of the present invention will be described as an example with reference to the drawings.
[0011]
A. Inventive principle
(1) Sound generation mechanism
Before describing the embodiment, the sounding mechanism of a wind instrument (single lead instrument) according to the present invention will be described. As is well known, a wind instrument includes a tube surrounding an air column, and a mechanism for generating vibration in the air column. The tube operates as a resonator, and a mechanism for generating air vibration operates as a sounding body. In wind instruments, in many cases, a thin piece of an elastic body called a reed is vibrated to produce sound. Here, the sounding mechanism will be described with reference to the cross-sectional structure of a single reed instrument shown in FIG.
[0012]
When the blowing pressure P is blown into the gap between the mouthpiece MP and the lead RD, a positive pressure wave generated by the blowing pressure P propagates through the bore BO (tube) to the bell BL. When this state is illustrated as an impulse response, as shown in FIG. 2, when the pipe length is L and the sound velocity is c, it can be seen that standing waves having pressure peaks occur at 2 L / c, 4 L / c, and 6 L / c.
By the way, since the bell BL is an open end, the sign of the pressure wave passing through the bore BO (tubular body) is inverted and becomes negative. This time, the pressure wave propagates in the order of the bell BL, the bore BO, and the lead RD to reduce the pressure p near the lead RD. Lower. As a result, the air velocity flowing through the gap (slit) between the mouthpiece MP and the lead RD increases, and at that time, the lead RD is closed by the Bernoulli force acting on the lead RD, and the slit width decreases.
[0013]
As described above, when the blowing pressure P is applied, the volume flow rate rises to some extent, but the slit width gradually decreases accordingly, and finally the slit closes and the volume flow rate becomes zero. When the lead RD is closed, the tube is completely closed immediately in the vicinity of the lead. In this case, the pressure wave arriving in the order of the bell BL and the bore BO is transmitted without being inverted in sign.
When the pressure p immediately near the reed rises to a certain extent, the reed RD is opened and the state returns to the state where the blowing pressure P is applied, and the same repetition is performed thereafter. Parameters relating to this repetitive behavior include the resonance frequency Fc and resonance value Q determined by the shape of the bore BO and the bell BL, the blowing pressure P, the elastic coefficient of the lead RD and the lips of the player, and the like. Propagation loss and the like.
[0014]
The relationship of the volume flow rate F with respect to the pressure difference between the blowing pressure P and the pressure p immediately near the lead can be approximately expressed by a quadratic function shown in FIG. The physical properties of the reed instrument can be considered as a feedback loop that is converted in the order of “flow rate F” → “pressure p” → “displacement x” → “flow rate F” when the displacement x of the lead RD is also considered. In other words, the nonlinear characteristic is converted in the order of “pressure p (pressure difference between the blowing pressure P and the pressure p closest to the lead)” → “displacement x of the lead RD” → “flow rate F” starting from “the blowing pressure P”. That is, the sound generation mechanism is realized by the linear characteristic converted from “flow rate F” → “pressure p (pressure difference between the blowing pressure P and the pressure p immediately near the lead)”.
[0015]
Here, starting from the "blowing pressure P", the nonlinear pressure is converted in the order of "pressure p (pressure difference between the blowing pressure P and the pressure p closest to the lead)" → "displacement x of the lead RD" → "flow rate F". Since the characteristic, that is, the non-linear operation of the lead RD is a quadratic function shown in FIG. 3 as described above, it can be approximated by a quadratic equation F = -p (p + a) shown in FIG. However, it is assumed that F = 0 when p <a. In addition, this can naturally be treated as a non-linear table, and a method of converting the (p + a) term of the above approximate expression into a table can be considered.
[0016]
(2) Signal processing algorithm
Next, a signal processing algorithm for simulating the sounding operation of the lead musical instrument based on the sounding mechanism described above will be described with reference to FIG. In this figure,
[0017]
As shown in FIG. 6, the
[0018]
In the
[0019]
Next, returning to FIG. 5, the signal processing algorithm will be described. In FIG. 5, reference numerals 5-1 to 5-5 denote signal scattering junctions for simulating scattering of an air pressure wave generated at a portion where the diameter of the resonance tube changes.
As shown in FIG. 8, the
[0020]
FIG. 9 shows a junction equivalent to the lattice structure filter shown in FIG. 8. In this case, one multiplier can be omitted as compared with the configuration shown in FIG. One of the junction configurations shown in FIGS. 8 and 9 is selected according to the characteristics of the DSP (digital signal processor) to be used. That is, when it is desired to reduce the number of times of multiplication, it is advantageous to use a junction having the configuration shown in FIG. A junction may be used.
[0021]
Returning to the description of the signal processing algorithm with reference to FIG. 5 again. In FIG. 5, reference numerals 6-1 to 6-6 denote delay elements which are interposed in the transmission return path of the
The
[0022]
The
Here, the configuration of the
[0023]
To these memories 10a and 10b, an integer part INT and a decimal part FRC of an address AD generated corresponding to the blowing pressure P are supplied, respectively. The adder 10c-1 adds "1" to the decimal part FRC of the address AD to generate a decimal part FRC + 1, and the adder 10c-2 subtracts "1" from the decimal part FRC to generate a decimal part FRC-1. The subtractor 10c-3 is a subtractor that subtracts "2" from the decimal part FRC to generate a decimal part FRC-2. Thus, the interpolation coefficient IPC1 corresponding to the decimal part FRC of the address AD and the three interpolation coefficients IPC2 to IPC4 of the address immediately before and after this are stored in the interpolation coefficient memory according to the decimal parts FRC + 1, FRC-1, and FRC-2. 10b.
[0024]
On the other hand, 10d-1 is an adder which adds "2" to the integer part INT of the address AD to generate an integer part INT + 2, and 10d-2 adds "1" to the integer part INT of the address AD to add an integer part INT + 1.
[0025]
[0026]
As described above, according to the present invention, the interpolation coefficient memory 10b for storing the interpolation coefficient derived by the interpolation function is provided, the read address is divided into an integer part and a decimal part, and the read address is read from the nonlinear table memory 10a according to the address integer part. Since a plurality of table values (pressure p) are interpolated based on a plurality of interpolation coefficients read from the memory 10b in accordance with the decimal part of the address, the memory capacity of the non-linear table memory 10a can be reduced. It has become.
[0027]
In the signal processing algorithm described above, when the blowing pressure P is applied to the excitation unit including the
[0028]
In the
In this way, during the data circulation in the closed loop composed of the
[0029]
By the way, the excitation unit including the
Further, in the configuration shown in FIG. 16, an adder ADD and a logic gate G are provided instead of the non-linear table to simulate the quadratic equation F = -p (p + a) shown in FIG. Here, the logic gate G functions as an excitation unit that outputs zero when the input signal is equal to or less than zero, and otherwise outputs the input signal as it is.
[0030]
The configuration shown in FIG. 17 is effective for simulating the so-called nonlinear characteristics of the air lead. In this case, the reflected pressure wave fed back via the return path of the
[0031]
B. Configuration of the embodiment
(1) Overall configuration
Next, with reference to FIG. 18, an overall configuration of an embodiment for generating a musical tone based on the above-described signal processing algorithm will be described. In this figure,
[0032]
[0033]
The signal processing algorithm executed in the
[0034]
(2) Functional configuration of
(1) Schematic configuration
Next, the functional configuration of the
[0035]
The microprogram stored in the
[0036]
[0037]
36 is a parameter memory (PRAM) for storing parameters interpolated by the interpolator /
[0038]
(2) Configuration of the
FIG. 21 is a block diagram showing the configuration of the
[0039]
A selector 34e selects one of the outputs of the TGR 34b and the RTR 34c and supplies it to the next stage. 34f is an addition / subtraction comparator for adding, subtracting or comparing the output of the selector 34e and the output of the CRR 34d. The operation of the addition / subtraction comparator 34f is determined according to the control signal Sc described above. A comparison result flag register 34g stores a comparison result flag when the addition / subtraction comparator 34f performs a comparison operation. A result register 34h temporarily stores a parameter value (envelope) generated by the operation of the addition / subtraction comparator 34f. 34i is a selector for selecting and outputting any of the output of the result register 34h or the signal supplied from the
[0040]
The
As a result, the time t2Then, the set target value D_target is compared with the current value D_Current in the addition / subtraction comparator 34f, while the rate data is set in the RTR 34d. Then, based on the comparison result of the addition / subtraction comparator 34f, the time t3In, the result of rate addition or rate subtraction with respect to the current value D_Current stored in the CRR d according to the rate data stored in the RTR c is set in the EVR h.
[0041]
(3) Configuration of interpolator /
Next, the configuration of the interpolator /
[0042]
[0043]
358 is a logical operation unit that generates three address integer parts before and after the designated address based on the output of the selector 356 and the output of the
Based on the external memory address EADR, a table value for interpolation calculation is read from the non-linear table memory 10a (see FIG. 13).
[0044]
[0045]
A multiplier 366 multiplies the interpolation coefficient output from the interpolation coefficient register 364 by the table value EDAT output from the
[0046]
As a result, the interpolator /
In other words, according to the address notation shown in FIG. 13, first, when the address integer part INT to be read is set in the
[0047]
In this way, address integer parts INT-1, INT, INT + 1, INT + 2 for reading the non-linear table memory 10a and address decimal parts FRC-2, FRC-1, FRC, FRC + 1 for reading the interpolation coefficient memory 10b are generated. Table values (pressure values) p2, p1, p3, and p4 sequentially read from the memory 10a are sequentially set in the
Then, the
[0048]
On the other hand, when a delay occurs in the interpolator /
In the case of writing, data to be written to the
[0049]
C. Operation of the embodiment
Next, the operation of the embodiment having the above configuration will be described with reference to FIGS.
(1) Initial processing
First, when the power is turned on to the musical sound generating apparatus according to the present embodiment, the
[0050]
(2) Edit processing
Here, for example, it is assumed that a key EDIT (see FIG. 19) arranged on the operation panel is operated to edit the contents of the musical tone parameters prior to the performance. Then, based on the key-on event generated in response to the operation of the key EDIT, the
In step SB1, the type of the parameter designated for editing in response to the switch operation is determined. Here, when updating the attack rate representing the rising shape of the musical tone, the process proceeds to step SB2, and the newly input attack rate is set in the register atk_rate.
[0051]
When updating the release rate, the process proceeds to step SB3, and the newly input release rate is set in the register rls_rate. Further, when updating the portamento rate for smoothly changing the pronunciation pitch, the process proceeds to step SB4, and the newly input portamento rate is set in the register plt_rate.
When the content of the non-linear table memory 10a is updated, the process proceeds to step SB5 to display all the table values forming the table 10a on a screen (LCD panel). Of all the table values displayed, the table value number No. to be updated. Is input or specified by operating the cursor key 11b. Then, in the next step SB7, the newly input value for the specified table value is stored in the register NLT [NO. ] To update the contents of the nonlinear table.
[0052]
(3) Note-on processing
When the editing process is completed by updating the various parameters and the contents of the non-linear table in this way, the
In step SC1, the note number of the depressed key and the velocity value corresponding to the depressing speed are stored in the registers Note and Vel, respectively, and the process proceeds to the next step SC2.
[0053]
In step SC2, it is determined whether the control flag stored in the register c_flag is “0”, that is, whether or not to perform delay interpolation when changing from the previous pitch to the current pitch. Here, when delay interpolation is not performed, the control flag stored in the register c_flag is “0”, so the determination result is “YES”, and the process proceeds to the next Step SC3. In step SC3, "1" is set as the interpolation coefficient target value in the register r_target, and a read address a for giving a delay time corresponding to the note number stored in the register Note is set in the register D3a.
That is, the read address a of the delay circuit 4-3 in the above-described signal processing algorithm (see FIG. 5) is set in the register D3a. Next, the
[0054]
On the other hand, in the case of sound generation with delay interpolation, that is, when interpolation is performed from the delay time corresponding to the preceding pitch to the delay time corresponding to the current pitch, the control flag stored in the register c_flag is set to “1”. Therefore, the result of the determination in step SC2 is "NO", and the flow proceeds to step SC5. In Step SC5, the delay interpolation coefficient target value of the register r_target is set to “0”, and the read address b that gives the delay time corresponding to the note number (pitch) is set in the register D3b.
Thus, the delay time in the delay circuit 4-3 is interpolated by the delay interpolation coefficient r continuously changing from "1" to "0" as shown in FIG. Next, in step SC6, since the delay interpolation has been completed, the control flag stored in the register c_flag is reset to zero.
[0055]
Then, after that, the
[0056]
The target cutoff frequency stored in the register F_target is tabulated in advance as shown in FIG. 29, and is read out according to the pitch (note number) to be sounded.
After all, in step SC7, the target cutoff frequency corresponding to the pitch to be generated and the change rate (portamento rate) thereof are set, and the velocity value (corresponding to the blowing pressure) corresponding to the key pressing speed and its value are set. A change rate (attack rate) is set. Further, a portamento rate is assigned to a rate at which the delay interpolation coefficient is changed from “1” to “0”.
[0057]
(4) Note-off processing
Next, when the depressed key is released, the
[0058]
(5) Timer interrupt processing
The
[0059]
Now, when a timer interrupt event occurs and the timer interrupt process shown in FIG. 31 is started and the process proceeds to step SE1, the
In step SF1, it is determined whether or not the delay interpolation coefficient r has reached the target value stored in the register r_target. Here, if the target value has been reached, the determination result is "YES" and this process is completed. If not, the determination result is "NO" and the process proceeds to the next step SF2.
[0060]
In step SF2, it is determined whether or not the current delay interpolation coefficient r is smaller than the target value. Here, when the current delay interpolation coefficient r is smaller than the target value, the determination result is “YES”, and the process proceeds to Step SF3. In step SF3, the portamento rate stored in the register r_rate is added to the current delay interpolation coefficient r to update the coefficient value. That is, the rate of the delay interpolation coefficient r is added according to the pitch change.
On the other hand, when the interpolation coefficient r is larger than the target value in step SF2, the determination result is “NO”, and the process proceeds to step SF4.
[0061]
In step SF4, the portamento rate stored in the register r_rate is subtracted from the current delay interpolation coefficient r, whereby the rate of the delay interpolation coefficient r is subtracted according to the pitch change. Then, when proceeding to the next step SF5, the
[0062]
As described above, in the delay interpolation coefficient generating process, the delay interpolation coefficient r is updated by rate addition or rate subtraction until it reaches the target value, and the updated delay interpolation coefficient r is sequentially transferred to the DSP 14 side. Such processing is the same in steps SE2 and SE3 described above.
That is, when step SE2 is executed, a cutoff frequency generation process (not shown) is executed, and the cutoff frequency F is updated by rate addition or rate subtraction until the cutoff frequency F reaches the target value. The off-frequency is sequentially transferred to the DSP 14 side. When step SE3 is executed, a velocity generation process (not shown) is executed, and the velocity is added or decremented until the velocity value corresponding to the breathing pressure reaches the target value. The velocity value is sequentially transferred to the DSP 14 side.
[0063]
When the parameters according to the performance operation are generated in this way, the
In the
[0064]
As described above, the
[0065]
When the pressures p2 to p4 of the four samples including the designated address AD and the corresponding interpolation coefficients IPC2 to IPC4 are read out, the
[0066]
The
[0067]
As described above, in the present invention, the interpolation coefficient memory 10b for storing the interpolation coefficient derived by the interpolation function is provided, and a plurality of table values (pressure p) read from the nonlinear table memory 10a according to the integer part of the read address are provided. ) Is calculated based on a plurality of interpolation coefficients read from the memory 10b in accordance with the decimal part of the address. Therefore, unlike the related art, it is not necessary to provide a huge table capacity, and the memory capacity of the nonlinear table memory 10a can be reduced. It can be planned.
[0068]
D. Modified example
(1) Configuration
In the above-described embodiment, the interpolation technique for forming a musical tone by a so-called self-excited vibration type has been described. However, in the following, the interpolation means used for the self-excited vibration type sound source is a waveform readout type. A modified example that can be shared with a sound source will be described.
That is, in the above-described embodiment, the non-linear table memory 10a for simulating the non-linear characteristics of the read was interpolated and read. In a modified example, a waveform memory was provided instead of the non-linear table memory 10a. Is read out by interpolation to form a musical tone. FIG. 33 shows a signal processing algorithm in this case.
[0069]
In FIG. 33, reference numeral 60 denotes a temporary register (TEMPR) for temporarily storing a read address integer part and a decimal part of the waveform memory unit 63 described later.
The waveform memory unit 63 has a configuration equivalent to that of the
[0070]
That is, while having the interpolation coefficient memory 10b storing the interpolation coefficient obtained by the interpolation function Jn shown in FIG. 14, the decimal point FRC + 1 is generated by adding "1" to the decimal part FRC of the address supplied from the TEMPR60. Adder 10c-1 subtracts "1" from decimal part FRC to generate decimal part FRC-1, and subtractor 10c-2 subtracts "2" from decimal part FRC to generate decimal part FRC-2. A subtractor 10c-3 is provided, and the interpolation coefficient IPC1 corresponding to the decimal part FRC of the address and the three interpolation coefficients IPC2 to IPC4 of the address immediately before and after this are converted to the decimal parts FRC + 1, FRC-1, and FRC-2. Read from the interpolation coefficient memory 10b accordingly.
[0071]
Also, for the waveform memory, an
[0072]
Further, for the waveform data WD2 to WD4 read from the waveform memory in accordance with the integer parts INT, INT-1, INT + 1, INT + 2 of the address, the decimal part FRC, FRC + 1, FRC-1, FRC-2 of the address is used.
The
[0073]
As described above, since the interpolation technique in the above embodiment can be shared with the sound source of the conventional waveform readout method, it should be generated by including the self-excited vibration type sound source and the waveform readout sound source of the embodiment. In the case of realizing a musical tone generator that switches between these sound sources according to the type of musical tone and operates the same, the interpolation means can be shared, so that efficient design is possible and this can be a factor that leads to a reduction in product price. . In the case of generating polyphonic sound, the above-described interpolation means may be used in a time-division manner.
[0074]
(2) Operation
Next, an operation of a modification based on the above signal processing algorithm will be described. Since the above-described signal processing algorithm has the same configuration as that of FIG. 18, the detailed configuration is omitted here.
(1) Initial processing
First, when the power is turned on to the musical sound generating device according to the modification, the
[0075]
(2) Note-on processing
After the initialization is performed, it is assumed that the operator presses any key on the
In step SH1, the note number of the depressed key and the velocity value corresponding to the key depressing speed are stored in the registers Note and Vel, respectively, and the process proceeds to the next step SH2.
[0076]
In step SH2, the waveform reading start address SAD is set in the above-described temporary register (TEMPR) 60. In step SH3, the frequency number corresponding to the note number is set in the increment register (INCR) 61. As a result, the read address AD is sequentially accumulated from the start address SAD according to the pitch to be sounded.
Then, after that, the
[0077]
(3) Note-off processing
Next, when the depressed key is released, the
[0078]
(4) Timer interrupt processing
By the way, the
[0079]
When each parameter according to the performance operation is generated based on the series of processes described above, the
This address AD is formed of an integer part INT and a decimal part FRC, and based on this, the interpolator /
[0080]
When the waveform data WD2 to WD4 of four samples before and after including the designated address AD and the corresponding interpolation coefficients IPC2 to IPC4 are read out, the
[0081]
As described above, the modified example has the interpolation coefficient memory 10b that stores the interpolation coefficient derived by the interpolation function, and stores a plurality of waveform data read from the waveform memory according to the integer part of the read address in the memory according to the address decimal part. Since the interpolation calculation is performed based on the plurality of interpolation coefficients read from 10b, the self-excited vibration type sound source and the interpolation means can be shared while reducing the waveform memory capacity.
[0082]
E. FIG. Other examples
Next, another example based on the modified example of the
As shown in FIG. 6, the
[0083]
In FIG. 38,
[0084]
Next, a
[0085]
According to the above configuration, the data Dt representing the center delay time is added to the write address in_address, and the read address c obtained by adding the value of the LFO and the read address d obtained by adding “1” to the address c Are generated. Then, the delay time Dd corresponding to the read address d is subtracted from the delay time Dc corresponding to the read address c to generate (Dc-Dd), and this is multiplied by the address decimal part FRC. By adding the time Dd, a delay interpolation output out2 that is linearly interpolated is output.
[0086]
When such a
In this case, the delay interpolation outputs out1 and out2 output from the delay circuits 100-1 to 100-6 are multiplied by predetermined coefficients in the
[0087]
In this way, since a plurality of musical tones having different delay times are output from the outputs out1 and out2 of the
Further, an ensemble effect can be obtained by further increasing the number of taps. Furthermore, if only the outputs out1 and out2 of the delay circuits 100-1 to 100-6 are extracted as musical sounds, it is possible to obtain a vibrato effect. Further, since the LFO output is superimposed, a modulation effect can be provided.
[0088]
As described above, according to the present invention, the interpolation coefficient memory 10b for storing the interpolation coefficient derived by the interpolation function is provided, and a plurality of table values (pressures) read from the non-linear table memory 10a according to the integer part of the read address are provided. Since p) is interpolated based on a plurality of interpolation coefficients read from the memory 10b in accordance with the decimal part of the address, it is not necessary to provide an enormous table capacity as in the related art, and the memory capacity of the nonlinear table memory 10a is reduced. Can be achieved. If a waveform memory is provided instead of the non-linear table memory 10a, it can be applied to the waveform memory reading method, and the self-excited oscillation type sound source and the interpolation means described above can be used while reducing the waveform memory capacity. Can be shared.
[0089]
In the above-described embodiment, the
Further, in the self-excited vibration type sound source according to the present embodiment, an initial excitation signal corresponding to a pressure change may be input to the
[0090]
In addition, the gist of the present invention can be applied not only to a device that generates wind instrument sounds, but also to a device that simulates a sounding mechanism of a plucked instrument such as a guitar or a bowed instrument such as a violin. Needless to say, there is. The point is that the gist of the present invention can be applied to any device using a signal processing algorithm for reading out the non-linear characteristics in a table.
[0091]
【The invention's effect】
According to the present invention,When a read address corresponding to the sound excitation operation is generated,The conversion means for storing the nonlinear characteristic of the sounding body refers to the nonlinear characteristic in accordance with the integer part of the read address and reads the nonlinear characteristic to convert the sound generation excitation operation into a nonlinear output signal. In the stored interpolation means, the interpolation coefficient is read according to the decimal part of the read address generated by the address generation means, and the excitation signal is generated by interpolating the non-linear output signal according to the read interpolation coefficient.The table capacity for storing the non-linear characteristics can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining a sound generation mechanism according to the present invention.
FIG. 2 is a diagram for explaining a sound generation mechanism according to the present invention.
FIG. 3 is a diagram showing a relationship between a volume difference F and a pressure difference between a blowing pressure P and a pressure p immediately near a lead.
FIG. 4 is a diagram illustrating a nonlinear characteristic of a lead RD.
FIG. 5 is a block diagram illustrating a signal processing algorithm according to the present invention.
FIG. 6 is a block diagram illustrating a configuration of a
FIG. 7 is a diagram for explaining delay interpolation in the
FIG. 8 is a block diagram showing a configuration of a
FIG. 9 is a block diagram showing another configuration example of the
FIG. 10 is a diagram for explaining a multiplication coefficient k at a
FIG. 11 is a block diagram illustrating a configuration of an
FIG. 12 is a diagram showing nonlinear characteristics stored in a nonlinear table memory 10a.
FIG. 13 is a block diagram showing a configuration of the
FIG. 14 is a diagram for explaining an interpolation function.
FIG. 15 is a block diagram illustrating a configuration of an excitation unit according to another embodiment.
FIG. 16 is a block diagram illustrating a configuration of an excitation unit according to another embodiment.
FIG. 17 is a block diagram illustrating a configuration of an excitation unit according to another embodiment.
FIG. 18 is a block diagram showing a configuration of an embodiment according to the present invention.
FIG. 19 is a diagram showing the appearance of the operation panel in the embodiment.
20 is a block diagram illustrating a schematic configuration of a
FIG. 21 is a block diagram illustrating a configuration of an
FIG. 22 is a timing chart showing the operation timing of the
FIG. 23 is a block diagram showing a configuration of an interpolator /
24 is a timing chart showing the interpolation operation timing of the interpolator /
FIG. 25 is a timing chart showing a delay generation operation timing of the interpolator /
FIG. 26 is a flowchart showing an operation of an initial process in the embodiment.
FIG. 27 is a flowchart showing an operation of an edit process in the embodiment.
FIG. 28 is a flowchart showing an operation of a note-on process in the embodiment.
FIG. 29 is a diagram showing an example of a parameter table in the embodiment.
FIG. 30 is a flowchart showing an operation of a note-off process in the embodiment.
FIG. 31 is a flowchart showing an operation of a timer interrupt process in the embodiment.
FIG. 32 is a flowchart illustrating the operation of a delay interpolation coefficient generation process in the embodiment.
FIG. 33 is a block diagram illustrating a signal processing algorithm according to a modified example.
FIG. 34 is a flowchart showing the operation of the modification.
FIG. 35 is a flowchart showing the operation of the modification.
FIG. 36 is a flowchart showing the operation of the modification.
FIG. 37 is a flowchart showing the operation of the modification.
FIG. 38 is a block diagram showing a configuration of a
FIG. 39 is a block diagram showing a configuration of a signal processing algorithm to which the
[Explanation of symbols]
23 Microcomputer (address generation means, conversion means)
24 DSP (conversion means, interpolation means)
26 ROM (conversion means, interpolation means)
Claims (2)
前記励振手段は、
外部より供給される吹奏圧に対応する信号と前記ウエーブガイド手段の伝送復路を介してフィードバックされる反射圧力波に対応する信号との差を表す圧力差信号を算出する第1の演算手段と、
この第1の演算手段より供給される圧力差信号を、吹奏態様に応じた共振値及びカットオフ周波数に基づいてローパスフィルタリングするローパスフィルタ手段と、
このローパスフィルタ手段からの信号を非線形変換する非線形テーブル手段と、
この非線形テーブル手段からの信号と前記圧力差信号とを乗算して前記ウエーブガイド手段の伝送往路に供給する第2の演算手段と、
を有し、さらに前記非線形テーブル手段は、
前記発音体の非線形特性を記憶する記憶手段を有し、前記ローパスフィルタ手段からの信号を読み出しアドレスとし、当該読み出しアドレスの整数部に応じて前記記憶手段から前記当該非線形特性を参照読み出しして前記ローパスフィルタ手段からの信号を非線形出力信号に変換する変換手段と、
前記非線形特性を補間するための補間係数を記憶しておき、前記読み出しアドレスの小数部に応じて補間係数を読み出し、読み出した補間係数に従って前記非線形出力信号を補間して出力する補間手段と、
を具備することを特徴とする楽音発生装置。 Exciting means for generating an excitation signal based on the non-linear characteristics of the sounding body, and an exciting signal output from the exciting means for simulating the transmission characteristics of the resonator by circulating repeatedly while delaying the excitation signal for a predetermined time. A wave guide means for generating a musical tone having a pitch corresponding to the resonance operation of
The excitation means,
First calculating means for calculating a pressure difference signal representing a difference between a signal corresponding to the blowing pressure supplied from the outside and a signal corresponding to the reflected pressure wave fed back via the transmission return path of the wave guide means;
Low-pass filter means for low-pass filtering the pressure difference signal supplied from the first calculating means based on a resonance value and a cut-off frequency according to a blowing mode;
Non-linear table means for non-linearly converting the signal from the low-pass filter means;
Second calculating means for multiplying the signal from the non-linear table means by the pressure difference signal and supplying the multiplied signal to the transmission outward path of the wave guide means;
And the non-linear table means further comprises:
A memory for storing the non-linear characteristics of the sounding body, a signal from the low-pass filter as a read address, and reading and reading the non-linear characteristics from the storage in accordance with an integer part of the read address; Conversion means for converting a signal from the low-pass filter means to a non-linear output signal;
Interpolation means for storing an interpolation coefficient for interpolating the nonlinear characteristic, reading an interpolation coefficient according to a decimal part of the read address, and interpolating and outputting the nonlinear output signal according to the read interpolation coefficient;
A musical sound generating device comprising:
前記励振手段は、
外部より供給される吹奏圧に対応する信号と前記ウエーブガイド手段の伝送復路を介してフィードバックされる反射圧力波に対応する信号との差を表す圧力差信号を算出する第1の演算手段と、
この第1の演算手段より供給される圧力差信号を、吹奏態様に応じた共振値及びカットオフ周波数に基づいてローパスフィルタリングするローパスフィルタ手段と、
このローパスフィルタ手段からの信号を非線形変換する非線形テーブル手段と、
この非線形テーブル手段からの信号と前記圧力差信号とを乗算して前記ウエーブガイド手段の伝送往路に供給する第2の演算手段と、
を有し、さらに前記非線形テーブル手段は、
前記発音体の非線形特性を記憶する記憶手段を有し、前記ローパスフィルタ手段からの信号を読み出しアドレスとして、当該読み出しアドレス整数部INTおよびアドレス小数部FRCを発生する一方、このアドレス整数部INTの前後複数のアドレスINT±nと、前記アドレス小数部FRCの前後複数のアドレスFRC±nとを発生し、前記アドレス整数部INTおよびその前後複数のアドレスINT±nに従って非線形特性を前記記憶手段から参照読み出し、それぞれ対応する複数の非線形出力信号を発生する非線形出力手段と、
前記非線形特性を補間する補間関数から求まる複数の補間係数を記憶しておき、前記アドレス発生手段が発生したアドレス小数部FRCおよびその前後複数のアドレスFRC±nに従って対応する補間係数をそれぞれ読み出し、読み出した各補間係数により前記複数の非線形出力信号を重み付け加算した信号を形成して出力する補間演算手段と、
を具備することを特徴とする楽音発生装置。 Exciting means for generating an excitation signal based on the non-linear characteristics of the sounding body, and an exciting signal output from the exciting means for simulating the transmission characteristics of the resonator by circulating repeatedly while delaying the excitation signal for a predetermined time. A wave guide means for generating a musical tone having a pitch corresponding to the resonance operation of
The excitation means,
First calculating means for calculating a pressure difference signal representing a difference between a signal corresponding to the blowing pressure supplied from the outside and a signal corresponding to the reflected pressure wave fed back via the transmission return path of the wave guide means;
Low-pass filter means for low-pass filtering the pressure difference signal supplied from the first calculating means based on a resonance value and a cut-off frequency according to a blowing mode;
Non-linear table means for non-linearly converting the signal from the low-pass filter means;
Second calculating means for multiplying the signal from the non-linear table means by the pressure difference signal and supplying the multiplied signal to the transmission outward path of the wave guide means;
And the non-linear table means further comprises:
A memory for storing the non-linear characteristic of the sounding body; generating a read address integer part INT and an address decimal part FRC using a signal from the low-pass filter means as a read address; A plurality of addresses INT ± n and a plurality of addresses FRC ± n before and after the address decimal part FRC are generated, and the non-linear characteristic is referenced and read from the storage means in accordance with the address integer part INT and the plurality of addresses INT ± n before and after the address INT. Non-linear output means for generating a plurality of corresponding non-linear output signals,
A plurality of interpolation coefficients obtained from an interpolation function for interpolating the non-linear characteristic are stored, and a corresponding interpolation coefficient is read and read in accordance with the address decimal part FRC generated by the address generation means and a plurality of addresses FRC ± n before and after the address. Interpolation calculation means for forming and outputting a signal obtained by weighting and adding the plurality of non-linear output signals by each interpolation coefficient,
A musical sound generating device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25925595A JP3551575B2 (en) | 1995-09-11 | 1995-09-11 | Tone generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25925595A JP3551575B2 (en) | 1995-09-11 | 1995-09-11 | Tone generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0981155A JPH0981155A (en) | 1997-03-28 |
JP3551575B2 true JP3551575B2 (en) | 2004-08-11 |
Family
ID=17331569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25925595A Expired - Fee Related JP3551575B2 (en) | 1995-09-11 | 1995-09-11 | Tone generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3551575B2 (en) |
-
1995
- 1995-09-11 JP JP25925595A patent/JP3551575B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0981155A (en) | 1997-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4909119A (en) | Musical tone control system with a pedal for adding a musical effect to a musical tone | |
JP7331746B2 (en) | Electronic keyboard instrument, musical tone generating method and program | |
JP2679275B2 (en) | Music synthesizer | |
US5248844A (en) | Waveguide type musical tone synthesizing apparatus | |
JPH04242293A (en) | Electronic musical instrument | |
JP2722795B2 (en) | Music synthesizer | |
JPH0778679B2 (en) | Musical tone signal generator | |
JPH0774958B2 (en) | Music synthesizer | |
US5272275A (en) | Brass instrument type tone synthesizer | |
JP2768168B2 (en) | Music synthesizer | |
JP3551575B2 (en) | Tone generator | |
JP2722947B2 (en) | Musical tone signal generator | |
JPH03181994A (en) | Musical tone synthesizing device | |
JPH06180588A (en) | Electronic musical instrument | |
JPH01198797A (en) | Electronic musical instrument | |
JPH0776871B2 (en) | Tone generation system | |
JP3347338B2 (en) | Music synthesizer | |
JPS6335038B2 (en) | ||
JPH0944164A (en) | Musical tone generating device | |
JP2572875B2 (en) | Music synthesizer | |
JP2502169B2 (en) | Music synthesizer | |
JP3223827B2 (en) | Sound source waveform data generation method and apparatus | |
JP2558940B2 (en) | Music synthesizer | |
JP3226255B2 (en) | Music synthesis system | |
JP2841847B2 (en) | Music synthesizer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040113 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040305 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040419 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080514 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090514 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100514 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110514 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120514 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |