JPH0519755A - 電子楽器 - Google Patents

電子楽器

Info

Publication number
JPH0519755A
JPH0519755A JP3170955A JP17095591A JPH0519755A JP H0519755 A JPH0519755 A JP H0519755A JP 3170955 A JP3170955 A JP 3170955A JP 17095591 A JP17095591 A JP 17095591A JP H0519755 A JPH0519755 A JP H0519755A
Authority
JP
Japan
Prior art keywords
key
waveform
release
circuit
pedal
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.)
Withdrawn
Application number
JP3170955A
Other languages
English (en)
Inventor
Yasuyuki Umeyama
康之 梅山
Iwao Azuma
岩男 東
Toru Kitayama
徹 北山
Tomoyuki Funaki
知之 船木
Atsumi Kato
充美 加藤
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 JP3170955A priority Critical patent/JPH0519755A/ja
Publication of JPH0519755A publication Critical patent/JPH0519755A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【目的】ピアノの楽音をシミュレートする電子楽器にお
いて、離鍵によるリリース時の楽音を、ピアノの弦のダ
ンピング時の楽音に近い音として再現する。 【構成】ピアノの弦のダンピング時の波形から得た波形
データを、エンベロープ値ENV(または押鍵から離鍵
までの経過時間)に応じた複数の波形セットY0 (N,M)
等として記憶する。記憶している波形データの中から、
離鍵時のエンベロープ値ENV(または押鍵から離鍵ま
での経過時間)に対応する波形データを読出し、リリー
ス部の楽音の波形データとして発生する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、鍵盤の押鍵によって楽
音を発生するとともに離鍵等によって楽音を減衰して消
音し、ピアノなどの自然楽器をシミュレートできるよう
にした電子楽器に関する。
【0002】
【従来の技術】ピアノなどの自然楽器では、音高の違い
ばかりでなく、発音のさせ方や消音のさせ方によって楽
音の特性に大きな違いがあることが知られている。そこ
で、従来、電子楽器では、実際の自然楽器に近い楽音を
発生させるために、楽音の立上り部分(アタック部)の
エンベロープ形状を押鍵速度に応じて変化させたり、楽
音の減衰部分(リリース部)のエンベロープ形状を離鍵
速度に応じて変化させ、鍵の操作状態に応じて楽音を制
御するようにしている。
【0003】上記のような離鍵時の楽音の制御に関して
は多数の技術が提案されており、例えば、特開昭61−
120199号公報には、楽音の波形データをメモリに
記憶しておき、離鍵時の離鍵速度に応じて読出す波形デ
ータを選択するようにした技術が開示されている。
【0004】
【発明が解決しようとする課題】ところで、ピアノなど
においては離鍵したときの楽音(リリース部に対応する
楽音)は、その離鍵速度だけではなく、離鍵時の弦の振
動状態とダンパーによる弦のダンピングの程度などその
他さまざまな要素に応じて変化することが知られてい
る。
【0005】例えば、同じ速度で離鍵したとしても、離
鍵時に弦がまだ大きく振動しているときと振動がほとん
ど減衰してしまっているときとでは、ダンピング時の楽
音は振幅ばかりか周波数特性などが変化する。また、同
じ強度で押鍵して同じ速度で離鍵しても、離鍵のタイミ
ングが異なると、発音状態のそれまでの経過の違いによ
ってダンピング時の楽音の特性が異なったものとなる。
【0006】しかしながら、従来のように単に離鍵速度
だけによってリリース部の楽音を制御するだけでは、上
記ピアノの場合のような自然楽器の挙動を実現すること
ができず、ピアノのダンピング時等の楽音を上手くシミ
ュレートすることができなかった。本発明は、ピアノの
ダンピング時の楽音を上手くシミュレートすることがで
きる電子楽器を提供することを課題とする。
【0007】
【課題を解決するための手段】上記の課題を解決するた
めになした本発明の電子楽器は、鍵盤と、該鍵盤の押鍵
と離鍵を検出する鍵操作情報検出手段と、上記押鍵によ
り楽音信号を発生する楽音信号発生手段と、上記離鍵時
の楽音の振幅情報を検出する振幅情報検出手段と、該振
幅情報に基づく波形情報に応じて上記楽音を上記離鍵時
から減衰させる楽音制御手段とを備えることを特徴とす
る。また、本発明の電子楽器は、鍵盤と、該鍵盤の押鍵
と離鍵を検出する鍵操作情報検出手段と、上記押鍵によ
り楽音信号を発生する楽音信号発生手段と、上記押鍵か
ら上記離鍵までの経過時間を計時する計時手段と、該押
鍵から離鍵までの経過時間時に基づく波形情報に応じて
上記楽音を該離鍵時から減衰させる楽音制御手段とを備
えることを特徴とする。
【0008】
【作用】図1はピアノの楽音のエンベロープ形状の一例
を示す図である。押鍵によって発音して弦の振動を自然
に減衰させた場合のエンベロープは、押鍵時に立ち上が
って直ぐに減衰するアタック部Aと、このアタック部A
に続いて徐々に減衰していく持続部Sとから構成され
る。一方、離鍵やサスティンペダルの解放などによって
弦のダンピングが行われたときは、持続部Sの途中の離
鍵時またはペダル解放時からレベル0まで減衰するリリ
ース部Rが形成される。
【0009】上記リリース部Rにおける楽音の波形はリ
リース部Rの直前の弦の振動状態に大きく影響される
が、このような離鍵時またはペダル解放時が異なること
による振動状態の差は、エンベロープの違いすなわち楽
音の振幅情報や押鍵時から離鍵時までの経過時間の違い
に対応させることができる。
【0010】したがって、電子楽器において、同じ鍵で
発生した楽音信号であっても、離鍵時またはペダル解放
時の楽音の振幅情報に応じてリリース部の波形を変化さ
せると自然楽器に近い楽音を得ることができる。また、
押鍵されてから離鍵時またはペダル解放時までの経過時
間に応じてリリース部の波形を変化させると自然楽器に
近い楽音を得ることができる。
【0011】
【実施例】図2は本発明第1実施例の電子楽器のブロッ
ク図であり、波形読出し方式で16音同時発音が可能な
電子楽器に本発明を適用したものである。また、この実
施例の電子楽器は、鍵盤の他にサスティンを制御するた
めのサスティンペダルを備えている。
【0012】ところで、自然楽器のピアノにおけるダン
パーは、押鍵しているときにだけ弦から離されるのでは
なくサスティンペダルを踏んでいるときにも弦から離さ
れるような構造になっており、サスティンペダルを踏ん
でいない状態での離鍵、または、サスティンペダルによ
る離鍵後発音持続状態でのペダル解放によって、それぞ
れダンパーが弦に降ろされ、弦の振動がダンピングされ
る。
【0013】このため、この実施例では、鍵盤の離鍵速
度と同様にサスティンペダルを解放する速度を検出し、
ペダル解放による楽音のリリース部についても鍵盤にお
ける離鍵時と同様に楽音の制御を行うようにしている。
【0014】図2において、鍵盤1は演奏者による鍵操
作の押鍵時の速度と離鍵時の速度を検出する機構を備え
た鍵盤である。鍵盤インターフェイス1aは、鍵盤1を
走査することによって押鍵(キーオン)と離鍵(キーオ
フ)の各イベントを検出し、イベントのあった鍵のキー
コードKC、押鍵の速度を示す押鍵速度IT(イニシャ
ルタッチ)および離鍵の速度を示す離鍵速度RT(リリ
ースタッチ)をそれぞれ出力する。
【0015】ペダル5は、ピアノなど通常の鍵盤楽器に
付属するサスティンペダルの機能を実現するためのもの
で、鍵盤1の鍵と同様に、ペダルが操作される速度を検
出する機構を備えている。ペダルインターフェイス5a
は、ペダル5の状態を監視してペダルの踏込み動作(ペ
ダルオン)と解放動作(ペダルオフ)の各イベントを検
出し、ペダルを解放する速度を示すペダル離鍵速度PR
を出力する。なお、キーコードKC、押鍵速度IT、離
鍵速度RTおよびペダル離鍵速度PRはそれぞれ“0”
〜“127”の値をとる。
【0016】ROM3には後述説明する制御プログラム
やその他のテーブルデータが記憶されており、CPU2
は、RAM4内に設定したレジスタや配列変数等を用い
ながらROM3の制御プログラムに基づいて電子楽器全
体の動作を制御する。このとき、上記キーコードKC、
押鍵速度IT、離鍵速度RTおよびペダル離鍵速度PR
は、それぞれバス9を介してCPU2によって読み取ら
れる。
【0017】音源回路6は、時分割多重化処理により1
6音同時発音可能な波形メモリ読出し方式の音源であ
り、後述説明するように、CPU2からバス9を介して
入力される各種データに基づいてディジタルの波形信号
w3を生成し、それをサウンドシステム7に出力する。
サウンドシステム7は、D/A変換器、増幅器などから
なり、音源回路6から時分割で出力される波形信号w3
をアナログ波形に変換し、増幅してスピーカ8から楽音
を出力する。
【0018】図3〜図6は実施例における波形データの
構造を概念的に示す図であり、図3はアタック部、図4
は持続部(ループ部)、図5および図6はリリース部を
それぞれ示す。
【0019】なお、ピアノなどの波形では楽音の立ち上
がり部分に音色を決定する大きな特徴があるので、本実
施例では、アタック部の波形は、立上りから持続部直前
までの波形をそのまま記憶している。また、リリース部
についても楽音に特徴があるので減衰するまでの波形を
そのまま記憶している。
【0020】これに対して、楽音の持続部では、振幅は
押鍵からの時間に応じて減少していくものの、波形の形
状自体はアタック部ほどは変化しないので、この持続部
の波形データはループ部として一定区間の波形を記憶
し、それを繰り返し読出すことによりメモリの節約を行
っている。以後、波形データについて記述するときは、
持続部をループ部という。
【0021】ところで、前記のように、音高(キーコー
ド)や押鍵速度等の速度データに応じて楽音を制御する
ことにより、ピアノなどの自然楽器の楽音をある程度シ
ミュレートすることができるが、全てのキーコードや全
ての速度データに対応する波形データを用いなくても、
自然楽器の特徴をとらえることが可能である。
【0022】そこで、この実施例では、キーコードKC
のスケールをN+1段階、押鍵速度IT、離鍵速度RT
およびペダル離鍵速度PRの各スケールをM+1段階、
波形信号w3のエンベロープ値ENVのスケールをK+
1段階の各バンクに分割し、これら各バンクの組合せに
対応する代表的な波形データを2次元配列または3次元
配列で記憶するようにしている。
【0023】図3および図4に示したように、アタック
部とループ部については、キーコードKCと押鍵速度I
Tの各バンクi,jの組合せに対応するアタック部の波
形データW(i,j) とループ部の波形データX(i,j) によ
り、それぞれ2次元配列の波形セットを構成して記憶し
ている。そして、押鍵によって得られるキーコードKC
と押鍵速度ITがそれぞれ属するバンクに対応する波形
データが読み出される。
【0024】また、図6に示したように、リリース部に
ついては、エンベロープ値ENVの分割した各バンクr
毎に、それぞれキーコードKCと離鍵速度RTの各バン
クi,jの組合せに対応するリリース部の波形データY
r (N,M) により波形セットを構成し、図5に示したよう
に、この複数の波形セットをエンベロープ値ENVの各
バンクにそれぞれ対応つけて記憶している。すなわち、
リリース部の波形データは3次元配列として記憶してい
る。そして、リリース部の波形は、離鍵時(またはペダ
ル解放時)のエンベロープ値ENVが属するバンクに対
応する波形セットの中から、押鍵時のキーコードKCと
離鍵速度RTがそれぞれ属するバンクに対応する波形デ
ータが読み出される。
【0025】図7は音源回路6の詳細を示すブロック図
であり、この音源回路6の波形記憶回路603に上記の
各データが記憶されている。図8は波形記憶回路603
の内部のメモリ構成詳細図、図9は図8の波形記憶部に
おける波形データのメモリ構成詳細図であり、図8に示
したように、アタック部、ループ部、リリース部は、波
形データの読出ヘッダとしてそれぞれ独立のアドレステ
ーブルを持っている。
【0026】アタック部とループ部のテーブルには、キ
ーコードKCのバンク(i=0,1,…,N)と押鍵速
度ITのバンク(j=0,1,…,M)の各組合せに対
応する波形データW(i,j) ,X(i,j) についての読出し
先頭アドレスSTART−ADと読出し終了アドレスE
ND−ADがそれぞれ記憶されている。
【0027】リリース部のテーブルは2段階になってお
り、初段のテーブルにはエンベロープ値ENVのバンク
(r=0,1,…,K)に対応する次段のアドレステー
ブルの先頭アドレスが記憶され、この先頭アドレスで指
定される次段のテーブルには、それぞれキーコードKC
のバンク(i=0,1,…,N)と離鍵速度RTのバン
ク(j=0,1,…,M)の組合せに対応する波形デー
タYr(i,j) の読出し先頭アドレスSTART−ADと
読出し終了アドレスEND−ADが記憶されている。
【0028】そして、波形記憶部には、図9に示したよ
うに、アタック部の波形データW(0,0) 〜W(N,M) 、ル
ープ部の波形データX(0,0) 〜X(N,M) 、および、リリ
ース部の波形データY0 (0,0) 〜Y0 (N,M) ,Y1 (0,
0) 〜Y1 (N,M) ,…,YK (0,0) 〜YK (N,M) が順次
記憶されている。なお、これらの各波形データは、実際
のピアノにおける楽音を音高、離鍵速度(ペダル離鍵速
度)および楽音の音量を変化させてサンプリングし、音
高、離鍵速度(ペダル離鍵速度)および楽音の音量を、
それぞれキーコードKC、離鍵速度IT(ペダル離鍵速
度PR)およびエンベロープ値ENVに対応させて分類
したものである。
【0029】ただし、アタック部およびループ部に関し
ては、波形の分解能を保つために自然楽器から採取した
波形をそのまま記憶するのではなく、波形記憶回路60
3の1語のビット数に応じて正規化された波形データと
して記憶している。すなわち、読み出される波形データ
は、周波数特性は変化するがエンベロープ形状に関して
は最初から最後まで一定となる。
【0030】また、リリース部に関しては、エンベロー
プを平坦化するような処理は行わないが、この場合でも
振幅方向の分解能を確保するために、最大振幅値を波形
記憶回路603の1語のビット数に応じてスケーリング
する処理は行われる。なお、ループ部及びリリース部は
波形の接続を容易にするために基本周波数の位相0の位
置から記憶されている。
【0031】さらに、この実施例では、押鍵速度IT、
キーコードKC、離鍵速度RTおよびエンベロープ値E
NVの各変化幅(バンクの幅)をそれぞれ設定する領域
が各アドレステーブルの先頭に設けてある。これらの変
化幅は、楽音発生時の押鍵速度IT、キーコードKC、
離鍵速度RTおよびエンベロープ値ENVを各バンクに
分類するためのもので、[ITレンジ]には押鍵速度I
Tの変化幅が記憶され、[KCレンジ]にはキーコード
KCの変化幅が記憶され、さらに、「RTレンジ」には
離鍵速度RTの変化幅が記憶され、「ENVレンジ」に
はエンベロープ値ENVの変化幅が記憶されている。
【0032】このように、各レンジを設定する領域を設
けることにより、波形記憶回路603内のデータの書換
のみで各パラメータについての分割数を増やすことがで
きるので、分割数を増やしてさらに正確な自然楽器のシ
ミュレートを行おうとする場合にも調整が容易になる。
なお、各パラメータについての分割数は、通常は8段階
程度で充分である。
【0033】次に、図7に基づいて音源回路6の詳細と
動作を説明する。インターフェイス回路601は、CP
U2からバス9を介して入力されるデータを音源回路6
全体に供給するためのインターフェイスの役割を行って
いる。すなわち、インターフェイス回路601は、入出
力される各データのそれぞれについて時分割チャンネル
数16個分のシフトレジスタを備えており、CPU2か
らチャンネル指定されて与えられるデータを、音源回路
6内部の各回路に対してそれぞれの時分割タイミングに
おいて継続的に与えることができるようになっている。
さらに、音源回路6内部で発生するデータもインターフ
ェイス回路601を介してCPU2に出力する。
【0034】このインターフェイス回路601に与えら
れる各データとしては、キーコードKC、押鍵速度I
T、離鍵速度RT、ペダル離鍵速度PR、現在の楽音の
状態を指定するとともにチャンネルの状態を設定するス
テートSTなどである。また、CPU2に出力されるデ
ータとしては、音源回路6におけるエンベロープ値EN
V、リリース波形の読出終了を示す終了信号FINIS
Hなどである。
【0035】上記ステートSTはCPU2により“0”
〜“3”の値に設定され、それぞれ次表1のような状態
を示す。
【表1】
【0036】なお、この音源回路6においては全て16
チャンネルの時分割動作を行うように構成されている
が、以後、簡単のために1チャンネルに対応する動作に
ついて説明する。
【0037】アドレス設定回路602は、ステートST
とアドレス生成回路604からのループリクエスト信号
LOOP−REQに応じて、キーコードKC、押鍵速度
IT、離鍵速度RT、ペダル離鍵速度PRおよびエンベ
ロープ値ENVに基づいて波形記憶回路603のアタッ
ク部、ループ部およびリリース部を選択してアクセス
し、アタック部、ループ部またはリリース部のいずれか
の波形データの読出し先頭アドレスSTART−ADと
読出し終了アドレスEND−ADとを読み出して、アド
レス生成回路604に出力する。また、アドレス生成回
路604の動作を切り換えるための信号としてモードM
ODEを出力する。
【0038】なお、ペダル離鍵速度PRと鍵盤における
離鍵速度RTとは、ともにダンパーが降りる速さに相当
する同じデータであるので、ペダル離鍵速度PRに基づ
いて波形記憶回路603をアクセスするときにはこのペ
ダル離鍵速度PRに「RTレンジ」を適用するなど、こ
のアドレス設定回路602内ではペダル離鍵速度PRは
離鍵速度RTと同じデータとして扱われる。
【0039】ここで、アドレス設定回路602は、ステ
ートSTが“1”のときは、波形記憶回路603のアタ
ック部のITレンジとKCレンジを参照することによ
り、現在の押鍵速度ITとキーコードKCに対応するア
タック部の波形データW(i,j)についての各アドレスS
TART−AD,END−ADを読み出す。
【0040】また、ステートSTが“1”または“2”
のときで、かつアドレス生成回路7からループリクエス
ト信号LOOP−REQが入力されると、波形記憶回路
603のループ部のITレンジとKCレンジを参照する
ことにより、現在の押鍵速度ITとキーコードKCに対
応するループ部の波形データX(i,j) についての各アド
レスSTART−AD,END−ADを読み出す。
【0041】さらに、ステートSTが“3”のときは、
波形記憶回路603のリリース部のENVレンジ、RT
レンジおよびKCレンジを参照することにより、現在の
離鍵速度RT(またはペダル離鍵速度)とキーコードK
Cおよびエンベロープ値ENVに対応するリリース部の
波形データYr (i,j) についての各アドレスSTART
−AD,END−ADを読み出す。
【0042】なお、アドレス設定回路602は、後述説
明するように、ステートSTが“3”のときは、リリー
ス部についての各アドレスSTART−AD,END−
ADを0位相検出回路609からの0位相検出信号PH
0にタイミングを合わせて出力する。また、ステートS
Tが“3”のときアドレス生成回路604からループリ
クエスト信号LOOP−REQが入力されるとリリース
部の波形読出終了を示す信号FINISHを出力する。
【0043】位相発生回路605は、インターフェイス
回路601から入力されるキーコードKCとステートS
Tにより、キーコードKCが示す音高に対応する位相デ
ータを発生し、この位相データの整数部Iを読み出しア
ドレスのアドレス間隔としてアドレス生成回路604に
出力し、位相データの小数部Fを補間データとして補間
回路606に出力する。
【0044】なお、位相発生回路605は一定のタイミ
ングで位相データを更新するが、この位相データはキー
コードKCに対応するピッチに応じて異なる値となり、
同じ波形データであっても読み出すアドレス間隔に応じ
て波形データの周波数特性が変化する。
【0045】アドレス生成回路604は、アドレス設定
回路602から与えられる読出し先頭アドレスSTAR
T−ADを基準にして位相データの整数部Iを順次加算
することにより読出しアドレスADを生成し、この読出
しアドレスADで波形記憶回路603をアクセスする。
これにより、波形記憶回路603から波形データw1が
順次出力されて補間回路606に供給される。
【0046】ここで、アドレス生成回路604にはアド
レス設定回路602からモードMODEが入力されてお
り、アドレス生成回路604は、モードMODEの状態
に応じて動作を切り換える。
【0047】モードMODEが“0”の場合はアタック
部とリリース部のための動作で、読出し先頭アドレスS
TART−ADから読出し終了アドレスEND−ADま
での波形データを一回だけ読み出す。そして、現在の読
出しアドレスADが読出し終了アドレスEND−ADと
一致すると、アドレス設定回路602にループリクエス
ト信号LOOP−REQを出力するとともに、位相発生
回路605にリセットリクエストRESET−REQ信
号を出力する。
【0048】また、モードMODEが“1”の場合はル
ープ部のための動作で、読出し先頭アドレスSTART
−ADから読出し終了アドレスEND−ADまでの波形
データを巡回的に繰り返して読み出し、このとき、現在
の読出しアドレスADが読出し終了アドレスEND−A
Dと一致すると、位相発生回路605にリセットリクエ
ストRESET−REQ信号を出力する。
【0049】ここで、ループ部の波形データは0位相か
ら記憶されており、さらにアドレス生成回路604によ
る読出しアドレスADはSTART−ADと位相データ
の整数部Iの加算によって行われているので、ループ部
の読出しにおいては一巡するたびに位相情報を再設定し
なければならない。このため、上記のようにアタック部
の最後(ループ部に移るとき)と、ループ部の読出しが
一巡する毎にそれぞれ位相発生回路605を0位相にリ
セットする。
【0050】また、リリース部の波形データも0位相か
ら記憶されているが、ループ部からリリース部に移ると
きには、0位相検出回路609によって波形データの位
相が0位相に一致される。すなわち、0位相検出回路6
09は、後述説明する乗算回路608から実際に楽音と
して出力される波形信号w3を入力し、その波形の基本
周波数の位相が“0”になったことを検出してアドレス
設定回路602に0位相検出信号PH0を出力する。ア
ドレス設定回路602は、ステートSTが“3”のとき
は、この0位相検出信号PH0を受けることによってリ
リース部についてのSTART−ADとEND−ADと
をアドレス生成回路604に出力する。これによって、
ループ部とリリース部の波形データが0位相に一致され
る。
【0051】補間回路606は、波形記憶回路603か
らの波形データw1を位相データの小数部Fで時間軸方
向に補間して波形データw2を乗算回路608に出力す
る。ここで波形記憶回路603に記憶されている波形デ
ータは異なるピッチの楽音に対して共通のものが使用さ
れるので、単に整数部のみで読出した場合は、不要なノ
イズが発生してしまうが、位相データの小数部Fを用い
ることによって、それらを防ぐとともに波形容量の圧縮
も可能にしている。
【0052】エンベロープ信号生成回路607は、イン
ターフェイス回路601より与えられる押鍵速度IT、
キーコードKC、ステートSTに応じてエンベロープ信
号ENVを発生する。エンベロープ信号ENVの概形
は、図10に示したようにピアノの2段減衰の特徴を示
すものであり、エンベロープ信号生成回路607は、こ
のエンベロープ形状の最大振幅(全体の高さ)を押鍵速
度ITに応じて設定するとともに、変化率(傾き)をキ
ーコードKCに応じて設定する。
【0053】ここで、エンベロープ信号生成回路607
はステートSTに応じてエンベロープ信号ENVを変化
させる。鍵盤またはサスティンペダルの押鍵状態すなわ
ちステートST=1,2の状態が楽音の減衰まで持続し
た場合は、図10(A) に示したようにエンベロープ値E
NVは0まで減衰する。一方、図10(B) に示したよう
に、途中で離鍵された場合すなわちステートST=3と
なったときは、その時点でのエンベロープ値ENVをホ
ールドする。
【0054】このエンベロープ値ENVはアドレス設定
回路602の他にインターフェイス回路601を介して
CPU2にも出力され、図10(A) のように減衰したと
きには、このエンベロープ値ENVが“0”になること
により、CPU2は発音終了を検出して発音チャンネル
を解除する。また、図10(B) のようにエンベロープ値
ENVがホールドされたときは、CPU2は、前記アド
レス設定回路602から出力される終了信号FINIS
Hにより発音終了を検出して発音チャンネルの解除を行
うとともにステートSTを“0”にしてエンベロープ生
成回路607のホールド状態を解除する。
【0055】乗算回路608は、補間回路606からの
波形データw2にエンベロープ信号ENVを乗算し、最
終的な波形信号w3として前記図2のサウンドシステム
7に出力する。
【0056】ここで、波形記憶回路603の波形データ
のうち、アタック部とループ部については、前記のよう
にエンベロープを取り除いた形となっているが、乗算回
路608でエンベロープ値ENVが乗算されることによ
り、ピアノ音と同様のエンベロープを付与される。ま
た、リリース部については、前記のようにエンベロープ
が付与された形で振幅が最大となるように正規化されて
記憶されているが、離鍵時にホールドされたエンベロー
プ値ENVに応じてそれらの波形データがスケーリング
されることになり、ループ部とのエンベロープ形状が滑
らかに連続するようになる。
【0057】図11はCPU2のメインルーチンのフロ
ーチャート、図12〜図15はそのサブルーチンのフロ
ーチャートであり、各フローチャートの説明を行いなが
ら、図7の音源回路6の動作について説明する。なお、
以下の説明で、KEV(キーイベント記憶レジスタ)な
どのレジスタ名は、その名前を表すとともにそのレジス
タに実際に記憶されている値も示しているものとする。
【0058】演奏者の電源投入などの操作により、CP
U2はステップS100からメインルーチンの処理を開
始する。ステップS100では、音源回路6などの各種
周辺回路の初期設定などを行い、その他、以下のフロー
チャートで用いられる各種変数の初期設定などを行う。
【0059】ステップS101では鍵盤インターフェイ
ス1aにより鍵盤1の走査を行い、ステップS102で
鍵のイベントの有無を判定し、イベント無しと判定され
たときは、ステップS105に進む。
【0060】ステップS102の判定で鍵のイベント有
りと判断されたときは、ステップS103で、キーオン
であるかキーオフであるかのデータ(KON/KOF
F)、キーコード、押鍵速度および離鍵速度を、それぞ
れキーイベント記憶レジスタKEV、キーコード記憶レ
ジスタKC、押鍵速度記憶レジスタITおよび離鍵速度
記憶レジスタRTに書き込み、ステップS104に進
む。
【0061】ステップS104では、キーイベント記憶
レジスタKEVの内容に応じてイベントがキーオンであ
るかキーオフであるかの判定を行い、キーオン(KEV
=KON)であったときはステップS10のKEYON
処理を行ってステップS105に進む。また、キーオフ
(KEV=KOFF)であったときはステップS20の
KEYOFF処理を行ってステップS105に進む。な
お、KEYON処理とKEYOFF処理の詳細について
は後述説明をする。
【0062】ステップS105ではペダルインターフェ
イス5aによりペダル5の走査を行い、ステップS10
6でペダルのイベントの有無を判定し、イベント無しと
判定されたときはステップS40に進む。
【0063】ステップS106の判定でペダルのイベン
ト有りと判定されたときは、ステップS107で、ペダ
ルオンであるかペダルオフであるかのデータ(PON/
POFF)をペダルイベント記憶レジスタPEVに書き
込むとともに、ペダル離鍵速度をペダル離鍵速度記憶レ
ジスタPRに書き込み、ステップS108に進む。
【0064】ステップS108では、ペダルイベント記
憶レジスタPEVの内容に応じて、イベントがペダルオ
ンであるかペダルオフであるかの判定を行い、ペダルオ
ン(PEV=PON)のときはステップS109でペダ
ルフラグPFを“1”に設定してステップS40に進
む。また、ペダルオフ(PEV=POFF)のときはス
テップS30でペダルOFF処理を行ってステップS4
0に進む。
【0065】以上の処理が終了すると、ステップS40
で各チャンネル毎の楽音合成の終了を検出する終了検出
処理を行い、この処理から復帰した後はステップS10
1に戻り、電源が切断されるまで以上の一連の処理を繰
り返す。なお、ペダルOFF処理と終了検出処理の詳細
については後述説明する。
【0066】図12のKEYON処理S10では大きく
わけて次の3つの処理を行う。先ずキーオンされた楽音
を割り当てるべきチャンネルを決定し、次に、割り当て
られたチャンネルの状態を設定する。そして最後に、該
チャンネルに各情報を出力して発音を開始する。以下、
順を追って説明する。
【0067】まず、ステップS11では、16のチャン
ネルについて第0チャンネルから割当可能であるかを判
断するために、チャンネル番号を記憶するレジスタCH
に“0”を設定し、ステップS13によるチャンネル番
号CHのインクリメントとステップS14の判定によ
り、ステップS12を繰り返して空きチャンネルを検索
する。
【0068】ステップS12では、各チャンネル毎の楽
音状態を示すステートST[CH]が“0”であるか否
か、すなわち「CH」チャンネルが現在空きチャンネル
であるか否かを判断し、ステートST[CH]が“0”
であった場合(空き状態)はステップS17に進む。な
お、ST[CH]と各チャンネルの状態の対応は前掲の
表1に示したとおりである。
【0069】ステップS14でCHが“16”と判定さ
れた場合には、現在全ての発音チャンネルが何らかの形
で発音中であることになるが、この実施例では、いわゆ
る後着優先の発音割当方式を用いており、全ての発音チ
ャンネルが発音中であっても新たな押鍵があれば何れか
の発音チャンネルを強制的に消音して、そこに新たな押
鍵音を割り当てる処理を行っている。
【0070】そこで、ステップS15により、エンベロ
ープの振幅値のいちばん小さい発音チャンネルを選択
し、強制的に発音を停止させ空きチャンネルとするトラ
ンケート処理を行う。そして、ステップS16で、この
トランケート処理によって空いた発音チャンネルの番号
をレジスタCHに設定してステップS17に進む。
【0071】以上のようにステップS12あるいはステ
ップS16の処理によって“0”〜“15”までの何れ
かの空きチャンネルの番号がレジスタCHに得られてい
るので、ステップS17でそのチャンネルのステートS
T[CH]を押鍵中であることを示す“1”に設定し、
さらに、ステップS18で、現在そのチャンネルがどの
キーコードで発音しているかを記憶する配列STKC
[CH]に対応するキーコードを設定する。
【0072】そして、ステップS19で、音源回路6の
対応するチャンネルに対して、キーコードKC、押鍵速
度ITおよびチャンネルの状態を示すステートST[C
H]を出力し、メインルーチンに復帰する。
【0073】このように、KEYON処理S10で音源
回路6に情報が出力されると、図7に示す音源回路6で
は、これらの情報がインターフェイス回路601を介し
て各部に与えらて発音が開始される。
【0074】すなわち、アドレス設定回路602は、ス
テートST=1であるので、波形記憶回路603のアタ
ック部テーブルを参照し、押鍵速度ITとキーコードK
Cに対応するアタック部についてのSTART−ADと
END−ADをアドレス生成回路604に出力する。さ
らに、アドレス設定回路602は、アドレス生成回路6
04に対して一回読み出しを指示するモードMODE=
0を出力する。
【0075】一方、位相発生回路605はステートST
=1であるので、キーコードKCに基づいて位相データ
の整数部Iと小数部Fを発生し、アドレス生成回路60
4は波形記憶回路603からアタック部の波形データを
読み出す。
【0076】次に、アタック部の波形データが全て読出
されると、アドレス生成回路604はアドレス設定回路
602に対してLOOP−REQ信号を出力し、この信
号を受け取ったアドレス設定回路602は波形記憶回路
603のループ部テーブルを参照することによって新た
なSTART−ADとEND−ADを出力する。このと
き、ループ部の繰り返し読出を行うためにモードMOD
E=1を出力する。
【0077】アドレス生成回路604は、ループ部のE
ND−ADまで読み出す毎に位相発生回路605にリセ
ット信号RESET−REQを出力し、波形の位相を整
合しながらループ部の波形データを読み出す。
【0078】上記のように、アタック部とループ部の波
形データが読み出されている間に、エンベロープ生成回
路607は押鍵速度ITとキーコードKCに基づいてエ
ンベロープ信号ENVを発生し、補間回路606を介し
て出力されるアタック部およびループ部の波形データと
エンベロープ値ENVが乗算回路608で乗算され、波
形信号w3により発音が行われる。
【0079】図13のKEYOFF処理S20では、先
ず、今回キーオフされたキーコードが現在発音中である
かを検索する。次に、サスティンペダルが踏まれている
かを判定し、サスティンペダルが踏まれていないときに
キーオフを検出すると楽音の発生を停止する。
【0080】先ず、このKEYOFF処理S20でも、
チャンネル番号0から検索する為にステップS21でC
Hに“0”を設定し、ステップS23によるチャンネル
番号CHのインクリメントとステップS24の判定によ
り、ステップS22を繰り返して各チャンネルが発音中
であるか否かを判定する。
【0081】ステップS22では、各チャンネルで現在
発音されているキーコードSTKC[CH]が今回キー
オフされたキーコードKCと同一であるか否かを判断
し、NOと判定され、ステップS24でCHが“16”
と判定された場合には、今回キーオフされたキーコード
KCの楽音がもう発音されていないことに相当するの
で、何もせずにKEYOFF処理を終了してメインルー
チンに復帰する。
【0082】これは、ずっと鍵を押し続けて発音が完全
に減衰してしまった状態や、トランケート処理によっ
て、押鍵中にもかかわらず発音を強制的に終了させられ
てしまった場合などに相当する。
【0083】ステップS22の判定でYESと判定さ
れ、今回のキーオフに対応するキーコードKCの楽音を
発音しているチャンネルが見つかったときには、ステッ
プS25に進み、PFフラグを参照することにより現在
サスティンペダルが踏まれているかどうかを判定する。
【0084】このステップS25の判定でPFフラグ=
1の場合すなわちサスティンペダルが踏み込まれている
場合は、このチャンネルはキーオフにより離鍵されてい
るがサスティンペダルによる発音持続状態であることを
示すために、ステップS26でステートST[CH]を
“2”に設定し、KEYOFF処理ルーチンを終了して
メインルーチンに復帰する。
【0085】ステップS25の判定でPFフラグ=0の
場合すなわちサスティンペダルが踏み込まれていない場
合は、離鍵によるリリース部の発音開始(キーオフ)を
行うために、ステップS27で対応チャンネルのステー
トST[CH]をリリース部を示す“3”に設定する。
そして、ステップS28で、音源回路6の対応するチャ
ンネルに対して、離鍵速度RTおよびチャンネルの状態
を示すステートST[CH]を出力し、メインルーチン
に復帰する。
【0086】このとき、図7の音源回路6では、KEY
ON処理の場合と同様にアドレス設定回路602とエン
ベロープ生成回路607に離鍵速度RTやステートST
[CH]=3などが与えられる。ここで、離鍵速度RT
と前記押鍵速度ITとは実質的に同一の制御情報であ
り、さらに時間的に同一チャンネルに並列して存在する
ことがないので共通の信号線に出力される。また、前記
の理由から後述のペダル離鍵速度PRについても共通の
信号線に出力される。
【0087】アドレス設定回路602は、チャンネルの
状態がステートST=3であるので、エンベロープ生成
回路607からのエンベロープ値ENVとインターフェ
イス回路601からのキーコードKC、離鍵速度RT、
に応じて波形記憶回路603中のリリース部テーブルを
参照してSTART−ADとEND−ADを読み出し、
アドレス生成回路604に出力する。
【0088】ただし、ステートST=3であるので、0
位相検出回路609による0位相の検出を待ってSTA
RT−ADとEND−ADを出力し、ループ部とリリー
ス部との位相を整合させる。なお、この場合も、リリー
ス波形はループ読出をしないので一回読出を指示するた
めにモード信号MODE=0をアドレス生成回路604
に出力する。
【0089】エンベロープ生成回路607は、ステート
ST=3の信号を受けてその時点で出力していたエンベ
ロープ値ENVをそのままホールドする。したがって、
乗算回路608から出力される波形信号w3は、ループ
部の波形信号と連続するようにリリース部の波形データ
がスケーリングされたものとなり、減衰する波形信号と
なって楽音が消音される。以上のようにして離鍵時の楽
音発生終了の処理が行われる。
【0090】図14のペダルOFF処理S30では、現
在発音中の全ての発音チャンネルのうち押鍵されていな
いチャンネルについての消音処理を行う。その際、サス
ティンペダルのペダル離鍵速度に応じて、鍵盤の離鍵速
度の処理と同じ処理が行われる。
【0091】先ず、ステップS31でサスティンペダル
が離鍵状態であることを設定するためにフラグPFに
“0”をセットし、次に、ステップS32でチャンネル
番号CHに“0”を設定し、ステップS36によるチャ
ンネル番号CHのインクリメントとステップS37の判
定により、全てのチャンネルについての検索と、所定チ
ャンネルの消音処理を行う。
【0092】ステップS33では、対応するチャンネル
のステートST[CH]が、サスティンペダルによる楽
音の持続状態を示す“2”となっているか否かを判定
し、判定結果がNOの場合はステップS36に進む。
【0093】ステップS33の判定結果がYESの場合
すなわちサスティンペダルによる発音状態の場合は、ペ
ダルオフによるリリース部の発音開始(キーオフ)を行
うために、ステップS34で対応チャンネルのステート
ST[CH]をリリース部を示す“3”に設定し、ステ
ップS35で、音源回路6の対応するチャンネルに対し
てペダル離鍵速度PRとステートST[CH]を出力し
てステップS36に進む。そして、チャンネル番号CH
が“16”になると、ステップS37からメインルーチ
ンに復帰する。
【0094】以上のペダルOFF処理のステップS35
に対応する音源回路6の動作は、前記図13のKEYO
FF処理のステップS28に対応する動作と同一であ
り、リリース部の波形データによって楽音が消音され
る。
【0095】図15の終了検出処理S40では、ステー
トST=1すなわち押鍵中におけるエンベロープ信号E
NVの0への減衰、ステートST=3すなわち離鍵中に
おけるリリース波形の読出終了を検出して、そのチャン
ネルを空きチャンネルに設定するために各データを書き
換える。この処理でも全てのチャンネルを検索する必要
があるので、ステップS41でチャンネルレジスタCH
を“0”に初期設定し、ステップS46によるチャンネ
ル番号CHのインクリメントとステップS47の判定を
行いながら、ステップS42以降の処理を行う。
【0096】ステップS42では、対応するチャンネル
のステートST[CH]が、チャンネル待機状態を示す
“0”となっているか否かを判定し、判定結果がYES
の場合は対応するチャンネルが発音待機状態であるので
ステップS46に進む。
【0097】ステップS42の判定結果がNOの場合す
なわち発音持続状態の場合は、ステップS43で音源回
路6から対応するチャンネルのエンベロープ値ENVと
リリース波形の読出終了信号FINISHを読み出す。
ここで、エンベロープ値ENVは“0”から例えば“5
11”までの連続的な値を取る数値であり、ENV=0
は楽音の振幅が0となることに相当する。また、FIN
ISHは“0”と“1”のみを取るフラグであり、リリ
ース部の波形の最終アドレスのデータを読出した時点で
“1”となる。
【0098】そこで、ステップS44で、ENV=0ま
たはFINISH=1となっているか否かを判定し、判
定結果がNOであればステップS46に進む。ステップ
S44の判定結果がYESであれば、ステップS45で
該チャンネルのステートST[CH]を発音待機状態を
示す“0”に設定するとともに、キーコードを記憶する
レジスタSTKC[CH]を、そのチャンネルにはいづ
れのキーコードも割り当てられていないことを示す
“0”に設定する。そして、以上の処理を行ってチャン
ネル番号CHが“16”になると、ステップS47から
メインルーチンに復帰する。
【0099】このとき、音源回路6では、ステートST
=0が設定されたチャンネルについて、位相発生回路6
05は位相の計数を停止し、エンベロープ形成回路60
7はエンベロープ値ENVとして“0”を出力し続け
る。
【0100】以上のように、鍵盤における離鍵またはサ
スティンペダルによる発音持続状態でのサスティンペダ
ルの離鍵によって楽音のダンピングが実現され、このダ
ンピング時のリリース部の波形はダンピング開始時のエ
ンベロープ値に応じたものとなる。したがって、実際の
ピアノなどと同様なリリース部の効果を得ることができ
る。
【0101】図16は本発明第2実施例の電子楽器のブ
ロック図、図19はその音源回路6' のブロック図であ
り、この第2実施例の電子楽器は、押鍵から離鍵または
ペダル解放までの経過時間によってリリース部の波形を
制御するようにしたものである。なお、以下の説明およ
び図面において第1実施例と同じ要素には同符号を付記
してその説明は省略する。また、対応する要素には符号
にダッシュを付記してある。
【0102】ROM3' には後述説明するように第1実
施例と略同様の制御プログラムと割り込み処理プログラ
ムが記憶されており、CPU2は、このROM3' の各
プログラムに基づいて電子楽器全体の動作を制御する。
【0103】割り込み制御回路10は、設定されたタイ
ミング毎にCPU2に対して割り込み処理要求信号を発
生する回路であり、CPU2は、この割り込み制御回路
10からの割り込み処理要求信号に応じて、ROM3'
の通常の処理を一時停止し、ROM3' 内の別の箇所に
設けられた割り込み処理プログラムを実行し、押鍵時か
らの経過時間を計時するためのタイムカウンタを更新す
る。
【0104】CPU2は押鍵時にタイムカウンタをリセ
ットし、離鍵またはペダルオフを検出するとタイムカウ
ンタのカウント値を経過時間TCとして読み取る。な
お、このカウント値の上限値は“255”に設定してあ
る。
【0105】図19の音源回路6' は、第1実施例と同
様に16音同時発音可能な波形メモリ読出し方式の音源
であるが、この第2実施例では、波形記憶回路603'
内のリリース部についての波形データは、図17および
図18に示したようにエンベロープ値ENVの代わりに
経過時間TCに対応して複数の波形セットとして記憶さ
れている。
【0106】すなわち、経過時間TCのスケールはL+
1に分割され、経過時間TCの各バンクt毎にそれぞれ
キーコードKCと離鍵速度RTの各バンクi,jの組合
せに対応するリリース部の波形データTt (N,M) により
波形セットが構成されている。さらに、この複数の波形
セットは経過時間TCの各バンクtにそれぞれ対応付け
て記憶されている。
【0107】そして、離鍵時(またはペダル解放時)の
経過時間TCが属するバンクに対応する波形セットの中
から、押鍵時のキーコードKCと離鍵速度RTがそれぞ
れ属するバンクに対応するリリース部の波形データが読
み出される。なお、アタック部とループ部については第
1実施例と同じである。
【0108】この実施例のインターフェイス回路60
1' が第1実施例のものと異なる点は、CPU2から経
過時間TCを入力してアドレス設定回路602' に出力
する点である。また、アドレス設定回路602' が第1
実施例のものと異なる点は、ステートSTが“3”に設
定されて波形記憶回路603' からリリース部のSTA
RT−ADとEND−ADを読み出すとき、エンベロー
プ値ENVの代わりに経過時間TCに基づいてリリース
部テーブルを参照する点である。
【0109】この実施例においてもCPU2は前記図1
1のフローチャートに示したと同様のメインルーチンの
処理を行うが、割り込み制御回路10からの割り込み処
理要求信号により一定のタイミングで図20の割込処理
図S50を行う。なお、メインルーチンにおいて、キー
オンのイベント、キーオフのイベントおよびペダルオフ
のイベントを検出すると、それぞれ、図21のKEYO
N処理S10' 、図22のKEYOFF処理S20' お
よび図23のペダルOFF処理S30' を行う。
【0110】図20の割込処理S50では、先ずステッ
プS51で割込禁止状態にし、ステップS52でチャン
ネル番号記憶レジスタCHに“0”を設定する。そし
て、ステップS55のCHのインクリメントとステップ
S56の判定によって、16チャンネル分についてタイ
ムカウンタTC[CH]の更新(カウントアップ)を行
う。
【0111】すなわち、ステップS53でタイムカウン
タTC[CH]のカウント値が上限“255”に達して
いるか否かを判定し、達していればステップS55に進
み、上限に達していなければステップS54でカウント
アップする。そして、ステップS56でチャンネル番号
CHが“16”になっていると、ステップS57で割込
許可を行ってメインルーチンに復帰する。
【0112】図21のKEYON処理S10' におい
て、ステップS11〜ステップS19の処理は第1実施
例と同じであるが、ステップS161で、押鍵によって
確保されたチャンネルに対応するタイムカウンタTC
[CH]を“0”にリセットする。これにより、押鍵か
らの経過時間TCの計時が開始される。
【0113】図22のKEYOFF処理S20' におい
て、ステップS21〜ステップS27の処理は第1実施
例と同じであるが、ステップS28' で、音源回路6'
の対応するチャンネルに対して、離鍵速度RTとステー
トST[CH]の他に経過時間TCを出力してメインル
ーチンに復帰する。
【0114】これにより、図16の音源回路6' におい
て、アドレス設定回路602' はインターフェイス回路
601' を介して経過時間TCを入力する。このとき、
チャンネルの状態がステートST=3であるので、アド
レス設定回路602' は経過時間TCとキーコードKC
および離鍵速度RTに応じて波形記憶回路603' 中の
リリース部テーブルを参照してSTART−ADとEN
D−ADを読み出し、アドレス生成回路604に出力す
る。そして、押鍵からの経過時間に応じて設定したリリ
ース部の波形データにより前記同様にして楽音が消音さ
れる。
【0115】図23のペダルOFF処理S30' におい
て、ステップS31〜ステップS34、ステップS36
およびステップS37の処理はは第1実施例と同じであ
るが、ステップS35' で、音源回路6' の対応するチ
ャンネルに対して、離鍵速度RTとステートST[C
H]の他に経過時間TCを出力してメインルーチンに復
帰する。
【0116】このペダルOFF処理のステップS35'
に対応する音源回路6' の動作も、第1実施例の場合と
同様に、図22のKEYOFF処理のステップS28'
に対応する動作と同一であり、押鍵からの経過時間に応
じて設定したリリース部の波形データによって楽音が消
音される。
【0117】以上のように、鍵盤またはサスティンペダ
ルの離鍵によって楽音がダンピングされるとき、リリー
ス部の波形は押鍵からの経過時間に応じたものとなり、
実際のピアノなどと同様なリリース部の効果を得ること
ができる。
【0118】なお、上記の実施例では経過時間TCは
“0”から“255”までの値をとるようにしている
が、さらに大きな値を上限にしてもよい。また、この経
過時間TCのスケールの分割の仕方は、例えば16バン
クに均等に分割してもよいが、押鍵からあまり時間が経
過していないときは波形の変動が激しいので、対数的に
分割するようにしてもよい。
【0119】上記の各実施例では波形メモリ読出し方式
の音源を用いているが、周波数変調方式などの音源でも
よい。その場合は、搬送波と変調波の比率や、それぞれ
の周波数、それぞれに付与されるエンベロープ形状な
ど、波形を決定するためのパラメータを記憶しておき、
これらのパラメータを離鍵時のエンベロープ値や押鍵か
らの経過時間などに応じて選択し、自然楽器に近いリリ
ース部の波形データを得るようにすればよい。
【0120】また、上記実施例においては、リリース部
に対して離鍵速度情報およびエンベロープ値に応じて、
複数のリリース波形を用意するようにしたが、大きな振
幅からの減衰に対応するリリース波形をただ一つ用意し
て、離鍵時に、その離鍵速度およびその時点でのエンベ
ロープ値に応じて該離鍵波形の途中の適切な位置からの
波形を離鍵波形とするようにしてもよい。
【0121】この際に、波形を滑らかにつなぐために、
キーオン時の波形と滑らかにつながるリリース波形の読
出し開始点を複数あらかじめ探しておき、上記の離鍵速
度およびエンベロープ値に対応してその点のアドレスを
記憶するようにする。すなわち、本実施例では、リリー
ス波形の記憶される開始アドレスと終了アドレスを各リ
リース波形毎に設けたが、この方法を利用する場合は、
離鍵速度情報などに応じて複数の開始アドレスを設ける
だけで、終了アドレスは全て共通でよい。また、この場
合においても、音高毎、あるいは離鍵速度毎に1つずつ
の波形をもち、離鍵速度毎、あるいは音高毎に読出し開
始アドレスを選択するようにしてもよい。
【0122】なお、前記のあらかじめ探されたアドレス
は、代表的には基本周波数の0位相の地点とし、よっ
て、実施例中の0位相検出回路の出力におうじてその地
点から波形を接続することにより、波形が滑らかにつな
がることが補償される。なた、リリース部の途中から波
形をつなぐ場合、サスティン部のエンベロープとリリー
ス部のエンベロープに不連続が生じるので、リリース部
の波形にある値を乗算してエンベロープも滑らかにつな
がるようにしてもよい。
【発明の効果】以上説明したように本発明によれば、電
子楽器における離鍵後のリリース部の楽音信号の波形
を、離鍵時のエンベロープ値などのそれまでの楽音の振
幅情報に基づいて選択するようにした。また、離鍵後の
リリース部の楽音信号の波形を、押鍵時から離鍵時まで
の経過時間に基づいて選択するようにした。したがっ
て、自然楽器のピアノにおけるダンピング時の弦の振動
状態に対応する制御を行うことができ、ピアノのダンピ
ング時の楽音を上手くシミュレートすることができる。
【図面の簡単な説明】
【図1】本発明に係わるピアノの楽音のエンベロープ形
状の一例を示す図である。
【図2】本発明第1実施例の電子楽器のブロック図であ
る。
【図3】第1実施例におけるアタック部の波形セットの
構造を概念的に示す図である。
【図4】第1実施例におけるループ部の波形セットの構
造を概念的に示す図である。
【図5】第1実施例におけるリリース部の波形セットと
エンベロープ値との関係を概念的に示す図である。
【図6】第1実施例におけるリリース部の波形セットの
構造を概念的に示す図である。
【図7】第1実施例における音源回路のブロック図であ
る。
【図8】第1実施例における波形記憶回路のメモリ構造
詳細図である。
【図9】第1実施例における波形記憶回路の波形記憶部
のメモリ構造詳細図である。
【図10】実施例におけるエンベロープ信号の概形を示
す図である。
【図11】実施例におけるメインルーチンのフローチャ
ートである。
【図12】第1実施例におけるKEYON処理のフロー
チャートである。
【図13】第1実施例におけるKEYOFF処理のフロ
ーチャートである。
【図14】第1実施例におけるペダルOFF処理のフロ
ーチャートである。
【図15】実施例における終了検出処理のフローチャー
トである。
【図16】本発明第2実施例の電子楽器のブロック図で
ある。
【図17】第2実施例におけるリリース部の波形セット
とエンベロープ値との関係を概念的に示す図である。
【図18】第2実施例におけるリリース部の波形セット
の構造を概念的に示す図である。
【図19】第2実施例における音源回路のブロック図で
ある。
【図20】第2実施例における割込処理のフローチャー
トである。
【図21】第2実施例におけるKEYON処理のフロー
チャートである。
【図22】第2実施例におけるKEYOFF処理のフロ
ーチャートである。
【図23】第2実施例におけるペダルOFF処理のフロ
ーチャートである。
【符号の説明】
1…鍵盤、1a…鍵盤インターフェイス、2…CPU、
6,6' …音源回路、602,602' …アドレス設定
回路、603,603' …波形記憶回路、10…割り込
み制御回路。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 船木 知之 静岡県浜松市中沢町10番1号 ヤマハ株式 会社内 (72)発明者 加藤 充美 静岡県浜松市中沢町10番1号 ヤマハ株式 会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 鍵盤と、該鍵盤の押鍵と離鍵を検出する
    鍵操作情報検出手段と、上記押鍵により楽音信号を発生
    する楽音信号発生手段と、上記離鍵時の楽音の振幅情報
    を検出する振幅情報検出手段と、該振幅情報に基づく波
    形情報に応じて上記楽音を上記離鍵時から減衰させる楽
    音制御手段とを備えることを特徴とする電子楽器。
  2. 【請求項2】 鍵盤と、該鍵盤の押鍵と離鍵を検出する
    鍵操作情報検出手段と、上記押鍵により楽音信号を発生
    する楽音信号発生手段と、上記押鍵から上記離鍵までの
    経過時間を計時する計時手段と、該押鍵から離鍵までの
    経過時間時に基づく波形情報に応じて上記楽音を該離鍵
    時から減衰させる楽音制御手段とを備えることを特徴と
    する電子楽器。
JP3170955A 1991-07-11 1991-07-11 電子楽器 Withdrawn JPH0519755A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3170955A JPH0519755A (ja) 1991-07-11 1991-07-11 電子楽器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3170955A JPH0519755A (ja) 1991-07-11 1991-07-11 電子楽器

Publications (1)

Publication Number Publication Date
JPH0519755A true JPH0519755A (ja) 1993-01-29

Family

ID=15914480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3170955A Withdrawn JPH0519755A (ja) 1991-07-11 1991-07-11 電子楽器

Country Status (1)

Country Link
JP (1) JPH0519755A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7470855B2 (en) 2004-03-29 2008-12-30 Yamaha Corporation Tone control apparatus and method
JP2014235398A (ja) * 2013-06-05 2014-12-15 カシオ計算機株式会社 楽音発生装置、楽音発生方法およびプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7470855B2 (en) 2004-03-29 2008-12-30 Yamaha Corporation Tone control apparatus and method
JP2014235398A (ja) * 2013-06-05 2014-12-15 カシオ計算機株式会社 楽音発生装置、楽音発生方法およびプログラム

Similar Documents

Publication Publication Date Title
EP0310133B1 (en) Tone signal generation device
US4573389A (en) Musical tone generation device of waveshape memory type
US5569870A (en) Keyboard electronic musical instrument having partial pedal effect circuitry
JPH0423797B2 (ja)
US5428183A (en) Tone signal generating apparatus for performing a timbre change by storing a full frequency band in a wave memory
JPH0519755A (ja) 電子楽器
JP2692672B2 (ja) 楽音信号発生装置
JP2698942B2 (ja) 楽音発生装置
US5284080A (en) Tone generating apparatus utilizing preprogrammed fade-in and fade-out characteristics
US5403969A (en) Electronic musical instrument of delayed feedback type
US5508471A (en) Automatic performance apparatus for an electronic musical instrument
JPH0333278B2 (ja)
JPS6335038B2 (ja)
JP2701177B2 (ja) 楽音発生装置
JP2537340B2 (ja) 楽音発生装置
JP2508138B2 (ja) 楽音信号発装置
US6362410B1 (en) Electronic musical instrument
JP2560348B2 (ja) 楽音信号発生装置
JP2933186B2 (ja) 楽音合成装置
JP2572317B2 (ja) 自動演奏装置
JP2513041B2 (ja) 楽音信号発生装置
JPH056174A (ja) 楽音信号発生装置
JP2953217B2 (ja) 電子楽器
JP3493838B2 (ja) 電子楽器
US5315058A (en) Electronic musical instrument having artificial string sound source with bowing effect

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19981008