JP2508167C - - Google Patents

Info

Publication number
JP2508167C
JP2508167C JP2508167C JP 2508167 C JP2508167 C JP 2508167C JP 2508167 C JP2508167 C JP 2508167C
Authority
JP
Japan
Prior art keywords
data
output
envelope
input
waveform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
Other languages
English (en)
Publication date

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、デジタル回路により発生される波形に対して各種の制御を施こして
波形データを作成する波形データ作成装置に関するものである。 〔従来の技術〕 デジタル技術の進歩にともない、デジタル回路で波形データを発生し、種々の
音色の楽音を発生できるようにした電子楽器が開発されている。このような電子
楽器のうち、楽音をサンプリングしたデータをメモリに記憶し、そのメモリのデ
ータを読み出して楽音を再生するPCM(Pulse Code Modulation)方式の音源を持
ったものがある。このPCM音源方式の電子楽器では、すべてのキータッチに応じ
た波形を記憶して再生すれば忠実な楽音の再現が可能であるが、実際には記憶容
量等にも限界があるため、1つの波形に対してキータッチに応じて波形の大きさ
を変化させるタッチレスポンス機能を持たせている。 〔発明が解決しようとする問題点〕 しかしながら、従来のPCM音源を有する電子楽器で、例えばピアノ音を合成す
る場合には、サンプリング音そのものを再生する方式であるため、鍵盤の強弱に
よる音色の変化を実現する際、フィルター等を使用した場合には、音質の変化の
ダイナミックレンジがどうしても限られてしまい自然な楽音が得られない問題が
あった。また、その場合には、ハード構成が複雑になるという問題点があった。 また、楽音に低周波数での波形の変化などを与える場合に、定常部分を実現す
る際にループ技術を用いたものでは、必ずしも自然な楽音が得られないという問
題もあった。 更に従来各時分割チャンネル毎の波形データの演算を行う場合1つの波形デー
タに対して1時分割チャンネル内で行うそれぞれの演算に対応する複数の演算器
を設けてその波形データに対する演算を行い、さらに各時分割チャンネルごとの
波形データの演算はそれらの演算器を各時分割チャンネルごとに時分割で使用す
ることにより行われている。しかしながら、例えば1つの波形データに施こす演
算内容毎に対応する演算器を設けると、その波形データにより多くの演算を行お
うとすると必要な演算器の数が増え回路規模が増大するという問題点がある。 本発明の課題は、キータッチに応じて音色などの変化を大きくすることができ
、音づくりの自由度が広がると共に、自然な楽音が得られる楽音発生装置を実現
可能な波形データ作成装置を提供することにある。 〔問題点を解決するための手段〕 本発明の手段は、複数の波形を任意のピッチで発生させる波形発生手段と、こ
の波形発生手段により発生される複数の波形のうち少なくとも2波形の混合比を
押鍵速度に応じて変化させて混合する混合処理を行う混合手段と、この混合手段
により混合された波形データに対してエンベロープデータを付加するエンベロー
プ付加処理を行うエンベロープ付加手段と、このエンベロープ付加手段によりエ
ンベロープデータが付加された波形データの振幅をアフタータッチ状態に応じて
制御する振幅制御処理を行う振幅制御手段とを有し、前記混合処理,エンベロー
プ付加処理および振幅制御処理を、共通の演算器を時分割に用いて行うものであ
る。 〔作用〕 本発明の作用は次の通りである。波形発生手段より発生する複数の波形のうち
少なくとも2波形を、押鍵速度に応じて変化する混合比で混合する混合手段にお
ける混合処理と、混合された波形データエンベロープ付加するエンベロープ
付加手段におけるエンベロープ付加処理と、エンベロープが付加された波形デー
タの振幅アフタータッチ状態に応じて制御する振幅制御手段における振幅制御
処理とが、共通の演算器を時分割に用いることによって行われる。 〔実施例〕 以下、本発明の実施例について、図面を参照しながら詳細に説明する。 第2図は、本発明の実施例に係る電子楽器の全体構成を示すブロック図である
。同図において、電子楽器は、マイクロプロセッサ等よりなる中央処理部(CPU
)1に、鍵盤2、タッチデータ作成部3、所定のプログラム等を格納するROM(R
ead Only Memory)4、一時的データ等を記憶するRAM(Random Access Memory)
5、楽音作成部6等がバスラインを介して接続して構成されいる。タッチデータ
作成部3は、鍵盤2の押鍵速度等のキータッチ状態を検出し、該キータッチ状態
に応じたタッチデータを作成する部分である。楽音作成部6は、後に詳細に説明
するように、鍵盤2からのキーコード及びタッチデータ作成部3からのタッチデ
ータに応じて楽音データを作成する部分である。楽音作成部6で作成された楽音
データはD/A変換回路、増幅回路、スピーカ等から構成されるサウンドシステム
7によりデジタルデータがアナログの楽音信号に変換され、さらに増幅して出力
される。 第1図は、第2図の楽音作成部6の基本的な機能ブロック図である。同図にお
いて、楽音作成部6は、CPU1の制御のもとに4つの異なる波形を発生する波形発
生部8を有する。この波形発生部8は、サンプリングした楽音等をメモリに記憶
し任意のピッチで読み出し4つの異なる波形を出力するものである。4つの異な
る波形は、例えば第4図に示す如く、立ち上がりが急な波形であるアタック部に
対応し、タッチが弱い場合(ATp)と強い場合(ATf)及び第5図に示す如く、平
坦な波形である定常部に対応しタッチが弱い場合(SUp)と強い場合(SUf)等で
ある。波形発生部8から出力する4つの波形は、アタック部及び定常部ごとに2 波形が組合わされ、それぞれ第1及び第2の混合器9、10に与えられる。第1及
び第2の混合器9、10に波形発生部8から与えられる2波形をそれぞれキータッ
チ状態に対応して与えられる混合比(MR1及びMR2)で混合する。この混合比の値
は、例えば第6図に示す如く、第1の混合器9が時間とともに直線的に減少し、
第2の混合器10が時間ととともに指数関数的に減少するように与えられる。第1
及び第2の混合器9、10から出力される波形データは、それぞれ乗算器11、12で
エンベロープ発生器13、14から与えられるエンベロープが乗算される。さらに、
上記乗算器11、12でエンベロープデータが乗算された波形データは、それぞれ乗
算器15、16でそれぞれアフタータッチ等のキータッチ状態に対して与えられるサ
ブトーンボリュームのデータ(SV1及びSV2)が乗算される。上記乗算器15、16か
ら出力される波形データは、加算器17で加算し1音に合成して出力される。 第3図は、第2図の組合された2波形の処理部分に対応するさらに詳細な機能
ブロック図である。同図において、組合された2波形の入力信号データIN1、IN2
は、時分割的に入力されるチャンネルデータである。一方の入力信号データIN1
の信号線は、連動して動作するバイパススイッチBWを構成するデータセレクタ18
、19の固定接点側に接続され、他の固定設定側は「0」が入力するように接続さ
れ、可動接点側は、それぞれ混合器9(又は10)及び加算器20の入力側に接続さ
れている。 すなわち、バイパススイッチBWを切換えることにより入力信号データIN1、IN2
を混合するか、しないかの選択が行われる。混合器9(又は10)は、キータッチ
状態に対応した混合比(MR)で混合する。そして、混合器9(又は10)の出力デ
ータは、乗算器11(又は12)でエンベロープ発生器13(又は14)から与えられる
エンベロープデータが乗算され、さらに加算器20に与えられる。エンベロープ発
生器13(又は14)は、第7図に示す如く、8ステップのアンプレイト(AR)及び
各ステップの目標値を示すアンプトップバリュウ(AS)により決定されるエンベ
ロープデータが出力される。加算器20では、バイパススイッチBWが混合しないと
きには、乗算器11(又は12)の出力と入力信号データIN1とを加算し、混合する
ときには、乗算器11(又は12)の出力をそのまま出力する。加算器20の出力は、
乗算器15(又は16)でサブトーンボリュームのデータ(SV)が乗算され、それぞ れ2つの累算器21、22に与えられる。2つの累算器21、22は、例えば32時分割チ
ャンネルのデータを時分割変換するもので、一方はパラレル出力、他方はシリア
ル出力を得るものである。パラレル用の累算器21は、1、2、4、8、16、32に
変換可能であり、時分割変換後のデータは、乗算器23でトーンボリューム(VL)
のデータが乗算されパラレル出力が得られる。シリアル用の累算器22は、1、2
、4、8に時分割変換が可能であり、シリアル出力が得られる。シリアル出力側
には、スイッチSWを構成するデータセレクタ24を切換えることにより、トーンボ
リューム(VL)データの乗算されたパラレル出力と同じデータを出力することが
可能になっている。 上記構成の電子楽器の動作を説明する。まず、鍵盤2のキーが押鍵されると、
CPU1はROM4に格納されているプログラムに従って、キーコード及びタッチデータ
作成部3でキータッチ状態が検出され、その状態に応じたタッチデータに基づい
て、楽音作成部6で楽音データが作成される。 楽音作成部6では、波形発生部8から4つの異なる波形が出力されて、2つの
波形が組合わされる。アタック部に対応してタッチの強弱に応じて出力される2
つの波形(ATp、ATf)は、混合器9でタッチデータに応じたMR1の比率で混合さ
れる。また、定常部に対応してタッチの強弱に応じて出力される2つの波形(SU
p、SUf)は、混合器10でタッチデータに応じたMR2の比率で混合される。そして
、混合器9、10の出力データは、それぞれ乗算器11、12でエンベロープ発生器13
、14から出力されるエンベロープが乗算され、さらに、それぞれ乗算器15、16で
アフタータッチ等のキータッチ状態に応じて与えられるサブトーンボリューム(
SV1、SV2)のデータが乗算され、その乗算値が加算器17で加算し1音として合成
される。 波形発生部8から出力される2波形を混合するか、しないかはバイパススイッ
チBWにより選択することができ、また、乗算器15(又は16)によりサブトーンボ
リューム(SV)のデータが乗算された波形データは、累算器21、23によりパラレ
ル出力、シリアル出力に変換して出力することができ、パラレル出力のときには
、乗算器23によりトーンボリューム(VL)データを乗算することができる。 従って、波形発生部8から出力される2波形の混合比率をタッチデータに応じ て変化させ、かつそれぞれ独自にエンベロープを乗算した波形データに、タッチ
データに応じて変化するサブトーンボリュームのデータを乗算した後、合成する
ようにしているため、音づくりの自由度が広がり音質の変化を大きくすることが
できる。また、フィルター等を使用しないため、ハード構成を簡単にすることが
できる。 さらに楽音波形周波数を低い周波数で変化させて、出力される楽音に低周波の
うなり与える場合にも、周波数差を持った例えば2つの波形の混合比を可変する
ことにより、基本となる周波数に自由に低周波の変化を付加することができ、よ
り幅広く楽音に低周波の振動(うなり)を与えることができる。 なお、上記実施例において、波形発生部8は、4つの異なる波形を発生するよ
うにしているが、4つに限らず複数の波形を発生するものであればよい。また定
常部の2波形をタッチデータによらず一定の割合で混合させても差しつかえない
。また、波形発生部8の波形は、任意のピッチで波形の再生を行うものであれば
よく、その発生波形及び組合される2波形は任意にでき、実施例に限定されない
。さらに、エンベロープ発生器13、14は、それぞれ独自のエンベロープデータを
発生するものであればよい。 次に第8図は本発明の第2の実施例に係る電子楽器の楽音作成部の機能ブロッ
ク図である。電子楽器の全体構成等は第1の実施例と同一である。 今、入力データIN1、IN2として第4図に示すようなアタック部のデータATf,AT
pなどが入力するものとする。2つの入力データIN1、IN2はまず減算器31で減算
され、その減算結果(DC)は乗算器32によりMDRAM33に記憶されているキータッ
チに応じて決まる混合比MR(Mix Rate)と乗算され、さらにその乗算結果(DT)
と入力データIN1(CO)とが加算器34により加算されデータ(SR)として出力さ
れる。すなわちこれらの減算器31、乗算器32および加算器34により、2つの入力
データIN1、IN2とが混合比(MR)で混合され、1つのアタック部データ(SR)と
して出力される。 またSTRAM35、RSRAM36にはインタフェース回路(IF)37を介してCPU1により、
エンベロープのステップを示すデータとそのステップのエンベロープデータの傾
きを示すアンプレイト(AR)とそのレベルを示すアンプストップバリュウ(AS) とが書込まれている。そしてそれらのデータ(AS,AR)は変換器38、39によりデ
ータ長が変換されそれぞれアンプレイト(AQ)、アンプストップバリュウ(AT)
として比較器40、41に出力される。またエンベロープデータの現在値を記憶して
いるACRAM42の出力は比較器40と加減算器43と乗算器44に入力する。そして、比
較器40により現在のエンベロープデータ(AC)とアンプストップバリュウ(AT)
とが比較され加算、減算のいずれかが指定されると、加減算器43は現在のエンベ
ロープデータ(AC)からアンプレイト(AQ)を加算あるいは減算し、その結果(
AN)を比較器41とスイッチSW1およびSW2を介してACRAM42に出力する。 ここでSW1およびSW2の可動接点は通常第8図に示すように固定設定S1,S2側に
接続しており、加減算器43による演算結果(AN)がアンプストップバリュウ(AT
)に達すると、比較器41によりスイッチSW1の可動接点は他の固定接点側に切り
換えられる。その結果変換器38から出力されるアンプストップバリュウ(AT)が
次のエンベロープデータとしてACRAM42に書込まれる。 すなわち現在のエンベロープデータ(AC)にアンプレイト(AQ)を加算あるい
は減算した結果が、そのステップの目標値であるアンプストップバリュウ(AT)
に達していなければ、その演算結果(AN)がACRAM42に書込まれ、演算結果がア
ンプストップバリュウ(AT)に達していればそのアンプストップバリュウ(AT)
データが次のエンベロープデータ(AC)としてACRAM42に書込まれる。 またスイッチSW2はCPU1が直接ACRAM42にエンベロープデータを書込む際に切り
換られるスイッチである。 このようにして求めたエンベロープデータ(AC)が乗算器44により、上述のデ
ータ(SR)に乗算される。また図示していないが2つの入力データを混合するか
、しないかを選択することが可能であり、混合が行われた場合には加算器45にお
ける入力データIN1(BY)との加算は行われず入力したデータ(SE)がそのまま
出力される。 そしてその出力(SX)は乗算器46によりサブトーンボリュウム(SV)データが
乗算され、その出力(SB)がシリアル出力用の累算器47とパラレル出力用累算器
48に出力される。パラレル出力用累算器48から出力される所定のチャンネル数分
累算されたデータ(SF)はさらに乗算器49により音量を可変するトーンボリュウ ムデータ(VL)が乗算され、パラレル出力用データ(PI)として出力される。ま
たこの出力はスイッチSW3を切り換えることにより、シリアル/パラレル変換器5
0にも出力できる。 ところで以上のような回路を実現しようとする場合、上述した加算器、乗算器
による演算は必ずしも同時に行われる必要はなく、同一の加算器、減算器および
乗算器を異なった時間的タイミングで使用することにより、上記回路の機能を実
現することができる。 第9図は上記回路の演算を2つの加算器53、61と1つの乗算器54をそれぞれ異
なったタイミングで使用した場合の演算タイミングを示す図である。同図におい
て同一の番号を付したものは、同じ演算器が異なったタイミングに使用されてい
ることを示す。さらに2つの加減算器53、61はそのとき行う演算の内容に応じ加
算器あるいは減算器として示されている。 まずフリップフロップ51と52にラッチされている入力データIN2とIN1とが第9
図(1)に示すタイミングDにおいて加減算器53により減算される。そしてその
演算結果は乗算器54により混合比(MR)が乗算され、また同時にフリップフロッ
プ55にラッチされているそのときのエンベロープデータ(AC)とフリップフロッ
プ56にラッチされているアンプストップバリュウデータ(AS)との減算が加減算
器61により行われる(第9図(2)に示すタイミングAの期間)。 次にフリップフロップ52にラッチされた入力データIN1がフリップフロップ57
にラッチされる。また、フリップフロップ58にラッチされた混合比(MR)が乗算
されたデータ(DT)と、入力データIN1とが加算され、2つの入力データ(IN1、
IN2)がキータッチに応じて混合されて1つの入力データ(SR)として出力され
る。同時にフリップフロップ59にラッチされた演算結果に従って、加減算器61は
そのときのエンベロープ(AC)と、フリップフロップ60にラッチされているアン
プレイト(AR=AQ)との加算あるいは減算を行う(第9図(3)に示すタイミン
グBの期間)。 そして2つの入力データが混合されたデータ(SR)にそのときのエンベロープ
データ(AC)が乗算され、その乗算結果(SE)は次のタイミングDにおいてフリ
ップフロップ65にラッチされる。また同時にフリップフロップ62にラッチされた エンベロープデータの演算結果(AN)とアンプストップバリュウデータ(AT)と
が加減算器53により減算が行われ、両者のデータの比較が行われる。その比較の
結果によりゲート63、64の一方が開き、演算結果(AN)あるいはアンプストップ
バリュウデータ(AT)のいずれかが次のエンベロープデータ(AC)として出力さ
れる(第9図(4)に示すタイミングCの期間)。 また2つの入力データ(IN1、IN2)の混合が行われない場合にはフリップフロ
ップ57にラッチされている入力データIN1が加算され乗算器54に出力される(第
9図(6)に示すタイミングAの期間)。 一方、2つの入力データが混合されたデータ(SX)は乗算器54によりサブトー
ンボリュウムデータ(SV)が乗算され、パラレル出力あるいはシリアル出力用の
データ(SB)として出力されフリップフロップ66にラッチされる(第9図(7)
に示すタイミングBの期間)。 このようにして演算されたデータ(SB)とフリップフロップ67にラッチされて
いるそれまでのパラレル出力用累算データ(PS)とが加減算器61により加算され
、その結果が新たな累算データ(PS)として、フリップフロップ67にラッチされ
る(第9図(8)に示すタイミングCの期間)。 同様に次のタイミングDにおいて、そのデータ(SB)はフリップフロップ68に
ラッチされているそれまでのシリアル出力用累算データ(SS)に加減算器61によ
り加算され、その結果が再びフリップフロップ68にラッチされる。 また所定のチャンネル数分のデータ(SB)の累算が終了すると、そのときのシ
リアル出力用累算データ(SS)はシフタ69に出力される。同時にシフタ69でビッ
ト数が変換されたパラレル出力用の累算結果(SF)は乗算器54によりトーンボリ
ュウムデータ(VL)が乗算され、その結果(PI)はゲート70に出力されるととも
に、フリップフロップ72に出力される(第9図(9)に示すタイミングDの期間
)。 またゲート70、71により上述のパラレル出力用の累算データ(PI)と、シリア
ル出力用の累算データの一方が選択され、さらにパラレル/シリアル変換器73に
よりシリアルデータ(SO)に変換されて出力される。 以上のようにある時分割チャンネルのデータに対する演算は必ずしもすべての 演算を同時に行う必要はなく、それぞれの演算器の演算スピードと、最終的な演
算結果を出力するまでに許容される時間などを考慮し、同一の演算器を異なった
タイミングに切り換えて使用することにより必要とする演算機能を実現すること
ができる。 具体的回路の構成 第10図は第9図の演算タイミングブロック図に基づいて前述した機能ブロック
図の回路(第8図)を実現したときの具体的な回路の構成を示す図である。同図
において第9図に示す演算器(加減算器、乗算器)、フリップフロップなどに対
応する部分については同一の番号を与えその説明は簡単に行う。 フリップフロップ51は図示しないバスラインを介して入力する例えば64時分割
チャンネルの入力データWDをタイミング信号P4の立上りに同期してラッチし、そ
のラッチしたデータを入力テータ(C1)として出力する。フリップフロップデー
タ(C1)をタイミング信号P5の立上りに同期してラッチし、そのラッチしたデー
タを入力データ(C0)として出力する。さらにフリップフロップ57はフリップフ
ロップ52の出力をタイミング信号CKBの立上りに同期してラッチし入力データ(B
Y)として出力する。 RSRAM33は第7図に示すエンベロープデータの傾きを示すアンプレイト(AR)
と各ステップの目標値を示すアンプストップバリュウ(AS)とを記憶するRAMで
あり、16ビットデータの内の上位8ビットにアンプレイト(AR)、下位8ビット
にアンプストップバリュウ(AS)が記憶されている。そのRSRAM33に記憶されて
いるデータはフリップフロップ56にラッチされ、さらに上位8ビットの内の最上
位ビットを除いた7ビットのデータが変換器87に出力され、下位8ビットの内の
8ビット目を除いた7ビットのデータが変換器88に出力される。変換器87、88は
それら7ビットのアンプストップバリュウ(AS)、アンプレイト(AR)を後述す
る演算の為に、それぞれ16ビットのデータ(AT)、24ビットのデータ(AQ)に変
換して出力する。 またSTRAM50は上述のRSRAM3に記憶されているエンベロープデータのステップ
を記憶するRAMであり、そのステップを示すデータはフリップフロップ89にラッ
チされる。 MDRAM35はキータッチに応じて定まる各時分割チャンネルの入力データWDのの
混合比(MR)、キーのアフタタッチに応じて定まるサブトーンボリュウムデータ
(SV)および音量などを可変させるためのトーンボリュウムデータ(VL)を記憶
する。そしてそれらのデータが所定のタイミングでフリップフロップ90にラッチ
されるとともに、後述する選択器84に出力される。 さらにACRAM41は現在のエンベロープデータ(AC)を記憶するRAMであり、制御
信号A4(後述する)に従って選択器91から出力されるデータが書込まれ、その書
込まれたデータはフリップフロップ92にラッチされる。またその選択器91を切り
換えることにより、CPU1か直接ACRAM41にエンベロープデータを書込むこともで
きる。 選択器81は4つの入力端子に入力する16ビットデータの1つを選択するセレク
タであり、フリップフロップ57にラッチされたデータ(BY)がa1端子に入力し、
フリップフロップ52にラッチされたデータ(C0)がb1端子に、フリップフロップ
51にラッチされたデータ(C1)がd1端子に入力し、さらに後述するエンベロープ
データの演算結果である24ビットのデータ(AN)の内の上位16ビットがc1端子に
入力する。選択器81は後述する各タイミングA、B、C、Dに同期してそれらの
データの1つを選択し下位1ビットに「0」を付け加え、17ビットのデータA1と
して加算器53の一方の入力端子に出力する。以下同様に他の選択器82〜86もa〜
d端子に入力するデータを各タイミングA〜Dに同期したタイミングで出力する
。 また選択器82も16ビットデータの4入力セレクタであり、後述するフリップフ
ロップ94にラッチされたデータ(SE)がa2端子に入力し、フリップフロップ93に
ラッチされたデータ(DT)がb2端子に入力し、変換器87から16ビットのアンプス
トップバリュウ(AT)がc2端子に入力し、フリップフロップ52にラッチされた入
力データ(C0)がd2端子に入力する。選択器82はそれらのデータの1つを選択し
て下位1ビットに「0」を付け加え、17ビットデータA2として加減算器53の他方
の入力端子に出力する。 加減算器53はCPU1からの制御信号に従って入力する2つのデータA1、A2の加算
あるいは減算を行い、その演算結果に従って制御信号A4を後述する選択器91に出
力し、また他の演算結果の内の上位16ビットを演算データ(DC)、(SR)、(SX
) としてそれぞれ選択器83に出力する。 選択器83、84も16ビットデータの4入力セレクタであり、選択器83には加減算
器53からの演算データ(SX)、(SR)、(DC)がそれぞれa3端子、b3端子、d3端
子に入力し、さらに後述するシフタ69からシリアル出力用データの累算結果(SF
)がc3端子に入力する。選択器83はそれらのデータの1つを選択しデータM1とし
て乗算器54に出力する。また選択器84には、MDRAM35に記憶されているサブトー
ンボリュウムデータ(SV)がa4端子に、トーンボリュウムデータ(VL)がc4端子
に、混合比(MR)がd4端子に入力し、さらにフリップフロップ92にラッチされて
いるそのときのエンベロープデータ(AC)の24ビットの内の上位16ビットのデー
タがb3端子に入力する。選択器84はそれらのデータの1つを選択しデータM2とし
て乗算器54に出力する。 乗算器54は16ビット構成の乗算器でありそれらのデータの乗算を所定のタイミ
ングで実行し、それらの演算結果を16ビットのフリップフロップ93、94、95にそ
れぞれ出力し、また選択器74とフリップフロップ72に出力する。フリップフロッ
プ93は乗算器54から出力される演算データ(DC)と混合比(MR)との乗算結果(
DT)をラッチ、フリップフロップ94は演算データ(SR)とエンベロープデータ(
AC)との乗算結果(SE)をラッチし、さらにフリップフロップ95は演算データ(
SX)とサブトーンボリュウムデータ(SV)との乗算結果(SB)をラッチする。 選択器85、86は24ビットの4入力データセレクタであり、選択器85には変換器
87から出力されるアンプストップバリュウ(AT)がa5端子に入力し、変換器68か
ら出力されるアンプレイト(AQ)がb5端子に入力し、フリップフロップ95から出
力されるデータ(SB)がそれぞれc5,d5端子に入力する。選択器85はそれらのデ
ータの内の1つを選択しデータB1として加減算器61の一方の入力端子に出力する
。 また選択器86にはフリップフロップ92から出力されるそのときのエンベロープ
データ(AC)がa6,b6端子に入力し、さらにパラレル出力用累算データをラッチ
する21ビットのフリップフロップ97の出力がc6端子に入力し、シリアル出力用累
算データをラッチする21ビットのフリップフロップ98の出力がd6端子に入力する
。選択器86はそれらのデータの1つを選択しゲート99に出力する。そのゲート99
は所定の時分割チャンネル数分のデータ(SB)の累算を行ったときに累算動作を
リ セットするためのゲートであり、そのゲート99から出力されるデータB2は加減算
器61の他方の入力端子に入力する。 加減算器61はそれら2つの入力データB1、B2をCPU1からの制御信号に従ってそ
れぞれのタイミングで加算あるいは減算を行い、またエンベロープデータ(AC)
の演算結果が目標値ATに達したとき制御信号B4を出力する。そしてその減算結果
を24ビットのフリップフロップ96と21ビットのフリップフロップ97、98に出力す
る。 すなわち加減算器61は選択器85、86からタイミングA〜Dに同期して出力され
るデータをそれぞれのタイミングで演算することにより、4個の加算器あるいは
減算器として働く。 そして所定の時分割チャンネル数分の累算が終了すると、その累算結果の内の
21ビットのデータがシフタ69に出力される。その21ビットのデータはシフタ69に
おいて上位16ビットのデータが選択され、パラレル出力用累算結果(SF)は選択
器83に出力され、シリアル出力用累算結果は選択器74に出力される。また選択器
74の他方の出力端子には、乗算器54から上述のパラレル出力用累算結果にトーン
ボリュウムデータ(VL)を乗算して求めたデータ(PI)が入力しており、CPU1か
らの制御信号に従っていずれかのデータを選択しパラレル/シリアル変換器73に
出力する。パラレル/シリアル変換器73はそのデータをシリアルデータ(SO)に
変換して出力する。また乗算器54から出力されるパラレル出力用の累算結果(PI
)はフリップフロップ72にラッチされ、パラレル出力データ(PO)として出力さ
れる。 具体的回路の動作 次に以上のような構成の回路の動作を第10図の回路図および第11図のタイミン
グチャートを参照しながら説明する。 本実施例においては、各サンプリング周期毎に64時分割チャンネル分の入力デ
ータ(WD)の内の例えば2つの入力データ(0−A、0−B)、(1−A、1−
B)…をキータッチに応じて定まる混合比(MR)で混合し、それら混合したデー
タに独立にエンベロープデータを付加している。さらにそれらの演算を1つの乗
算器54と2つの加減算器53、61を異なった時間的タイミングで切り換えて使用す ることにより全ての演算を実現している。 今、入力データWDとして第4図に示すようなアタック部のデータATf,ATpなど
が入力データ(WD)として入力しているものとする。まずフリップフロップ51、
52、57から出力される入力データ(C1)、(C0)、(BY)の内容およびタイミン の立上りつまりタイミング信号P4の立下りに同期してフリップフロップ51にラッ
チされ、そのラッチされたデータ(C1)は第11図(11)に示すタイミングで出力
される。またその出力データ(C1)はタイミング信号P5の立上りに同期してフリ
ップフロップ52にラッチされ、奇数チャンネルの入力データ(0−A)、(1−
A)、(2−A)…がデータ(C0)として第11図(12)に示すタイミングで出力
される。さらにその出力データ(C0)はタイミング信号P5と同じ周期で異なった
タイミングで立上る信号CKBの立上りに同期してフリップフロップ57にラッチさ
れ、データ(BY)として第11図(13)に示すタイミングで出力される。またこの
他にCPU1からはRSRAM33、DMRAM35などからデータを出力するとき、そのときの時
分割チャンネルを示すタイミング信号Q=n、T=n、S=n、H=nがそれぞ
れ第11図(14)に示すタイミングで出力される。 第11図に示すタイミング信号P5の1周期が32時分割モードの1時分割チャンネ
ルの期間に対応し、通常そのタイミング信号P5の1周期を基本の周期としている
。以下、そのタイミング信号P5の1周期を4分割したタイミングA、B、C、D
を基にして上記回路の動作を説明する。 今、CPU1によりSTRAM50、RSRAM33、MDRAM35にはエンベロープのステップに対
応するデータおよび押鍵されたキーのキータッチに応じた混合比(MR)などのデ
ータが書込まれているものとする。 まず選択器81、82かそれぞれd1,d2端子に入力するデータ(C0)、(C1)が出
力され、加減算器53はそれらのデータ(C0)、(C1)の減算を行う(第11図(1
)に示す期間の演算)。その減算結果(DC)は次のタイミングAに同期して選択
器83から出力される。乗算器51は選択器84から出力される混合比(MR)とその減
算結果(DC)を乗算し、乗算結果(DT)をフリップフロップ93に出力する。同時
に加減算器61は選択器85から出力される16ビットに変換されたアンプストップバ
リ ュウ(AT)から選択器86から出力されるそのときのエンベロープデータ(AC)を
減算し、その減算結果に従って制御信号B4を自己にフィードバックするとともに
CPU1などに出力する(第11図(2)に示す期間の演算)。すなわちそのときのエ
ンベロープデータ(AC)とそのステップのエンベロープデータの目標値であるア
ンプストップバリュウ(AT)とを比較し、そのステップのエンベロープデータの
傾きが正かあるいは負かを判断し、次の演算においてアンプレイト(AR)を加算
するかあるいは減算するかを決める制御信号B4を出力している。さらにそのとき
エンベロープデータ(AC)がアンプストップバリュウ(AT)に達しているときに
は、制御信号B4によりCPU1に知らせ、CPU1から次のステップのエンベロープデー
タが出力されるようにする。 次に加減算器53は、上述のデータ(DT)に入力データ(C0)を加算し、その加
算結果(SR)を選択器83に出力する(第11図(3)に示す期間の演算)。 そして次のタイミングCにおいて 、加減算器53はフリップフロップ96から出
力されるデータ(AN)からアンプストップバリュウ(AT)を減算し、その減算結
果により制御信号A4を選択器91に出力する。制御信号A4は演算して求めたデータ
(AN)がアンプストッパバリュウ(AT)に達したか否かを示す信号である。選択
器91はその制御信号A4に従って、演算結果(AN)がアンプストップバリュウ(AT
)に達していなければそのデータ(AN)を次のエンベロープデータ(AC)として
ACRAM41に出力し、アンプストップバリュウ(AT)に達していればその値ATを次
のエンベロープ(AC)として出力する。その結果、ACRAM41にはそのステップの
目標値(AT)を超えないエンベロープデータが常に書込まれる。 また同時に乗算器54は選択器83から出力される2つの入力データを混合したデ
ータ(SR)と選択器84から出力されるエンベロープデータ(AC)とを乗算し、キ
ータッチに応じて混合したデータにエンベロープデータ(AC)を付加したデータ
(SE)をフリップフロップ94に出力する(第11図(4)に示す期間の演算)。 また2つの入力データの混合を行わないモードがユーザにより選択されている
場合には、例えば1つの入力データ(0−A)にエンベロープデータ(AC)を付
加したものがデータ(SE)として出力されるので、加減算器53はそのデータ(SE
)にデータ(BY)として出力される別の入力データ(0−B)を加算してデータ (SX)として出力する。このデータ(BY)の加算は、2つの入力データをキータ
ッチに応じて混合する場合には実行されない。またこのときタイミング信号(S
=0)の期間にMDRAM35からサブトーンボリュウムデータ(SV)が出力され、フ
リップフロップ90にラッチされる(第11図(6)に示す期間の演算)。 そして乗算器54は加減算器53から出力された2つの入力データを混合したデー
タ(SX)にフリップフロップ90にラッチされたサブトーンボリュウムデータ(SV
)を乗算し、その乗算結果(SB)をフリップフロップ95に出力する(第11図(7
)に示す期間の演算)。 また加減算器61はそのデータ(SB)とフリップフロップ97にラッチされている
それまでのパラレル出力用累算データ(PS)との加算を行い、その加算結果が再
びフリップフロップ97にラッチされる(第11図(8)に示す期間の演算)。 同様に、次のタイミングDにおいて、加減算器61はフリップフロップ98にラッ
チされているそれまでのシリアル出力用累算データ(SS)にそのデータ(SB)を
加算する。そして、その加算結果が再びフリップフロップ98にラッチされる(第
11図(9)に示す期間の演算)。 その後タイミング信号(H=0)が出力されているとき、MDRAM35からトーン
ボリュウムデータ(VL)が選択器84に出力される。 そして所定の時分割チャンネル数分の累算が終了すると、パラレル出力用の累
算結果(SF)には乗算器54により上記の音量を可変するトーンボリュウムデータ
(VL)が乗算される。そしてその乗算結果(PI)がフリップフロップ72にラッチ
され、パラレル出力用データ(P0)として出力される(第11図(10)に示す期間
の演算)。またこのとき、シリアル出力(S0)としてパラレル出力用の累算結果
と同じデータを出力するように指定されている場合には、選択器74によりそのパ
ラレルデータ(PI)が選択され、さらにそのデータ(PI)がパラレル/シリアル
変換器73によりシリアルデータに変換されてシリアル出力データ(S0)として出
力される。 以上のように本実施例は、複数の入力データをキータッチに応じて混合し、さ
らにエンベロープデータを付加する際などに、それらの入力データに施こす演算
を、使用する演算器(加減算器、乗算器など)の演算スピードその入力データの 演算を終了するまでに許容される演算時間とを考慮し、演算器を異なったタイミ
ングに切り換えて使用することにより要求される演算機能を実現するものである
。従って、入力データに対して行う演算を増やしても、その増加した演算分だけ
演算器を設ける必要がなく、演算器の使用個数を最適化して演算回路を構成する
ことができる。特にLSI等によりそれらの演算回路を実現する場合などに、その
回路規模を小さくすることができる。 尚、上記実施例においてはアタック部の2つのエンベロープデータを混合する
場合について説明しているが、混合するデータは上記の実施例に限らず、例えば
楽器などの波形データをキータッチに応じて混合しても良く、その場合、より自
由に楽音の波形を変化させることもできる。 〔発明の効果〕 本発明によれば、種々のキータッチに対応した楽音の波形データを生成するた
めに、楽音を複数の素音に分解した波形を混合する際、少なくとも2波形に対し
押鍵速度に応じて比率を変えて混合し、この混合された波形データに対してエ
ンベロープを付加した後、さらに楽音発生開始後の演奏形態を反映させるために
、波形データの振幅をアフタータッチ状態に応じて制御するようにしているので
、キータッチに応じて音色や音量などの変化を楽音発生直後ばかりでなく、その
後の経時的変化まで制御できるなど、発生楽音の変化態様の幅を大きくすること
ができ、音づくりの自由度が広がると共に、自然な楽音が得られる楽音発生装置
を実現することができる。
【図面の簡単な説明】 第1図は本発明の第1の実施例に係る電子楽器の楽音作成部の機能ブロック図、 第2図は本発明の実施例に係る電子楽器の全体構成を示すブロック図、 第3図は第2図の2波形の処理部分に対応するさらに詳細な機能ブロック図、 第4図は第1図の波形発生部より発生するアタック部に対応する波形図、 第5図は第1図の波形発生部より発生する定常部に対応する波形図、 第6図は第1図の混合器の混合比を示す図、 第7図は第3図のエンベロープ発生器より発生するエンベロープを示す図、 第8図は第2の実施例の楽音作成部の機能ブロック図、 第9図は演算タイミングを示す図、 第10図は第9図の演算タイミングに基づいた具体的回路図、 第11図はその回路の動作を説明するタイミングチャートである。 1…中央処理部(CPU)、2…鍵盤、3…タッチデータ作成部、6…楽音作成部
、8…波形発生部、9、10…混合器、11、12、15、16、23、54…乗算器、13、14
…エンベロープ発生器、21、22…累算器、33…RSRAM、35…MDRAM、41…ACRAM、5
3、61…加減算器、74、81〜86…選択器。

Claims (1)

  1. 【特許請求の範囲】 複数の波形を任意のピッチで発生させる波形発生手段と、 この波形発生手段により発生される複数の波形のうち少なくとも2波形の混合
    比を押鍵速度に応じて変化させて混合する混合処理を行う混合手段と、 この混合手段により混合された波形データに対してエンベロープデータを付加
    するエンベロープ付加処理を行うエンベロープ付加手段と、 このエンベロープ付加手段によりエンベロープデータが付加された波形データ
    の振幅をアフタータッチ状態に応じて制御する振幅制御処理を行う振幅制御手段
    を有し、 前記混合処理,エンベロープ付加処理および振幅制御処理を、共通の演算器を
    時分割に用いて行うことを特徴とする波形データ作成装置。

Family

ID=

Similar Documents

Publication Publication Date Title
KR0160493B1 (ko) 디지탈 오디오 신호 발생 장치 및 데이타 처리 장치
US4953437A (en) Method and apparatus for digitally generating musical notes
JP3404794B2 (ja) 波形発生装置
JPS60147793A (ja) 楽音信号発生装置
JP2508167B2 (ja) 波形デ―タ作成装置
JP2508167C (ja)
JP2915452B2 (ja) 楽音発生装置
JPH0486796A (ja) 楽音発生装置
US5886278A (en) Apparatus for reducing change in timbre at each point where tone ranges are switched
US5284080A (en) Tone generating apparatus utilizing preprogrammed fade-in and fade-out characteristics
JP2974356B2 (ja) 電子楽器のゆらぎ発生装置
JP3341777B2 (ja) 効果付与装置
JPS6113239B2 (ja)
JP2932841B2 (ja) 電子楽器
JPS6248239B2 (ja)
JP2861007B2 (ja) 電子楽器
JP2584054B2 (ja) パラメータ信号生成装置
JP2699886B2 (ja) 楽音制御情報発生装置
JP3044712B2 (ja) 電子楽器
JP3551992B2 (ja) 電子楽器
JP3152227B2 (ja) 楽音信号発生装置
JP3337450B2 (ja) 電子楽器
JP2991436B2 (ja) 楽音信号発生装置
JP3651675B2 (ja) 電子楽器
JP2678970B2 (ja) 楽音発生装置