JP3595676B2 - 楽音生成装置及び楽音生成方法 - Google Patents
楽音生成装置及び楽音生成方法 Download PDFInfo
- Publication number
- JP3595676B2 JP3595676B2 JP08666898A JP8666898A JP3595676B2 JP 3595676 B2 JP3595676 B2 JP 3595676B2 JP 08666898 A JP08666898 A JP 08666898A JP 8666898 A JP8666898 A JP 8666898A JP 3595676 B2 JP3595676 B2 JP 3595676B2
- Authority
- JP
- Japan
- Prior art keywords
- envelope
- data
- partial
- tone
- waveform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本願発明は、楽音生成装置または楽音生成方法に関し、特にエンベロープ波形にエンベロープ微細波形を合成する装置及び方法に関する。
【0002】
【従来技術】
種々の波形の楽音波形がメモリに記憶され、この楽音波形が音高に応じた速度で読み出される。また、エンベロープ波形が演算によって生成され、上記楽音波形にこのエンベロープ波形が乗算合成され楽音として出力される。
【0003】
【発明が解決しようとする課題】
ところが、自然界の音は微妙に変化しており、楽音波形やエンベロープ波形を切り換えただけでは対応しきれない微妙な変化を内在している。本願発明の目的は、このような自然界ある音の微妙な変化を実現するものである。
【0004】
【課題を解決するための手段】
本願発明では、エンベロープ微細波形を生成してエンベロープ波形に合成し、エンベロープ波形を細かく変化させるようにした。これにより、エンベロープ波形を微妙に変化させることができ、自然界に存在する音に近づけることができる。また、エンベロープ波形にエンベロープ微細波形を合成するから、楽音波形の周波数特性を変化させることなく、合成楽音の音色を変えることもできる。
【0005】
【発明の実施の形態】
1.全体回路
図1は楽音制御装置または電子楽器の全体回路を示す。キーボード11の各キーは、楽音の発音及び消音を指示するもので、キースキャン回路12によってスキャンされ、キーオン、キーオフを示すデータが検出され、コントローラ2によってプログラム/データ記憶部4に書き込まれる。そして、それまでプログラム/データ記憶部4に記憶されていた各キーのオン、オフの状態を示すデータと比較され、各キーのオンイベント、オフイベントの判別が、コントローラ2によって行われる。
【0006】
このキーボード11の各キーには段差タッチスイッチが設けられ、各段差スイッチごとに上記スキャンが行われ、各段差スイッチの先頭のオン/オフごとにオンイベント/オフイベントの検出が行われる。この段差スイッチによってタッチの速さと強さを示す上記タッチ情報つまりイニシャルタッチデータとアフタタッチデータとが発生される。
【0007】
このキーボード11は、ローアキーボード、アッパーキーボード、ペダルキーボード等から成っており、それぞれにつき異なる音色の楽音、つまりエンベロープ波形の異なる楽音が発音される。そして、アッパーキーボードについては、1つのキーオンで2音色の楽音を同時に鳴らすことも可能である。なお、キーボード11は、電子弦楽器、電子吹奏(管)楽器、電子打楽器(パッド等)、コンピュータのキーボード等で代用される。
【0008】
パネルスイッチ群13の各スイッチは、パネルスキャン回路14によって、スキャンされる。このスキャンにより、各スイッチのオン、オフを示すデータが検出され、コントローラ2によってプログラム/データ記憶部4に書き込まれる。そして、それまでプログラム/データ記憶部4に記憶されていた各スイッチのオン、オフの状態を示すデータと比較され、各スイッチのオンイベント、オフイベントの判別が、コントローラ2によって行われる。
【0009】
ミディインターフェース15は、外部接続された電子楽器との間で楽音データの送受を行うためのインタフェースである。この楽音データはMIDI(ミュージカルインスツルメントデジタルインタフェース)規格のもので、この楽音データに基づいた発音も行われる。
【0010】
上記キーボード11またはミディインターフェース15には、自動演奏装置も含まれる。これらキーボード11、パネルスイッチ群13及びミディインターフェース15から発生された演奏情報(楽音発生情報)は、楽音を発生させるための情報である。
【0011】
上記演奏情報(楽音発生情報)は、音楽的ファクタ(因子)情報であり、音高(音域)情報(音高決定因子)、発音時間情報、演奏分野情報、発音数情報、共鳴度情報などである。発音時間情報は楽音の発音開始からの経過時間を示す。演奏分野情報は、演奏パート情報、楽音パート情報、楽器パート情報等を示し、例えばメロディ、伴奏、コード、ベース、リズム、MIDI等に対応したり、または上鍵盤、下鍵盤、足鍵盤、ソロ鍵盤、MIDI等に対応している。
【0012】
上記音高情報はキーナンバデータKNとして取り込まれる。このキーナンバデータKNはオクターブデータ(音域データ)と音名データとからなる。演奏分野情報は、パートナンバデータPNとして取り込まれ、このパートナンバデータPNは各演奏エリアを識別するデータであって、発音操作された楽音がどの演奏エリアからのものかによって設定される。
【0013】
発音時間情報は、トーンタイムデータTMとして取り込まれ、後述のフローチャートによって求められたり、キーオンイベントからのタイムカウントデータに基づいたり、またはエンベロープフェーズで代用される。この発音時間情報は特願平6−219324号明細書及び図面に発音開始からの経過時間情報として詳しく示される。
【0014】
発音数情報は同時に発音している楽音の数を示し、例えばアサインメントメモリ40のオン/オフデータが「1」の楽音の数に基づき、この数は特願平6−242878号の図9及び図15、特願平6−2476855号の図8及び図18、特願平6−276857号の図9及び図20、特願平6−276858号の図9及び図21のフローチャートに基づいて求められる。
【0015】
共鳴度情報は、同時に発音している1つの楽音と他の楽音との共鳴度を示す。この1つの楽音の音高周波数と他の楽音の音高周波数とが1:2、2:3、3:4、4:5、5:6など小さい整数数倍比であれば共鳴度情報の値は大きく、9:8、15:8、15:16、45:32、64:45など大きい整数数倍比であれば共鳴度情報の値は小さくなる。この共鳴度情報は特願平1−314818号の第7図の共鳴相関テーブル53または共鳴比率テーブル54から読み出される。
【0016】
さらに、上記パネルスイッチ群13には各種スイッチが設けられ、この各種スイッチは音色タブレット、エフェクトスイッチ、リズムスイッチ、ペダル、ホイール、レバー、ダイヤル、ハンドル、タッチスイッチ等であって楽器用のものである。このペダルはダンパーペダル、サスティンペダル、ミュートペダル、ソフトペダル等である。
【0017】
この各種スイッチより、楽音制御情報が発生され、この楽音制御情報は発生された楽音を制御する情報であって音楽的ファクタ(因子)情報であり、音色情報(音色決定因子)、タッチ情報(発音指示操作の速さ/強さ)、発音数情報、共鳴度情報、エフェクト情報、リズム情報、音像(ステレオ)情報、クオンタイズ情報、変調情報、テンポ情報、音量情報、エンベロープ情報等である。これら音楽的ファクタ情報も上記演奏情報(楽音情報)に合体され、上記各種スイッチより入力されるほか、上記自動演奏情報に合体されたり、上記インターフェースで送受される演奏情報に合体されたりする。
【0018】
上記音色情報は、鍵盤楽器(ピアノ等)、管楽器(フルート等)、弦楽器(バイオリン等)、打楽器(ドラム等)の楽器(発音媒体/発音手段)の種類等に対応しており、トーンナンバデータTNとして取り込まれる。上記エンベロープ情報は、エンベロープレベルEL、エンベロープタイムET、エンベロープフェーズEFなどである。
【0019】
このような音楽的ファクタ情報は、コントローラ2へ送られ、後述の各種信号、データ、パラメータの切り換えが行われ、楽音の内容が決定される。上記演奏情報(楽音発生情報)及び楽音制御情報はコントローラ2で処理され、各種データが楽音信号発生部5へ送られ、楽音波形信号MWが発生される。コントローラ2はCPU、ROM及びRAMなどからなっている。
【0020】
プログラム/データ記憶部4(内部記憶媒体/手段)はROMまたは書き込み可能なRAM、フラッシュメモリまたはEEPROM等の記憶装置からなり、光ディスクまたは磁気ディスク等の情報記憶部7(外部記憶媒体/手段)に記憶されるコンピュータのプログラムが書き写され記憶される(インストール/転送される)。またプログラム/データ記憶部4には外部の電子楽器またはコンピュータから上記MIDI装置または送受信装置を介して送信されるプログラムも記憶される(インストール/転送される)。このプログラムの記憶媒体は通信媒体も含む。
【0021】
このインストール(転送/複写)は、情報記憶部7が本楽音生成装置にセットされたとき、または本楽音生成装置の電源が投入されたとき自動的に実行され、または操作者による操作によってインストールされる。上記プログラムは、コントローラ2が各種処理を行うための後述するフローチャートに応じたプログラムである。
【0022】
なお、本装置に予め別のオペレーティングシステム、システムプログラム(OS)、その他のプログラムが記憶され、上記プログラムはこれらのOS、その他のプログラムとともに実行されてもよい。このプログラムは本装置(コンピュータ本体)にインストールされ実行されたときに、別のプログラムとともにまたは単独で請求項(クレーム)に記載された処理・機能を実行させることができればよい。
【0023】
また、このプログラムの一部又は全部が本装置以外の1つ以上の別装置に記憶されて実行され、本装置と別装置との間には通信手段を介して、これから処理するデータ/既に処理されたデータ/プログラムが送受され、本装置及び別装置全体として、本発明が実行されてもよい。
【0024】
このプログラム/データ記憶部4には、上述した音楽的ファクタ情報、上述した各種データ及びその他の各種データも記憶される。この各種データには時分割処理に必要なデータや時分割チャンネルへの割当のためデータ等も含まれる。
【0025】
楽音信号発生部5では、所定長の楽音波形信号MWが繰り返し発生されサウンドシステム6から発音出力される。上記音高情報に応じて、この繰り返し発生される楽音波形信号MWの発生速度は変化される。また上記音高色情報などの音楽的ファクタ情報に応じて、この繰り返し発生される楽音波形信号MWの波形形状は切り換えられる。この楽音信号発生部5は時分割処理によって複数の楽音信号が同時に生成されポリフォニックに発音される。
【0026】
タイミング発生部3からは、楽音生成装置の全回路の同期を取るためのタイミングコントロール信号が各回路に出力される。このタイミングコントロール信号は、各周期のクロック信号のほか、これらのクロック信号を論理積または論理和した信号、時分割処理のチャンネル分割時間の周期を持つ信号、チャンネルナンバデータCHNo、タイムカウントデータTIなどを含む。このタイムカウントデータTIは、絶対時間つまり時間の経過を示し、このタイムカウントデータTIのオーバフローリセットから次のオーバフローリセットまでの周期は、各楽音のうち最も長い発音時間より長く、場合によって数倍に設定される。
【0027】
2.部分音テーブル20
図2はプログラム/データ記憶部4内の部分音テーブル20を示す。この部分音テーブル20には、各音色(トーンナンバデータTN)の楽音を構成する各部分音のデータが記憶され、対応する部分音のデータがトーンナンバデータTNから変換され読み出される。この部分音のデータは、複数の周波数ナンバ比データFNR、複数のエンベロープデータ及びエンベロープ微細データEBからなっている。
【0028】
周波数ナンバ比データFNRは、音高に応じた基本周波数に対する各部分音の周波数の比を示す。指定された音高周波数に対して、この周波数ナンバ比データFNRが乗算され、各部分音の周波数が求められる。基本周波数の周波数ナンバ比データFNRは「1」であるから省略されてもよい。この周波数の異なる楽音波形が部分楽音波形となる。
【0029】
エンベロープデータは、上記各部分音ごとのエンベロープを示す。この各エンベロープデータは、各エンベロープフェーズごとのエンベロープスピードデータES及びエンベロープレベルデータELからなっている。エンベロープスピードデータESはエンベロープのデジタル演算1周期当たりの演算のステップ値を示す。エンベロープレベルデータELは各フェーズの末尾でエンベロープ演算値が到達する目標値を示す。このエンベロープスピードデータES及びエンベロープレベルデータELによって演算されるエンベロープ波形データEN(部分エンベロープ波形EN1、EN2、EN3、…)の振幅は、各部分音(各楽音)の発生量を示す。これら各エンベロープスピードデータES及び各エンベロープレベルデータEL、つまり各エンベロープデータによって、各部分エンベロープ波形が形成される。
【0030】
この部分音の数は1つの音色につき複数であるが、場合によって1つもある。この部分音は1つの楽音につき合成されて出力される。この合成割合は上記エンベロープデータに応じて変化する。もしこのエンベロープデータによるエンベロープ演算レベルが「0」であれば、当該部分音の割合は「0」となる。この「0」は全エンベロープ波形の中の一部のみで表れることもある。この各部分音のそれぞれに1つずつチャンネルが割り当てられ、個別にエンベロープ制御され、合成されて出力される。
【0031】
エンベロープ微細指定データBSによってエンベロープ微細波形データEBの種類が指定され、このエンベロープ微細波形データEBはエンベロープ波形データEN(部分エンベロープ波形EN1、EN2、EN3、…)に合成されてエンベロープ波形データEN(部分エンベロープ波形EN1、EN2、EN3、…)が細かく変化される。この複数種類のエンベロープ微細波形データEBはメモリに記憶され選択されたものが順次読み出され、フィルタ制御されて上記エンベロープ波形データEN(部分エンベロープ波形EN1、EN2、EN3、…)に合成されて出力される。
【0032】
3.アサインメントメモリ40
図3は、楽音信号発生部5のアサインメントメモリ40を示す。アサインメントメモリ40には、複数(16、32または64等)のチャンネルメモリエリアが形成されており、上記楽音信号発生部5に形成された複数の楽音生成チャンネルに割り当てられた部分音に関するデータが記憶される。
【0033】
これら各チャンネルメモリエリアには、チャンネルが割当られた部分音の周波数ナンバデータFN、キーナンバデータKN、上記エンベロープスピードデータES並びにエンベロープレベルデータEL、エンベロープ微細指定データBS、エンベロープフェーズデータEFが記憶される。なお、トーンナンバデータTN、タッチデータTC、トーンタイムデータTM、パートナンバデータPN、上記共鳴度情報、オン/オフデータ等も記憶される。
【0034】
オン/オフデータは割り当られ発音する楽音(部分音)がキーオン中または発音中(“1”)かキーオフ中または消音中(“0”)かを示す。周波数ナンバデータFNは割り当られ発音する部分音の周波数値を示し、上記キーナンバデータKNから変換され、さらに上記周波数ナンバ比データFNRが乗算される。上記プログラム/データ記憶部4には、この変換のためのテーブル(デコーダ)が設けられている。
【0035】
上記エンベロープスピードデータES、エンベロープレベルデータEL、エンベロープフェーズデータEF及びエンベロープ微細指定データBSは上述したとおりである。フェーズカウンタ50からのカウント値が取り込まれ、エンベロープフェーズデータEFとしてアサインメントメモリ40に記憶される。
【0036】
キーナンバデータKNは割り当られ発音する楽音の音高(周波数)を示し、上記音高情報に応じて決定される。このキーナンバデータKNは、1つの楽音を構成する各部分音すべてについて記憶され、オンイベントがあって当該部分音がチャンネル割り当てされ合成されるたびに、キーナンバデータKNがアサインメントメモリ40の該当チャンネルメモリエリアに付加記憶され、オフイベントのたびに対応するキーナンバデータKNは消去される。キーナンバデータKNの上位データは音域またはオクターブを示し、下位データは音名を示す。
【0037】
トーンナンバデータTNは、割り当てられ発音する楽音の音色を示し、上記音色情報に応じて決定される。このトーンナンバデータTNが異なれば音色も異なり、この楽音の楽音波形も異なる。タッチデータTCは、発音操作の速さまたは強さを示し、上記タッチ情報に応じて決定される。パートナンバデータPNは、上述したように各演奏エリアを示し、発音操作された楽音がどの演奏エリアからのものかによって設定される。トーンタイムデータTMは、キーオンイベントからの経過時間を示す。
【0038】
これら各チャンネルメモリエリアの各データは、オンタイミング及び/又はオフタイミングに書き込まれ、各チャンネルタイミングごとに書き換えられたり、読み出されたりして、上記楽音信号発生部5で処理される。このアサインメントメモリ40は、楽音信号発生部5の中ではなく、プログラム/データ記憶部4またはコントローラ2の中に設けてもよい。
【0039】
上記時分割処理によって形成されるチャンネル、すなわち複数の楽音(部分音)を並行して発生するための複数の楽音発生システムへの各楽音の割り当て方法またはトランケート方法は、例えば特願平1−42298号、特願平1−305818号、特願平1−312175号、特願平2−2089178号、特願平2−409577号、特願平2−409578号に示された方法が使われる。
【0040】
4.楽音信号発生部5
図4は上記楽音信号発生部5を示す。上記アサインメントメモリ40の各チャンネルの周波数ナンバデータFN、トーンナンバデータTN、パートナンバデータPN、タッチデータTC等は、波形読み出し部41へ送られ、波形メモリ42からトーンナンバデータTN、パートナンバデータPN、タッチデータTCに応じた楽音波形データMWが時分割に選択される。
【0041】
各周波数ナンバデータFNは時分割に順次累算されこの累算値の上位データが読み出しアドレスとして波形メモリ42へ送られ、選択された楽音波形データMWが周波数ナンバデータFNに応じた速度(音高)で時分割に読み出される。読み出された各楽音波形データMWは乗算器43で各エンベロープデータENが時分割に乗算合成され、累算器44で全チャンネルの楽音波形データが累算合成され、上記サウンドシステム6で発音される。
【0042】
上記アサインメントメモリ40の各チャンネルのエンベロープスピードデータESは、加算器46、セレクタ47、エンベロープ演算メモリ48で時分割に順次累算され、エンベロープ演算データENが演算され、加算器54を経て、上記乗算器43へ上記エンベロープ波形データENとして送られる。エンベロープ演算メモリ48は時分割チャンネル数に応じたエリアを有し、各チャンネルのエンベロープ演算データENが記憶され、各チャンネルごとにエンベロープが演算される。
【0043】
このエンベロープ演算メモリ48は、上記チャンネルナンバデータCHNoによってアドレス指定され、この指定されたアドレスのみが書き込み/読み出しされたりリセットされたりする。このエンベロープ演算メモリ48の各チャンネルエリアはオンイベント信号によって個別にリセット(クリア)される。
【0044】
コンパレータ49には、この演算(累算)されるエンベロープ演算データENと、アサインメントメモリ40からの各チャンネルのエンベロープレベルデータELとが供給され、エンベロープ演算データENがエンベロープレベルデータELに一致または越えると、フェーズ終了信号が検出され出力される。このフェーズ終了信号はエンベロープの各フェーズの終了を示す。このフェーズ終了信号は上記セレクタ47に送られて、上記エンベロープ演算データENがエンベロープレベルデータELに切り換えられる。エンベロープレベルデータELは各フェーズのエンベロープ演算の目標値だからである。
【0045】
上記フェーズ終了信号はフェーズカウンタ50へ入力され、インクリメントすなわち+1される。このフェーズカウンタ50では、各チャンネルのエンベロープのフェーズがカウントされる。このフェーズカウンタ50は、上記時分割チャンネル数に応じたカウンタが設けられ、上記チャンネルナンバデータCHNoによって指定されるカウンタのみがイネーブルとされ、この指定されたカウンタのみがインクリメントされたりリセットされたりする。このフェーズカウンタ50はプリセッタブルであり、コントローラ2によって下記エンベロープフェーズデータがセットされる。
【0046】
このフェーズカウンタ50のエンベロープフェーズデータEFは上記アサインメントメモリ40にアドレスデータとして送られ、各チャンネルの中の各フェーズごとのエンベロープスピードデータES及びエンベロープレベルデータELが読み出されたり書き込まれたりする。このエンベロープフェーズデータEFは上記コントローラ2へも送られ、このコントローラ2によってアサインメントメモリ40にエンベロープフェーズデータEFが書き込まれる。
【0047】
アサインメントメモリ40は、上記チャンネルナンバデータCHNoによってアドレス指定され、この指定されたアドレスのみが書き込み/読み出しされたクリアされたりする。このアサインメントメモリ40の各チャンネルエリアはオンイベント信号によって個別にリセット(クリア)される。
【0048】
上記波形読み出し部41の周波数ナンバデータFNの累算値の中の1つのビットデータまたは最上位ビットデータは、微細読み出し部51へ送られて時分割にカウントされる。このカウント値は読み出しアドレスデータとしてエンベロープ微細波形メモリ52へ送られ、エンベロープ微細波形データEBが時分割に順次読み出される。したがって、このエンベロープ微細波形データEBの読み出し速度(周波数)は楽音波形の読み出し速度に連動つまり音高または音域という音楽的因子に連動している。
【0049】
むろん、音高に連動しない独立した読み出しも可能である。例えば、微細読み出し部51は上記キーオンによって一定速度でカウントが開始される。これにより、音高に関係なくエンベロープ微細波形データEBが読み出される。またアサインメントメモリ40からの各チャンネルのトーンナンバデータTN、パートナンバデータPN、タッチデータTC、トーンタイムデータTM等が、この微細読み出し部51へ送られ累算されて、エンベロープ微細波形メモリ52へ読み出しアドレスデータとして送られてもよい。これにより、音色、タッチ、発音時間などの音楽的因子によってエンベロープ微細波形データEBの読み出し速度(周波数)が変化する。
【0050】
読み出されたエンベロープ微細波形データEBはフィルタ53でフィルタ制御されて周波数成分が変更され、上記加算器54へ送られてエンベロープ波形データENに加算合成される。これにより、エンベロープ波形データENが微妙に変化し、細かい変化を有する楽音を生成できる。
【0051】
上記エンベロープ微細波形メモリ52には複数のエンベロープ微細波形データEBが記憶され、アサインメントメモリ40からの上記エンベロープ微細指定データBSによって読み出されるエンベロープ微細波形データEBが選択される。
【0052】
なお、アサインメントメモリ40からの各チャンネルの各キーナンバデータKN、トーンナンバデータTN、パートナンバデータPN、タッチデータTC、トーンタイムデータTM、周波数ナンバデータFN等によって、このエンベロープ微細波形データEBが選択されてもよい。これにより、エンベロープ微細波形データEBは音高、音域、音色、タッチ、発音時間などの音楽的因子によって変化する。
【0053】
上記フィルタ53には、上記アサインメントメモリ40からの各チャンネルのキーナンバデータKN、トーンナンバデータTN、パートナンバデータPN、タッチデータTC、トーンタイムデータTM等がフィルタ制御データとして時分割に供給される。このフィルタ制御はカットオフ周波数の変更または減衰量の変更である。これにより、音高、音域、音色、タッチ、発音時間などの音楽的因子によって、エンベロープ微細波形データEBの周波数成分または振幅が変化する。
【0054】
なお、フィルタ53と加算器54との間に乗算器が設けられ、上記アサインメントメモリ40からの各チャンネルの各キーナンバデータKN、トーンナンバデータTN、パートナンバデータPN、タッチデータTC、トーンタイムデータTM、周波数ナンバデータFN等がこの乗算器に供給されてもよい。これにより、音高、音域、音色、タッチ、発音時間などの音楽的因子によってエンベロープ微細波形データEBの振幅が変化する。
【0055】
5.合成例
図5は各部分音1、2、3についての部分楽音波形データMW1、MW2、MW3、部分エンベロープ波形データEN1、EN2、EN3及び部分エンベロープ微細波形データEB1、EB2、EB3を示す。部分楽音波形データMW1、MW2、MW3は、1つの楽音を構成する3つの部分音の楽音波形であり、それぞれは周波数の異なる正弦波となっている。
【0056】
部分エンベロープ波形データEN1、EN2、EN3は、各部分楽音波形データMW1、MW2、MW3に合成される。部分エンベロープ波形データEN1はゆっくりと立ち上がりゆっくりと減衰する。部分エンベロープ波形データEN1は普通に立ち上がり普通に減衰する。部分エンベロープ波形データEN1は急激に立ち上がり急激に減衰する。したがって、周波数の高い部分音成分ほど、キーオンから即座に増大しすぐに減少する。
【0057】
また、各部分エンベロープ波形データEN1、EN2、EN3はピークの山がずれていてレベル「0」の区間もずれているから、結果的に各部分楽音波形データMW1、MW2、MW3、各部分エンベロープ波形データEN1、EN2、EN3は発音時間の経過に応じて切り換えられる。
【0058】
これら部分エンベロープ波形データEN1〜3は正または負の値のみであり、正負の片方の特性のみを有している。図5の例では正であるがこれを反転した負であってもよい。これに対して、部分楽音波形データMW1〜3及びエンベロープ微細波形データEB1〜3は、正負の両方の特性を有する。エンベロープ微細波形データEBをエンベロープ波形データEN(部分エンベロープ波形データEN1〜3)に合成すると、エンベロープ波形データENの特性は正負片方のみであるので、この合成処理で特別に正負切り替えの処理を行わなくても済む。
【0059】
しかし、エンベロープ微細波形データEBを楽音波形データMWに合成すると、楽音波形データMWの特性は正負両方有するから、この合成処理で特別に正負切替の処理を行わなくてはならなくなる。
【0060】
また、エンベロープ波形データEN(部分エンベロープ波形EN1、EN2、EN3、…)にエンベロープ微細波形データEBを合成するから、楽音波形データMWの周波数特性を変化させることなく、合成楽音の音色を変えることもできるし、フィルタを使わなくても楽音の音色を変えることもできる。したがって、図4のフィルタ53は省略可能である。
【0061】
これら部分楽音波形データMW1、MW2、MW3、部分エンベロープ波形データEN1、EN2、EN3及び部分エンベロープ微細波形データEB1、EB2、EB3はキーオンイベントによって読み出し開始されて発生開始タイミングは同じである。
【0062】
6.処理全体
図6はコントローラ(CPU)2によって実行される処理全体のフローチャートを示す。この処理全体は本楽音生成装置の電源オンによって開始され、電源オフまで繰り返し実行される。
【0063】
まず、プログラム/データ記憶部4の初期化など種々のイニシャライズ処理が行われ(ステップ01)、上記キーボード11またはミディインターフェース15での手動演奏または自動演奏に基づき、発音処理が行われる(ステップ03)。
【0064】
この発音処理では、空きチャンネルがサーチされ、サーチされた空きチャンネルにオンイベントに係る楽音が割り当てられる。この楽音の内容は、上記キーボード11またはミディインターフェース15からの上記演奏情報(楽音発生情報)、楽音制御情報の音楽的ファクタ情報及びこのときプログラム/データ記憶部4に既に記憶されている音楽的ファクタ情報によって決定される。
【0065】
この場合、サーチされた空きチャンネルのアサインメントメモリ40のエリアに「1」のオン/オフデータ、周波数ナンバデータFN、エンベロープスピードデータES、エンベロープレベルデータEL、「0」のエンベロープフェーズデータEF、エンベロープ微細指定データBSなどが書き込まれる。さらに、キーナンバデータKN、トーンナンバデータTN、タッチデータTC、パートナンバデータPN、「0」のトーンタイムデータTMも書き込まれる。
【0066】
次いで、上記キーボード11またはミディインターフェース15での手動演奏または自動演奏に基づき、消音(減衰)処理が行われる(ステップ05)。この消音(減衰)処理では、オフイベント(キーオフイベント、消音イベント)に係る楽音が割り当てられているチャンネルがサーチされ当該楽音が減衰され消音される。この場合、キーオフイベントに係る楽音のエンベロープフェーズがリリースとなり、エンベロープレベルが次第に「0」になる。
【0067】
さらに、上記ミディインターフェース15またはパネルスイッチ群13の各種スイッチの操作があれば、このスイッチに対応する音楽的ファクタ情報が取り込まれ、プログラム/データ記憶部4に記憶され、音楽的ファクタ情報が変更される(ステップ06)。この後、その他の処理が実行され(ステップ07)、上記ステップ02からこのステップ07までの処理が繰り返される。
【0068】
7.トーンタイムデータTM及び同時発音数の処理
図7はコントローラ2によって一定周期ごとに実行されるインタラプト処理のフローチャートを示す。この処理で上記トーンタイムデータTMのインクリメント及び同時発音数のカウントが行われる。
【0069】
この処理では、上記アサインメントメモリ40の各チャンネルエリアにつき(ステップ41、46、47)、オン/オフデータが「1」で楽音が発音中のものについて(ステップ43)、そのトーンタイムデータTMが「+1」される(ステップ44)。
【0070】
また、同じくアサインメントメモリ40の各チャンネルエリアにつき(ステップ41、46、47)、いったん同時発音数データがクリアされた後(ステップ42)、オン/オフデータが「1」で楽音が発音中のものがカウント(ステップ43)、同時発音数が順次「+1」される(ステップ45)。このカウントされた同時発音数はプログラム/データ記憶部4に記憶される。
【0071】
そして、その他の周期的な処理が行われる(ステップ48)。こうして、各チャンネルの楽音の発音経過時間がカウントされ記憶され上記発音時間情報として利用され、またそのときどきの全チャンネルの発音中の楽音の数がカウントされ記憶され上記同時発音数情報として利用される。
【0072】
本発明は上記実施例に限定されず、本発明の趣旨を逸脱しない範囲で種々変更可能である。例えば、エンベロープ微細波形データEBは、メモリに記憶されて読み出されるほか、乱数発生器によって発生されてもよいし、デジタルシグナルプロセッサの演算処理によって発生されてもよい。この場合、時分割チャンネル数と同じ乱数発生器またはデジタルシグナルプロセッサが用意され、キーオンイベントによってエンベロープ微細波形データEBの発生が開始される。
【0073】
上記エンベロープ微細波形データEBは、エンベロープ波形ENと異なり、正負両方の特性をもつ。このエンベロープ微細波形データEBは、エンベロープ波形データENより振幅が小さく、エンベロープ微細波形データEBの最大振幅はエンベロープ波形データENのピークより小さい、またはエンベロープ微細波形データEBの最大振幅はエンベロープ波形データENのサスティーンレベルより小さい、またはエンベロープ微細波形データEBの積分値はエンベロープ波形データENの積分値より小さい。
【0074】
エンベロープ波形はアタックの後すぐに減衰する減衰型エンベロープでもよいし、アタックの後すぐに減衰しない持続型エンベロープでもよい。エンベロープ波形は楽音の音量・振幅を時間的に変化させるための波形(パラメータ)である。
【0075】
また、波形メモリ42に記憶される楽音波形データMWはサイン波以外の複雑な波形でもよいし、音色、音高(音域)、タッチ、パート、発音時間ごとに異なる波形が記憶され切り替え選択されてもよい。このような複雑な形状の波形は上記各部分音の楽音波形として読み出され出力される。
【0076】
さらに、各チャンネルに割り当てられる各楽音は部分音以外の1つの独立した楽音であってもよい。この場合、同じチャンネルに割り当てられる楽音の波形は同じ波形形状であり、同じ音高(周波数)である。このような場合でも同様にエンベロープの合成または発生量の合成を行うことができる。
【0077】
また、上記チャンネルは時分割処理によって形成されたが、このチャンネルと同じ数の楽音信号発生部5が設けられ、各楽音信号発生部5からの楽音波形データMWが加算器で加算合成されてもよい。
【0078】
さらに、上記エンベロープデータは、エンベロープスピードデータESとエンベロープタイムデータET、またはエンベロープレベルデータELとエンベロープタイムデータETとで代用されてもよい。この場合、エンベロープスピードデータESの累算回数がエンベロープタイムデータETに達したら次のエンベロープフェーズに移行する。また、隣り合う2つのエンベロープレベルデータELの差がエンベロープタイムデータETで除算されて上記エンベロープスピードデータESが求められる。
【0079】
また、上記乗算器43にはラウドネスデータが供給されて合成楽音のレベルがラウドネスデータに応じて調整されてもよい。このラウドネスデータは上記アサインメントメモリ40に記憶され時分割に読み出されて供給されたり、上記アサインメントメモリ40からの各チャンネルの各キーナンバデータKN、トーンナンバデータTN、パートナンバデータPN、タッチデータTC、トーンタイムデータTM等に基づいて決定される。これにより音高、音域、音色、タッチ、発音時間などの音楽的因子によって合成楽音の振幅が変化する。
【0080】
さらに、上記エンベロープ微細波形メモリ52からの出力には乗算器が設けられ、上記各ラウドネスデータが上記アサインメントメモリ40から時分割に読み出され各部分エンベロープ微細波形データEBに乗算されてもよい。この場合アサインメントメモリ40の各ラウドネスデータの値が音楽的因子によって変化し、1つの楽音に合成される各部分音の各ラウドネスデータの大きさが音楽的因子に基づいて相対的に変化する。これにより、1つの楽音に合成される各部分エンベロープ微細波形データEBの相対的割合が音高、音域、音色、タッチ、発音時間などの音楽的因子に応じて変化する。
【0081】
本発明は、電子楽器、音源装置、カラオケ装置、電子ゲーム装置、自動演奏装置、楽音再生装置などにおける楽音生成装置に適用され、楽音を生成することのできる装置に適用可能である。
本件特許出願の出願当初の特許請求の範囲は以下の通りであった。なお、一部誤記訂正はした。
[1]楽音波形を生成する手段と、 この楽音波形に合成されるエンベロープ波形を生成する手段と、 このエンベロープ波形に合成されてエンベロープ波形を細かく変化させるエンベロープ微細波形を生成する手段と、 上記エンベロープ波形と上記エンベロープ微細波形とを合成する手段と、 この合成されたエンベロープ波形を上記楽音波形に合成する手段とを備えたことを特徴とする楽音生成装置。
[2]楽音波形を生成させ、 この楽音波形に合成されるエンベロープ波形を生成させ、 このエンベロープ波形に合成されてエンベロープ波形を細かく変化させるエンベロープ微細波形を生成させ、 上記エンベロープ波形と上記エンベロープ微細波形とを合成させ、 この合成されたエンベロープ波形を上記楽音波形に合成させることを特徴とする楽音生成方法。
[3]上記エンベロープ波形は正負の片方の特性のみを有し、 上記エンベロープ微細波形及び楽音波形は正負の両方の特性を有し、 上記エンベロープ微細波形の周波数、振幅または周波数成分は、上記楽音波形の音色、音高、音域、タッチ、発音時間によって変化し、 上記楽音波形または上記エンベロープ波形は複数の部分楽音波形または部分エンベロープ波形から構成され、各部分楽音波形または各部分エンベロープ波形に対して異なる部分エンベロープ微細波形がそれぞれ合成され、 この各部分楽音波形または各部分エンベロープ波形は、発音時間の経過に応じて切り換えられ、 上記各部分エンベロープ波形に合成される各部分エンベロープ微細波形の相対的割合は音楽的因子に基づいて変化し、 上記各部分楽音波形、上記各部分エンベロープ波形または上記各部分エンベロープ微細波形は、発生開始タイミングが同じであり、1つの楽音に合成され、 上記エンベロープ微細波形は、乱数発生手段によって発生され、またはエンベロープ微細波形が記憶された記憶手段から読み出されることを特徴とする請求項1記載の楽音生成装置。
【0082】
【発明の効果】
以上詳述したように、本願発明では、エンベロープ微細波形を生成してエンベロープ波形に合成し、エンベロープ波形を細かく変化させるようにした。したがって、エンベロープ波形を微妙に変化させることができ、自然界に存在する音に近づけることができる等の効果を奏する。また、エンベロープ波形にエンベロープ微細波形を合成するから、楽音波形の周波数特性を変化させることなく、合成楽音の音色を変えることもできる等の効果も奏する。
【図面の簡単な説明】
【図1】楽音制御装置の全体回路を示す。
【図2】部分音テーブル20を示す。
【図3】アサインメントメモリ40を示す。
【図4】楽音信号発生部5を示す。
【図5】処理全体のフローチャートを示す。
【図6】部分楽音波形データMW1〜3と部分エンベロープ波形データEN1〜3と部分エンベロープ微細波形データEBとの合成例を示す。
【図7】インタラプト処理のフローチャートを示す。
【符号の説明】
2…コントローラ(CPU)、3…タイミング発生部、4…プログラム/データ記憶部、5…楽音信号発生部、6…サウンドシステム、7…情報記憶部、11…キーボード、13…パネルスイッチ群、15…ミディインターフェース、20…部分音テーブル、40…アサインメントメモリ、41…波形読み出し部、42…波形メモリ、47…セレクタ、48…エンベロープ演算メモリ、49…コンパレータ、50…フェーズカウンタ、46、54…加算器、51…微細読み出し部、52…円微細波形メモリ、53…フィルタ。
Claims (3)
- 周波数の異なる複数の部分楽音波形を生成する手段と、
この各部分楽音波形にそれぞれ合成される複数の異なる部分エンベロープ波形を生成する手段と、
この各部分エンベロープ波形それぞれに合成されて、各部分エンベロープ波形を細かく変化させる複数の異なるエンベロープ微細波形を生成する手段と、
上記各部分エンベロープ波形それぞれと上記各エンベロープ微細波形それぞれとを加算合成する手段と、
この合成された各部分エンベロープ波形それぞれを上記各部分楽音波形それぞれに乗算合成する手段と、
この合成された各部分楽音波形を1つの楽音に合成する手段と、
上記各部分エンベロープ波形に合成される場合における各エンベロープ微細波形の相対的割合を音楽的因子に基づいて変化させる手段とを備えたことを特徴とする楽音生成装置。 - 周波数の異なる複数の部分楽音波形を生成させ、
この各部分楽音波形にそれぞれ合成される複数の異なる部分エンベロープ波形を生成させ、
この各部分エンベロープ波形それぞれに合成されて、各部分エンベロープ波形を細かく変化させる複数の異なるエンベロープ微細波形を生成させ、
上記各部分エンベロープ波形それぞれと上記各エンベロープ微細波形それぞれとを加算合成させ、
この合成された各部分エンベロープ波形それぞれを上記各部分楽音波形それぞれに乗算合成させ、
この合成された各部分楽音波形を1つの楽音に合成させ、
上記各部分エンベロープ波形に合成される場合における各エンベロープ微細波形の相対的割合を音楽的因子に基づいて変化させることを特徴とする楽音生成方法。 - 上記エンベロープ微細波形は、音楽的因子よって変化し、当該エンベロープ微細波形の周波数、振幅または周波数成分は、上記楽音波形の音色、音高、音域、タッチ、発音時間によって変化し、
上記各部分楽音波形または各部分エンベロープ波形は、発音時間の経過に応じて切り換えられ、
上記各部分楽音波形、上記各部分エンベロープ波形または上記各部分エンベロープ微細波形は、発生開始タイミングが同じであり、1つの楽音に合成され、
上記各エンベロープ微細波形は、乱数発生手段によって発生され、またはエンベロープ微細波形が記憶された記憶手段から読み出されることを特徴とする請求項1記載の楽音生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08666898A JP3595676B2 (ja) | 1998-03-31 | 1998-03-31 | 楽音生成装置及び楽音生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08666898A JP3595676B2 (ja) | 1998-03-31 | 1998-03-31 | 楽音生成装置及び楽音生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11282468A JPH11282468A (ja) | 1999-10-15 |
JP3595676B2 true JP3595676B2 (ja) | 2004-12-02 |
Family
ID=13893424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08666898A Expired - Fee Related JP3595676B2 (ja) | 1998-03-31 | 1998-03-31 | 楽音生成装置及び楽音生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3595676B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112820257B (zh) * | 2020-12-29 | 2022-10-25 | 吉林大学 | 一种基于matlab的gui声音合成装置 |
-
1998
- 1998-03-31 JP JP08666898A patent/JP3595676B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11282468A (ja) | 1999-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5136916A (en) | Electronic musical instrument | |
JP5142363B2 (ja) | 成分音合成装置及び成分音合成方法。 | |
JP4335570B2 (ja) | 共鳴音生成装置、共鳴音生成方法及び共鳴音生成のためのコンピュータプログラム | |
JP2002311957A (ja) | 共鳴装置、共鳴方法及び共鳴処理のためのコンピュータプログラム | |
JP3694172B2 (ja) | 残響共鳴装置及び残響共鳴方法 | |
JP4628725B2 (ja) | テンポ情報出力装置、テンポ情報出力方法及びテンポ情報出力のためのコンピュータプログラム、タッチ情報出力装置、タッチ情報出力方法及びタッチ情報出力のためのコンピュータプログラム | |
JP3595676B2 (ja) | 楽音生成装置及び楽音生成方法 | |
US6031173A (en) | Apparatus for generating musical tones using impulse response signals | |
JPH09330079A (ja) | 楽音信号発生装置及び楽音信号発生方法 | |
JP3419563B2 (ja) | 楽音信号のレベル制御装置 | |
JP3530600B2 (ja) | 楽音信号の周波数特性制御装置及び周波数特性制御方法 | |
US5998723A (en) | Apparatus for forming musical tones using impulse response signals and method of generating musical tones | |
JP3673384B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JP4059581B2 (ja) | 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法 | |
JP2000194361A (ja) | 電子音響装置のゆらぎ付加装置及びゆらぎ付加方法 | |
JP2009186632A (ja) | 音律制御方法、音律制御のためのコンピュータプログラム及び音律制御装置。 | |
JP2953217B2 (ja) | 電子楽器 | |
JP3706371B2 (ja) | 楽音信号の周波数特性制御装置及び周波数特性制御方法 | |
JP3673388B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
US6160214A (en) | Non-consonance generating device and non-consonance generating method | |
JP3673387B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JP3673386B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JPH11161269A (ja) | 楽音制御装置及び楽音制御方法 | |
JPH08137471A (ja) | 楽音信号のエンベロープ制御装置 | |
JP3637190B2 (ja) | 楽音生成装置及び楽音生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040521 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040726 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040906 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070910 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080910 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |