JP3419562B2 - 楽音信号のレベル制御装置 - Google Patents

楽音信号のレベル制御装置

Info

Publication number
JP3419562B2
JP3419562B2 JP24287394A JP24287394A JP3419562B2 JP 3419562 B2 JP3419562 B2 JP 3419562B2 JP 24287394 A JP24287394 A JP 24287394A JP 24287394 A JP24287394 A JP 24287394A JP 3419562 B2 JP3419562 B2 JP 3419562B2
Authority
JP
Japan
Prior art keywords
tone
level
data
tone signal
key
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
JP24287394A
Other languages
English (en)
Other versions
JPH08106290A (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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP24287394A priority Critical patent/JP3419562B2/ja
Publication of JPH08106290A publication Critical patent/JPH08106290A/ja
Application granted granted Critical
Publication of JP3419562B2 publication Critical patent/JP3419562B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、同時に発音する楽音
の数等に応じて、出力される楽音信号のレベルを制御す
る楽音信号のレベル制御装置に関する。
【0002】
【従来技術】近年のデジタル音源を用いた電子楽器は、
同時に複数の楽音を発音するものがある。これは、デジ
タルデータを用いて発音する楽音信号を1音ずつ多チャ
ンネル時分割方式で生成し、これらのデジタルの楽音信
号を累算合成してD−A変換器でアナログ信号に変換し
た後、サウンドシステム等から発音する。
【0003】
【発明が解決しようとする課題】しかしながら、D−A
変換器の最大振幅(ビット数)が決まっているため、最
大同時発音数の楽音を発生する場合には、累算合成され
た楽音信号レベルをD−A変換器の最大振幅以下に抑え
なければならない。なぜなら、D−A変換器の入力レベ
ルが最大振幅を超えると、大きなノイズ音を発生するか
らである。
【0004】ところが、最大同時発音数が多くなると、
D−A変換器に入力される1楽音毎の楽音信号の最大レ
ベルをD−A変換器の最大振幅に比して大幅に小さくし
なければならない。すなわち、1楽音当りの分解能が低
くなり、D−A変換後の波形の歪みが大きくなる。この
ため、同時発音数が多い場合には、1楽音毎の波形の歪
みは聴者には気にならないが、同時発音数が少ない場合
には、この波形の歪みによってノイズ成分が感じられる
ため、発生楽音が不明瞭になる場合がある。
【0005】本発明は、上述した課題を解決するために
なされたものであり、本発明の目的は、同時発音数が多
い場合には、出力される楽音信号のレベルが大きくなり
過ぎないようにし、同時発音数が少ない場合には、各楽
音毎の分解能を高めて発生楽音を明瞭にすることにあ
る。
【0006】
【課題を解決するための手段】上記課題を解決するため
に、本発明は図1に示すように、楽音信号生成手段M1
と、累算手段M2と、D−A変換器M3と、音量因子検
出手段M4と、楽音信号のレベル修正手段M5、楽音発
生指示手段M6とを備えている。
【0007】各楽音発生指示手段M6の操作に基づい
て、楽音信号生成手段M1によって生成される複数チャ
ンネルCH1〜CHnの楽音信号は、累算手段M2によ
って累算合成され、D−A変換器M3へ送られる。音量
因子検出手段M4によって、同時発音数または同時発音
数の増減に関連する情報等の音量レベル決定因子が検出
される。楽音信号のレベル修正手段M5は、この因子に
基づいて、同時発音数が増加したときには、D−A変換
器M3の最大振幅を超えないように合成楽音信号レベル
を間接的に抑制し、同時発音数が減少した時には、合成
楽音信号レベルの抑制を間接的に排除又は緩和する。
【0008】
【作用】これにより、同時発音数の増減に応じてD−A
変換器の入力信号のレベルが適正に制御される。従っ
て、同時発音数が多い場合にはノイズが発生することを
防止でき、同時発音数が少ない場合には、1楽音当りの
分解能を高めて明瞭な楽音を発音させることができる。
なお、本発明の制御レベルはD−A変換器のキャパシテ
ィに限られるものではなく、適正な振幅(音量)レベル
を実現するものである。
【0009】
【実施例】以下に説明する実施例は、デジタル音源によ
ってアコースティックピアノ、その他の楽器の発生音を
模擬して生成する電子楽器に本発明を適用した例であ
る。
【0010】1.全体回路 図2は電子楽器の全体回路を示す。キーボード1の各キ
ーは、楽音の発音/消音の操作を行う。キースキャン回
路2は、キーボード1をスキャンして、キーオン、キー
オフを表わすデータをCPU5へ送る。このキーオン、
キーオフのスキャンデータは、CPU5によってRAM
6に書き込まれる。そして、CPU5によって、それま
でRAM6に記憶されていた各キーのオン、オフ状態を
示すデータと比較され、各キーのオンイベント、オフイ
ベントの判別が行われる。なお、キースキャン回路2
は、キーオン時またはキーオフ時のタッチを検出して、
このタッチデータをCPU5へ送っている。上記キーボ
ード1は、弦楽器(バイオリン等)、吹奏楽器(フルー
ト等)、打楽器(シンバル等)、コンピュータのキーボ
ードに置き換え可能である。
【0011】パネルスイッチ群3には、電源スイッチ、
モード指定スイッチ、メロディ選択スイッチ、リズム選
択スイッチ、音色選択スイッチ等(図示略)の各種スイ
ッチが設けられている。これらのスイッチのセット/リ
セット状態はパネルスキャン回路4によって検知され、
このスキャンデータはCPU5に送られ、RAM6に書
き込まれる。そして、CPU5によって、それまでRA
M6に記憶されていた各スイッチのセット/リセット状
態を示すデータと比較され、各スイッチのオンイベント
と/オフイベントが判別される。
【0012】RAM6には、CPU5が処理する各種デ
ータ及び処理に必要な各種データが記憶される。ROM
7には、後述するフローチャートに従ってCPU5が実
行するプログラム、その他の処理に対応するプログラム
が記憶されている。なお、図5、6の処理はCPU5が
実行し、図7、15の処理はトーンジェネレータ11内
のCPU(図示せず)が実行してもよい。 デジタル音
源としてのトーンジェネレータ(DCOとも呼ばれる)
11は、複数チャンネル分のデジタルの楽音信号を時分
割処理によって生成する。周波数ナンバ累算器12は、
楽音波形メモリ13へ発音の指示があった楽音波形デー
タMWの読み出しを指示する。この周波数ナンバ累算器
12には、CPU5によってキーナンバデータKN及び
トーンナンバデータTNが送られ、キーナンバデータK
Nに応じた周波数ナンバデータFNが時分割に累算さ
れ、この累算された累算周波数ナンバデータFNAは楽
音波形メモリ13へ読み出しアドレスデータとして時分
割に供給される。トーンナンバデータTNは、CPU5
によって上記周波数ナンバ累算器12へ送られ、バンク
データBKに変換され、上記楽音波形メモリ13へ上位
読み出しアドレスデータとして供給される。下位読み出
しアドレスデータは、上記累算周波数ナンバデータFN
Aである。
【0013】楽音波形メモリ13には、複数の楽音波形
データMWが記憶されている。各楽音波形データMW
は、上記累算周波数ナンバデータFNAに基づいて時分
割に読み出される。各楽音波形データMWの選択は、上
記トーンナンバデータTNに基づいて行われる。上記楽
音波形データMWは、ピアノ、バイオリン、フルート、
マリンバ等の複数種類の楽器音の波形のサンプリングデ
ータである。
【0014】エンベロープジェネレータ14はCPUや
DSPを備えており、発音される楽器のエンベロープを
決める。このエンベロープジェネレータ14には、CU
P5によって上記トーンナンバデータTNが送られ、こ
のトーンナンバデータTNに応じたエンベロープレベル
ENが時分割に生成される。
【0015】上記楽音波形メモリ13からの楽音波形デ
ータ波形データMWと、エンベロープレベルデータE
N、及びCPU5から送られるレベル制御係数データA
Lが乗算器16で乗算され、累算器17で全チャンネル
の楽音データが累算され、デジタルフィルタ18を経
て、D−A変換器19でアナログ信号に変換される。D
−A変換器19のアナログ出力はサウンドシステム20
によって可聴音響に変換される。
【0016】ペダル10は、ダンパペダル、ソフトペダ
ル、ソステヌートペダル等(いずれも図示せず)があ
る。ペダルセンサ9によってペダル10の操作情報が検
知され、この操作データはCPU5へ送られてRAM6
に書き込まれる。
【0017】アサインメントメモリ8には、図3に示す
ように、複数チャンネルCH1〜CHn分(例えば16
チャンネルとする)のメモリエリアが形成されている。
これらのメモリエリアには、キーナンバデータKN、キ
ーオン/キーオフデータ、トーンナンバデータTN(音
色データ)、タッチデータ、エンベロープレベルEN/
フェーズデータFZ等のチャンネル毎の楽音に関するデ
ータが記憶される。
【0018】キーオン/キーオフデータは、チャンネル
が割当てられた楽音が、キーオン中または発音中である
か、キーオフ中または消音中であるかを表わす。エンベ
ロープフェーズデータFZは、発音される楽音のエンベ
ロープのアタック、ディケイ、リリースを示す。このア
サインメントメモリ8は、トーンジェネレータ11内に
インタフェースメモリとして設けてもよい。
【0019】2.レジスタ群 図4はRAM6のレジスタ群及びエンベロープメモリ1
5のデータテーブルを示す。レジスタ30には、ダンパ
ペダルの操作状態を示すためのダンパペダルオンフラグ
DFが記憶される。レジスタ31には、ダンパペダルの
操作に応じて発音される楽音のエンベロープレベルを補
正するための補正定数DKが記憶される。この補正定数
DKは、あらかじめ決められた値であって、ダンパペダ
ルの操作に応じた音量レベル決定因子に応じて決定さ
れ、後述するステップ100でセットされる。レジスタ
32には、押鍵(ノートオン)の数を示すノートオンカ
ウント値ONnが記憶される。レジスタ33−1〜33
nは、各チャンネルCH1〜CHnで発音される楽音の
音域に応じて決められる音域分布係数EL1〜ELnが
記憶される。これらの音域分布係数EL1〜ELnは、
発音される楽音のエンベロープレベルの修正に使用され
る。レジスタ34−1〜34−nには、各チャンネルC
H〜CHnで発音される楽音のエンベロープレベルの制
御のためのレベル制御係数AL1〜ALnが記憶され
る。レジスタ35−1〜35−nには、各チャンネル修
正後のエンベロープレベルEN1〜ENnが記憶され
る。レジスタ36には、後述するノートオンカウント処
理で使用するチャンネルナンバデータnが記憶される。
【0020】データテーブル40には、アタック、ディ
ケイ、リリースの各フェーズ毎、及び音楽的ファクタ毎
に目標レベルデータTLとスピードデータSPが記憶さ
れている。目標レベルデータTLは、各フェーズ毎に設
定されたエンベロープレベルの到達レベルであり、スピ
ードデータSPはエンベロープレベルが目標レベルに到
達する速度を決めるデータである。
【0021】上記音楽的ファクタとは、音高、音域、音
色の種類、タッチ量、エフェクト(リバーブ、エコー、
グライド、ポルタメント等)の種類または/及び大き
さ、音像位置、リズムの種類、演奏パート(メロディ、
ベース、バックグラウンド、リズム)の種類、変調量、
エンベロープレベル、エンベロープスピード、発音経過
時間、音量、発音数、クオンタイズ量、テンポの大き
さ、フィルタ特性データなどである。
【0022】3.全体処理 図5はCPU5によって実行される全体処理のフローチ
ャートである。この処理は、電源投入によってスタート
し、CPU5、RAM6、アサインメントメモリ8、ト
ーンジェネレータ11等の初期化が行われる(ステップ
100)。そして、パネルイベント処理(ステップ20
0)、ペダルイベント処理(ステップ300)、楽音生
成処理(ステップ400)が繰返し実行される。
【0023】その他の処理SJは、キーオンイベント処
理及びキーオフイベント処理、チャンネル割当て処理、
ペダル10の操作に応じた残響音生成処理及び共鳴音生
成処理等の効果処理や、自動演奏処理、MIDIデータ
送受処理等の付加機能の処理等である。なお、残響音生
成処理の例として、特願平6−38608号に開示され
るものがあり、共鳴音生成処理の例として、特願平5−
137863号に開示されるものがある。
【0024】キーオンイベントがあったキーの楽音が発
音されると、そのエンベロープはアタック、ディケイ、
リリースの順に変化して消音されるが、残響音生成処理
及び共鳴音生成処理によってキーオンイベントがあった
キーの楽音の残響音及び共鳴音が生成される。従って、
キー音イベントがあったキーの楽音の生成処理とその残
響音及び共鳴音の生成処理が行われることによって同時
発音数が増加する。また、残響音はキーオフイベント後
も発音されることが多いため、キーオフによって押鍵数
が減っても同時発音数が押鍵数より多い場合がある。上
記キーオンイベント、キーオフイベントは、キーボード
1の操作によるもののほか、再生された自動演奏デー
タ、MIDIシステムより送られて来る他の装置からの
データにも基づく。 パネルイベント処理(ステップ2
00)では、CPU5によって、パネルスイッチ群3の
各スイッチのセット/リセット状態がパネルスキャン回
路4から送られるスキャンデータに基づいて判断され、
この判断に基づいて該当するLEDの点灯や表示が変更
される。
【0025】4.ペダルイベント処理 図6はペダルイベント処理(ステップ300)のフロー
チャートである。ステップ302〜310は、ダンパペ
ダルのオン/オフ状態を記憶するためのダンパペダル処
理である。CPU5は、ペダルセンサ9から送られたペ
ダル10の操作データに基づいてダンパペダルのオンイ
ベント/オフイベントを判別する(ステップ302、3
06)。オンイベント時にはダンパペダルオンフラグD
Fをセットし(ステップ304)、オフイベント時には
ダンパペダルオンフラグDFをリセットする(ステップ
308)。ダンパペダルオンフラグDFは、ダンパペダ
ルのオン/オフ状態を記憶するフラグであり、RAM6
内に記憶される。オフイベント時には、ダンパペダルが
踏まれている間延ばされていた楽音の消音処理が行われ
る(ステップ310)。この消音処理では、アサインメ
ントメモリ8内のキーオフ中であって発音中のチャンネ
ルがクリアされることによって、発音が停止される。
【0026】その他のペダル処理(ステップ312)で
は、例えば、ソフトペダルやソステヌートペダルのオン
イベント/オフイベントに応じてフラグがセット/リセ
ットされたり、ペダルの踏み込み量に応じて発音する楽
音の音量を変化させるパラメータの値が決定される。
【0027】5.楽音生成処理 図7はCPU5によって実行される楽音生成処理(ステ
ップ400)のフローチャートである。この処理は、複
数チャンネルの楽音信号の生成を順次にまたは時分割に
実行する。従って不定周期又は一定周期でチャンネルが
切り換えられ以下の処理が各チャンネルについて繰り返
し実行される。この処理では、発音される楽音のエンベ
ロープを形成するエンベロープデータ形成処理(ステッ
プ410)と、押鍵数を求めるノートオンカウント処理
(ステップ450)と、キーオンイベントまたはキーオ
フイベントのあった楽音の音域に応じた係数を求める音
域分布判別処理(ステップ500)と、エンベロープレ
ベルを制御するための係数を求めるレベル制御係数演算
処理(ステップ550)と、このレベル制御係数を用い
てエンベロープレベルを修正するエンベロープレベル修
正演算処理(ステップ600)とが順次実行されて、同
時発音数の増減に応じて発音する楽音のエンベロープレ
ベルENが増減される。そして、修正後のエンベロープ
レベルENと楽音波形メモリ13から読み出した楽音波
形データMWとを乗じて(ステップ650、660)、
この演算後の楽音波形データMWを累算器17へ出力す
る(ステップ670)。そしてこれらステップ410〜
670の処理は全チャンネルにわたって繰り返される
(ステップ405、680、685、690)。
【0028】サウンドシステム20から発音される楽音
は、ポリフォニックであり、同時に複数の楽音が発音さ
れる場合は、アサインメントメモリ8にキーオンまたは
発音中のデータが記憶されたチャンネルが複数ある場合
である。CPU5及びトーンジェネレータ11は、一定
周期で各チャンネルCH1〜CHnについて楽音生成処
理(ステップ400)を1チャンネルずつ実行する。こ
れによって、キーオンまたは発音中のチャンネルが割当
てられた楽音について、楽音波形データMWが時分割で
形成され、シリアルに累算器17へ出力される。累算器
17でシリアルに入力された複数チャンネルの楽音波形
データMWが累算されて合成データが形成される。この
合成データがデジタルフィルタ18、D−A変換器19
を経てサウンドシステム20から発音される。
【0029】6.エンベロープデータ形成処理 図8は図7中のエンベロープデータ形成処理(ステップ
410)のフローチャートである。まず、CPU5によ
ってアサインメントメモリメモリ8の記憶内容に基づい
て、時分割処理で割当てられたチャンネルCHm(m=
1〜n)のキーがオンイベント状態であるかオフイベン
ト状態であるかが判別される(ステップ412、41
8)。これは上述のその他の処理SJの中のキーオンイ
ベント処理及びキーオフイベント処理において検出され
たキーオンイベントフラグまたはキーオフイベントフラ
グに基づく。キーオンイベントであれば、このキーオン
イベントから発音が開始されるのであるから、アタック
フェーズであることを示すために、このチャンネルCH
mのエンベロープフェーズデータFZmに“01”をセ
ットする(ステップ414)。このエンベロープフェー
ズデータFZmには、アタックフェーズでは“01”、
ディケイフェーズでは“10”、リリースフェーズでは
“00”がセットされる。
【0030】次にエンベロープジェネレータ14によっ
て、このエンベロープフェーズFZmに応じた目標レベ
ルデータTLm及びスピードデータSPmがデータテー
ブル40から読み出される(ステップ416)。このと
き、音楽的ファクタデータもデータテーブル40の検索
の要素に用いられる。また、エンベロープジェネレータ
14によってアサインメントメモリ8内のmチャンネル
CHmからエンベロープレベルデータENmが読み出さ
れ、エンベロープジェネレータ14へ送られる(ステッ
プ416)。このエンベロープレベルデータENmは、
キーオフイベントまたは消音中のデータが記憶された時
にはクリアされるため、キーオンイベント直後には
“0”レベルを示すデータである。そして、エンベロー
プジェネレータ14によって、これらのデータから、m
チャンネルCHmの楽音のアタックフェーズのエンベロ
ープレベルENmが演算される(ステップ428)。こ
の演算は、例えば次式のように行われる。
【0031】 (TL−EN)×SP+EN→EN …(1) この演算によって求められたエンベロープレベルENm
はアサインメントメモリ8のmチャンネルCHmに更新
記憶される。
【0032】その後、チャンネル割当てが繰返し到来し
て、mチャンネルCHmについて楽音生成処理(ステッ
プ400)が繰返し行われると、エンベロープレベルE
Nmはアタックフェーズの目標レベルTLmに向って増
加し、そして目標レベルTLmに到達する。エンベロー
プジェネレータ14は、これを判別して(ステップ43
0)、エンベロープフェーズデータFZmにディケイフ
ェーズを示す“10”をセットする(ステップ43
2)。以後、mチャンネルCHmについては、ディケイ
フェーズの目標レベルデータTLmとスピードデータS
Pmが読出され(ステップ426)、(1)式の演算が
行われる(ステップ428)。これによって、以後、エ
ンベロープレベルENmは、ディケイフェーズの目標レ
ベルTLmへ向って減少して行く。
【0033】mチャンネルCHmの楽音についてキーオ
フイベントがあると、エンベロープジェネレータ14は
これを判別して(ステップ418)、エンベロープフェ
ーズデータFZmにリリースフェーズを示す“00”を
セットする(ステップ420)。以後、mチャンネルC
Hmについては、リリースフェーズの目標レベルデータ
TLmとスピードデータSPmが読出され(ステップ4
22)、(1)式の演算が行われる(ステップ42
8)。これによって、エンベロープレベルENmは、楽
音生成処理(ステップ400)が繰返し行われる毎に、
リリースフェーズの目標レベルTLmへ向って減衰して
行き、そして消音される。これら、エンベロープレベル
ENm及びエンベロープフェーズFZmは、上記アサイ
ンメントメモリ8の対応するチャンネルメモリエリアに
書き込まれる。
【0034】上述の処理が各チャンネルCH1〜CHn
について順次にまたは時分割に高速で繰り返し行われ
る。これによって、キーオンまたは発音中のデータが記
憶されているチャンネルの楽音のエンベロープが形成さ
れる。そして、このエンベロープデータ形成処理(ステ
ップ410)で形成されたエンベロープレベルデータE
Nは、以後の処理(ステップ450、500、550、
600)によって修正される。また、このエンベロープ
データ形成処理(ステップ410)によって形成される
エンベロープレベルデータENは、楽音波形データMW
に乗算されたときに、乗算後の楽音波形データMWのレ
ベルがD−A変換器19によって適正な分解能が得られ
るように、最大レベルと最小レベルが決められている。
例えば、アタックフェーズの目標レベルTLが一定値よ
り低くならないようにデータテーブル40のデータが予
め決められている。
【0035】7.ノートオンカウント処理 図9は図7中のノートオンカウント処理(ステップ45
0)のフローチャートである。まず、CPU5によって
レジスタ32のノートオンカウント値データONnがク
リアされる(ステップ452)。そして、チャンネルナ
ンバデータnが“1”にリセットされる(ステップ45
4)。次に、アサインメントメモリ8の第1チャンネル
メモリエリアCH1にキーオンデータが記憶されている
か否かが判別されて(ステップ456)、キーオンデー
タが記憶されている場合には、ノートオンカウント値デ
ータONnに“1”が加算される(ステップ458)。
【0036】そして、チャンネルナンバデータnを
“1”だけインクリメントして(ステップ462)、次
に2チャンネルCH2について同じ処理を行う(ステッ
プ456、458)。以後、3〜16チャンネルCH3
〜CH16について同じ処理を行った後、次の処理へ移
る(ステップ460)。このようにして、1から16チ
ャンネルの中でキーオンデータが記憶されているチャン
ネルの数を計数することによって押鍵数が求められる。
押鍵数を示すノートオンカウント値ONnはレジスタ3
2に記憶される。
【0037】なお、このステップ450のノートオンカ
ウント処理は、各チャンネルの楽音生成処理(ステップ
400)毎に実行されるが、全チャンネルの楽音生成処
理(ステップ400)につき1回のみ実行されてもよい
し、偶数チャンネルまたは奇数チャンネルのみにおいて
実行されても良い。また、このノートオンカウント値O
Nnは、上記残響音生成処理、共鳴音生成処理が行われ
ているときは、残響音数、共鳴音数に応じて加算、乗算
等の修正が行われてもよい。
【0038】8.音域分布判別処理 図10は図7中の音域分布判別処理(ステップ500)
のフローチャートである。まず、CPU5によって時分
割処理が行われているmチャンネルメモリエリアCHm
について、アサインメントメモリ8にキーオンデータが
記憶されているか(ステップ502)、キーオフデータ
が記憶されているか(ステップ506)が判別される。
キーオンイベントであれば、このキーオンイベントのあ
ったmチャンネルCHmの楽音のキーナンバーデータK
Nがアサインメントメモリ8から読み出される(ステッ
プ504)。キーオフイベントであれば、このキーオフ
イベントのあったmチャンネルCHmの楽音のキーナン
バデータKNがアサインメントメモリ8から読み出され
る(ステップ508)。
【0039】そして、このキーナンバーデータKNに対
応する音域分布係数データELがデータテーブル50か
ら求められる(ステップ510)。このデータテーブル
50は、RAM6内に記憶されており、たとえば、図1
1に示すような特性を示すデータが記憶されている。す
なわち、キーナンバKNが小さい低音域とキーナンバK
Nが大きい高音域とでは、音域分布係数ELが大きく、
中音域では音域分布係数ELが小さくなるような特性で
ある。
【0040】アコースティックピアノは、押鍵されたキ
ーの音が発生するとき、この押鍵されたキーの弦の振動
によって、他の弦が共鳴音を発することがある。共鳴音
を発する弦の音域や数は、押鍵された音域によって異な
り、また押鍵された音域によって他の弦が共鳴音を発す
る程度が異なる。アコースティックピアノの低音域の弦
は太くて長いが、高音域の弦は細くて短く、複数本の弦
で1音を発生する。また、最高音域の弦にはダンパが取
り付けられておらず、常に、開放されている。
【0041】従って、低音域のキーが押鍵された場合、
その倍音列に相当する他の弦が振動し、その共鳴音の程
度も大きい。また、最高音域のキーが押鍵された場合
も、他の弦が共鳴する程度が大きい。さらに、低音域の
弦は振動が大きくエンベロープジェネレータ14によっ
て形成される楽音信号のエンベロープレベルも他の音域
に比べて大きい。また最高音域の弦は、常に開放されて
いるため中音域に比べて振動が大きく、複数の弦で1音
を発生することから音量も中音域に比べて大きい。従っ
て、最高音域の楽音信号のエンベロープレベルも中音域
に比べて大きい。図11のデータテーブル50は、上述
のようにピアノの押鍵された音域によって、共鳴音の数
すなわち同時発音数の増加数や、押鍵されたキーの楽音
の振幅が異なることを考慮して決められている。
【0042】なお、この図11の音域分布係数ELm
は、図11に示されるものに限られず、段差形、「V」
字形、「U」字形、「M」字形、「W」字形、「N」字
形、「S」字形、二山形等、どのような形でもよい。ま
たこの分布係数ELmは、音高(キーナンバKN)に応
じたもののほか、オクターブコード、トーンナンバT
N、タッチデータ、エフェクトデータ、発音経過時間、
演奏パートに応じて決定されてもよい。さらにこの音域
分布係数ELmは、キーナンバKN等を加減乗除、演算
式に基づく演算で求めてもよい。
【0043】上述のように、mチャンネルCHmのキー
ナンバーデータKNに対応する音域分布係数データEL
mがデータテーブル50から求められると、この求めら
れた音域分布係数データELmはレジスタ33−1〜3
3−nのうちのmチャンネルのレジスタ33−mに記憶
される。このmチャンネルのレジスタ33−m以外のレ
ジスタ33−1〜33−(m−1)、33−(m+1)
〜33−nには、楽音生成処理(ステップ400)が順
次にまたは時分割にチャンネルを切り換えて実行される
ことによって、処理が行われている各チャンネルの楽音
についての音域分布係数データELが記憶される。mチ
ャンネルの音域分布係数データELmがレジスタ33−
mに記憶されると、次にmチャンネルのエンベロープレ
ベルENmを増減させるためのレベル制御係数ALmを
求める処理(ステップ550)が行われる。
【0044】なお、キーオンイベントでもキーオフイベ
ントでもない場合には、この音域分布判別処理(ステッ
プ500)は行われない。従って、キーオン中の場合に
は、キーオンイベント時にステップ510で求められた
音域分布係数ELmが次のレベル制御係数演算処理(ス
テップ550)で用いられる。むろん、キーオン中、キ
ーオフ中でも、この処理(ステップ500)を行っても
よい。
【0045】9.レベル制御係数演算処理 図12は図7中のレベル制御係数演算処理(ステップ5
50)のフローチャートである。まず、CPU5によっ
て、時分割処理が行われているmチャンネルCHmにつ
いて、アサインメントメモリ8にキーオンデータが記憶
されているか(ステップ552)、キーオフデータが記
憶されているか(ステップ562)が判別される。キー
オン中であれば、上述のノートオンカウント処理(ステ
ップ450)で求めたノートオンカウント値データON
nがレジスタ32から読み出される(ステップ55
4)。
【0046】そして、このノートオンカウント値データ
ONnに対応するレベル制御係数データALがデータテ
ーブル60から求められる(ステップ556)。このデ
ータテーブル60は、RAM6内に記憶されており、た
とえば図13に示すような特性を示すデータが記憶され
ている。すなわち、ノートオンカウント値ONnが一定
値Kを越えるとレベル制御係数ALが“1”以下に減少
するような特性である。
【0047】ノートオンカウント値ONnは押鍵数を示
すデータであり、ノートオンされているキーの楽音は同
時に発音されるから、このノートオンカウント値ONn
は、残響音や共鳴音等の効果音の数を除いた同時発音数
に相当する。むろん残響音などの数を含めてもよい。
【0048】同時発音数が一定数を超えると、D−A変
換器19の入力信号レベルが最大振幅を越える場合があ
る。そこで、この入力信号レベルが最大振幅を越える場
合のノートオンカウント値ONnをKとする。そして、
ノートオンカウント値ONnが一定数Kを越えたときに
は、D−A変換器19の入力信号レベルが最大振幅以下
になるように、レベル制御係数ALが決められている。
また、レベル制御係数ALは、発生楽音が不明瞭になら
ないように、D−A変換器19の入力信号レベルが最大
振幅以下であっても、あまり低いレベルに抑えられるこ
とがないように決められている。すなわち、レベル制御
係数AL、ノートオンカウント値ONnの増加に伴って
漸減するように決められている。なお、レベル制御係数
ALは、ノートオンカウント値ONnを加減乗除、演算
式に基づく演算で求めてもよい。
【0049】このようにして求められたmチャンネルの
レベル制御係数ALmは、mチャンネルのレジスタ34
−mに記憶される。このmチャンネルのレジスタ34−
m以外のレジスタ34−1〜34−(m−1)、34−
(m+1)〜34−nには、楽音生成処理(ステップ4
00)が順次にまたは時分割でチャンネルを切り換えて
実行されることによって、処理が行われている各チャン
ネルの楽音についてのレベル制御係数ALが記憶され
る。
【0050】レベル制御係数ALmが求められると、次
にmチャンネルの音域分布係数データELmがレジスタ
33−mから読み出され(ステップ558)、レベル制
御係数ALmから減算される(ステップ560)。これ
は、レベル制御係数ALmが、ノートオンカウント値O
Nn、すなわちノートオンされているキーの数に応じて
決められた係数であり、さらにこの係数をキーオンイベ
ントがあったキーの音域に応じて修正するためである。
これによって、mチャンネルCHmのキーがキーオンさ
れたことによる押鍵数の増加と、共鳴音の増加による発
音数の増加または楽音信号の振幅の大小とに基づいて、
レベル制御係数ALmが減少される。この修正後のレベ
ル制御係数ALmは、再びmチャンネルのレジスタ34
−mに記憶される。
【0051】他方、mチャンネルCHmのキーがキーオ
フ中であったときには(ステップ562)、ノートオン
カウント値データONnがレジスタ32から読み出され
(ステップ564)、このノートオンカウント値データ
ONnに対応するレベル制御係数データALmがデータ
テーブル60から求められる(ステップ566)。さら
に、mチャンネルの音域分布係数データELmがレジス
タ33−mから読み出され(ステップ568)、レベル
制御係数ALmに加算される(ステップ570)。これ
によって、mチャンネルCHmのキーがキーオフされた
ことによって共鳴音が減少すること、及びキーオフによ
ってmチャンネルのキーがリリースフェーズに移って楽
音信号の振幅が減少することに基づいて、レベル制御係
数ALmが増加される。この修正後のレベル制御係数A
Lmは再びmチャンネルのレジスタ34−mに記憶され
る。
【0052】mチャンネルCHmのキーオフイベントに
よって押鍵数が減少するが、他のキーのキーオンイベン
トが有る場合を考慮して、ステップ564、566では
新に求められたノートオンカウント値データONnに対
応するレベル制御係数ALmが求められる。
【0053】このように、キーオン/キーオフに伴って
減算/加算が行われたレベル制御係数ALmは、さらに
ダンパペダルのオン/オフに応じて増減される。ステッ
プ560、570の次に、CPU5はレジスタ30から
ダンパペダルオンフラグDFを読出して、このダンパペ
ダルオンフラグDFのセット/リセットを判別する(ス
テップ572、578)。そして、レジスタ31から補
正定数DKが読出される(ステップ574、580)。
次にダンパペダルオンフラグDFがセットされていると
きは、ステップ560、570で修正されたレベル制御
係数ALmから補正定数DKが減算される(ステップ5
76)。また、ダンパペダルオンフラグDFがリセット
されているときは、ステップ560、570で修正され
たレベル制御係数ALmに補正定数DKが加算される
(ステップ582)。
【0054】アコースティックピアノでは、ダンパペダ
ルが踏まれたとき(ダンパペダルオン)には、ダンパが
全弦からから離れて大きな共鳴音が発生する。このこと
から、トーンジェネレータ11ではダンパペダルオンフ
ラグDFがセットされているときは、共鳴音が増大し、
また押鍵されたキーの楽音信号レベルも大きくなるよう
に処理が行われる。このため、D−A変換器19の入力
レベルが大きくなることから、レベル制御係数ALmか
ら補正係数DKを減算してレベル制御係数ALmを減少
させる(ステップ576)。そして、ダンパペダルオン
フラグDFがリセットされたときには、トーンジェネレ
ータ11では共鳴音が減少するように処理が行われるた
め、D−A変換器19の入力レベルが減少する。従っ
て、レベル制御係数ALmに補正係数DKを加算してレ
ベル制御係数ALmを増加させる(ステップ582)。
そして、補正が行われたレベル制御係数ALmは、再び
mチャンネルのレジスタ34−mに記憶される。これら
ステップ552から582のレベル制御係数演算処理は
各チャンネル毎に繰り返される。なお、上記ステップ5
60、570、576、582の加減算処理は、加減乗
除、演算式に基づく演算、またはデータテーブルの読出
しなどでも代用できる。また、上記ステップ572、5
78でオン/オフが判別されるペダル10は、ダンパペ
ダルの他、ソフトペダル、ソステヌートペダル、ミュー
トペダル、シフティングペダル、ラウドペダル、フット
スイッチ等であってもよい。
【0055】10.エンベロープレベル修正演算処理 図14は図7中のエンベロープレベル修正演算処理(ス
テップ600)のフローチャートである。エンベロープ
ジェネレータ14によってアサインメントメモリ8のm
チャンネルCHmからエンベロープレベルデータENm
が読出され(ステップ602)、CPU5によってレジ
スタ34−mからレベル制御係数ALmが読出され(ス
テップ602)、このレベル制御係数ALmはタッチ2
1にラッチされ乗算器16へ転送される。(ステップ6
04)。そして、乗算器16によって、エンベロープレ
ベルデータENmにレベル制御係数ALmが乗算される
(ステップ606)。これによって、エンベロープレベ
ルデータENmは、押鍵数と音域とダンパペダルのオン
/オフに応じた係数ALmによって修正される。この修
正されたmチャンネルのエンベロープレベルデータEN
mは、レジスタ35−mに記憶される。このエンベロー
プレベル修正演算処理(ステップ600)も各チャンネ
ル毎に繰り返される。
【0056】なお、このエンベロープレベル修正演算処
理(ステップ600)、は図17に示すようなエンベロ
ープジェネレータ14の内部で行ってもよい。また、上
記ステップ606の乗算処理は加減乗除、演算式に基づ
く演算、データテーブルの読出しなどでも代用できる。
さらに、上記及び後述のレベル制御係数ALmは、上述
したように音域分布係数データELm、図13のレベル
制御係数ALm、補正定数DKにより決定されるが、こ
の中の1つまたは2つ以上のみによって決定されてもよ
い。
【0057】11.楽音信号出力処理 図7に戻って、上記のように修正されたエンベロープレ
ベルデータENmは、再び読み出しされて乗算器16へ
送られ、楽音波形メモリ13から読み出された楽音波形
データMWに乗算される(ステップ660)。エンベロ
ープが与えられた楽音波形データMWは、乗算器16か
ら累算器17へ送られる(ステップ670)。
【0058】上述のような楽音信号生成処理(ステップ
400)が時分割り処理によって1〜16チャンネルC
H1〜CH16について繰り返し実行される(ステップ
405、680、685、690)。これによって、最
大で16音の楽音(同一キーの楽音が含まれる場合もあ
る)がサウンドシステム20から同時に発音される。
【0059】このように、本実施例は、押鍵数と押鍵さ
れたキーの音域、及びダンパペダルのオン/オフに基づ
いて、エンベロープレベルENを増減させる。すなわ
ち、押鍵数が増加すると同時発音数も増加すること、押
鍵されたキーの音域によって共鳴音が変化し、またキー
の音域によって発音される楽音信号の振幅が異なるこ
と、ダンパペダルが踏まれると共鳴音が増大することを
考慮して、エンベロープレベルENが修正される。
【0060】本実施例では、キーオンイベントがあった
とき、キーオフイベントがあったとき、すなわち押鍵数
が変化したときに、このキーオンイベントまたはキーオ
フイベントがあったキーの楽音のエンベロープレベルE
Nを修正するためのレベル制御係数ALが求められる。
従って、同時に複数の楽音が発音されている場合、各チ
ャンネルに割り当てられている各楽音毎にレベル制御係
数ALは異なる。これによって、キーオンイベントまた
はキーオフイベントによる押鍵数の変化がある毎に、D
−A変換器19の入力レベルが適正なレベルに修正され
る。
【0061】12.楽音生成処理(第2実施例) 上述の第1実施例では、押鍵数とキーオン/キーオフが
あったキーの音域とダンパペダルのオン/オフによって
キーオン/オフのあったキーの楽音を生成するためのエ
ンベロープレベルENmが修正される構成であった。こ
こで、楽音のエンベロープレベルは、アタックレベルが
もっとも大きい。従って、同時発音数が増大したとき
に、キーオンイベントがあったキーの楽音のアタックレ
ベルのみを小さくすることによっても、D−A変換器1
9の入力レベルを適正に調整できる。以下に説明する第
2実施例は、このことを実現したものである。
【0062】図15は図7中の楽音生成処理(ステップ
400)のフローチャートである。図15に示す処理
は、図7に示した処理のエンベロープデータ形成処理
(ステップ410)とエンベロープレベル修正演算処理
(ステップ600)とを削除して、代わりに、レベル制
御係数演算処理(ステップ550)の後にエンベロープ
データ形成・修正処理(ステップ700)を付加したも
のである。
【0063】図16はエンベロープデータ形成・修正処
理(ステップ700)のフローチャートである。先ず、
CPU5によってアサインメントメモリ8のmチャンネ
ルメモリエリアCHmにつき、時分割チャンネルに割り
当てられたキーがオンイベントであるかオフイベントで
あるかが判別される(ステップ702、706)。キー
オンイベントであれば、アタックフェーズであることを
示すために、mチャンネルのエンベロープフェーズデー
タFZmに“01”がセットされる(ステップ41
4)。
【0064】次に、このエンベロープフェーズデータF
Zmに“01”がセットされているか否かが判別される
(ステップ712)。これによってアタックフェーズで
あるか否かが判別される。アタックフェーズであれば、
次にエンベロープジェネレータ14によってこのエンベ
ロープフェーズFZmに対応する目標レベルデータTL
mデータテーブル40から読み出される(ステップ71
4)。このとき読み出される目標レベルデータTLmは
アタックフェーズの目標レベルである。
【0065】そして、このアタックフェーズの目標レベ
ルデータTLmにmチャンネルのレベル制御係 数AL
mが乗算される(ステップ716)。この乗算は演算式
に基づく演算、データメモリの読出し等であってもよ
い。このmチャンネルのレベル制御係数データALm
は、図9、10、12に示されたノートオンカウント処
理(ステップ450)、音域分布判別処理(ステップ5
00)、レベル制御係数演算処理(ステップ550)に
よって決められ、レジスタ34−mに記憶されていたデ
ータである。
【0066】次に、この修正されたアタックフェーズの
目標レベルデータTLmを用いて前述の(1)式によ
り、エンベロープレベルENmが演算される(ステップ
718、722)。これによって、mチャンネルの楽音
のアタックレベルが修正される。この演算によって求め
られたエンベロープレベルENmはアサインメントメモ
リ8のmチャンネルCHmに更新記録される。
【0067】mチャンネルCHmについて楽音生成処理
(ステップ400)が繰り返し行われて、エンベロープ
レベルENmがアタックフェーズの目標レベルTLmに
向って増加し、そして目標レベルTLmに到達する。エ
ンベロープジェネレータ14は、これを判別して(ステ
ップ724)、エンベロープフェーズデータFZmにデ
ィケイフェーズを示す“10”をセットする(ステップ
726)。以後、mチャンネルCHmについては、ディ
ケイフェーズの目標レベルデータTLmとスピードデー
タSPmが読み出され(ステップ720)、(1)式の
演算が行われる(ステップ722)。これによって、m
チャンネルの楽音のエンベロープレベルENmは、修正
されたアタックフェーズの目標レベルTLmからディケ
イフェーズの目標レベルTLmへ向かって減少してい
く。
【0068】そして、mチャンネルCHmの楽音につい
てキーオフイベントがあると、エンベロープジェネレー
タ14はこれを判別して(ステップ706)、エンベロ
ープフェーズデータFZmにリリースフェーズを示す
“00”をセットする(ステップ420)、以後、mチ
ャンネルCHmについては、リリースフェーズの目標レ
ベルデータTLmとスピードデータSPmが読み出され
(ステップ720)、(1)式の演算が行われる(ステ
ップ722)。これによって、mチャンネルの楽音のエ
ンベロープレベルENmは、楽音生成処理(ステップ4
00)が繰り返し行われる毎に、リリースフェーズの目
標レベルTLmへ向かって減衰して行き、そして消音さ
れる。
【0069】上述の処理が各チャンネルCH1からCH
nについて順次にまたは時分割に高速で繰り返し行われ
る。これによって、キーオンまたは発音中のデータが記
憶されているチャンネルの楽音のエンベロープが形成さ
れる。そして、キーオンイベントまたはキーオフイベン
トがあったキーの楽音のアタックレベルが、押鍵数とキ
ーオン/オフのあったキーの音域、及びダンパペダルの
オン/オフに応じて修正される。これによって、同時発
音数の変化がある毎にD−A変換器19の入力レベルが
適正なレベルに修正される。
【0070】13.エンベロープジェネレータ14(第
3実施例) 図17は、エンベロープジェネレータ14の他の構成例
を示す。上記CPU5によって送られてきたトーンナン
バーデータTNは、ラッチ15aを介して、エンベロー
プメモリ15で各フェーズのスピードデータSP0、S
P1、SP2、各フェーズの目標レベルTL0、TL
1、TL2に変換される。各アタックフェーズスピード
データSP0,ディケイフェーズスピードデータSP
1、リリースフェーズスピードデータSP2は、セレク
タ14bでいずれか1つが選択され、イクスクルシブオ
アゲート群14fを介し、アダー14gでそれまでのエ
ンベロープ波形データENに加算され、セレクタ14h
を介し、エンベロープレジスタ14jにセットされる。
このエンベロープレジスタ14jには16チャンネル分
のエンベロープレベルデータEN1〜EN16が記憶さ
れ、チャンネルクロック信号CHφによって順次時分割
にシフトされて出力され、上記アダー14gに入力され
る。
【0071】また、上記各アタックフェーズ目標レベル
データTL0、ディケイフェーズ目標レベルデータTL
1、リリースフェーズ目標レベルデータTL2は、セレ
クタ14aでいずれか1つが選択され、乗算器14cへ
送られる。乗算器14cにはラッチ14dにラッチされ
ていたレベル制御係数ALが送られて乗算される。これ
によって、目標レベルデータTL0、TL1、TL2が
修正される。すなわちエンベロープレベルENがレベル
制御係数ALによって修正される。このレベル制御係数
ALは図12のレベル制御係数演算処理(ステップ55
0)で演算されたデータである。修正後の目標レベルデ
ータはコンパレータ14eに与えられる。このコンパレ
ータ14eには、上記アダー14gからのエンベロープ
レベルデータENも与えられており、エンベロープレベ
ルデータENがフェーズ目標レベルデータTLに一致す
ると一致信号agが出力される。この一致信号agは、
上記セレクタ14hに与えられ、エンベロープレベルデ
ータENとして上記フェース目標レベルデータTLが選
択される。
【0072】この一致信号agは、フェーズインクリメ
ンタ14iにも与えられて、フェーズデータFZが+1
される。フェーズデータFZは、エンベロープ波形のア
タックフェーズ(“01”)、ディケイフェーズ(サス
ティンフェーズ)(“10”)、リリースフェーズ
(“00”)を示すデータである。このフェーズデータ
FZはコンパレータ14eからの信号一致agまたはオ
ン/オフ信号ON/OFFによってインクリメントされ
る。このオン/オフ信号ON/OFFは、上記アサイン
メントメモリ8からCPU5によって読み出されてく
る。フェーズデータFZは、上記セレクタ14a、14
bに与えられて、各フェーズに応じたフェーズ目標デー
タTL,フェーズスピードデータSPが選択される。
【0073】また、フェーズデータFZは2ビットデー
タであるが、各ビットデータはオアゲート14kを介し
て,上記イクスクルシブオアゲート群14fの各ゲート
に与えられるとともに、上記アダー14gのCin端子
に入力される。これにより、エンベロープフェーズFZ
がディケイフェーズ(“10”)、リリースフェーズ
(“00”)のとき、フェーズスピードデータSPがエ
ンベロープレベルデータENに対して減算され、エンベ
ロープ波形のレベル値が小さくなるように演算される。
また、エンベロープフェーズFZがアタックフェーズ
(“01”)の時、フェーズスピードデータSPがエン
ベロープ波形データENに対して加算され、エンベロー
プ波形のレベル値が大きくなるように演算される。
【0074】上記各フェーズ目標レベルデータTLのう
ち、アタックフェーズ目標レベルデータTL0は、「1
1…1」であり、リリースフェーズ目標レベルデータT
L2は、「00…0」であり、ディケイフェーズ目標レ
ベルデータTL1は「11…1」と「00…0」の間の
任意に値に設定される。このディケイフェーズ目標レベ
ルデータTL1は、エンベロープ波形のサスティンレベ
ルと同じである。むろん、各フェーズ目標データTLは
これらの値に限られない。なお、上記乗算器14c、ラ
ッチ14dは、エンベロープメモリ15からセレクタ1
4aへかけての経路、エンベロープレジスタ14jの出
力端に設けてもよい。
【0075】14.キーイベント処理(第4実施例) また、上記楽音生成処理(ステップ400)の代わり
に、図18に示すキーイベント処理(ステップ800)
を実行しても良い。この処理では、CPU5によって、
キーオンイベントまたはキーオフイベントがあったか否
かが判別される(ステップ802、810)キーオンイ
ベント時には、次にキーオンイベント処理(ステップ8
04)が実行される。このキーオンイベント処理は図1
9に示されるような処理である。まず、ノートオンカウ
ント値ONnがインクリメントされる(ステップ82
0)。そして、図10の音域分布判別処理(ステップ5
00)が行われて、キーオンイベントのあったキーの音
域に応じた音域分布係数ELが求められる(ステップ8
22)。
【0076】そして、ノートオンカウント値ONnと音
域分布係数ELとによって、レベル制御係数ALが決定
される(ステップ824)。このレベル制御係数AL
は、たとえば、標準パラメータ定数TALを予め決めて
おき、この標準パラメータ定数TALを、ノートオンカ
ウント値ONnと音域分布係数ELとによって修正する
演算を実行したり、あるいはONnとELとをパラメー
タとするデータテーブルから読み出す処理によって決定
される。音域分布係数ELは、キーオンイベント時に
は、標準パラメータ定数TALを減少させて、出力され
る楽音信号SDのレベルを低下させる方向に作用する。
決定されたレベル制御係数ALは、トーンジェネレータ
11へ送られる(ステップ826)。
【0077】図18へ戻って、上記のキーオンイベント
処理(ステップ804)が終了すると、次に、楽音諸パ
ラメータがトーンジェネレータ11(音源LSI)にロ
ードされる(ステップ806)。楽音諸パラメータは、
エンベロープレベルデータENや、エンベロープメモリ
15に記憶されている目標レベルデータTL、スピード
データSPや、楽音波形メモリ13に記憶されている楽
音波形データMW等である。これらのパラメータが読み
出されると、次に発音処理(ステップ808)が行われ
る。この発音処理では、目標レベルデータTL、スピー
ドデータSP、エンベロープレベルデータEN、楽音波
形データMWに基づいて楽音信号SDが形成され、この
楽音信号SDのレベルが上記レベル制御係数ALによっ
て修正された後、累算器17へ送られて、サウンドシス
テム20から楽音が発音される。音源LSIはトーンジ
ェネレータ11内のLSIである。
【0078】一方、キーオフイベントがあったときに
は、ステップ810の次にダンパペダルオンフラグDF
がセットされているか否かが判別される(ステップ81
2)。そして、ダンパペダルオンフラグDFがセットさ
れている場合にはその他の処理(ステップSJ)へ移
る。また、ダンパペダルオンフラグDFがセットされて
いる場合には、ダンパペダルが踏まれていないので、キ
ーオフイベントのあったキーの楽音をリリースフェーズ
に移行させる。これは、エンベロープメモリ15からリ
リースフェーズの目標レベルデータTLとスピードデー
タSPを読み出してトーンジェネレータ11(音源LS
I)にロードする処理によって行われる(ステップ81
4)。そしてキーオフイベント処理が実行される(ステ
ップ816)。
【0079】図20はキーオフイベント処理のフローチ
ャートである。まず、ノートオンカウント値ONnがデ
クリメントされる(ステップ830)。そして、図10
の音域分布判別処理(ステップ500)が行われて、キ
ーオフイベントのあったキーの音域に応じた音域分布係
数ELが求められる(ステップ832)。そして、ノー
トオンカウント値ONnと音域分布係数ELとによっ
て、レベル制御係数ALが決定される(ステップ83
4)。このキーオフイベント時には、音域分布係数EL
は、標準パラメータ定数TALを増加させて、出力され
る楽音信号SDのレベルを増大させる方向に作用する。
この決定されたレベル制御係数ALは、トーンジェネレ
ータ11へ送られる(ステップ836)。
【0080】本発明は上記実施例に限定されず、本発明
の趣旨を逸脱しない範囲で種々変更可能である。たとえ
ば、上記実施例では、押鍵数と、キーオン/オフのあっ
たキーの音域と、ダンパペダルのオン/オフに基づいて
キーオン/オフのあったキーの楽音のエンベロープレベ
ルまたはアタックレベルを修正しているが、押鍵数の
み、キーの音域または音高のみ、ダンパペダルのオン/
オフのみに基づいて修正を行っても良いし、押鍵数と音
域または音高、押鍵数とダンパペダルのオン/オフ、音
域または音高とダンパペダルオン/オフについて修正を
行っても良い。これらは全て、D−A変換器19の入力
レベルの増減に関与するからである。
【0081】また、図9ノートオンカウント処理(ステ
ップ450)において、キーオンデータが記憶されてい
るチャンネルの数をカウントしているが(ステップ45
6)、これを図21に示したように、発音中のデータが
記憶されているチャンネルの数をカウントをするように
しても良い(ステップ470)。これによって、押鍵が
行われなくても発音される楽音がある場合の同時発音数
を考慮した制御が行える。機種によっては1つのキーで
複数のチャンネルを使用する場合もあり、また、音色の
設定(たとえばピアノ、オルガンハープシコードなど)
によっても使用するチャンネル数が変わる場合もあるか
らである。
【0082】また、レベル制御係数ALは、図13に示
すデータテーブル60のような関係で決められるものに
限定されない。たとえば図22のD1、D2に示すよう
にノートオンカウント値ONnが一定値K以上の時に曲
線的に減少する関係であっても良いし、図21のD3、
D4、D5に示すようにノートオンカウント値ONnの
増加に応じて一定値Pから曲線的または直線的に減少す
る関係であっても良い。
【0083】さらに、上記実施例では、各チャンネルC
H1からCHnの楽音のエンベロープレベルENnまた
はアタックレベルを修正することによって、D−A変換
器19の入力レベルを適正レベルに修正しているが、D
−A変換器19の入力側であれば、トーンジェネレータ
11の出力あるいはデジタルフィルタ18の出力のレベ
ルを修正しても良い。
【0084】また、上記実施例では、各チャンネル毎に
エンベロープレベルENを各チャンネル毎に求めたレベ
ル制御係数ALで修正する例を示したが、全チャンネル
のエンベロープレベルENを同じレベル制御係数ALで
修正しても良い。この場合には、図7の楽音生成処理
(ステップ400)において、ノートオンカウント処理
(ステップ450)と音域分布係数処理(ステップ50
0)とレベル制御係数演算処理(ステップ550)と
を、キーオンイベントまたはキーオフイベントがあった
ときに実行されるインタラプト処理にする。また、図1
2のダンパフラグのオン/オフによって補正定数DKを
加減算する処理(ステップ572〜582)も、ダンパ
ペダルのオン/オフイベントがあったときに実行される
インタラプト処理にする。従って、エンベロープレベル
修正演算処理(ステップ600)では、上記インタラプ
ト処理で演算されたレベル制御係数ALが全チャンネル
に共通して用いられる。
【0085】また、上記実施例では、アコースティック
ピアノの発生音を模擬して生成する電子楽器を発明した
が、ピアノ以外の楽器の発生音を生成する電子楽器にも
本発明を適用できる。この場合、キーボード1は、電子
弦楽器、電子管(リード)楽器、電子等(パッド)楽
器、コンピュータのキーボードなどで代用しても良い。
ダンパペダルのオン/オフに基づくD−A変換器19の
入力レベルの修正は、ピアノ以外にマリンバなどのダン
パ機能を有する楽器の発生音を生成する場合に適用でき
る。
【0086】さらに、上記実施例では、残響音生成処理
や共鳴音生成処理等の効果音を生成する処理を行う電子
楽器を示したが、これらの処理を行わない電子楽器であ
ってもよい。この場合には、少なくともキーオン数を検
出してD−A変換器19の入力信号レベルを修正する処
理を行う。
【0087】また、ダンパペダルのオンによって、キー
ボード1のキーのオフがあっても、キーオフイベント処
理がなされず、同時発音数すなわちノートオンカウント
値データONnが減少しないようにし、ダンパペダルの
オフによって、上記ダンパペダルのオン中にオフのあっ
たキーのキーオフイベント処理がなされるようにして、
ここではじめてノートオンカウント値データONnがオ
ンキー数に一致するようにしてもよい。この場合、特願
平3−85225号の図1の消音処理、図6の全体処
理、図7パネル処理のフローチャートに示される処理が
CPU5によって行われる。
【0088】さらに、上述の各実施例においては音域
(キーナンバデータKN)を、そっくり、音高、音色
(トーンナンバデータTN)、タッチデータに置き換え
て同様の処理を行うことができる。この場合図11の音
域分布係数ELは音高分布係数、音色分布係数、タッチ
分布係数となる。出願当初の特許請求の範囲は以下のと
おりであった。 [A] 楽音の発生を指示する複数の楽音発生指示手段
と、 この複数の楽音発生指示手段のそれぞれの指示に
応じて楽音信号を生成するとともに、この楽音信号のエ
ンベロープレベルを制御する楽音信号生成手段と、 こ
の楽音信号生成手段によって生成される各楽音信号の音
量レベル決定因子を検出する音量因子検出手段と、 こ
の音量因子検出手段によって検出された音量レベル決定
因子に基づいて、上記楽音信号生成手段によって生成さ
れる各楽音信号の音量レベルを修正制御するレベル修正
手段とを備えたことを特徴とする楽音信号のレベル制御
装置。 [B] 上記楽音信号のレベル修正手段は、上記楽音信
号生成手段によって生成される各チャンネル毎の楽音信
号のエンベロープレベルを修正することを特徴とする請
求項A記載の楽音信号のレベル制御装置。 [C] 上記楽音信号のレベル修正手段は、上記楽音信
号生成手段によって生成される各チャンネル毎の楽音信
号のアタックレベルを修正することを特徴とする請求項
A記載の楽音信号のレベル制御装置。 [D] 上記音量因子検出手段は、上記指示されている
楽音発生指示手段の数を検出することを特徴とする請求
項A記載の楽音信号のレベル制御装置。 [E] 上記音量因子検出手段は、上記指示されている
楽音発生指示手段の音域または音高を検出することを特
徴とする請求項A記載の楽音信号のレベル制御装置。 [F] 上記音量因子検出手段は、ダンパペダルのオン
及びオフを検出することを特徴とする請求項A記載の楽
音信号のレベル制御装置。 [G] 上記楽音信号のレベル修正手段は、上記楽音信
号生成手段からの各楽音信号が変換されるD−A変換器
の最大振幅を超えないようにしたり、D−A変換器の最
大振幅から小さくなり過ぎないようにすることを特徴と
する請求項A記載の楽音信号のレベル制御装置。
【0089】
【発明の効果】以上詳述したように、本発明は、キーオ
ン数やキーオン/キーオフのあった音域、あるいはペダ
ルのオン/オフなどの同時発音数または同時発音数の増
減に関連する情報を検出し、この情報に基づいてD−A
変換器に入力される合成楽音信号のレベルを適正レベル
に修正する。これによって、同時発音数が多い場合に
は、合成楽音信号レベルを抑制してD−A変換器の入力
信号レベルが最大振幅を超えることを防止でき、ノイズ
の発生を回避できる。また、同時発音数が少ない場合に
は、合成楽音信号、レベルの抑制を排除又は緩和して、
1楽音当りの分解能を高め、発音される楽音を明瞭にす
ることができる。
【図面の簡単な説明】
【図1】本発明の構成を示すブロック図である。
【図2】電子楽器の全体回路図である。
【図3】アサインメントメモリ8を示す図である。
【図4】レジスタ群及びデータメモリを示す図である。
【図5】全体処理のフローチャートを示す図である。
【図6】ペダルイベント処理のフローチャートを示す図
である。
【図7】楽音生成処理のフローチャートを示す図であ
る。
【図8】エンベロープデータ形成・処理のフローチャー
トを示す図である。
【図9】ノートオンカウント処理のフローチャートを示
す図である。
【図10】音域分布判別処理のフローチャートを示す図
である。
【図11】音域分布係数テーブルを示す図である。
【図12】レベル制御係数演算処理のフローチャートを
示す図である。
【図13】レベル制御係数テーブルを示す図である。
【図14】エンベロープレベル修正演算処理のフローチ
ャートを示す図である。
【図15】第2実施例の楽音生成処理のフローチャート
を示す図である。
【図16】第2実施例のエンベロープデータ形成・修正
処理のフローチャートを示す図である。
【図17】第3実施例のエンベロープジェネレータ14
の構成を示す回路図である。
【図18】第4実施例のキーイベント処理のフローチャ
ートを示す図である。
【図19】第4実施例のキーオンイベント処理のフロー
チャートを示す図である。
【図20】第4実施例のキーオフイベントのフローチャ
ートを示す図である。
【図21】第5実施例のノートオンカウント処理のフロ
ーチャートを示す図である。
【図22】レベル制御係数テーブルの他の例を示す図で
ある。
【符号の説明】
M1…楽音信号生成手段、M2…累算手段、M3…D−
A変換器、M4…音量因子検出手段、M5…楽音信号の
レベル修正手段、M6…楽音発生指示手段、1…キーボ
ード、5…CPU、8…アサインメントメモリ、10…
ペダル、11…トーンジェネレータ、14…エンベロー
プジェネレータ、15…エンベロープメモリ、16…乗
算器、17…累算器、18…デジタルフィルタ、19…
D−A変換器、20…サウンドシステム、30〜36…
レジスタ、40…データテーブル。

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】 アコースティックピアノの発生音を模擬
    して生成する電子楽器において、 この模擬されるアコースティックピアノにおいて、踏ま
    れたときダンパを全弦から離すことを模擬するダンパペ
    ダルと、 楽音の発生を指示する複数の楽音発生指示手段と、 この複数の楽音発生指示手段のそれぞれの指示に応じ、
    この指示されている楽音発生指示手段に対してチャンネ
    ルを割り当てて、複数の楽音信号を生成するとともに、
    この各チャンネル毎の楽音信号のエンベロープレベルを
    制御する楽音信号生成手段と、 上記割り当てられてられる各チャンネルのうち、同時に
    発音中のものを検出するチャンネル検出手段と、 このチャンネル検出手段によって検出された同時に発音
    中のチャンネルの数に基づいて、同時発音数を検出する
    第1の因子検出手段と、 上記チャンネル検出手段によって検出された同時に発音
    中の各チャンネルの楽音の各音域または各音高を検出す
    る第2の因子検出手段と、 上記ダンパペダルのオンまたはオフを検出する第3の因
    子検出手段と、 これら第1、第2及び第3の因子検出手段によって検出
    された決定因子に基づいて、上記楽音信号生成手段によ
    って生成される各チャンネル毎の楽音信号のエンベロー
    プレベルを修正するレベル修正手段とを備えたことを特
    徴とする楽音信号のレベル性制御装置。
  2. 【請求項2】 上記同時発音の各音域または各音高が、
    高音域または低音域に対して中音域の楽音がより多いほ
    ど、上記各チャンネル毎の楽音信号のエンベロープレベ
    ルはより大きく制御され、 上記同時発音数が多いほど、ダンパペダルがオンされて
    いるほど、上記各チャンネル毎の楽音信号のエンベロー
    プレベルはより小さく制御されることを特徴とする請求
    項1記載の楽音信号のレベル制御装置。
  3. 【請求項3】 ダンパペダルがオンされているときは、
    上記楽音発生指示手段のオフがあっても、ダンパペダル
    のオフがあるまでは、当該楽音発生指示手段のオフに基
    づく上記同時発音数の検出、当該楽音発生指示手段のオ
    フに基づく上記同時発音されている楽音の各音域または
    各音高の検出を行わないことを特徴とする請求項1また
    は2記載の楽音信号のレベル制御装置。
  4. 【請求項4】 上記同時発音数が一定値を越えたら、上
    記各チャンネル毎の楽音信号のエンベロープレベルを修
    正する決定因子は変更され、上記同時発音数が一定値を
    越えるまでは、上記各チャンネル毎の楽音信号のエンベ
    ロープレベルを修正する決定因子は変更されないことを
    特徴とする請求項1、2または3記載の楽音信号のレベ
    ル制御装置。
  5. 【請求項5】 上記楽音信号のレベル制御装置は、さら
    に、 上記同時発音されている楽音の音色またはタッチを検出
    する第4の決定因子検出手段を備え、 上記選択手段は、この第4の決定因子検出手段によって
    検出された決定因子にも基づいて、上記各チャンネル毎
    の楽音信号のエンベロープレベルを修正することを特徴
    とする請求項1、2、3または4記載の楽音信号のレベ
    ル制御装置。
  6. 【請求項6】上記楽音信号のレベル修正手段は、上記楽
    音信号生成手段によって生成される各チャンネル毎の楽
    音信号のアタックレベルを修正することを特徴とする請
    求項1、2、3、4または5記載の楽音信号のレベル制
    御装置。
  7. 【請求項7】上記楽音信号のレベル修正手段は、上記楽
    音信号生成手段からの各楽音信号が変換されるD−A変
    換器の最大振幅を超えないようにすることを特徴とする
    請求項1、2、3、4、5または6記載の楽音信号のレ
    ベル制御装置。
JP24287394A 1994-10-06 1994-10-06 楽音信号のレベル制御装置 Expired - Fee Related JP3419562B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24287394A JP3419562B2 (ja) 1994-10-06 1994-10-06 楽音信号のレベル制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24287394A JP3419562B2 (ja) 1994-10-06 1994-10-06 楽音信号のレベル制御装置

Publications (2)

Publication Number Publication Date
JPH08106290A JPH08106290A (ja) 1996-04-23
JP3419562B2 true JP3419562B2 (ja) 2003-06-23

Family

ID=17095514

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24287394A Expired - Fee Related JP3419562B2 (ja) 1994-10-06 1994-10-06 楽音信号のレベル制御装置

Country Status (1)

Country Link
JP (1) JP3419562B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5463724B2 (ja) * 2009-04-27 2014-04-09 カシオ計算機株式会社 楽音発生装置および楽音発生プログラム

Also Published As

Publication number Publication date
JPH08106290A (ja) 1996-04-23

Similar Documents

Publication Publication Date Title
JP4978993B2 (ja) 楽音発生装置
JP7331746B2 (ja) 電子鍵盤楽器、楽音発生方法及びプログラム
JPH09127941A (ja) 電子楽器
JPH04191894A (ja) 鍵盤楽器
US6762357B2 (en) Resonance apparatus, resonance method and computer program for resonance processing
JP7230870B2 (ja) 電子楽器、電子鍵盤楽器、楽音発生方法およびプログラム
JP4335570B2 (ja) 共鳴音生成装置、共鳴音生成方法及び共鳴音生成のためのコンピュータプログラム
JP5305483B2 (ja) 楽音発生装置
JP3419563B2 (ja) 楽音信号のレベル制御装置
JP3419562B2 (ja) 楽音信号のレベル制御装置
JP3436806B2 (ja) 楽音信号のエンベロープ制御装置
JP3530601B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP3530600B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JPH09330079A (ja) 楽音信号発生装置及び楽音信号発生方法
JP2698942B2 (ja) 楽音発生装置
JP4785052B2 (ja) 楽音発生装置
JP3706371B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JP3706372B2 (ja) 楽音信号の周波数特性制御装置及び周波数特性制御方法
JPH0266597A (ja) 楽音合成装置及び楽音合成方法
JP2502169B2 (ja) 楽音合成装置
JP3231896B2 (ja) 電子楽器
JP3231895B2 (ja) 電子楽器
JP2940763B2 (ja) 電子楽器
JP2019168515A (ja) 電子楽器、方法及びプログラム
JPH07175475A (ja) 電子楽器

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees