JP3261713B2 - 楽音発生装置 - Google Patents

楽音発生装置

Info

Publication number
JP3261713B2
JP3261713B2 JP28217891A JP28217891A JP3261713B2 JP 3261713 B2 JP3261713 B2 JP 3261713B2 JP 28217891 A JP28217891 A JP 28217891A JP 28217891 A JP28217891 A JP 28217891A JP 3261713 B2 JP3261713 B2 JP 3261713B2
Authority
JP
Japan
Prior art keywords
pedal
tone
key
waveform
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP28217891A
Other languages
English (en)
Other versions
JPH0594186A (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 JP28217891A priority Critical patent/JP3261713B2/ja
Publication of JPH0594186A publication Critical patent/JPH0594186A/ja
Application granted granted Critical
Publication of JP3261713B2 publication Critical patent/JP3261713B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、全体の動作を管理制
御する中央処理装置(CPU)などからなる部分とその
CPUからの指示により楽音合成を行なう音源回路の部
分との2つに大きく機能分割された楽音発生装置に関
し、特にCPU側から音源回路側の情報を得ることがで
きるようにした楽音発生装置に関する。
【0002】
【従来の技術】近年の電子楽器では、全体の高機能化に
ともない、各回路部分をそれぞれ独立した集積回路など
で構成していることが多い。独立した各回路部分は、そ
れぞれ独立した機能を果たすようになっている。例え
ば、波形メモリ読出し方式の電子楽器では、全体の動作
を管理制御するCPU、このCPUに動作プログラムを
記憶するリードオンリーメモリ(ROM)、波形の合成
を行なう楽音合成用チップ、および楽音波形とそれに関
する情報を記憶する波形ROMなどから構成されてい
る。特に、大きく分けると、CPU側と楽音合成用チッ
プ側の2つに分けることができる。
【0003】このように独立した回路部分で構成されて
いるので、通常、CPUからは楽音合成用チップの内部
の情報(例えば波形ROM内の情報など)はアクセスで
きないようになっている。
【0004】
【発明が解決しようとする課題】ところが、電子楽器の
高機能化にともない多種多様な楽音合成が行なわれるよ
うになってきており、CPU側から音源チップ側へ指示
を与えて、音源チップが指示に従いすべて処理する方式
では音源チップの負担が大きくなることがある。例え
ば、ダンパーペダルの踏み込み量を多段階で検出し、そ
の踏み込み量に応じて楽音のリリースレートを決定する
ような処理では、CPU側で検出したダンパーペダルの
踏み込み量をCPUが音源チップ側へ与え、音源チップ
側でその踏み込み量に応じたリリースレートを算出する
方式が考えられる。しかし、このような方式では音源チ
ップ側の負担が大きく、場合によっては計算のための新
しいハードウエアを備えなければならなくなる。
【0005】一方、CPU側はこのような計算は迅速に
簡単に行なえるから、上記のリリースレートを算出する
計算はCPU側で行ない、計算結果のリリースレートを
音源チップ側に与える方式も考えられる。しかし、リリ
ースレートを計算するためには、CPU側で計算の元に
なるデータ(例えば、楽音が一番急激に減衰するリリー
スレート、および楽音がゆっくり減衰するリリースレー
ト)を知らなければならない。通常、このようなリリー
スレートを計算するために必要なデータは、音源チップ
側の波形ROM内に記憶されているが、これらのデータ
は音源チップの管轄下にありCPU側からアクセスする
ことはできない。
【0006】そこで、CPU側にも波形ROMと同じデ
ータを記憶したメモリを設けることも考えられるが、こ
のようなデータは音色やキーコードに応じて備えられる
ため、かなりの記憶容量が必要となる。このような大容
量の同じデータを2か所に備えるのは非常に不合理であ
る。
【0007】この発明は、上述の従来例における問題点
に鑑み、新しいハードウエアやメモリを増設することな
く、また音源チップなどの楽音合成を行なう側の負担を
増やすことなく、多種多様な楽音合成を行ない得る楽音
発生装置を提供することを目的とする。
【0008】
【課題を解決するための手段】上記の目的を達成するた
め、請求項1に係る発明は、楽音を合成するための複数
の発音チャンネルを有する楽音合成手段と、上記楽音合
成手段に接続され、楽音を合成するための種々の情報を
記憶した記憶手段と、上記記憶手段には非接続で、上記
楽音合成手段に接続され、上記楽音合成手段の複数の発
音チャンネルに対して発生すべき楽音を割り当てて楽音
発生の指示を行う制御手段とを備えた楽音発生装置であ
って、上記楽音合成手段は、上記記憶手段に記憶された
情報を上記各発音チャンネル毎に読出して、該読み出し
た各発音チャンネル毎の情報を上記制御手段に与えると
ともに、上記記憶手段から読み出した情報に関連する当
該楽音合成手段内部の情報を上記各発音チャンネル毎に
上記制御手段に与える出力手段を含むものであり、上記
制御手段は、上記出力手段により取得した各発音チャン
ネル毎の前記楽音合成手段内部の情報を用いて上記各発
音チャンネル毎に処理を行い、該各発音チャンネル毎の
処理結果を上記楽音合成手段の各発音チャンネルで実施
している楽音合成処理に反映させるものであることを特
徴とする。請求項2に係る発明は、請求項1において、
上記制御手段は、上記出力手段により取得した上記記憶
手段に記憶された情報を用いて処理を行い、該処理結果
を上記楽音合成手段で実行している楽音合成処理に反映
させるとともに、該処理結果が反映された楽音合成処理
に関する上記楽音合成手段内部の情報を用いて処理を行
うものであることを特徴とする。
【0009】
【作用】楽音合成手段の管轄下にある情報としては例え
ば楽音合成手段がアクセスできる記憶手段に記憶された
楽音を合成するための種々の情報などがある。このよう
な情報は、読出し手段により読出して制御手段に与えら
れる。制御手段は、与えられた情報を元に種々の演算を
行ない、その結果を楽音合成手段に与えて楽音合成を指
示する。したがって、演算は制御手段で行なわれるの
で、楽音合成手段には負担がかからない。制御手段で演
算した結果で楽音合成を行なうので、多種多様な楽音合
成を行ない得る。
【0010】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
【0011】図1は、この発明の一実施例に係る電子楽
器のブロック構成を示す。この実施例の電子楽器は、複
数の鍵盤キーを有する鍵盤1、その鍵盤1からの出力
(キーオン信号、キーオフ信号、キーコードなど)をバ
スライン14に対して受渡しするための鍵盤インターフ
ェース2、この電子楽器の全体の動作を制御する中央処
理装置(CPU)3、リードオンリメモリ(ROM)
4、およびランダムアクセスメモリ(RAM)5を備え
ている。ROM4は、CPU3が実行するプログラムお
よび各種のテーブルや定数などを記憶する。RAM5に
は、各種のワークレジスタやフラグなどが割当てられて
いる。
【0012】また、この電子楽器は、操作子6およびこ
の操作子6からの出力をバスライン14に対して受渡し
するための操作子インターフェース7を備えている。こ
の操作子6は、具体的には後述するような3つのペダル
である。さらに、この電子楽器は、各種の機能が割当て
られている複数のスイッチを含む操作パネル8、この操
作パネル8のパネルインターフェース9、波形データを
記憶している波形記憶回路10、CPU3の指示に基づ
き波形記憶回路10から波形データを読出して所望の楽
音信号を合成する楽音合成回路11、および楽音合成回
路11からの楽音信号に基づいて楽音をスピーカ13か
ら発生させるサウンドシステム12を備えている。
【0013】操作パネル8は後述するようにペダルモー
ド(各ペダルの機能を指定するモード、詳しくは後述す
る)を切換えるためのペダルスイッチを含む。音源回路
すなわち波形記憶回路10および楽音合成回路11とし
ては、どのような方式の音源回路を用いてもよいが、こ
の実施例では波形メモリ読出し方式を適用している。1
4は双方向のバスラインである。
【0014】図2は、この実施例の電子楽器の外観図で
ある。この図において、図1と同一の付番は同一または
共通の部分を示す。この図では簡略に描いてあるが、鍵
盤1の鍵の数は88鍵ある。操作パネル8には種々のス
イッチが設けられている。8−1はペダルスイッチを示
す。操作子6は、3つのペダル6−1,6−2,6−3
からなる。
【0015】次に、各ペダルの機能を詳細に説明する
が、その前に楽音のエンベロープ波形につき説明する。
【0016】図3は、この実施例の電子楽器の音源回路
で発生される楽音のエンベロープ波形の一例を示す。こ
のエンベロープ波形は自然楽器のピアノに似せた楽音を
発生するための波形である。まずキーオン信号KONP
が入力した時点からアタック部が開始する。アタック部
は楽音の発生が開始されてから最大音量に達するまでの
区間である。アタック部の波形を規定するパラメータ
は、アタックレートARとアタックレベルALである。
アタックレートARはアタック部の波形の傾きを示し、
アタックレベルALはアタック部終了時におけるレベル
すなわち最大音量レベルを示す。アタック部の後、波形
はディケイ部に入る。
【0017】ディケイ部は、アタックレベルALから減
衰して第1ディケイレベルD1Lに至る第1ディケイ部
と、この第1ディケイレベルD1Lからさらに減衰して
第2ディケイレベルD2Lに至る第2ディケイ部とから
なる。第1ディケイレートD1Rは第1ディケイ部にお
ける波形の傾きを示し、第2ディケイレートD2Rは第
2ディケイ部における波形の傾きを示す。ディケイ部の
後、波形はサスティン部に入る。
【0018】サスティン部は、第2ディケイレベルD2
Lから比較的ゆっくりと減衰していく区間をいう。サス
ティンレートSRはサスティン部の波形の傾きを示す。
サスティン部は、離鍵のタイミングで発生されるキーオ
フ信号KOFPが検出されたとき終了する。サスティン
部の後、波形はリリース部に入る。
【0019】リリース部は、離鍵してから楽音のレベル
が「0」に至るまでの区間をいう。リリースレートRR
はリリース部の波形の傾きを示す。この実施例の電子楽
器では、後述するように右ペダル6−3にダンパーペダ
ルの機能をもたせており、右ペダル6−3の踏み込み量
に応じてリリースレートRRが変化するようになってい
る。ダンパーペダルを踏まないときは、楽音が急激に減
衰するように、リリースレートRRとしてダンプレート
DRが設定される。
【0020】上記の各定数すなわちアタックレートA
R、アタックレベルAL、第1ディケイレートD1R、
第1ディケイレベルD1L、第2ディケイレートD2
R、第2ディケイレベルD2L、サスティンレートS
R、およびダンプレートDRは、操作される鍵のキーコ
ードおよび操作時のキーベロシティ(鍵速度)ごとに波
形記憶回路10に記憶されている。波形記憶回路10に
ついては図18を参照して後に詳述する。
【0021】なお、リリースレートRRはダンパーペダ
ルの操作量に応じて変化する変数であり、具体的にはC
PU3がアクセスするRAM5内に記憶領域が確保され
ている所定のレジスタにリリースレートを示す具体的な
数値が設定される。そして、このレジスタに設定された
リリースレートRRの値が楽音合成回路11に出力さ
れ、楽音合成回路11がその指示にしたがい当該リリー
スレートでエンベロープ波形を発生するようになってい
る。
【0022】次に、上述した各ペダルの機能を詳細に説
明する。
【0023】図4は、この実施例の電子楽器の各ペダル
の機能一覧を示す。ペダルモードはペダルスイッチ8−
1により切換えることができる。すなわち、ペダルモー
ドが「0」のときペダルスイッチ8−1を押下するとペ
ダルモード「1」となり、同様にして、ペダルスイッチ
8−1を押下するたびにペダルモードは「1」から
「2」へ、「2」から「3」へ、「3」から「0」へ、
というように切換わる。
【0024】ペダルモードにかかわらず、右ペダル6−
3はダンパーペダルの機能を果たす。ペダルモードが
「0」のとき、左ペダル6−1はソフトペダル、中央ペ
ダル6−2はソステヌートペダルの機能をそれぞれ果た
す。ペダルモードが「1」のとき、左ペダル6−1は自
動演奏のスタート/ストップペダル、中央ペダル6−2
はソステヌートペダルの機能をそれぞれ果たす。ペダル
モードが「2」のとき、左ペダル6−1はベンドダウン
ペダル、中央ペダル6−2はベンドアップペダルの機能
をそれぞれ果たす。ペダルモードが「3」のとき、左ペ
ダル6−1はブライトダウンペダル、中央ペダル6−2
はブライトアップペダルの機能をそれぞれ果たす。
【0025】ダンパーペダル(右ペダル6−3)は、従
来の自然楽器のピアノと同様のダンパー効果を得るため
のペダルである。すなわち、ダンパーペダルが踏まれて
いない状態で押鍵し離鍵すると楽音は離鍵の時点から急
激に減衰するが、ダンパーペダルが踏まれている状態で
離鍵するとゆっくりとしたレートで減衰するようにな
る。
【0026】図3を参照して具体的に説明する。ダンパ
ーペダルが踏まれていない状態では、図3のエンベロー
プ波形のリリースレートRRとしてダンプレートDRの
値が設定される。ダンパーペダルを目一杯踏み込んだ状
態では、リリースレートRRとしてサスティンレートS
Rの値が設定される。ダンパーペダルを途中まで踏み込
んだ状態では、ダンプレートDRとサスティンレートS
Rとの間でペダルの踏み込み量に応じて補間した値がリ
リースレートRRとして設定される。
【0027】なお、自然楽器のピアノではダンパーペダ
ルが踏まれると全弦のダンパーが全部一度に離れるの
で、押鍵した鍵だけでなく他の弦も共鳴により振動し発
音される。電子楽器においても同様の効果を得るため
に、(チャンネル数は限られているが)空きチャンネル
に共鳴音を割当てて発音するようにしている。
【0028】ソフトペダルは、従来の自然楽器のピアノ
と同様のソフト効果を得るためのペダルである。ソフト
ペダル(ペダルモード「0」での左ペダル6−1)を踏
み込むことによって楽音がソフトな柔らかい感じとな
る。この電子楽器では、音量が若干小さくなるように楽
音波形に付与するエンベロープの振幅を下げ、さらにエ
ンベロープを付与する乗算回路の後段のフィルタ回路の
カットオフ周波数を下げてくすんだ音にするような方式
でソフトペダルの機能を実現している。
【0029】ソステヌートペダルは、従来の自然楽器の
ピアノと同様のソステヌート効果を得るためのペダルで
ある。押鍵後にソステヌートペダル(ペダルモード
「0」または「1」での中央ペダル6−2)を踏み込み
離鍵すると、その鍵のみダンパーが離れたものとして処
理される。
【0030】この実施例の電子楽器は、従来より周知の
自動演奏の機能を備えている。自動演奏のスタート/ス
トップペダルは、この自動演奏の開始/停止を指示す
る。すなわち、自動演奏が停止している状態でスタート
/ストップペダル(ペダルモード「0」での左ペダル6
−1)を踏み込むと自動演奏が開始し、自動演奏が実行
されている状態でスタート/ストップペダルを踏み込む
と自動演奏が停止する。ベンドダウンペダルおよびベン
ドアップペダルは、ピッチベンドをリアルタイムで制御
するペダルである。押鍵後にベンドダウンペダル(ペダ
ルモード「2」での左ペダル6−1)を踏み込むと、踏
み込み量に応じて発音中の楽音の音高(ピッチ)が下が
る。押鍵後にベンドアップペダル(ペダルモード「2」
での中央ペダル6−2)を踏み込むと、踏み込み量に応
じて発音中の楽音のピッチが上がる。すなわち、従来の
シンセサイザなどにおけるピッチベンドホイールの機能
をペダルにより実現している。
【0031】なお、従来のピッチベンドホイールは中点
復帰型の操作子であり、中点をキーオンされた鍵に対応
するピッチとし、この中点位置からホイールを一方向に
回転させるとピッチが上り、逆方向に回転させるとピッ
チが下がるようになっている。これに対し、ペダルは中
点復帰型でなく端点復帰型の操作子であるので、1つの
ペダルをそのままピッチベンドホイールに代えるのは無
理がある。ペダルを中央付近まで踏み込んだ位置をピッ
チベンドホイールの中点位置に対応させるとすると、常
にペダルを踏み込んでおくかまたはペダルを中点に固定
する特別な機構が必要となってしまうし、ペダルを踏み
込まない状態を中点とするとピッチを上げるか下げるか
の一方しか可能とならないからである。
【0032】そこで、この実施例では、2つのペダルで
従来のピッチベンドホイールの機能を実現するようにし
ている。すなわち、左および中央の両ペダル6−1,6
−2を踏まない状態をピッチを上下しない中点の状態と
し、左ペダル6−1を踏み込むとピッチが下がり、中央
ペダル6−2を踏み込むとピッチが上がるように設定し
ている。そして、左および中央の両ペダル6−1,6−
2を同時に踏んだときは、ピッチが下がる方向の踏み込
み量とピッチが上がる方向の踏み込み量との差を算出
し、踏み込み量の大きい方向にその差の量だけピッチを
上下させるようにしている。
【0033】ブライトダウンペダルおよびブライトアッ
プペダルは、楽音の明るさをリアルタイムで制御するペ
ダルである。押鍵後にブライトダウンペダル(ペダルモ
ード「3」での左ペダル)を踏み込むと、発音中の楽音
の音色が暗いものとなる。押鍵後にブライトアップペダ
ル(ペダルモード「3」での中央ペダル)を踏み込む
と、発音中の楽音の音色が明るいものとなる。ブライト
ダウンとブライトアップは、上記のピッチベンドと同様
に両ペダル6−1,6−2の踏み込み量を演算してその
演算結果をブライトに関するパラメータとするように処
理している。
【0034】次に、この実施例の電子楽器で用いている
レジスタおよびフラグなどを説明する。これらのレジス
タおよびフラグはRAM5に設定されている。 (a)KEV:キーイベントフラグである。キーオンイ
ベントまたはキーオフイベントがあったとき、キーオン
またはキーオフの情報を示すフラグ値がセットされる。 (b)KC:キーコードレジスタである。キーオンまた
はキーオフされた鍵のキーコード(音高情報)が格納さ
れる。 (c)KV:キーベロシティレジスタである。鍵がキー
オンされたときのタッチ情報であるキーベロシティを示
す値が格納される。 (d)ST[i]:各発音チャンネルの現在の状態を示
す状態レジスタである。iをチャンネルナンバとし、S
T[i]の値が「0」のときそのチャンネルが空きチャ
ンネル、「1」のときキーオン状態(鍵が押鍵された状
態)のチャンネル、「2」のときキーオフ状態(鍵が離
鍵された状態)チャンネルであることを示す。
【0035】(e)TCH:トランケートすべきチャン
ネルを示すトランケートチャンネルレジスタである。ト
ランケートとは、空きチャンネルがなく全発音チャンネ
ルが使用中の状態で新たなキーオンがあったときに、使
用中の発音チャンネルの中から適当なチャンネルを選択
しそのチャンネルに新しいキーオンを後着優先で割当て
る処理をいう。トランケートすべきチャンネルの選択は
種々の方式が適用できるが、この実施例では発音中のチ
ャンネルの中でその時点のエンベロープの値が最小のも
のを選択するようにしている。 (f)CH:チャンネルナンバを格納するチャンネルレ
ジスタである。 (g)AKC[CH]:アサインドキーコードレジスタ
である。CHをチャンネルナンバとし、そのCHチャン
ネルに現在どういうキーコードが割当てられているか、
その割当てられているキーコードを格納する。
【0036】(h)BEND:ピッチベンド情報を格納
するピッチベンドレジスタである。ピッチベンド情報
は、楽音のピッチをどの程度上下するかを示す値であ
り、−200≦BEND≦200の範囲をとる。その値
がプラスのときピッチを上げることを示し、マイナスの
ときピッチを下げることを示す。その値の絶対値は、ピ
ッチを上下する量をセント値で表したものである。 (i)BRIGHT:楽音の明るさ(ブライト)を示す
音色情報を格納するブライトレジスタである。−7≦B
RIGHT≦7の範囲をとる。その値がプラスのとき楽
音をより明るくすることを示し、マイナスのとき暗くす
ることを示す。その値の絶対値は、楽音を明るくするあ
るいは暗くする程度を表したものである。 (j)SOFT:楽音の柔らかさ(ソフト)を示す音色
情報を格納するソフトレジスタである。−7≦SOFT
≦0の範囲をとる。その値の絶対値は、楽音をソフトに
する程度を表したものである。ソフトペダルを一番踏み
込んだ状態ではSOFT=−7となり、音色が最も柔ら
かい感じの楽音が発音される。
【0037】(k)RR:エンベロープジェネレータが
発生するエンベロープ波形のリリースレートを示すリリ
ースレートレジスタである。 (l)PL・NEW:左ペダル新踏み込み量レジスタで
ある。ペダルのスキャンにより得られた最新の左ペダル
の踏み込み量を示す値が格納される。なお、ペダルの踏
み込み量は「0」から「7」の整数で表され、踏み込ま
ないとき「0」、一杯に踏み込んだとき「7」、途中ま
で踏み込んだときは踏み込み量に応じた「0」から
「7」の間の整数値をそれぞれ取る。下記の(m)〜
(q)に示すレジスタについても同様である。 (m)PL・OLD:左ペダル旧踏み込み量レジスタで
ある。1回前のスキャンにより得られている左ペダルの
踏み込み量を示す値が格納される。 (n)PC・NEW:中央ペダル新踏み込み量レジスタ
である。ペダルのスキャンにより得られた最新の中央ペ
ダルの踏み込み量を示す値が格納される。
【0038】(o)PC・OLD:中央ペダル旧踏み込
み量レジスタである。1回前のスキャンにより得られて
いる中央ペダルの踏み込み量を示す値が格納される。 (p)PR・NEW:右ペダル新踏み込み量レジスタで
ある。ペダルのスキャンにより得られた最新の右ペダル
の踏み込み量を示す値が格納される。 (q)PR・OLD:右ペダル旧踏み込み量レジスタで
ある。1回前のスキャンにより得られている右ペダルの
踏み込み量を示す値が格納される。 (r)PM:ペダルモードを示すペダルモードレジスタ
である。ペダルモードの値と各ペダルの機能は図4を参
照して上述した。 (s)ENV:発音中の所定チャンネルのエンベロープ
値を格納するエンベロープレジスタである。 (t)EMC:発音中の所定チャンネルのうちエンベロ
ープ値が最小のチャンネルを格納する最小エンベロープ
チャンネルレジスタである。
【0039】なお、上記のレジスタおよびフラグの名称
は、そのレジスタなどを表すとともに、その内容をも表
すものとする。例えば、EMCというときは、レジスタ
そのものを表すとともに、このレジスタに記憶された最
小エンベロープチャンネルの値をも表すものとする。
【0040】次に、図5〜図15のフローチャートを参
照して、この実施例の電子楽器の動作を説明する。
【0041】図5のメインルーチンを参照して、この電
子楽器の動作がスタートすると、まずステップS1で各
レジスタなどのイニシャライズを行う。ここで、ペダル
モードPMは「0」に初期設定する。次に、ステップS
2で鍵処理を行ない、ステップS3で操作子処理を行な
い、ステップS4でパネル処理を行なう。鍵処理では、
鍵盤1に鍵操作があるかどうかスキャンニングし、操作
がされていた場合に所定の処理を行なう。操作子処理で
は、操作子6(すなわちペダル6−1,6−2,6−
3)が操作されたかどうかをスキャンニングし、操作さ
れていた場合に所定の処理を行なう。パネル処理では、
操作パネル8のパネルスイッチが操作されたかどうかを
スキャンニングし、操作されていた場合に所定の処理を
行なう。
【0042】次に、ステップS5で発音チャンネル処理
を行なう。発音チャンネル処理は、現在発音されている
各チャンネルのエンベロープを検出して、それが「0」
になったものを空きチャンネルとする処理を行なう。次
に、ステップS6で自動演奏処理を行ない、再びステッ
プS2に戻る。以上の処理を繰返す。
【0043】図6のフローチャートを参照して、鍵処理
ルーチン(図5のステップS2)では、ステップS11
で鍵盤1の鍵走査(キースキャンニング)を行なう。ス
テップS12でスキャンニングの結果、鍵イベントがあ
るかどうか判別する。鍵イベントがない場合は、そのま
まリターンする。鍵イベントがある場合は、ステップS
13で、キーイベントフラグKEVにキーオンまたはキ
ーオフの別を格納し、キーコードレジスタKCにキーオ
ンまたはキーオフされた鍵のキーコードを格納し、キー
ベロシティレジスタKVに鍵がキーオンされたときのキ
ーベロシティを格納する。
【0044】次に、ステップS14で鍵イベントがキー
オンかどうか判別する。キーオンイベントのときは、ス
テップS15でキーオン処理を行なった後、リターンす
る。キーオンイベントでないときはキーオフイベントと
みなし、ステップS16でキーオフ処理を行なった後、
リターンする。
【0045】図7のフローチャートを参照して、キーオ
ン処理ルーチン(図6のステップS15)では、まずス
テップS21でワークレジスタiに「0」を設定し、ス
テップS22で第iチャンネルが空きチャンネルかどう
か判別する。空きチャンネルであるときは、ステップS
24でチャンネルレジスタCHにワークレジスタiの値
をセットし、ステップS28に進む。第iチャンネルが
空きチャンネルでないときは、空きチャンネルを探すた
め、ステップS23でレジスタiを歩進し、ステップS
25で全チャンネルを調べたかどうか判別する。未だ全
チャンネルを調べていないときは、ステップS22に戻
る。全チャンネルを調べたなら、空きチャンネルがなか
ったということであるから、ステップS26でトランケ
ート処理を行なう。トランケート処理によりトランケー
トすべきチャンネルのチャンネルナンバがレジスタTC
Hにセットされるので、ステップS27でレジスタTC
Hの値をチャンネルレジスタCHにセットし、ステップ
S28に進む。以上により、チャンネルレジスタCHに
はキーオンされた鍵に割り当てるべきチャンネルナンバ
が格納されたこととなる。
【0046】次に、ステップS28でチャンネルナンバ
CHのチャンネルの状態ST[CH]に「1」をセット
し、そのチャンネルをキーオン状態とする。そして、ス
テップS29でアサインドキーコードレジスタAKC
[CH]にキーオンされたキーコードKCをセットす
る。次に、ステップS30で楽音合成回路11のチャン
ネルナンバCHのチャンネルに、キーコードKC、キー
ベロシティKV、ピッチベンド情報BEND、およびキ
ーオン情報KONPを出力する。これにより、楽音合成
回路11は、発音を開始する。
【0047】そして、ステップS31で楽音合成回路1
1のフィルタ部のCHチャンネルに、キーコードKC、
明るさを示す音色情報BRIGHT、柔らかさを示す音
色情報SOFT、およびキーベロシティKVを出力す
る。これにより、ステップS30で発音開始された楽音
に指示されたような音色が付与される。ステップS31
の後、リターンする。
【0048】図8のフローチャートを参照して、キーオ
フ処理ルーチン(図6のステップS16)においては、
まずステップS41でワークレジスタiに「0」を設定
し、ステップS42で第iチャンネルのアサインドキー
コードAKC[i]が今キーオフされたキーコードKC
に等しいかどうか判別する。等しいときは、キーオフさ
れたのはチャンネルナンバiのチャンネルであるという
ことであるから、ステップS45に分岐する。
【0049】ステップS42でアサインドキーコードA
KC[i]がキーオフされたキーコードKCに等しくな
い場合は、キーオフされたチャンネルを探すため、ステ
ップS43でレジスタiを歩進し、ステップS44で全
チャンネルを調べたかどうか判別する。未だ全チャンネ
ルを調べていないときは、ステップS42に戻る。全チ
ャンネルを調べたなら、キーオフされたチャンネルがな
かったということであるから、そのままリターンする。
【0050】キーオフされたチャンネルが発見された場
合は、ステップS45でチャンネルレジスタCHにワー
クレジスタiの値すなわちキーオフされたチャンネルの
チャンネルナンバをセットし、ステップS46でチャン
ネルナンバCHのチャンネルの状態ST[CH]に
「2」をセットし、そのチャンネルをキーオフ状態とす
る。そして、ステップS47で楽音合成回路11のエン
ベロープジェネレータ部に、リリースレートRRおよび
キーオフ情報KOFPを出力してリターンする。これに
より、楽音合成回路11は、リリースレートRRでチャ
ンネルナンバCHのチャンネルの消音を開始する。
【0051】図9のフローチャートを参照して、操作子
処理ルーチン(図5のステップS3)においては、まず
ステップS51で左ペダル6−1の操作量(踏み込み
量)を検出して、レジスタPL・NEWに格納する。次
に、ステップS52で左ペダルの新踏み込み量PL・N
EWが1回前のスキャンにより得られている旧踏み込み
量PL・OLDと等しいかどうかすなわち左ペダル6−
1の操作があったかどうか判別する。左ペダル6−1の
操作がなければ、ステップS55に分岐する。ステップ
S52で左ペダル6−1の操作があったことが検出され
たときは、ステップS53で左ペダル(PL)処理を行
ない、ステップS54で旧踏み込み量PL・OLDに新
踏み込み量PL・NEWの値をセットし、ステップS5
5に進む。
【0052】中央ペダル6−2および右ペダル6−3に
ついても同様に処理される。すなわち、ステップS55
で中央ペダル6−2の操作量を検出して、レジスタPC
・NEWに格納する。次に、ステップS56で中央ペダ
ル6−2の操作があったかどうか判別し、操作がなけれ
ばステップS59に分岐する。ステップS56で中央ペ
ダル6−2の操作があったことが検出されたときは、ス
テップS57で中央ペダル(PC)処理を行ない、ステ
ップS58で旧踏み込み量PC・OLDに新踏み込み量
PC・NEWの値をセットし、ステップS59に進む。
【0053】ステップS59で右ペダル6−3の操作量
を検出して、レジスタPR・NEWに格納する。次に、
ステップS60で右ペダル6−3の操作があったかどう
か判別し、操作がなければリターンする。ステップS6
0で右ペダル6−3の操作があったことが検出されたと
きは、ステップS61で右ペダル(PR)処理を行な
い、ステップS62で旧踏み込み量PR・OLDに新踏
み込み量PR・NEWの値をセットし。リターンする
【0054】図10のフローチャートを参照して、左ペ
ダル処理ルーチン(図9のステップS53)では、まず
ステップS71で現在のペダルモードPMを判別し、ペ
ダルモードPMが「0」のときはステップS72へ、
「1」のときはステップS73へ、「2」のときはステ
ップS74へ、「3」のときはステップS76へ、それ
ぞれ分岐する。ステップS72ではペダルモードが
「0」で左ペダルが操作されたということであるから、
楽音の柔らかさを示す音色情報SOFTに踏み込み量P
L・NEWの符号をマイナスとした値をセットしリター
ンする。この音色情報SOFTは図のステップS31
で楽音合成回路11に出力され、楽音に反映される。
【0055】ステップS73ではペダルモードが「1」
で左ペダルが操作されたということであるから、自動演
奏の開始/停止処理を行ないリターンする。
【0056】ステップS74ではペダルモードが「2」
で左ペダルが操作されたということであるから、ベンド
ダウン処理を行なう。すなわち、ステップS74で20
0×(PC・NEW−PL・NEW)/7を算出してピ
ッチベンド情報BENDにセットする。そして、ステッ
プS75でこのピッチベンド情報BENDを楽音合成回
路11のチャンネルナンバCHのチャンネルに出力して
リターンする。これにより、ピッチベンド情報BEND
で指示された量だけ楽音のピッチが上下される。
【0057】左ペダル6−1および中央ペダル6−2は
それぞれ3ビットの出力すなわち「0」から「7」の整
数値を踏み込み量として出力するようになっている。そ
して、これらのペダルを同時に踏み込むこともあるの
で、踏み込み量の差を演算している。上記のステップS
74では、踏み込み量の差(PC・NEW−PL・NE
W)が「7」で除算され「200」と積算される。した
がって、ピッチベンド情報BENDの最小値は「−20
0」(中央ペダルは踏み込まず左ペダルを一杯に踏み込
んだ状態)で、最大値は「200」(左ペダルは踏み込
まず中央ペダルを一杯に踏み込んだ状態)となる。この
値はセント値を表しているので、上下に全音分のピッチ
ベンドが可能である。
【0058】また、ピッチベンド情報BENDは、鍵が
キーオンされたときに図7のステップS30で出力され
るとともに、ペダルモードPMが「2」で左ペダル(ま
たは中央ペダル)が操作され踏み込み量が変化したとき
にも上記ステップS75で出力される。したがって、ペ
ダル操作に応じリアルタイムでピッチベンド処理を行な
うことができる。
【0059】ステップS76ではペダルモードが「3」
で左ペダルが操作されたということであるから、楽音の
明るさを示す音色情報BRIGHTに中央ペダルの踏み
込み量PC・NEWから左ペダルの踏み込み量PL・N
EWを引いた差をセットしリターンする。この音色情報
BRIGHTは図6のステップS31で楽音合成回路1
1に出力され、楽音に反映される。
【0060】図11のフローチャートを参照して、中央
ペダル処理ルーチン(図9のステップS57)では、ま
ずステップS81で現在のペダルモードPMを判別し、
ペダルモードPMが「0」または「1」のときはステッ
プS82へ、「2」のときはステップS83へ、「3」
のときはステップS85へ、それぞれ分岐する。ステッ
プS82ではペダルモードが「0」または「1」で中央
ペダルが操作されたということであるから、ソステヌー
ト処理を行なった後、リターンする。
【0061】ステップS83ではペダルモードが「2」
で中央ペダルが操作されたということであるから、ベン
アップ処理を行なった後、リターンする。このステッ
プS83およびS84の処理は、左ペダル処理のステッ
プS74およびS75と同じである。
【0062】ステップS85ではペダルモードが「3」
で中央ペダルが操作されたということであるから、前述
の左ペダル処理のステップS76と同じように音色情報
BRIGHTをセットしリターンする。
【0063】図12のフローチャートを参照して、右ペ
ダル処理ルーチン(図9のステップS61)では、まず
ステップS91でワークレジスタiをゼロクリアし、ス
テップS92でチャンネルナンバiのチャンネルがキー
オフ状態であるか判別する。キーオフ状態のときは、ス
テップS93で楽音合成回路11よりキーコードKCに
応じダンプレートDRとサスティンレートSRを読出
す。ダンプレートDRとサスティンレートSRは波形記
憶回路10に記憶されており、この波形記憶回路10は
原則として楽音合成回路11からのみアクセスできる。
したがって、通常はCPU3から波形記憶回路10内の
情報を得ることはできない。しかし、この実施例の電子
楽器では、CPU3から楽音合成回路11のインターフ
ェースを介して波形記憶回路10内の所要の情報(ここ
ではダンプレートDRとサスティンレートSR)を読出
すことができるようになっている。この機能については
楽音合成回路11の詳細な構成とともに後述する。
【0064】次に、ステップS94でDR−(DR−S
R)×PR・NEW/7を算出し、算出結果をリリース
レートRRにセットする。これにより、右ペダル6−3
を踏み込まないとき(PR・NEW=0)は、リリース
レートRR=DRとなり、離鍵から急激に減衰するよう
にリリースレートRRが設定される。また、右ペダル6
−3を一杯に踏み込んだとき(PR・NEW=7)は、
リリースレートRR=SRとなり、離鍵以前のサスティ
ンレートSRでゆっくり減衰するようにリリースレート
RRが設定される。さらに、右ペダル6−3を途中まで
踏み込んだときは、踏み込み量に応じて減衰するように
上記式のようにリリースレートRRが設定される。
【0065】次に、ステップS95で楽音合成回路11
のエンベロープジェネレータ部の第iチャンネルにリリ
ースレートRRを出力し、ステップS96に進む。ステ
ップS92で当該チャンネルがキーオフ状態でない場合
は、そのままステップS96に進む。ステップS96で
レジスタiを歩進し、ステップS97で全チャンネル調
べたかを判別する。全チャンネルを調べたならリターン
し、未だ全チャンネルを調べていないならステップS9
4に戻って次のチャンネルについて同様の処理を行な
う。
【0066】なお、リリースレートRRはこのステップ
S95とともに図8のステップS47でも同様に楽音合
成回路11に出力される。したがって、離鍵した時点の
ダンパーペダルの踏み込み量に応じてリリース部の波形
が出力されるとともに、リリース部波形を出力している
途中でダンパーペダルが操作されたときにも新たな踏み
込み量に応じてリリース部の波形が出力される。このよ
うに、リアルタイムでダンパーペダルの操作を楽音のリ
リース部に反映させている。
【0067】図13のフローチャートを参照して、パネ
ル処理ルーチン(図5のステップS4)では、まずステ
ップS101で操作パネル8のパネルスイッチが操作さ
れたかどうかを走査し、ステップS102でパネルイベ
ントがあるかどうか判別する。パネルイベントがなけれ
ばそのままリターンする。パネルイベントがあるとき
は、ステップS103でレジスタSWEVにイベントの
あったパネルスイッチのオン/オフの別をセットし、レ
ジスタSWCにイベントのあったパネルスイッチのスイ
ッチ番号をセットする。そして、ステップS104でイ
ベントのあったパネルスイッチに対応する処理を行ない
リターンする。
【0068】図14は、上記のパネル処理ルーチンにお
いてペダルスイッチ8−1のオンイベントがあったとき
対応スイッチ処理S104として実行されるペダルスイ
ッチ処理ルーチンを示す。ペダルスイッチ処理ルーチン
では、まずステップS111でペダルモードPMが
「3」であるかどうか判別する。ペダルモードPMが
「3」でペダルスイッチ8−1がオンされたときは、ス
テップS112でペダルモードPMを「0」とし、ステ
ップS114に進む。ペダルモードPMが「3」以外で
ペダルスイッチ8−1がオンされたときは、ステップS
113でペダルモードPMを歩進し、ステップS114
に進む。
【0069】ステップS114でペダルモードPMをデ
ィスプレイに表示し、ステップS115で3つのペダル
の旧踏み込み量PL・OLD,PC・OLD,PR・O
LDをすべて「0」とし、さらにステップS116でピ
ッチベンド情報BENDおよび音色情報BRIGHTを
「0」とする。これらの各レジスタを「0」クリアする
のは、ペダルを踏みながらペダルスイッチをオンしたと
きに、一旦強制的に初期状態(ペダルが踏まれていない
状態)とし次にペダルの踏み込みを検出したときから新
たにペダル操作がされたように取り扱うためである。
【0070】図15を参照して、発音チャンネル処理
(図5のステップS5)では、まずステップS121で
ワークレジスタiを「0」クリアし、ステップS122
でレジスタMINにこの実施例の電子楽器の楽音合成回
路11のエンベロープジェネレータで発生するエンベロ
ープ値の最大値をセットする。そして、ステップS12
3でチャンネルナンバiのチャンネルが発音していない
かどうか判別する。第iチャンネルが発音していないと
きは、次のチャンネルを処理すべくステップS131に
進む。
【0071】第iチャンネルが発音しているときは、ス
テップS124で楽音楽音合成回路11の第iチャンネ
ルのエンベロープ値をエンベロープレジスタENVにセ
ットし、ステップS125でそのエンベロープ値ENV
が「0」かどうか判別する。エンベロープ値ENVが
「0」でないときは、ステップS128に進む。エンベ
ロープ値ENVが「0」のときは、すでに消音されてい
ると言うことだから、ステップS126で状態レジスタ
ST[i]を「0」とし第iチャンネルを空きチャンネ
ル状態とする。そして、ステップS127でアサインド
キーコードAKC[i]を「0」とし、ステップS12
8に進む。
【0072】ステップS128でエンベロープ値ENV
がレジスタMINの値より小さいかどうか判別する。小
さくないときは、ステップS131に進む。エンベロー
プ値ENVがレジスタMINの値より小さいときは、今
まで参照したチャンネルの中でそのチャンネル(チャン
ネルナンバiのチャンネル)のエンベロープ値が最小で
あるということであるから、ステップS129で最小エ
ンベロープチャンネルEMCにワークレジスタiの値を
セットし、ステップS130でレジスタMINにエンベ
ロープ値ENVをセットし、ステップS131に進む。
【0073】ステップS131でレジスタiを歩進し、
ステップS132で全チャンネルを調べたかどうか判別
する。全チャンネルを調べていないときは、ステップS
123に戻って次のチャンネルについて同様の処理を行
なう。全チャンネルを調べたならば、リターンする。
【0074】結果として、エンベロープ値ENVが
「0」のチャンネルは空きチャンネルとされ、エンベロ
ープ値ENVが最小のチャンネルはそのチャンネル番号
がレジスタEMCに設定される。この最小エンベロープ
チャンネルEMCはトランケート処理において用いられ
る。
【0075】次に、この実施例の電子楽器の音源回路に
つき詳細に説明する。
【0076】図16は、この実施例の電子楽器の音源回
路すなわち図1の楽音合成回路11および波形記憶回路
10の詳細なブロック構成を示す。この図の音源回路は
時分割多重化処理により複数音を同時に発音可能な波形
メモリ読出し方式の音源である。
【0077】インターフェース101は、図1のバスラ
イン14から入力された各種のデータを音源回路全体に
供給するためのインターフェースである。また、ここに
入出力される各データについて、時分割チャンネル分の
シフトレジスタを備えており、CPU3から与えられる
データを音源内部の各回路に対してそれぞれの時分割タ
イミングにおいて、継続的に与えることができるように
なっている。その他に音源回路内部のデータをCPU3
に出力するためにも利用される。
【0078】CPU3から与えられるデータとしては、
例えば、キーコードKC、キーベロシティKV、キーオ
ン/オフ信号KONP/KOFP、ピッチベンド情報B
END、音色情報SOFT,BRIGHT、およびリリ
ースレートRRなどがある。逆に、CPU3の指令に応
じてこの音源回路からCPU3に出力されるデータとし
ては、音源の各チャンネルのエンベロープ値ENV、サ
スティンレートSR、およびダンプレートDRなどがあ
る。
【0079】特に、この実施例の電子楽器は、音源回路
内部で管理されている情報をCPU3で得ることができ
る点を特徴とする。
【0080】通常、図1のような構成の電子楽器では、
全体の動作を制御するCPUと、そのCPUからの指示
に基づいて楽音合成を行なう音源回路とに、大きく分割
され機能が分けられている。音源回路の方は、いわゆる
楽音合成を行なう音源チップ(楽音合成回路11)と楽
音合成のための種々の情報(例えば、この実施例のよう
な波形メモリ読出しタイプのものなら、楽音波形データ
およびエンベロープデータ)を記憶するROM(波形記
憶回路10)を中心として構成される。
【0081】ここで、波形記憶回路を構成するROM
は、通常は、楽音合成回路を構成する音源チップからの
みアクセスされ、電子楽器全体の動作を制御するCPU
からは直接にアクセスすることはできない。より少ない
ビット数で有効にアドレッシングできるようにするため
であり、かつ従来は有効に機能分割しておりCPUがこ
れらのデータを必要としないように構成されていたから
である。
【0082】例えば、従来より、ダンパーペダルが踏ま
れているかいないかのみを検出する電子楽器があった。
これは、あらかじめ波形記憶回路にゆっくり減衰するエ
ンベロープデータと急激に減衰するエンベロープデータ
との2種類のデータを用意しておくものである。そし
て、キーオフのときはCPUはダンパーペダルの状態を
検出し、その状態(踏まれているかいないか)を楽音合
成回路に送出する。楽音合成回路はこれを受けて、ダン
パーペダルが踏まれているならゆっくり減衰するエンベ
ロープで、踏まれていないなら急激に減衰するエンベロ
ープで、それぞれ楽音を発生していた。このとき、CP
Uは音源回路の内部の情報を知る必要はなかった。
【0083】ところが、電子楽器がより高機能となり、
この実施例のようにダンパーペダルの踏み込み状態の中
間段階を取ることができるようになると、問題点が生ず
る。例えば、ダンパーペダルをどの程度踏み込んだかを
示す踏み込み量をCPUから楽音合成回路に送出し、楽
音合成回路内でその踏み込み量に応じたエンベロープを
発生させる方式が考えられる。しかし、この方式では楽
音合成回路内でリリースレートなどを計算しなくてはな
らず、楽音合成回路の側にハードウエア上の負担がかか
る。場合によっては楽音合成回路の側に新たなハードウ
エアを設けなければならなくなる。
【0084】また、CPUそのものがダンパーペダルの
踏み込み量に応じたリリースレートを算出し、楽音合成
回路に送出する方式も考えられる。この方式によれば、
楽音合成回路の側にハードウエア上の負担をかけること
はない。しかし、CPUでリリースレートを算出するた
めには、1番急激に減衰するレートと1番ゆっくりと減
衰するレートとのデータを持っていなければならず、一
方これらのデータは楽音合成回路が管轄する波形記憶回
路にあってCPUからはアクセスできない。CPUから
アクセスできる記憶回路を設けてこれらのデータを用意
しておくことも考えられるが、このようなレートのデー
タはキーコード(あるいは音域)ごとにかつ音色ごとに
用意しなければならず、かなりの記憶容量を要する。同
じデータ(それも容量の大きなデータ)を2か所に用意
するのは不合理である。
【0085】そこで、この実施例の電子楽器では、楽音
合成回路11を構成する音源チップからこれらのデータ
を個別にCPUに渡せるようにしている。具体的には、
音源チップに付属する波形記憶回路(ROM)10に記
憶されているサスティンレートSRとダンプレートDR
とを、インターフェース101を介してCPU3に渡せ
るようになっている。
【0086】CPU3は、ダンパーペダル(右ペダル6
−3)の状態が変わったとき、これらのデータを読出し
て演算してリリースレートを算出し、算出結果を楽音合
成回路11に渡す。楽音合成回路11では、渡されたリ
リースレートにしたがってエンベロープ波形を発生すれ
ばよいので、処理上の負担が増えることがなく、新たな
ハードウエアの用意をする必要もない。CPU3におけ
る演算は迅速簡単に実行できる。容量の大きな同じデー
タを2か所に持つ必要もない。ダンパーペダルはそれ程
大きく変化することもないので、CPUと音源チップの
間の通信も容易で迅速に行うことができ、リアルタイム
でダンパーペダルの操作を楽音に反映させることができ
る。
【0087】図16を参照して、アドレス設定回路10
2は、インターフェース101を介して入力したキーコ
ードKC、キーベロシティKV、およびキーオン/オフ
信号KONP/KOFPに基づいて、波形記憶回路10
から読出すべき楽音波形データのアドレスに関する情報
ADDRを設定する。
【0088】ここで、波形記憶回路10内の楽音波形デ
ータについて説明する。ピアノなどの自然楽器の波形で
は、楽音のアタック部に音色を決定する大きな特徴があ
る。この実施例では、それらの特徴のある部分を波形の
アタック部として波形記憶回路10に記憶している。こ
れに対し、楽音の持続部では、振幅は押鍵からの時間に
応じて減少していくものの、波形の形状自体はアタック
部ほどは変化しない。そこで、ループ部として一定区間
の波形を波形記憶回路10に記憶し、それを繰返し読出
すようにしている。これによりメモリの節約を行なって
いる。
【0089】アタック部およびループ部に関しては、波
形の分解能を保つために自然楽器から採取した波形をそ
のまま使うのではなく、波形記憶回路10の1語のビッ
ト数に応じて正規化された波形とする。すなわち、周波
数特性は変化するが、記憶してある波形データのエンベ
ロープ形状は最初から最後まで一定となっているという
ことである。
【0090】なお、ループ部は波形の接続を容易にする
ために基本周波数の位相0の位置から記憶されているも
のとする。
【0091】図17は、波形記憶回路10内の楽音波形
データの記憶状態を示す概念図である。この図では、特
にアタック部波形の記憶概念を示してある。自然楽器で
は、その発音のさせ方および音高によって楽音の特性に
大きな違いがあることが知られている。ここでは、キー
ベロシティ(押鍵速度)KVとキーコード(音高)KC
の2次元の配列それぞれに波形を記憶し、自然楽器にお
けるそれらの挙動を実現するようにしている。ただし、
すべてのキーベロシティKVとキーコードKCに対応す
る配列を作らなくとも、特徴をとらえることが可能であ
るので、この場合では、キーベロシティKVをN+1段
階、キーコードをM+1段階に分割している。WA
(j,k)は、キーベロシティKVがj段階でキーコー
ドKCがk段階に属するようなキーオンに対するアタッ
ク部波形データを示す。ループ部波形の記憶概念はここ
には示さないが、図17のアタック部波形と同様の構成
となっている。なお、リリース部波形データを別に備え
るようにしてもよい。
【0092】図18は、波形記憶回路10の内部のメモ
リ構成詳細図である。図18(a)は、波形記憶回路1
0全体の構成を示す。アタック部およびループ部に対し
てはそれぞれ独立のテーブル(アタック部テーブル20
1およびループ部テーブル202)が備えられている。
それぞれのテーブル201,202は、キーベロシティ
KVとキーコードKCに応じて、波形記憶部205中の
ある波形の先頭アドレスSTART・ADと終了アドレ
スEND・ADとを含んでいる。
【0093】図18(b)は、アタック部テーブル20
1の内容である。アタック部の波形データ(波形記憶部
205に記憶されている)WAは図17に示したように
キーベロシティKVとキーコードKCのそれぞれによっ
て配列化されている。ここで、キーベロシティKVは図
17において示した通りN+1段階に分割されており、
キーコードKCはM+1段階に分割されている。分割数
を増やせば増やすほど、正確な自然楽器のシミュレート
が可能となるが、そのためには多くの記憶領域を必要と
する。そこで、波形記憶回路10内のデータの書換えの
みで、それらの相反する要求を調整可能とするために、
アタック部テーブル201の先頭位置に、キーベロシテ
ィKVの変化幅とキーコードKCの変化幅を設定する領
域KVレンジおよびKCレンジを設けてある。
【0094】この「KVレンジ」にはキーベロシティK
Vの変化幅が記憶されており、「KCレンジ」にはキー
コードKCの変化幅が記憶されている。図17の場合で
は、「KVレンジ」はN+1で、「KCレンジ」はM+
1である。2つのレンジ設定領域の後には、キーベロシ
ティとキーコードとの2次元のデータで参照する各波形
のスタートアドレスSTART・ADとエンドアドレス
END・ADとが記憶されている。
【0095】図18(c)は、ループ部テーブル202
の内容である。ループ部の波形データ(波形記憶部20
5に記憶されている)WLもアタック部の波形データと
同様にキーベロシティKVとキーコードKCのそれぞれ
によって配列化されている。キーベロシティKVがN+
1段階に、キーコードKCがM+1段階に、それぞれ分
割されているのはアタック部と同じである。また、先頭
位置にKVレンジおよびKCレンジを設けてあるのもア
タック部と同じである。レンジ設定領域の後には、キー
ベロシティとキーコードとの2次元のデータで参照する
各ループ部波形のスタートアドレスSTART・ADと
エンドアドレスEND・ADとが記憶されている。
【0096】図18(d)は、第1のエンベロープテー
ブル203の内容を示す。第1のエンベロープテーブル
203は、アタック部のエンベロープ波形を出力するた
めのデータを記憶している。アタック部テーブル201
およびループ部テーブル202の分割に対応して同様に
分割されている。すなわち、キーベロシティKVがN+
1段階に、キーコードKCがM+1段階に、それぞれ分
割され、各段階ごとに、アタックレートAR、アタック
レベルAL、第1ディケイレートD1R、第1ディケイ
レベルD1L、第2ディケイレートD2R、および第2
ディケイレベルD2Lを配列化して記憶してある。
【0097】図18(e)は、第2のエンベロープテー
ブル204の内容を示す。第2のエンベロープテーブル
204は、ループ部のエンベロープ波形を出力するため
のデータを記憶している。アタック部テーブル201お
よびループ部テーブル202の分割に対応して同様に分
割されている。すなわち、キーベロシティKVがN+1
段階に、キーコードKCがM+1段階に、それぞれ分割
され、各段階ごとに、サスティンレートSRおよびダン
プレートDRを配列化して記憶してある。
【0098】図18(f)は、波形記憶部205の内容
を示す。波形記憶部205は、図17に示した配列化し
たアタック部波形データWA(0,0)〜WA(M,
N)を有するとともに、配列化したループ部波形データ
WL(0,0)〜WL(M,N)を有する。
【0099】図16を参照して、鍵盤の押鍵時、CPU
3は音源回路にキーベロシティ情報KV、キーコードK
Cおよびキーオン信号KONPを与える。これらはイン
ターフェース101を介してアドレス設定回路102に
入力する。アドレス設定回路102は、波形記憶回路1
0のアタック部テーブル201中の前述の「KVレン
ジ」および「KCレンジ」を参照して、現在のキーベロ
シティKVおよびキーコードKCに対応したアタック波
形WAの読出し先頭アドレスSTART・ADと読出し
終了アドレスEND・ADを得て、アドレス生成回路1
04に出力する。また、アドレス生成回路104からル
ープ部へ移行する指示信号LOOP・REQが送出され
たとき、アドレス設定回路102はこれを受けて、その
キーベロシティKVおよびキーコードKCに対応したル
ープ波形WLの読出し先頭アドレスSTART・ADと
読出し終了アドレスEND・ADを得て、アドレス生成
回路104に出力する。
【0100】位相発生回路105では、インターフェー
ス101より与えられるキーコードKCおよびベンド情
報BENDに基づいて、波形記憶回路10の読出し位相
情報IおよびFを形成する。ここで、Iは位相情報の整
数部であり、Fは位相情報の少数部である。この位相情
報に応じて、実際に発生される楽音のピッチが定まる。
アドレス生成回路104に与えられた位相情報の整数
部Iは、アドレス設定回路102から与えられるSTA
RT・ADと加算され、実際に読出すアドレス信号AD
として波形記憶回路10に出力される。さらに、整数部
Iの累算を繰返してアドレス信号ADとして出力するこ
とにより、対応するアタック部波形およびループ部波形
データがW1として読み出される。
【0101】位相情報の少数部Fは補間回路106に与
えられる。補間回路106では、波形記憶回路10から
の波形データW1を、位相情報の少数部Fで時間軸方向
に補間して波形W2を出力する。波形記憶回路10に記
憶されている波形データは異なるピッチの楽音に対して
共通であるので、単に整数部のみで読出した場合、不要
なノイズが発生してしまう。ここでは、位相情報の整数
部Fを用いることによって、それらを防ぐとともに波形
データの容量の圧縮も可能としている。
【0102】エンベロープ生成回路107は、インター
フェース101から与えられるキーベロシティ情報K
V、キーコードKC、およびキーオン信号KONPに応
じて、波形記憶回路10の第1エンベロープテーブル2
03からアタックレートAR、アタックレベルAL、第
1ディケイレートD1R、第1ディケイレベルD1L、
第2ディケイレートD2R、および第2ディケイレベル
D2Lを読出し、アタック部からディケイ部までのエン
ベロープ信号ENを発生する。またエンベロープ生成回
路107は、アタック部に引続き、波形記憶回路10の
第2エンベロープテーブル204からサスティンレート
SRを読出し、さらにインターフェース101を介して
リリースレートRRを入力して、サスティン部からリリ
ース部までのエンベロープ信号ENを発生する。なお、
波形記憶回路10の波形データWA,WLの読出しとエ
ンベロープデータの読出しとは時分割でほぼ並行して行
われるようになっており、そのような読出しが可能とな
るようにアドレス生成回路104はアドレスを時分割で
出力する。
【0103】エンベロープ生成回路107が出力するエ
ンベロープ信号ENの外形は図3に示したような形状で
あり、ピアノの2段減衰(ピアノ音のエンベロープ形状
は、エンベロープの最大点からの比較的早い減衰と、そ
こからの比較的ゆっくりした減衰の2段階の減衰をもつ
ことが知られている。)の特徴を示している。また、エ
ンベロープ生成回路107は、音色情報SOFTを入力
し、これに応じてエンベロープの振幅値をスケーリング
して出力する。結果として、図3のようなエンベロープ
波形の振幅方向LLの全体のスケーリングが、キーベロ
シティKVおよび音色情報SOFTに応じて決定される
こととなる。なお、図3のエンベロープ波形の時間方向
TTのスケーリングはキーコードKCにより決定され
る。
【0104】以上のようにして、補間回路106から波
形信号W2が出力され、エンベロープ生成回路107か
らエンベロープ信号ENが出力される。乗算回路108
は、波形信号W2とエンベロープ信号ENを乗算する。
これにより、波形信号W2にピアノ音と同様のエンベロ
ープENが付与されたこととなる。
【0105】乗算結果は波形信号W3としてフィルタ回
路109に入力する。フィルタ回路109は、波形信号
W3を加工して最終的な出力Wを生成する。
【0106】図19は、フィルタ回路109の一例を示
す。ここでは1次ローパスフィルタを用いた。フィルタ
回路109は、乗算回路108の出力波形信号W3を入
力する加算器301、加算器301の加算結果に係数α
を乗算する乗算器302、乗算器302の乗算結果を入
力する加算器304、および加算器304の加算結果を
入力する遅延回路305を備えている。乗算器302に
入力する係数αは、係数変換回路303により生成され
る。遅延回路305において所定のクロック分だけ遅延
された出力信号は、その符号を反転されて加算器301
に入力し、波形信号W3に対する加算分となる。また、
遅延回路305からの出力信号は、加算器304に入力
し、乗算器302の乗算結果に加算される。このフィル
タ回路109からの最終的な出力信号Wは加算器304
の出力段から取り出している。
【0107】図20は、係数変換回路303のブロック
図を示す。係数変換回路303は、キーコードKC、キ
ーベロシティKV、および音色情報SOFT,BRIG
HTを入力し係数αを出力する。係数変換回路303
は、キーコードKCを入力してそれに対応する係数α1
を出力するα1テーブル311、係数α1に係数k1を
乗算する乗算器312、および乗算器312の出力α2
に係数k2を乗算する乗算器314を具備する。係数k
1は、音色情報SOFT,BRIGHTに応じてk1テ
ーブル313から出力される。係数k2は、キーベロシ
ティKVに応じてk2テーブル315から出力される。
【0108】キーコードKCに対応する係数α1はテー
ブルでなく演算で求めてもよい。最終的に出力される係
数αは、係数α1に係数k1,k2を乗じたものとな
る。基準カットオフ周波数Fcが基本周波数の例えば1
0倍とすると、 α=2π・10・基本周波数/サンプリング周波数 である。したがって、基準カットオフ周波数Fcは Fc=10・基本周波数=α・サンプリング周波数/2
π=α1・k1・k2・サンプリング周波数/2π となる。
【0109】図21(a)は、k1テーブル313の特
性の一例を示す。k1テーブル313は、入力した音色
情報SOFT,BRIGHTに対応してこの図に示すよ
うな特性で係数k1を出力する。図21(b)は、k2
テーブル315の特性の一例を示す。k2テーブル31
5は、入力したキーベロシティKVに対応してこの図に
示すような特性で係数k2を出力する。
【0110】上述したように、例えば音色情報SOFT
は−7≦SOFT≦0の範囲の整数値をとる。ソフトペ
ダルを踏まない状態ではSOFT=0であり、徐々に踏
み込んでいくと音色情報SOFTはそれに応じて減少
し、一番踏み込んだ状態でSOFT=−7となる。音色
は、音色情報SOFTの値が小さいほど、より柔らかい
感じの音色となる。ソフトペダルを徐々に踏み込んでい
くとき、音色情報SOFTは減少していくが、このとき
図21(a)から係数k1も「1.0」から「0.7」
へと減少していく。したがって、上記式により基準カッ
トオフ周波数Fcは下がっていく。このようにして、ソ
フトペダルの踏み込み量に応じて基準カットオフ周波数
Fcを下げていき、踏み込むほど音色がソフトな楽音が
発生されるようにしている。
【0111】同様に、音色情報BRIGHTは−7≦B
RIGHT≦7の範囲の整数値をとる。音色情報BRI
GHTは左ペダルと中央ペダルの踏み込み量から演算で
得ている。音色は、音色情報BRIGHTの値が大きい
ほど、より明るい感じの音色となる。図21(a)か
ら、音色情報BRIGHTがより大きいとき係数k1も
より大きくなり、逆に音色情報BRIGHTがより小さ
いとき係数k1もより小さくなる。したがって、上記式
により音色情報BRIGHTがより大きいとき基準カッ
トオフ周波数Fcがより上がり、逆に音色情報BRIG
HTがより小さいとき基準カットオフ周波数Fcがより
下がる。このようにして、2つのペダルの踏み込み量に
応じて基準カットオフ周波数Fcを上下し、楽音の明る
さという音色を可変できるようにしている。
【0112】キーベロシティKVは0≦KV≦127の
範囲の整数値をとる。鍵を早く押下するほどキーベロシ
ティKVは大きくなる。図21(b)から、キーベロシ
ティKVが大きくなるほど係数k2も大きくなる。した
がって、鍵を早く押下するほど基準カットオフ周波数F
cが上がるようになっている。
【0113】以上のようにして、フィルタ回路109か
ら出力される最終的な楽音信号Wは図1のサウンドシス
テム12に入力し、これにより実際に楽音が発生され
る。
【0114】一方、この出力信号Wはエンベロープ検出
回路110にも入力する。エンベロープ検出回路110
は、各チャンネルの現在のエンベロープ値を検出し、イ
ンターフェース101を介して、CPU3にエンベロー
プ値ENVを知らせる。これが図15のステップS12
4の処理である。さらに、波形記憶回路10からサステ
ィンレートSRとダンプレートDRが、インターフェー
ス101を介して、CPU3に出力される。これが図1
2のステップS93の処理である。
【0115】上記の実施例の電子楽器によれば、ペダル
のような従来の自然楽器に設けられている操作子を用い
て、各種の楽音の制御が可能である。特に、本来は中点
復帰型の操作子で制御すべき楽音のパラメータであって
も、複数の端点復帰型の操作子で制御することが可能で
ある。中点復帰型の操作子で制御するパラメータは例え
ば「0」を中心に上下に変動させるようなパラメータで
あるが、この「0」を中心にした上下の領域をそれぞれ
個別の操作子に割当てているので、演奏者の感覚に即し
た操作が可能である。
【0116】また、上記の実施例の電子楽器では、音源
回路の内部の情報をCPUの側から得ることができるよ
うにしているので、各種のデータをCPUの側と音源回
路の側の2か所に設ける必要がなく、音源回路にハード
ウエア上の余分な負担をかけることもない。なお、上記
実施例では、操作子としてペダルに着目した例を説明し
たが、本発明は別の操作子に適用することもできる。ま
た、これらの操作子を用いて制御する対象も上記の実施
例に限ることはない。複数の操作子の操作量の演算につ
いても、上記実施例のようにペダルの踏み込み量の差を
とる方式に限ることなく、種々の演算を適用してよい。
また、波形読出し方式以外の音源を用いた電子楽器に適
用することもできる。さらに、本発明はピアノ型の電子
楽器だけでなく、種々の形式の電子楽器に適用すること
ができる。
【0117】
【発明の効果】以上説明したように、この発明によれ
ば、CPUなどの制御手段側から音源内部の情報を読出
すことができるので、制御手段側に新たに記憶領域を設
けてこれらの情報をもつ必要がなく、また音源側でも特
殊なハードウエアや余分な記憶領域を設ける必要がな
い。CPUに与えられた情報はCPUの演算を経て加工
されて音源にパラメータとして与えられる。したがっ
て、音源ですべて処理するより簡単に多種多様な楽音合
成を行なうことができる。
【図面の簡単な説明】
【図1】 この発明の一実施例に係る電子楽器のブロ
ック構成図
【図2】 この電子楽器の外観図
【図3】 この電子楽器の音源回路で発生される楽音
のエンベロープ波形図
【図4】 この電子楽器の各ペダルの機能一覧
【図5】 メインルーチンのフローチャート
【図6】 鍵処理ルーチンのフローチャート
【図7】 キーオン処理ルーチンのフローチャート
【図8】 キーオフ処理ルーチンのフローチャート
【図9】 操作子処理ルーチンのフローチャート
【図10】 左ペダル処理ルーチンのフローチャート
【図11】 中央ペダル処理ルーチンのフローチャート
【図12】 右ペダル処理ルーチンのフローチャート
【図13】 パネル処理ルーチンのフローチャート
【図14】 ペダルスイッチ処理ルーチンのフローチャ
ート
【図15】 発音チャンネル処理ルーチンのフローチャ
ート
【図16】 この電子楽器の音源回路の詳細なブロック
構成図
【図17】 波形記憶回路内の楽音波形データの記憶状
態を示す概念図
【図18】 波形記憶回路の内部のメモリ構成詳細図
【図19】 フィルタ回路の構成を示すブロック図
【図20】 フィルタ回路内の係数変換回路のブロック
【図21】 k1テーブルおよびk2テーブルの特性を
示すグラフ
【符号の説明】
1…鍵盤、2…鍵盤インターフェース、3…中央処理装
置(CPU)、4…リードオンリメモリ(ROM)、5
…ランダムアクセスメモリ(RAM)、6…操作子、7
…操作子インターフェース、8…操作パネル、9…パネ
ルインターフェース、10…波形記憶回路、11…楽音
合成回路、12…サウンドシステム、14…バスライ
ン。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−181064(JP,A) 特開 昭62−267798(JP,A) 特開 平2−179699(JP,A) 特開 昭61−13294(JP,A) 特開 昭58−200296(JP,A) 特開 平2−282298(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】楽音を合成するための複数の発音チャンネ
    ルを有する楽音合成手段と、 上記楽音合成手段に接続され、楽音を合成するための種
    々の情報を記憶した記憶手段と、 上記記憶手段には非接続で、上記楽音合成手段に接続さ
    れ、上記楽音合成手段の複数の発音チャンネルに対して
    発生すべき楽音を割り当てて楽音発生の指示を行う制御
    手段とを備えた楽音発生装置であって、 上記楽音合成手段は、上記記憶手段に記憶された情報を
    上記各発音チャンネル毎に読出して、該読み出した各発
    音チャンネル毎の情報を上記制御手段に与えるととも
    に、上記記憶手段から読み出した情報に関連する当該楽
    音合成手段内部の情報を上記各発音チャンネル毎に上記
    制御手段に与える出力手段を含むものであり、 上記制御手段は、上記出力手段により取得した各発音チ
    ャンネル毎の前記楽音合成手段内部の情報を用いて上記
    各発音チャンネル毎に処理を行い、該各発音チャンネル
    毎の処理結果を上記楽音合成手段の各発音チャンネルで
    実施している楽音合成処理に反映させるものであること
    を特徴とする楽音発生装置。
  2. 【請求項2】上記制御手段は、上記出力手段により取得
    した上記記憶装置に記憶された情報を用いて処理を行
    い、該処理結果を上記楽音合成手段で実行している楽音
    合成処理に反映させるとともに、該処理結果が反映され
    た楽音合成処理に関する上記楽音合成手段内部の情報を
    用いて処理を行うものであることを特徴とする請求項1
    記載の楽音発生装置。
JP28217891A 1991-10-02 1991-10-02 楽音発生装置 Expired - Fee Related JP3261713B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28217891A JP3261713B2 (ja) 1991-10-02 1991-10-02 楽音発生装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28217891A JP3261713B2 (ja) 1991-10-02 1991-10-02 楽音発生装置

Publications (2)

Publication Number Publication Date
JPH0594186A JPH0594186A (ja) 1993-04-16
JP3261713B2 true JP3261713B2 (ja) 2002-03-04

Family

ID=17649104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28217891A Expired - Fee Related JP3261713B2 (ja) 1991-10-02 1991-10-02 楽音発生装置

Country Status (1)

Country Link
JP (1) JP3261713B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2773601B2 (ja) * 1993-06-11 1998-07-09 ヤマハ株式会社 信号処理装置
WO2019058457A1 (ja) 2017-09-20 2019-03-28 ヤマハ株式会社 音信号生成装置、鍵盤楽器およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58200296A (ja) * 1982-05-18 1983-11-21 松下電器産業株式会社 包絡線信号発生方法
JPH071430B2 (ja) * 1984-06-29 1995-01-11 カシオ計算機株式会社 電子楽器
JPH02179699A (ja) * 1988-12-30 1990-07-12 Kawai Musical Instr Mfg Co Ltd 楽音波形生成装置
JP2760436B2 (ja) * 1989-04-24 1998-05-28 株式会社河合楽器製作所 楽音に関する波形データの生成装置及び生成方法

Also Published As

Publication number Publication date
JPH0594186A (ja) 1993-04-16

Similar Documents

Publication Publication Date Title
US7091410B2 (en) Apparatus and computer program for providing arpeggio patterns
US4552051A (en) Electronic musical instrument with key touch detector and operator member
JP3177374B2 (ja) 自動伴奏情報発生装置
JPH027078B2 (ja)
US5569870A (en) Keyboard electronic musical instrument having partial pedal effect circuitry
JP2002311957A (ja) 共鳴装置、共鳴方法及び共鳴処理のためのコンピュータプログラム
JP3296518B2 (ja) 電子楽器
JP3261713B2 (ja) 楽音発生装置
US5665931A (en) Apparatus for and method of generating musical tones
JP2698942B2 (ja) 楽音発生装置
JPH0594185A (ja) 電子楽器
JP3530600B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP3387179B2 (ja) 電子楽器
JP2701177B2 (ja) 楽音発生装置
JP3121196B2 (ja) 電子楽器
JP3394626B2 (ja) 電子楽器
JPH096351A (ja) 電子弦楽器
JP2715795B2 (ja) 発音割当手段を有する楽音合成装置
JP4205627B2 (ja) 操作子修正装置、操作子修正方法及び操作子修正のためのコンピュータプログラム
JP3055525B2 (ja) 電子楽器
JP3282675B2 (ja) 電子楽器
JP3077264B2 (ja) 楽音パラメータ表示装置
JPH05181479A (ja) 電子楽器の発音チャンネル割当装置
JP2665326B2 (ja) 電子楽器
JPH0518437B2 (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: 20081221

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees