JPH0820872B2 - 波形発生装置 - Google Patents

波形発生装置

Info

Publication number
JPH0820872B2
JPH0820872B2 JP2070261A JP7026190A JPH0820872B2 JP H0820872 B2 JPH0820872 B2 JP H0820872B2 JP 2070261 A JP2070261 A JP 2070261A JP 7026190 A JP7026190 A JP 7026190A JP H0820872 B2 JPH0820872 B2 JP H0820872B2
Authority
JP
Japan
Prior art keywords
waveform
information
register
pitch
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2070261A
Other languages
English (en)
Other versions
JPH03269597A (ja
Inventor
清 吉田
潔 萩野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2070261A priority Critical patent/JPH0820872B2/ja
Priority to US07/673,765 priority patent/US5290965A/en
Publication of JPH03269597A publication Critical patent/JPH03269597A/ja
Publication of JPH0820872B2 publication Critical patent/JPH0820872B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • G10H7/04Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories in which amplitudes are read at varying rates, e.g. according to pitch
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/08Instruments in which the tones are synthesised from a data store, e.g. computer organs by calculating functions or polynomial approximations to evaluate amplitudes at successive sample points of a tone waveform
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/591DPCM [delta pulse code modulation]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/621Waveform interpolation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/631Waveform resampling, i.e. sample rate conversion or sample depth conversion

Description

【発明の詳細な説明】
「産業上の利用分野」 この発明は、電子楽器等の音源として使用される波形
発生装置に関する。 「従来の技術」 電子楽器の音源として、いわゆるピッチ同期方式の波
形発生装置が知られている。このピッチ同期方式の波形
発生装置によれば、波形メモリから波形値のサンプル列
を読み出す周期が音高に応じて制御され、共通の原波形
から各種音高の楽音波形が再生される。この種のピッチ
同期式の波形発生回路は、例えば特開昭60−63593号公
報あるいは特開昭62−242995公報に開示されている。特
開昭60−63593号公報に開示された波形発生装置は、波
形値列を浮動小数点によるDPCM(差分符号化)符号に圧
縮して波形メモリへ記録しておき、再生時は、波形メモ
リから読み出したDPCM符号を累算することによって波形
再生を行うものであり、波形メモリの容量の節約がなさ
れている。また、特開昭60−63593号公報に記載された
波形発生装置では、波形値列に差分変調を施した結果を
波形メモリに記録することにより、波形メモリの容量の
節約がなされている。 しかしながら、ピッチ同期方式の波形発生装置によっ
て音高制御を正確に行うには、波形メモリからサンプル
を読み出す読出周期を高精度で制御する必要があり、そ
のためには、高速の基準クロックによって読出タイミン
グを制御する必要がある。また、音高が低い場合、出力
される楽音波形のサンプリング周波数が低くなるので、
音質が劣化するという問題があった。さらに、ピッチ同
期式波形発生装置を音源として用いて電子楽器を構成す
る場合、後続のシステムの設計が難しくなるという問題
がある。例えば、ピッチ同期式波形発生装置を複数用い
て音高の異なった楽音波形を発生し、各々を重ね合わせ
て楽音を発生しようとする場合、各楽音波形のサンプル
が各々異なった位相で発生されるため、重ね合わせ処理
が複雑になってしまう。 そこで、楽音の音質および後続のシステムの設計の容
易化を考慮した場合、音高とは無関係に一定ピッチで再
生波形のサンプル値を出力する、いわゆるピッチ非同期
型波形発生装置が有利となる。 ここで、第15図(a),(b)を参照し、ピッチ非同
期方式波形発生装置の動作の概略を説明する。第15図
(a)において、Aは原波形を示す。ここで、原波形A
の波形値を時間軸上においてピッチTc(以下、このピッ
チを原ピッチと呼ぶ)毎にサンプリングして得られる各
サンプルが波形メモリに記憶されているものとする。 まず、波形発生装置では、原波形Aにおいて、原ピッ
チTcよりも時間長の長いピッチTm(以下、このピッチを
再生ピッチと呼ぶ)を隔てて連続する各時刻の波形値、
すなわち、第15図(a)において破線によって表示した
各波形値が求められる。そして、このようにして求めら
れた各波形値が第15図(b)に示すように、原ピッチTc
に一致した周期で出力され、原波形Aの周波数に対し、
再生ピッチTmと原ピッチTcとの比a=Tm/Tc(以下、こ
の比をピッチ情報と称す)を乗じた周波数の再生波形が
得られる。 ところで、一般的にピッチ情報aは整数でないので、
第15図(a)に示すように、たいていの場合、再生すべ
き各時刻の波形値は波形メモリに記憶されていない。こ
のため、ピッチ非同期型波形発生装置には補間器が用い
られる。そして、波形メモリに記憶された各波形値の中
から再生すべき時刻の前後の所定個数のサンプルが選択
されて補間器に与えられ、当該時刻の波形値の補間演算
が行われる。 例えば第15図(a)におけるサンプル値Wx1を6次補
間によって得る場合、その直前の連続した4個のサンプ
ルW-3,W-2,W-1,W0および直後の連続した3個のサン
プルW1,W2,W3の各々に対し、サンプルW0とサンプルWx
1との位相差xに応じた7個1組の各補間係数が乗算さ
れ、各乗算結果が加算され、サンプル値Wx1が求められ
る。そして、サンプル値Wx1の次のサンプル値Wx2は、サ
ンプルW-2,W-1,W0,W1,W2,W3,W4を用いた補間演算
によって求められる。同様に、後続の各サンプルWx3,W
x4…も、各々、発生時刻の直前4個直後3個の各サンプ
ルを用いた補間演算によって求められ、第15図(b)に
おける再生波形Bの各波形値が得られる。 このような波形発生処理を行うためには、波形メモリ
から必要なサンプルを読み出すための読出アドレスを発
生すること、および上記位相差xに相当する情報を得て
補間係数を決定することが必要となる。通常、発音開始
時点から上記ピッチ情報aを一定周期毎に累積加算する
ことにより、再生すべき波形値の原波形における位相点
を示す情報(以下、この情報を位相情報と称す)が求め
られ、この位相情報の整数部が波形値の読出アドレスと
して使用され、位相情報の小数部に基づいて補間係数が
決定される。 なお、ピッチ非同期方式の波形発生装置について、例
えば、特公昭59−17836号公報に開示されている。 「発明が解決しようとする課題」 さて、上述した従来のピッチ非同期方式の波形発生装
置においては、補間次数に対応した個数のサンプルがす
べて波形メモリから読み出された時点で第1回目の補間
演算が行われ、再生波形の波形値が求められる。このた
め、波形再生の指示があってから、第1回目の波形値が
再生されるまでの時間が長くなり、特にピッチ情報の値
が小さくて位相情報の増加が緩やかな場合に波形再生の
指示に対する応答性が悪化するという問題があった。 この発明は上述した事情に鑑みてなされたもので、波
形発生開始の指示に対する応答性のよい波形発生装置を
提供することを目的としている。 「課題を解決するための手段」 この発明は、楽音の発生開始および楽音の音高を指示
する指示手段と、前記指示手段により指示された音高に
対応した値を有し、整数部と小数部とからなるピッチ情
報を発生するピッチ情報発生手段と、一定時間間隔毎
に、前記ピッチ情報の値に対応した変化量だけ順次変化
する整数部と小数部とからなるアドレス情報を発生する
アドレス情報発生手段と、前記指示手段による楽音発生
開始の指示時には、所定数の波形サンプルデータを発生
し、その後は前記アドレス情報の整数部の変化量に対応
した数の波形サンプルデータを発生する波形データ発生
手段と、前記波形データ発生手段から発生された波形サ
ンプルデータを一時記憶する一時記憶手段と、前記波形
データ発生手段から発生された波形サンプルデータおよ
び前記一時記憶手段に記憶された波形サンプルデータを
用いて前記アドレス情報の小数部の値に対応した補間演
算を行う補間演算手段と、を具備し、前記補間演算手段
の出力に基づき楽音波形信号を発生することを特徴とす
る。 なお、上記本発明の各構成を第1図に示す一実施例を
用いて具体的に説明するならば、以下のようになる。す
なわち、指示手段は、鍵情報発生部1によって構成さ
れ、ピッチ情報発生手段は、周波数情報発生部2によっ
て構成される。そして、ピッチ情報発生手段は、指示手
段により指示された音高(キーコード情報KC)に対応し
た値を有して整数部と小数部とからなるピッチ情報FNを
発生する。アドレス情報発生手段は、位相発生部4とア
ドレス発生部5からなり、一定時間間隔毎に、ピッチ情
報の値に対応した変化量だけ順次変化する整数部ADRと
小数部FRACとからなるアドレス情報を発生する。波形デ
ータ発生手段は、波形メモリ6によって構成され、指示
手段による楽音発生開始の指示時には、所定数の波形サ
ンプルデータMEMDを発生し、その後はアドレス情報の整
数部の変化量INTに対応した数の波形サンプルデータを
発生する。一時記憶手段は、レジスタ708によって構成
され(第6図参照)、波形データ発生手段から発生され
た波形サンプルデータを一時記憶する。補間演算手段
は、補間演算部8によって構成され、波形データ発生手
段から発生された波形サンプルデータおよび一時記憶手
段に記憶された波形サンプルデータを用いてアドレス情
報の小数部の値FRACに対応した補間演算を行う。 「作用」 上記発明によれば、ピッチ情報発生手が、指示手段に
より指示された音高に対応した値を有し、整数部と小数
部とからなり、所定の時間間隔に対応する値であるピッ
チ情報を発生する。アドレス情報発生手段が、一定時間
間隔毎に、このピッチ情報の値に対応した変化量だけ順
次変化する整数部と小数部とからなるアドレス情報を発
生する。波形データ発生手段が、指示手段による楽音発
生開始の指示時には、所定数の波形サンプルデータを発
生し、その後はアドレス情報の整数部の変化量に対応し
た数の波形サンプルデータを発生する。 したがって、楽音発生開始時には、補間演算に必要な
所定個数の波形サンプルデータが用意される。 この波形データ発生手段から発生された波形サンプル
データは、一時記憶手段によって一時記憶される。そし
て、補間演算手段が、波形データ発生手段から発生され
た波形サンプルデータおよび一時記憶手段に記憶された
波形サンプルデータを用いてアドレス情報の小数部の値
に対応した補間演算を行う。 また、楽音波形信号が、補間演算手段の出力に基づき
楽音波形信号を発生する。 「実施例」 以下、図面を参照して本発明の一実施例について説明
する。 第1図はこの発明の一実施例による波形発生装置の構
成を示すブロック図である。この波形発生装置は、電子
楽器の音源として用いられる。鍵情報発生部1は、図示
しない鍵盤の鍵操作を検知し、押下された鍵のキーコー
ド情報KC、押鍵中であることを示すキーオン信号KON等
を発生する。周波数情報発生部2は、キーコード情報KC
に対応したピッチ情報FNを発生する。このピッチ情報FN
は上述した通り、再生ピッチTmと原ピッチTcとの比であ
り、図示しないROM(リードオンリメモリ)に各キーコ
ードに対応したものが用意されており、図示しない鍵盤
がキーオンされた場合に、ROMからキーコード情報KCに
対応したものが読み出され、ピッチ情報FNとして出力さ
れるようになっている。 音色指定情報発生部3は、図示しない音色操作子の操
作を検知し、操作によって指定された音色に対応したス
タートアドレス情報START、アタックサイズ情報ASIZE、
リピートサイズ情報RSIZEを各々発生する。また、この
波形発生装置は、原波形に対して周波数変調を施すこと
によって複雑な波形を発生することができ、その場合に
ピッチ変調情報MODが音色指定情報発生部3から出力さ
れる。なお、これら各情報の意味するところは後述す
る。 位相発生部4は、キーオン信号KON、ピッチ情報FNお
よび変調信号MODに基づき、再生すべき波形値の位相点
を指定する位相情報を発生する。アドレス発生部5は位
相情報の整数部に基づいて波形読出アドレスADRを発生
する。波形メモリ6には各種音色の原波形の波形値列が
記録されている。 第2図に波形メモリ6における原波形1個分の記録状
態を示す。この図に示すように、波形メモリ6には、各
原波形のアタック部とループ再生を行うリピート部とが
記録されている。上述したスタートアドレス情報START
は、波形メモリ6における音色操作子によって指定され
た音色の原波形の先頭アドレスを指定するものであり、
アタックサイズ情報ASIZEはアタック部の長さ(アタッ
ク部に含まれるアドレスの個数)を指定するものであ
り、リピートサイズ情報RSIZEはリピート部の長さ(リ
ピート部に含まれるアドレスの個数)を指定するもので
ある。また、原波形の波形情報としては、各波形値とそ
の直前の波形値との差分を符号化したDPCM符号が記録さ
れており、波形メモリ6の容量が節約されている。 DPCM復調部7は波形メモリ6から読み出された一連の
DPCM符号に基づき、波形値を復調する。また、この際の
復調動作は位相情報の整数部INTに基づいて制御され
る。補間演算部8はDPCM復調部7から出力される波形値
列と、位相情報の小数部FRACによって決定される補間係
数とを用いて補間演算を行い、演算結果を再生すべき波
形値として出力する。タイミングコントローラ9は、図
示しない基準発振器から供給される基準クロックφが入
力されると共にこの波形発生装置の各部からの検出信号
が入力され、これらに基づいて各部を制御する各種タイ
ミング信号を発生する。 以下、各部の詳細な構成について説明する。
【位相発生部4の構成】 第3図に位相発生部4の構成を示す。加算器401はピ
ッチ情報FNとピッチ変調情報MODが入力され、原波形の
読出ピッチを決定するピッチ情報Fを出力する。ピッチ
変調情報MODが変化すると、それによって波形メモリ6
から波形情報を読み出すピッチが変化し、楽音の周波数
変調がなされる。ピッチ情報Fは整数部(上位3ビッ
ト)および小数部(下位16ビット)とで構成され、小数
部は全加算器402に被加算入力Aとして与えられ、整数
部は半加算器403に与えられる。全加算器402のキャリ出
力COは半加算器402にキャリ入力CIとして与えられる。 全加算器402の加算結果(16ビット)は16ビット構成
のANDゲート405の一方の入力に与えられる。また、半加
算器403の加算結果(3ビット)は3ビット構成のANDゲ
ート404の一方の入力に与えられる。ANDゲート404およ
び405のもう一方の入力には、押鍵時、所定期間“1"と
なるキーオンパルスKONPがインバータ407によって反転
されて入力される。 ANDゲート404の出力は位相情報の整数部INTとしてア
ドレス発生部5に供給される。一方、ANDゲート405の出
力は、タイミングコントローラ9によって発生されるク
ロックφchに同期してレジスタ406に取り込まれ、全加
算器402に被加算入力Bとして供給される。また、レジ
スタ406の保持情報が位相情報の小数部FRAC(16ビッ
ト)として補間演算部8に供給される。 しかして、この位相発生部4によれば、押鍵時、キー
オンパルスKONPが発生されることによって、位相情報の
整数部INTが強制的に「0」とされると共に、レジスタ4
06に保持された位相情報の小数部FRACがクリアされる。
そして、以後、全加算器402およびレジスタ406により、
クロックφchに同期してピッチ情報Fの小数部の累積加
算が行われ、その累算値に応じた位相情報の整数部INT
および小数部FRACが発生される。
【アドレス発生部5およびタイミングコントローラ9の
構成】 第4図にアドレス発生部5およびタイミングコントロ
ーラ9の構成を示す。タイミングコントローラ9におけ
るセレクタ901は、第0入力ポートに位相情報の整数部I
NTが入力されると共に第1入力ポートに固定データ
「4」が入力され、セレクト端子にキーオンパルスKONP
が入力される。セレクタ901によって選択された情報は
アドレス発生制御情報INTSとしてタイミング波形発生回
路902に入力される。タイミング波形発生回路902は、ア
ドレス発生制御情報INTSの他、上述した基準クロックφ
およびアドレス発生部5からの各種検出信号が入力さ
れ、これらに基づき各種タイミング信号を発生する。 第5図にタイミング波形発生回路902によって発生さ
れるタイミング信号の代表的なものの波形図を示す。ク
ロックφは基準クロックφを分周することによって得
られる。また、クロックφa,φb,φ,φchは、ク
ロックφをさらに分周することによって得られる。こ
の波形発生装置では、クロックφchに同期して1サンプ
ル分の補間演算が実行される。従って、以下の説明で
は、クロックφchの周期のことを演算サイクルと呼ぶ。
また、1演算サイクル当たり8回クロックφが立ち上
がるが、第1回目の立ち上がりから第2回目の立ち上が
りまでの期間を第0スロット、以下、同様に、クロック
φの立ち上がりから次の立ち上がりまでの各期間を第
1スロット、第2スロット、…、第7スロットと呼ぶ。 スロット信号SL0は各演算サイクルの第0スロットの
期間のみ“1"となる。この他にも、現時点が何スロット
に当たるかを示すための各スロット信号が発生され、各
部に供給される。また、スロット信号SL67は、第6,第7
スロットのみ、“1"となる。また、クロックφaは偶
数スロットの期間のみ“1"となり、クロックφbは奇
数スロットの期間のみ“1"となる。インクリメント信号
INCは後述するアドレス発生部5における波形アドレス
の更新の制御に用いられる制御信号であり、セレクタ90
1からの情報INTSに応じてその波形が制御される。すな
わち、インクリメント信号INCは、INTS=1の場合には
第6,第7スロットの期間“1"となり、INTS=2の場合に
は第4〜第7スロットの期間“1"となり、INTS=3の場
合には第2〜第7スロットの期間“1"となり、INTS=4
の場合には第0〜第7スロットの期間“1"となる。 アドレス発生部5におけるセレクタ501は、第0入力
ポートにアタックサイズ情報ASIZEが入力され、第1入
力ポートにリピートサイズ情報RSIZEが入力され、セレ
クト端子にタイミング発生回路902によって発生される
セレクト情報S0が入力される。セレクタ501によって選
択された情報はインバータ502に入力され、インバータ5
02の出力情報はANDゲート503の一方の入力に与えられ
る。このANDゲート503の他方に入力にはクロックφ
が与えられる。そして、ANDゲート503の出力は全加算器
504に被加算入力Bとして与えられる。ORゲート516は、
クロックφbおよびインクリメント信号INCが入力さ
れ、その出力が全加算器504にキャリ入力CIとして与え
られる。全加算器504のキャリ出力CO端のキャリ出力信
号CARRYは、各演算サイクルの奇数スロットにおいて、
波形メモリ6に供給する予定のアドレスがアタック部の
最終アドレスを越える場合、あるいは波形メモリ6に供
給する予定のアドレスがリピート部の最終アドレスを越
える場合にアサートされ、これらの各場合にタイミング
波形発生回路902によって、一致検出信号EQが出力され
る。また、波形メモリ6に供給予定のアドレスがアタッ
ク部の最終アドレスを越える場合にはアタックエンド検
出信号AEが出力され、リピート部の最終アドレスを越え
る場合にはリピートエンド検出信号REが出力される。な
お、このアタックエンドおよびリピートエンドの検出動
作については後述する。 ANDゲート505は一方の入力に全加算器504における加
算結果が与えられる。また、ANDゲート506はキーオンパ
ルスKONPおよびスロット信号SL0が与えられ、その出力
がインバータ507によって反転されてANDゲート505の他
方の入力に与えられる。ANDゲート505の出力はクロック
φによってレジスタ508に取り込まれる。ANDゲート51
0は、レジスタ508の出力情報D0と、タイミング波形発生
回路902から出力される一致検出信号EQをインバータ511
によって反転した信号が入力される。ANDゲート510の出
力は、クロックφaによってレジスタ512に取り込ま
れると共に、クロックφchによってレジスタ513に取り
込まれる。 セレクタ509は、第0入力ポートにレジスタ508の出力
情報D0が入力され、第1入力ポートにレジスタ512の出
力情報D1が入力され、第2入力ポートにレジスタ513の
出力情報Dchが入力され、セレクタ端子にタイミング波
形発生回路902から供給されるセレクト情報S1が入力さ
れる。そして、セレクタ509によって選択された情報が
全加算器504に被加算入力Aとして与えられる。ANDゲー
ト515は、アタックサイズ情報ASIZEと、リピート信号LP
SPが入力される。ここで、リピート信号LPSPは、リピー
ト部の再生を開始した場合に、タイミング波形発生回路
902によってアサートされる。従って、アタック部の再
生を行う期間は「0」がANDゲート515から出力され、。
リピート部の再生を行う期間はアタックサイズ情報ASIZ
EがANDゲート515から出力される。加算器514は、ANDゲ
ート515の出力、レジスタ512の出力情報D1およびスター
トアドレス情報STARTが入力され、それらの加算結果を
波形読出アドレス情報ADRとして波形メモリ6に供給す
る。
【DPCM復調部7および補間演算部8の構成】 第6図にDPCM復調部7および補間演算部8の構成を示
す。 波形メモリMEMから読み出されるDPCM符号による波形
情報MEMDは、クロックφaに同期し、DPCM復調部7の
シフトレジスタ701に順次取り込まれてシフトされる。
シフトレジスタ701の第1〜第4ステージの各出力は、
復号処理部704のレジスタWD3〜WD0に取り込まれる。ま
た、復号処理部704は、位相情報の整数部INTをレジスタ
702によって1演算サイクル遅延した情報DINTおよびキ
ーオンパルスKONPを1演算サイクル遅延した情報DKONP
が与えられる。シフトレジスタ706には、アタックエン
ド検出信号AEがクロックφbに同期して取り込まれて
順次シフトされる。また、シフトレジスタ707には、リ
ピートエンド検出信号REがクロックφbに同期して取
り込まれて順次シフトされる。復号処理部704では、シ
フトレジスタ706の第1〜第4ステージの出力情報AE0
AE3を参照することにより、アタックエンドが検出され
たスロット番号の判断が行われ、シフトレジスタ707の
第1〜第4ステージの出力情報RE0〜RE3を参照すること
により、リピートエンドが検出されたスロット番号の判
断が行われる。 ループデータレジスタLPDTは、アタック部の最後の復
調波形値が、復号処理部704によって書き込まれる。そ
して、リピートエンドが検出された場合には、このルー
プデータレジスタLPDT内の復調波形値に基づいてDPCM復
調が行われる。レジスタ708は8個のデータエリアDT0〜
DT7を有しており、復号処理部704によってデータの書き
込み、および各データエリア間のシフトが制御される。
データエリアDT0の保持情報はANDゲート710の一方の入
力に与えられ、データエリアDT1〜DT4の保持情報はセレ
クタ711の第1〜第4入力ポートに与えられる。そし
て、ANDゲート710は、もう一方の入力に復号処理部704
から出力される初期化信号INITをインバータ709によっ
て反転した信号が与えられ、ANDゲート710の出力はセレ
クタ711の第0入力ポートに与えられる。ANDゲート712
は、レジスタ703の出力情報DKONPをインバータ713によ
って反転した信号、復号処理部704から出力される切換
信号NS、およびレジスタ702の出力情報DINTが入力さ
れ、ANDゲート712の出力はセレクト情報としてセレクタ
711に与えられる。セレクタ711の出力はDPCM復調された
補間用波形値として補間演算部8の補間演算器801に与
えられると共に、レジスタ708のデータエリアDT7に送ら
れる。 補間演算部8では、位相情報の小数部FRACがレジスタ
802を介すことによって1演算サイクル遅延されて補間
係数供給部803に入力される。そして、補間係数供給部8
03から補間演算器801に、小数部FRACに対応した8個の
1組の補間係数が、クロックφに同期して順次供給さ
れる。補間演算器801では、セレクタ711を介して順次供
給される各波形値に各々対応する補間係数が乗算され、
乗算結果の累積加算が行われる。そして、1演算サイク
ルを所要して累積加算を行うことにより、1個の波形値
の補間演算が終了し、その演算結果がクロックφに同
期してレジスタ804に取り込まれ、後続のD/A変換器へと
送られる。 《実施例の動作》 この波形発生装置において、音色操作子の操作状態
は、音色指定情報発生部3によって検知され、操作子に
よって指定された音色に対応したスタートアドレス情報
START、アタックサイズ情報ASIZEおよびリピートサイズ
情報RSIZEがアドレス発生部5に供給される。また、周
波数変調を必要とする音色の場合はピッチ変調情報MOD
が位相発生部4に供給される。 このように音色指定がなされた状態において、鍵盤に
おけるいずれかの鍵が押下されると、その鍵のキーコー
ド情報KCおよびキーオン信号KONが鍵情報発生部1から
出力される。そして、キーコード情報KCは周波数情報発
生部2に取り込まれ、キーオン信号KONは位相発生部4
に取り込まれる。そして、周波数発生部2から上述した
ようにしてキーコード情報KCに対応したピッチ情報FNが
出力され、位相発生部4に供給される。また、キーオン
信号KONが立ち上がることにより、キーオンパルスKONP
がタイミングコントローラ9によって1演算サイクルの
期間“1"とされる。 そして、位相発生部4では、ピッチ情報FNとピッチ変
調情報MODとが加算され、演算サイクルの切換に同期し
てピッチ情報Fの小数部の累積加算が行われる。そし
て、ピッチ情報Fの小数部の累積加算値が位相情報の小
数部FRACとして補間演算部8に供給される。また、ピッ
チ情報Fの整数部と、ピッチ情報Fの小数部の累積加算
におけるキャリ出力とを加算した位相情報の整数部INT
が求められ、アドレス発生部5およびDPCM復調部7に供
給される。
【アドレス発生部5の動作】 キーオン信号KON、キーオンパルスKONPがアサートさ
れると、アドレス発生部5では第7図のタイムチャート
に示す動作が開始される。なお、この図では、位相情報
の整数部INTが「1」の場合の動作が示されている。 キーオンパルスKONPが立ち上がってからリピート部の
再生が開始されるまでの期間、タイミング波形発生回路
902によって、セレクト情報S0は「0」とされ、リピー
ト信号LPSPは“0"とされる。また、一致検出信号EQは、
アタックエンドあるいはリピートエンドの検出がされな
い限り、“0"を維持する。また、キーオンパルスKONPが
“1"を維持する演算サイクルM0の期間、セレクタ901に
よって固定値「4」が選択され(INTS=「4」)、全ス
ロットに亙ってインクリメント信号が“1"とされ、従っ
て、全加算器516のキャリ入力CIが“1"とされる。ま
た、演算サイクルM0におけるセレクト情報S1は、第0お
よび第1スロットが「0」、その後の偶数スロットは
「1」、奇数スロットは「0」とされる。 演算サイクルM0の第0スロットにおいて、KONP=
“1"、SL0=“1"となることにより、ANDゲート505の出
力が強制的に“0"とされる。そして、ANDゲート505の出
力がクロックφによってレジスタ508に書き込まれ、
レジスタ508の出力情報D0が「0」となる。これに伴っ
て、ANDゲート510の出力が強制的に「0」とされる。そ
して、ANDゲート510の出力はクロックφaによってレ
ジスタ512に書き込まれると共にクロックφchによって
レジスタ513に書き込まれ、各レジスタの保持情報はD1
=「0」、Dch=「0」となる。 また、演算サイクルM0の第0スロットは、セレクト情
報S1が「0」となるため、全加算器504は被加算入力A
としてD0=「0」が入力される。また、クロックφ
の値は“0"となるので、全加算器504の被加算入力Bは
「0」となる。この結果、全加算器504から、加算結果
として「1」が出力される。 次いで第1スロットになると、全加算器504における
加算結果「1」がレジスタ508に取り込まれてD0
「1」となる。また、クロックφbの値が“1"にな
り、セレクタ501によって選択されたアタックサイズ情
報ASIZEをインバータ502によって全ビット反転した情報
ASIZEBがANDゲート503を介し、被加算入力Bとして全加
算器504に入力される。この時、全加算器504は、被加算
入力AとしてD0=「1」が入力され、キャリ入力CIとし
て“1"が入力されているため、結局1−ASIZEなる減算
を行うこととなる。この減算結果が「0」以下、すなわ
ち、D0≧ASIZEの場合はキャリ信号CARRYがアサートされ
る。通常、ASIZEは「1」より十分に大きな値であるた
め、この場合、キャリ信号CARRYはアサートされない。 次に第2スロットになると、クロックφaによっ
て、その時点におけるレジスタ508の出力D0=「1」が
レジスタ512に書き込まれる(D1=「1」)。そして、
全加算器516から出力されている減算結果1−ASIZEがク
ロックφによってレジスタ508に書き込まれる。ま
た、クロックφbの値が“0"となるため、全加算器50
4の被加算入力Bは「0」となる。また、セレクト情報S
1は「1」とされ、レジスタ512の出力情報D1=「1」が
被加算入力Bとして全加算器504に入力される。この結
果、全加算器504から加算結果「2」が出力される。 次いで第3スロットになると、第1スロットと同様な
動作が行われ、全加算器504における加算結果「2」が
レジスタ508に取り込まれてD0=「2」となり、全加算
器504から減算結果2−ASIZEが出力される。以後、上述
と同様の動作が行われ、レジスタ512の保持情報D1は第
4スロットにおいて「2」、第6スロットにおいて
「3」に増加する。また、奇数スロットの第5および第
7スロットでは、その次の偶数スロットにおいてレジス
タ512に取り込まれる予定のレジスタ508の保持情報D0
ASIZE以上になったか否かが判定される。 このようにキーオンパルスKONPがアサートされる最初
の演算サイクルM0では、全スロットに亙ってインクリメ
ント信号INCがアサートされるため、結局、4回(第1,
第3,第5,第7スロット)に亙って、レジスタ512の保持
情報D1に「1」が加えた情報がレジスタ508に書き込ま
れ、それより各々1スロット遅れてレジスタ508の保持
情報D0がレジスタ512に書き込まれる。そして、レジス
タ512の保持情報D1は加算器514によってスタートアドレ
ス情報STARTと加算され、加算結果START+D1が波形読出
アドレスADRとして波形メモリ6に供給される。 次の演算サイクルM1以降、セレクト情報S1は、第0ス
ロットにおいて「2」、その後の奇数スロットにおいて
「0」、偶数スロットにおいて「1」とされる。 演算サイクルM1になると、レジスタ508の保持情報D0
=「4」がクロックφaによってレジスタ512に書き
込まれると共にクロックφchによってレジスタ513に書
き込まれ、各レジスタの保持情報はD1=「4」、Dch=
「4」となり、波形読出アドレスADRはSTART+4とな
る。また、演算サイクルM1になると、キーオンパルスKO
NPが“0"となるため、位相情報の整数部INT(=「1」
がアドレス発生制御情報INTSとしてタイミング波形発生
回路902に供給される。従って、この情報INTS(=
「1」)に応じ、第6,第7スロットのみ“1"となるイン
クリメント信号INCがタイミング波形発生回路902によっ
て発生される。この結果、全加算器504のキャリ入力CI
は、第1,第3および第5〜第7スロットのみ“1"とな
る。 まず、演算サイクルM1の第0スロットにおいて、レジ
スタ513の保持情報Dch=「4」が被加算入力Aとして全
加算器504に入力される。この時、キャリ入力CIは
“0"、被加算入力Aは「0」であるため、全加算器504
の加算結果は「4」となる。そして、この加算結果が次
の第1スロットにおいてレジスタ508に書き込まれる。
次に第2スロットになると、レジスタ508の保持情報D0
=「4」がレジスタ512および513に書き込まれ、レジス
タ512の保持情報D1=「4」が被加算入力Aとして全加
算器504に入力される。しかし、この場合も、キャリ入
力CIは“0"であるため、全加算器504における加算結果
は「4」となり、次の第3スロットにおいて、前回(第
1スロット)と全く同じ値「4」がレジスタ508に書き
込まれる。そして、レジスタ508の保持情報「4」が第
4スロットにおいてレジスタ512に書き込まれる。この
ようにインクリメント信号INCが“0"の期間は、レジス
タ508、512の保持情報はインクリメントされず、従っ
て、波形メモリ6へ供給される波形メモリアドレスADR
は全く更新されない(この場合、START+4を維持)。 そして、第6スロットになると、インクリメント信号
INCが“1"となることにより、全加算器504における加算
結果が「5」となる。そして、第7スロットにおいて、
レジスタ508に「5」が書き込まれ、1スロット遅れた
演算サイクルM2の第0スロットにおいて、レジスタ512
および513に「5」が書き込まれる。そして、START+5
が波形読出アドレスADRとして波形メモリ6に供給され
る。仮に位相情報の整数部INTが「2」であったとする
と、第4スロットにおいても全加算器504のキャリ入力C
Iが“1"となり、レジスタ508および512の保持情報がイ
ンクリメントされ、この結果、波形読出アドレスADRが
インクリメントされる。 すなわち、演算サイクルM2以降は、位相情報の整数部
INTの値の回数だけ波形読出アドレスADRがインクリメン
トされる。なお、演算サイクルM2以降も前述の演算サイ
クルM1の場合と同様、奇数スロットにおいて、レジスタ
508の保持情報D0がASIZE以上になったか否かの判定が行
われる。 さて、このようにして波形読出アドレスADRがインク
リメントされると、波形読出アドレスADRはいずれアタ
ック部の最終アドレスの値を越え、リピート部の先頭ア
ドレスに到達する。この場合の動作を第8図を参照して
説明する。まず、ある演算サイクルMjの第0スロットに
おいて、レジスタ513の保持情報Dchがアタックサイズ情
報ASIZEより「1」だけ小さな値Nになったとする。こ
の時、位相情報の整数部INTが「1」であると、第6ス
ロットにおいて全加算器504の加算結果がN+1(=ASI
ZE)になり、第7スロットにおいてN+1がレジスタD0
に書き込まれると共にN+1−ASIZEなる減算が全加算
器504によって行われる。この減算の結果、キャリ出力
信号CARRYがアサートされ、タイミング波形発生回路902
によって一致検出信号EQおよびアタックエンド検出信号
AEが第7スロットの期間“1"とされる。 そして、第7スロットにおいて一致検出信号EQが“1"
となることにより、演算サイクルMj+1の第0スロットに
おいて、レジスタ512および513がクリアされる。以後、
レジスタ512の内容は、「0」から、上述と同様に、位
相情報の整数部INTに応じてインクリメントされる。ま
た、演算サイクルMj+1の第0スロット以降、リピート信
号LPSPが“1"とされ、アタックサイズ情報ASIZEが加算
器514に供給される。従って、演算サイクルMj+1の第0
スロット以降、波形読出アドレスADRは、START+ASIZE
(リピート部先頭アドレス)、START+ASIZE+1、STAR
T+ASIZE+2、……というようにインクリメントされ
る。 また、演算サイクルMj+1以降、セレクト情報S0
「1」とされ、各奇数スロットにおいて、リピートサイ
ズ情報RSIZEを全ビット反転した情報RSIZEBが全加算器5
04に被加算入力Bとして供給される。そして、各奇数ス
ロットにおいて、その時点におけるレジスタ508の保持
情報D0がリピートサイズ情報RSIZEに到達したか否か、
すなわち、保持情報D0に基づいてその次のスロットの波
形読出アドレスADRを発生した場合にアドレスADRがリピ
ート部の最終アドレスを越えないか否かが判定される。
そして、例えば、ある演算サイクルMkの第7スロットに
おいて、D0=RSIZEになったとすると、第9図に示すよ
うに、第7スロットにおいて一致検出信号EQとリピート
エンド検出信号REがアサートされる。この場合も、上述
したアタック部の終了検出の場合と同様に、演算サイク
ルMk+1においてレジスタ512および513がクリアされ、以
後、再び、波形読出アドレスが、位相情報の整数部INT
に応じた速度で、START+ASIZE、START+ASIZE+1、ST
ART+ASIZE+2、……というようにインクリメントされ
る。 次に位相情報の整数部INTが「2」の場合におけるア
タックエンドの検出動作の動作について説明する。第10
図に示すように、ある演算サイクルの第5スロットにお
いて、レジスタ508の内容がアタックサイズ情報ASIZEに
等しい数値N+1になったとする。この結果、第5スロ
ットにおいて、キャリ出力信号CARRYがアサートされる
ことにより、一致検出信号EQ、アタックエンド検出信号
AEが“1"とされる。そして、第6スロットにおいて、レ
ジスタ512がクリアされてD1=「1」となる。また、第
6スロット以降、リピート信号LPSPは“1"となる。しか
し、演算サイクルMjの期間、レジスタ513の保持情報Dch
はNのままであり、新たな演算サイクルMjに切り換わっ
た時点でDch=「0」となる。 また、INT=「3」あるいは「4」の場合も同様であ
り、D0=ASIZEが検出されたスロットにおいて、信号EQ
およびAEがアサートされ、その次のスロットにおいてリ
ピート信号LPSPの立ち上げられると共にレジスタ512が
クリアされ、D0=ASIZEが検出されたスロットの直後の
新たな演算サイクルにおいてレジスタ513がクリアされ
る。また、リピート部の終了検出動作についても、信号
LPSPが変化しない点を除いて全く同様である。
【DPCM復調部7および補間演算部8の動作】 第11図に示すように、キーオン検知直後の最初の演算
サイクルM0において、波形読出アドレスADRとして4個
のアドレスA0(=START),A1(=START+1),A2(=
START+2),A3(=START+3)がアドレス発生部5に
よって順次発生され、それらに対応したDPCM符号による
波形情報MEMD(A0),MEMD(A1),MEMD(A2),MEMD
(A3)が順次読み出される。これらの各波形情報はクロ
ックφaによって順次シフトレジスタ701に取り込ま
れシフトされる。そして、次の演算サイクルM1の第0ス
ロットにおいて、シフトレジスタ701の第4〜第1ステ
ージにMEMD(A0)〜MEMD(A3)が各々取り込まれた状態
となる。また、演算サイクルM0において発生されたキー
オンパルスKONPおよび位相情報の整数部INTは各々レジ
スタ702および703によって共に1演算サイクル遅延さ
れ、演算サイクルM1において復号処理部704に入力され
る。また、アタックエンド検出信号AEあるいはリピート
エンド検出信号REが発生された場合、各々はシフトレジ
スタ706あるいは707にクロックφbに同期して取り込
まれてシフトされる。復号処理部704は各演算サイクル
の第0スロットにおいて、シフトレジスタ706および707
の各ステージの出力状態を判断することにより、直前の
演算サイクルの何番目のスロットにおいてアタックエン
ドあるいはリピートエンドが検出されたかを判断するこ
とができる。第11図には、第5スロットにおいてアタッ
クエンド検出信号AE(リピートエンド検出信号RE)が発
生され、その後の演算サイクルの第0スロットにおいて
AE2=“1"(RE2=“1")の検出が行われた場合が例示さ
れている。 シフトレジスタ701に取り込まれた波形情報MEMD
(A0)〜MEMD(A3)は、スロット信号SL0によって復号
処理部704内のレジスタWD0〜WD3に取り込まれる。ま
た、演算サイクルM1においては、レジスタ703の出力DKO
NPが“1"となるため、セレクタ711に入力されるセレク
ト情報は強制的に「0」とされる。 そして、復号処理部704は第12図にフローを示す処理
を実行する。まず、ステップS100に進み、情報DKONPが
“1"か否かを判断する。この判断結果は「YES」とな
り、ステップS101に進み、初期化信号INITを“1"とし、
ANDゲート710の出力を強制的に「0」にする。次にステ
ップS102に進み、レジスタ708にクロックφに同期し
たシフトパルスSHIFTを4発供給する。この結果、レジ
スタ708においてセレクタ711の第0入力ポートを介した
巡回シフトが行われ、レジスタ708のデータエリアDT4〜
DT7に数値「0」が取り込まれると共に、補間演算器801
に補間演算用波形値として「0」が4個供給される。次
にステップS103に進み、初期化信号INITを“0"にする。 次にステップS104に進むと、復調波形値の初期値
「0」にレジスタWD0に格納された第1個目のDPCM符号
を加え、その結果得られる第1個目の復調波形値「0」
+WD0をレジスタ708にデータエリアDT0にセットする。
このデータエリアDT0にセットされた第1回目の復調波
形値「0」+WD0はセレクタ711およびANDゲート710を介
し、補間演算器801に与えられる。次いでステップS105
に進み、レジスタ708を1回シフトさせる。この結果、
データエリアDT7に第1個目の復調波形値「0」+WD0
格納される。また、この時、補間演算器801に第1個目
の復調波形値「0」+WD0が取り込まれる。 次にステップS106に進むと、データエリアDT7の内容
に対し、レジスタWD1に格納された第2個目のDPCM符号
を加え、その結果得られる第2個目の復調波形値「0」
+WD0+WD1をデータエリアDT0に格納する。この第2個
目の復調波形値「0」+WD0+WD1も、第1個目と同様、
補間演算器801に与えられる。そして、ステップS107に
進み、レジスタ708を1回シフトさせる。この時、第2
個目の復調波形値が補間演算器801に取り込まれると共
にデータエリアDT7に取り込まれる。以下、レジスタW
D2,WD3に格納された第3,第4個目のDPCM符号について
も同様の処理を行い(ステップS108〜S111)、ステップ
S112において信号NSを“1"とし、ステップS100に戻る。 このような処理が演算サイクルM1において行われ、波
形値「0」が4個、および第1個目〜第4個目の復調波
形値が、各々、クロックφに同期したタイミングで補
間演算器801に取り込まれる。また、演算サイクルM1
おいて、補間係数供給部803には演算サイクルM0におけ
る位相情報の小数部FRACが入力されている。そして、演
算サイクルM1においては、この小数部FRACに応じた8個
1組の補間演算用係数が、クロックφに同期し、順
次、補間係数供給部803から補間演算器801に供給され
る。そして、演算サイクルM1において、第1回目の補間
演算が行われ、その結果が演算サイクルM2においてクロ
ックφに同期してレジスタ804に取り込まれ、後続のD
/A変換器に送られる。 演算サイクルM1終了時におけるレジスタ708のデータ
エリアDT0〜DT7の内容を表−1に示す。 演算サイクルM1以降は、信号DKONPが“0"となるた
め、情報DINT、すなわち、その直前の演算サイクルにお
ける位相情報の整数部INTがセレクタ711にセレクト情報
として供給される。 以下、演算サイクルM2以降のある演算サイクルMkにお
いて、下記表−2に示す波形値がレジスタ708に格納さ
れているものと仮定し、演算サイクルMkにおけるDPCM復
調部7および補間演算部8の動作を説明する。 まず、AE0〜AE3およびRE0〜RE3がすべて“0"の場合、
すなわち、直前の演算サイクルMk-1において、アタック
エンドおよびリピートエンドの検出がなかった場合につ
いて説明する。 DINT=「0」の場合 演算サイクルMkの第0スロットにおいて、シフトレジ
スタ701の各ステージの内容がレジスタWD0〜WD3に取り
込まれ、第13図のステップS100に進む。この場合、ステ
ップS100の判断結果は「NO」となるので、ステップS200
に進み、DINT=1か否かを判断し、その判断結果が「N
O」となる。同様にステップS300〜S500の判断結果がす
べて「NO」となってステップS600に進み、ステップS600
の判断結果が「YES」となってステップS601に進み、レ
ジスタ708を8回シフトさせる。このような処理によ
り、補間演算器801には、前の演算サイクルMk-1におい
て供給したのと同じ波形値列OD0〜OD7が演算サイクルMk
において再び供給される。また、レジスタ708の内容も
変化しない。 DINT=「1」の場合 この場合、直前の演算サイクルMk-1において、波形メ
モリ6から新たなDPCM符号ND0が読み出されてシフトレ
ジスタの第1ステージに格納されており、このDPCM符号
ND0が演算サイクルMkの第0スロットにおいて、レジス
タWD3に取り込まれる。そして、第12図において、ステ
ップS100を介し、ステップS200に進み、ステップS200の
判断結果が「YES」となってステップS201に進む。そし
て、レジスタ708に対し、シフトパルスSHIFTを7発供給
する。この結果、セレクタ711の第1入力ポートを介し
たレジスタ708の巡回シフトが7回行われ、データエリ
アDT1〜DT7に格納されていたデータOD1〜OD7が補間演算
器801に供給される。そして、ステップS202に進んで、
信号NSを“0"とする。この結果、データエリアDT0がセ
レクタ711によって選択される。 次にステップS210に進み、RE3=“1"か否かを判断す
る。この場合、判断結果が「NO」となってステップS211
に進む。そして、データエリアDT7に格納された直前の
復調波形値OD7に対し、今回供給されたDPCM符号ND0を加
算し、その加算結果OD7+ND0を復調波形値としてデータ
エリアDT0に格納する。次いでステップS212に進み、AE3
=“1"か否かを判断し、この場合、判断結果が「NO」と
なってステップS215に進む。そして、レジスタ708にシ
フトパルスSHIFTを1発供給する。この結果、セレクタ7
11の第0入力ポートを介したレジスタ708の巡回シフト
が1回行われ、データエリアDT0の復調波形値OD7+ND0
が補間演算器801に取り込まれると共に、レジスタ711の
データエリアDT7に取り込まれる。次にステップS299に
進んで信号NSを“1"に戻し、ステップS100に戻る。この
ような処理が演算サイクルMkにおいて行われた結果、レ
ジスタ708の内容は表−3に示す状態となる。 DINT=「2」の場合 この場合、直前の演算サイクルMk-1において、波形メ
モリ6から新たなDPCM符号ND0,ND1が読み出されてシフ
トレジスタ701の第2,第1ステージに各々格納されてお
り、このDPCM符号ND0,ND1が演算サイクルMkの第0スロ
ットにおいて、レジスタWD2,WD3に各々取り込まれる。
そして、第12図において、ステップS100,ステップS200
を介してステップS300に進み、その判断結果が「YES」
となってステップS301に進む。そして、レジスタ708に
対し、シフトパルスSHIFTを6発供給する。この結果、
セレクタ711の第2入力ポートを介したレジスタ708の巡
回シフトが行われ、データエリアDT2〜DT7に格納されて
いたデータOD2〜OD7が補間演算器801に供給される。そ
して、ステップS302に進んで、信号NSを“0"とする。こ
の結果、データエリアDT0がセレクタ711によって選択さ
れる。 次にステップS310に進み、RE2=“1"か否かを判断す
る。この場合、判断結果が「NO」となってステップS311
に進む。そして、データエリアDT7に格納された直前の
復調波形値OD7に対し、今回供給されたDPCM符号ND0を加
算し、その加算結果OD7+ND0を復調波形値としてデータ
エリアDT0に格納する。次いでステップS312に進み、AE2
=“1"か否かを判断し、この場合、判断結果が「NO」と
なってステップS315に進む。そして、レジスタ708にシ
フトパルスSHIFTを1発供給する。この結果、セレクタ7
11の第0入力ポートを介したレジスタ708の巡回シフト
が1回行われ、データエリアDT0の復調波形値OD7+ND0
が補間演算器801に取り込まれると共に、レジスタ711の
データエリアDT7に取り込まれる。 次にステップS320に進み、RE3=“1"か否かを判断す
る。この場合、判断結果が「NO」となってステップS321
に進む。そして、データエリアDT7に格納された直前の
復調波形値OD7+ND0に対し、今回供給されたDPCM符号ND
1を加算し、その加算結果OD7+ND0+ND1を復調波形値と
してデータエリアDT0に格納する。次いでステップS322
に進み、AE3=“1"か否かを判断し、この場合、判断結
果が「NO」となってステップS325に進む。そして、レジ
スタ708にシフトパルスSHIFTを1発供給する。この結
果、セレクタ711の第0入力ポートを介したレジスタ708
の巡回シフトが1回行われ、データエリアDT0の復調波
形値OD7+ND0+ND1が補間演算器801に取り込まれると共
に、レジスタ711のデータエリアDT7に取り込まれる。 次にステップS399に進んで信号NSを“1"に戻し、ステ
ップS100に戻る。このような処理が演算サイクルMkにお
いて行われた結果、レジスタ708の内容は表−4に示す
状態となる。 DINT=「3」および「4」の場合 DINT=「3」の場合は、演算サイクルMkの第0スロッ
トにおいて、新たな3個のDPCM符号ND0,ND1,ND2がレ
ジスタWD3,WD2,WD1に取り込まれる。また、DINT=
「4」の場合は演算サイクルMkの第0スロットにおい
て、新たな4個のDPCM符号ND0,ND1,ND2がレジスタW
D3,WD2,WD1に取り込まれる。これら各場合において
も、上述したDINT=「2」の場合と同様な処理が行われ
る(ステップS400〜S499およびステップS500〜S599)。 すなわち、DINT=「3」の場合には、演算サイクルMk
-1において補間演算器801に供給された復調波形値0D3
OD7が再び供給される(ステップS401)と共に、新たな
復調波形値OD7+ND0,OD7+ND0+ND1,OD7+ND0+ND1
ND2が供給される(ステップS415,S425,S435)。また、D
INT=「4」の場合には、復調波形値0D4〜OD7が再び供
給される(ステップS501)と共に、新たな復調波形値OD
7+ND0,OD7+ND0+ND1,OD7+ND0+ND1+ND2,OD7+ND
0+ND1+ND2+ND3が供給される(ステップS515,S525,S5
35,S545)。 〈アタックエンド検出時の動作〉 ある演算サイクルMj-1において、例えばINT=「3」
がアドレス発生部5に供給され、3個の波形読出アドレ
スがアドレス発生部5から波形メモリ6に供給され、波
形メモリ6からDPCM符号、例えばJD0,JD1,JD2が順次
読み出されたとする。また、演算サイクルMj-1の第5ス
ロット、すなわち、DPCM符号JD1に対応するアドレスの
発生時にアタックエンド検出信号AEが発生されたとする
(第13図参照)。 このアタックエンド検出信号AEはクロックφbによ
ってシフトレジスタ706に取り込まれてシフトされる。
この結果、演算サイクルMjの第0スロットにおいて、シ
フトレジスタ706の第4〜1ステージの各出力は各々、A
E0=“0",AE1=“0",AE2=“1",AE3=“0"となる。そし
て、これらの各出力およびレジスタ707の各出力が演算
サイクルMjの第0スロットにおいて復号処理部704に取
り込まれる。また、演算サイクルMjでは、DINT=「3」
となり、第0スロットにおいてDPCM符号JD0,JD1,JD2
がレジスタWD3,WD2,WD1に取り込まれる。 そして、第12図において、ステップS100〜S300を介し
てステップS400に進み、その判断結果が「YES」となっ
て、ステップS401に進む。そして、上述と同様に、直前
の演算サイクルMj-1において補間演算器801に供給した
5個の復調波形値を再び補間演算器801に供給する(ス
テップS401)。次にレジスタWD1に格納されたDPCM符号J
D0を用いて復調波形値OD7+JD0を演算し(ステップS41
1)、その復調波形値を補間演算器801に供給する(ステ
ップS415)。そして、レジスタWD2に格納されたDPCM符
号JD1を用いて復調波形値OD7+JD0+JD1を演算(ステッ
プS421)した後、ステップS422に進み、その判断結果が
「YES」となってステップS423に進む。そして、第13図
に示す復調波形値OD7+JD0+JD1をループデータレジス
タLPDTに格納する。そして、ステップS425以降の処理を
行う。 その後、ある演算サイクルMk-1において、INT=
「3」の状態で、3個の波形読出アドレスがアドレス発
生部5から波形メモリ6に供給され、波形メモリ6から
DPCM符号、例えばKD0,KD1,KD2が順次読み出されると
共に、第3スロット、すなわち、DPCM符号KD0に対応す
るアドレスの発生時にリピートエンド検出信号REが発生
されたとする(第13図参照)。 このリピートエンド検出信号REはクロックφbによ
ってシフトレジスタ707に取り込まれてシフトされる。
この結果、演算サイクルMkの第0スロットにおいて、シ
フトレジスタ707の第4〜1ステージの各出力は各々、R
E0=“0",RE1=“1",RE2=“0",RE3=“0"となる。そし
て、これらの各出力およびレジスタ706の各出力が演算
サイクルMkの第0スロットにおいて復号処理部704に取
り込まれる。また、演算サイクルMkでは、DINT=「3」
となり、第0スロットにおいてDPCM符号KD0,KD1,KD2
がレジスタWD3,WD2,WD1に取り込まれる。 そして、第12図において、ステップS100〜S300を介し
てステップS400に進む、その判断結果が「YES」となっ
て、ステップS401に進む。そして、上述と同様に、全演
算サイクルMk-1において補間演算器801に供給した5個
の復調波形値を再び補間演算器801に供給する(ステッ
プS401)。次にステップS410に進み、RE1=“1"か否か
を判断する。この場合、その判断結果が「YES」となっ
てステップS414に進む。そして、ループデータレジスタ
LPDTに記憶された復調波形値OD7+JD0+JD1に対し、レ
ジスタWD1に格納されたDPCM符号KD0を加算し、その結果
得られる復調波形値OD7+JD0+JD1+KD0をデータエリア
DT0に格納する。ここで、DPCM符号KD0としては、アタッ
クエンド検出の行われた時点におけるDPCM符号JD2が与
えられるので、最初にリピート部の先頭の復調波形値を
演算した時と全く同じ復調波形値が得られる。そして、
この復調波形値を補間演算器801に供給し(ステップS41
5)、ステップS420以降の処理を行う。 このようにアタックエンド検出時点における復調波形
値を記憶し、リピートエンド検出時はその記憶した復調
波形値に対し、DPCM符号を加算するので、リピート部の
波形が安定して発生される。INTの値が「3」以外の場
合、およびアタックエンド、リピートエンドの検出が上
述と異なったタイミングで行われる場合においても、上
述と同様な処理が行われ、リピート部の波形が安定して
発生される。 なお、上記実施例では、本発明を単音の音源として実
現する場合を例に説明したが、本発明によって複音発生
の可能な時分割音源を実現することが可能である。この
場合、位相発生部4におけるレジスタ406、アドレス発
生部5におけるレジスタ513、DPCM復調部7におけるレ
ジスタ702,703、および補間演算部8におけるレジスタ8
02を各々発音チャネル数と同一のステージ数のシフトレ
ジスタによって実現し、発音チャネルの切換タイミング
に同期したクロックφchによって各シフトレジスタのデ
ータシフトを行うようにする。また、この場合、各発音
チャネルの空き状況の管理を行い、例えばキーコード情
報KC1の鍵が押下された時に第1発音チャネルが空き状
態であったとすると、常に第1発音チャネルにおいてキ
ーコードKC1が周波数情報発生部2に供給されるよう
に、発音チャネル単位のキーコードの管理を行う。 また、上記実施例では、波形メモリ6へDPCM符号を記
録する場合を説明したが、アタック部とリピート部とで
異なった符号化形式を採ってもよい。例えば、音色の特
徴を出すために高精度な波形再生の要求されるアタック
部は波形値のPCM符号を波形メモリ6に記録し、リピー
ト部はDPCM符化したものを波形メモリ6に記録するよう
にしても良い。この技術については、特公平1−23797
号公報等に開示されている。また、記録時に符号化の方
法を選択できるようにしてもよい。また、波形メモリ6
に記録する際、2個の波形情報を1個のワードの上位ビ
ットおよび下位ビットとして記録するようにしてもよ
い。 また、上記実施例では、8次補間の場合を説明した
が、補間次数の限定はない。また、音高に応じて補間次
数を変化させてもよい。また、波形情報の圧縮方法はDP
CM符号に限らず、例えば浮動小数点表示によるDPCM符号
化、ADPCM(適応差分符号化)による符号化等が可能で
あり、これらの圧縮技術を用いることにより、より広い
ダイナミックレンジが実現される。 また、上記実施例は、本発明をハードウェアによって
実現する場合を説明したが、勿論、ソフトウェア処理に
よって実現してもよい。 また、上記実施例ではリピート再生を行う場合につい
て説明したが、リピート再生を行わず、ワンショット再
生を行うようにしてもよい。 「発明の効果」 以上説明したように、この発明によれば、アドレス情
報発生手段が発生するアドレス情報によって、波形デー
タ発生手段が指示手段による楽音発生開始の指示時に所
定数の波形サンプルデータを発生する。そして、補間演
算手段が、波形データ発生手段から発生された波形サン
プルデータおよび一時記憶手段に記憶された波形サンプ
ルデータを用いてアドレス情報の小数部の値に対応した
補間演算を行う。したがって、楽音発生開始の指示時に
は、補間演算に用いられる波形サンプルデータが所定数
用意されるので、波形発生の指示に対する応答性の良い
波形発生装置を実現することができるという効果があ
る。
【図面の簡単な説明】
第1図はこの発明の一実施例による波形発生装置の構成
を示すブロック図、第2図は同実施例における波形メモ
リ6への波形情報の記録状態を示す図、第3図は同実施
例における位相発生部4の構成を示すブロック図、第4
図は同実施例におけるアドレス発生部5およびタイミン
グコントローラ9の構成を示すブロック図、第5図は同
実施例における各種タイミング信号の波形を示す波形
図、第6図は同実施例におけるDPCM復調部7および補間
演算部8の構成を示すブロック図、第7図〜第10図は同
実施例におけるアドレス発生部5の動作を示すタイムチ
ャート、第11図は同実施例の波形メモリ6における波形
情報の読出および該読出情報のDPCM復調部7への供給の
態様を説明するタイムチャート、第12図は同実施例にお
ける復号処理部704の動作を示すフローチャート、第13
図は同実施例における復号処理部704のアタックエンド
検出時およびリピートエンド検出時の動作を説明する
図、第14図は本発明を複音再生の可能な時分割音源に適
用する場合の発音チャネルの割り当て方法を説明する
図、第15図は従来の一般的なピッチ非同期型波形発生回
路によって行われる補間演算を説明する図である。 1……鍵情報発生部、2……周波数情報発生部、4……
位相情報発生部、5……アドレス発生部、6……波形メ
モリ、7……DPCM復調部、8……補間演算部、9……タ
イミングコントローラ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】楽音の発生開始および楽音の音高を指示す
    る指示手段と、 前記指示手段により指示された音高に対応した値を有
    し、整数部と小数部とからなるピッチ情報を発生するピ
    ッチ情報発生手段と、 一定時間間隔毎に、前記ピッチ情報の値に対応した変化
    量だけ順次変化する整数部と小数部とからなるアドレス
    情報を発生するアドレス情報発生手段と、 前記指示手段による楽音発生開始の指示時には、所定数
    の波形サンプルデータを発生し、その後は前記アドレス
    情報の整数部の変化量に対応した数の波形サンプルデー
    タを発生する波形データ発生手段と、 前記波形データ発生手段から発生された波形サンプルデ
    ータを一時記憶する一時記憶手段と、 前記波形データ発生手段から発生された波形サンプルデ
    ータおよび前記一時記憶手段に記憶された波形サンプル
    データを用いて前記アドレス情報の小数部の値に対応し
    た補間演算を行う補間演算手段と、 を具備し、前記補間演算手段の出力に基づき楽音波形信
    号を発生することを特徴とする波形発生装置。
JP2070261A 1990-03-20 1990-03-20 波形発生装置 Expired - Fee Related JPH0820872B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2070261A JPH0820872B2 (ja) 1990-03-20 1990-03-20 波形発生装置
US07/673,765 US5290965A (en) 1990-03-20 1991-03-20 Asynchronous waveform generating device for use in an electronic musical instrument

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2070261A JPH0820872B2 (ja) 1990-03-20 1990-03-20 波形発生装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP7145025A Division JP2728032B2 (ja) 1995-06-12 1995-06-12 楽音発生装置

Publications (2)

Publication Number Publication Date
JPH03269597A JPH03269597A (ja) 1991-12-02
JPH0820872B2 true JPH0820872B2 (ja) 1996-03-04

Family

ID=13426420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2070261A Expired - Fee Related JPH0820872B2 (ja) 1990-03-20 1990-03-20 波形発生装置

Country Status (2)

Country Link
US (1) US5290965A (ja)
JP (1) JPH0820872B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5416264A (en) * 1992-07-27 1995-05-16 Yamaha Corporation Waveform-forming device having memory storing non-compressed/compressed waveform samples
JP2762926B2 (ja) * 1994-05-10 1998-06-11 ヤマハ株式会社 楽音生成装置
TW267228B (en) * 1994-06-02 1996-01-01 Matsushita Electric Ind Co Ltd Data sample series access apparatus
JP3163984B2 (ja) * 1996-06-28 2001-05-08 ヤマハ株式会社 楽音発生装置
US7651169B2 (en) 2005-04-07 2010-01-26 French Components Corporation Strap retainer for shopping cart seatbelts
US20090260505A1 (en) * 2008-04-16 2009-10-22 Samsung Electronics Co., Ltd. Method for the efficient implemtionation of a wavetable oscillator
JP2012037561A (ja) * 2010-08-03 2012-02-23 Yamaha Corp 楽音生成装置
EP2416311B1 (en) * 2010-08-03 2014-07-16 Yamaha Corporation Tone generation apparatus
JP5732769B2 (ja) * 2010-08-03 2015-06-10 ヤマハ株式会社 楽音生成装置
JP5573465B2 (ja) * 2010-08-03 2014-08-20 ヤマハ株式会社 楽音生成装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5917838A (ja) * 1982-07-22 1984-01-30 Sony Corp モ−タの支持構造
JPS6190198A (ja) * 1984-10-09 1986-05-08 ヤマハ株式会社 楽音信号発生装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5917838B2 (ja) * 1977-11-01 1984-04-24 ヤマハ株式会社 電子楽器の波形発生装置
JPS59226391A (ja) * 1983-06-08 1984-12-19 ヤマハ株式会社 電子楽器
JPS6063593A (ja) * 1983-09-19 1985-04-11 ヤマハ株式会社 電子楽器における波形発生装置
JPH0795235B2 (ja) * 1983-10-27 1995-10-11 株式会社河合楽器製作所 電子楽器
JPH0782340B2 (ja) * 1985-12-17 1995-09-06 ヤマハ株式会社 楽音波形信号発生装置
US4916996A (en) * 1986-04-15 1990-04-17 Yamaha Corp. Musical tone generating apparatus with reduced data storage requirements
JPH079590B2 (ja) * 1986-10-16 1995-02-01 株式会社河合楽器製作所 電子楽器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5917838A (ja) * 1982-07-22 1984-01-30 Sony Corp モ−タの支持構造
JPS6190198A (ja) * 1984-10-09 1986-05-08 ヤマハ株式会社 楽音信号発生装置

Also Published As

Publication number Publication date
JPH03269597A (ja) 1991-12-02
US5290965A (en) 1994-03-01

Similar Documents

Publication Publication Date Title
JP3226011B2 (ja) 歌詞表示装置
JPH0772829B2 (ja) 電子楽器におけるパラメ−タ供給装置
JP2576647B2 (ja) 波形発生装置
JPH0820872B2 (ja) 波形発生装置
JPH0922287A (ja) 楽音波形生成方法
JP2728032B2 (ja) 楽音発生装置
JP2950461B2 (ja) 楽音発生装置
JPH07121181A (ja) 音声情報処理装置
US6207885B1 (en) System and method for rendition control
JP2776045B2 (ja) 楽音発生装置
JP2576616B2 (ja) 処理装置
JP2861007B2 (ja) 電子楽器
JP3543203B2 (ja) 電子楽器
JP2591160B2 (ja) 波形選択合成装置
JPH02135564A (ja) データ処理装置
JP2536525B2 (ja) 電子楽器のコ−ドシ−ケンサ
JP3651675B2 (ja) 電子楽器
JP3740717B2 (ja) 音源装置及び楽音生成方法
JP2950893B2 (ja) 楽音信号発生装置
JP3605049B2 (ja) 楽音の制御信号の生成装置及び制御方法
JPS5846036B2 (ja) 電子楽器
JP3044712B2 (ja) 電子楽器
JPH06250662A (ja) 波形データ生成方法及び波形データメモリ
JP2583377B2 (ja) 自動演奏装置
JP2002006865A (ja) 歌詞表示装置

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 14

LAPS Cancellation because of no payment of annual fees