JP3899762B2 - 楽音発生装置及び楽音発生処理のプログラムを記憶した記憶媒体 - Google Patents
楽音発生装置及び楽音発生処理のプログラムを記憶した記憶媒体 Download PDFInfo
- Publication number
- JP3899762B2 JP3899762B2 JP2000005479A JP2000005479A JP3899762B2 JP 3899762 B2 JP3899762 B2 JP 3899762B2 JP 2000005479 A JP2000005479 A JP 2000005479A JP 2000005479 A JP2000005479 A JP 2000005479A JP 3899762 B2 JP3899762 B2 JP 3899762B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- control
- control data
- processing
- musical
- 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】
【発明が解決しようとする課題】
しかしながら、同一の楽音データに対して複数の制御データがある場合には、その制御処理を行う場合に問題が生じてしまう。特に、MIDIデータのようなシーケンシャルな曲データを入力するシステムの場合には、常に入力した制御データの順序で制御処理を行うので、演奏者が意図したものとは異なる音色で発音されてしまう場合がある。例えば、ブライトネスの制御データとアフタータッチの制御データとを入力したときは制御処理の順序によって異なる音色のパラメータになるので、入力した制御データの順序で制御処理を行うと演奏者の意図が正しく伝わらないという問題がある。
【0004】
本発明の課題は、同一の楽音データに対して複数の制御データがある場合でも、演奏者の意図した音色で発音できるようにすることである。
【0005】
【課題を解決するための手段】
請求項1に記載の楽音発生装置の発明は、楽音データ及び楽音データのパラメータを制御する制御データを含む曲データを入力する入力手段(実施形態においては、図1のMIDIインターフェース4に対応する)と、同一の楽音データのパラメータを制御する複数の制御データについて制御処理の順序を操作に応じて指定する操作子(実施形態においては、図1の操作子7に対応する)と、前記入力手段から入力された任意の楽音データに対して複数の制御データが前記入力手段から入力されたときは、当該楽音データに対して前記操作子によって指定された制御データの順序に従った制御処理を行って波形データを生成する波形生成手段(実施形態においては、図1のCPU1に対応する)と、を備えた構成になっている。
【0006】
請求項5に記載の記憶媒体の発明は、同一の楽音データのパラメータを制御する複数の制御データについて制御処理の順序を操作子の操作に応じて指定する指定手順と、任意の楽音データに対して複数の制御データが入力されたときは、当該楽音データに対して前記指定手順によって指定された制御データの順序に従った制御処理を行って波形データを生成する波形生成手順と、を実行する楽音発生処理のプログラムを記憶している。
【0007】
請求項1又は請求項5に記載の発明によれば、任意の楽音データに対して複数の制御データが入力されたときは、その楽音データに対して操作によって指定された制御データの順序に従った制御処理を行って波形データを生成する。
【0008】
【発明の実施の形態】
以下、本発明による 楽音発生装置の実施形態について図1〜図11を参照して説明する。
図1は、パソコン上でソフトウェアによる演算処理で楽音の波形データを生成する楽音発生装置のシステム構成を示している。図1において、CPU1は、システムバス2を介して、ROM3、RAM4、MIDIインターフェース5、表示部6、操作子7、及びD/Aコンバータ8に接続されている。CPU1は、システムバス2を介して各部との間でコマンド及びデータの授受を行って、このシステム全体を制御する。
【0009】
ROM3は、CPU1によって実行される楽音発生処理のプログラムやイニシャライズにおける初期データ及び処理演算に用いるテーブル等を記憶している。RAM4は、CPU1のワークエリアであり、操作子7から入力されたデータやCPU1の演算処理によって生成された楽音の波形データを一時的に記憶する。また、RAM4内には楽音発生処理に必要な各種のレジスタ、フラグ等のエリアが設けられている。MIDIインターフェース5は、外部のMIDI機器に接続して、MIDIデータ形式の曲データを送受信する。
【0010】
表示部6は、CRTやLCDで構成され、CPU1による表示コマンドに応じて曲名等のデータやメッセージを表示する。操作子7は、各種のスイッチからなるキーボード及びマウスで構成され、スイッチのオン・オフ操作に応じてコマンドやデータを入力する。D/Aコンバータ8は、CPU1から出力される波形データをアナログ信号に変換して、サウンドシステム9から発音させる。
【0011】
次に、実施形態における楽音発生処理の動作について、CPU1のフローチャート及び表示部5の画面を示す図を参照して説明する。
図2は、CPU1の楽音発生処理のメインフローである。所定のイニシャライズ処理(ステップA1)の後、設定処理(ステップA2)、MIDI処理(ステップA3)、スイッチ処理や発音処理等のその他の処理(ステップA4)を繰り返し実行する。
【0012】
図3及び図4は、メインフローにおけるステップA2の設定処理のフローである。図3のフローにおいて、フィルタ係数変更スイッチがオンされたか否かを判別し(ステップB1)、このスイッチがオンされない場合にはメインフローに戻る。このスイッチがオンされたときは、表示部6に図5に示すようなフィルタ処理選択のウインドウ画面を表示し(ステップB2)、レジスタMの値に対応するラジオボタンA、B、Cを表示する(ステップB3)。Mの値は、フィルタ係数の演算処理の手順を示している。
【0013】
図5の画面において、ラジオボタンAは、フィルタ演算をOFFとする選択メニューを表している。ラジオボタンBは、最初にブライトネスによるフィルタ演算を処理し、その後にアフタータッチによるフィルタ演算を処理する選択メニューを表している。ラジオボタンCは、最初にアフタータッチによるフィルタ演算を処理し、その後にブライトネスによるフィルタ演算を処理する選択メニューを表している。なお、画面には選択したメニューを確定する「OK」スイッチ、選択したメニューを取り消す「キャンセル」スイッチが表示されている。
【0014】
次に、操作子7の選択スイッチの操作によってラジオボタンが選択されたときは、その選択に応じた処理を実行する。すなわち、「OFF」に対応するラジオボタンのスイッチがオンされたか否かを判別し(ステップB4)、このボタンがオンされたときはモードレジスタMODEに0をセットする(ステップB5)。「ブライトネス→アフタータッチ」に対応するラジオボタンのスイッチがオンされたか否かを判別し(ステップB6)、このボタンがオンされたときはMODEに1をセットする(ステップB7)。「アフタータッチ→ブライトネス」に対応するラジオボタンのスイッチがオンされたか否かを判別し(ステップB8)、このボタンがオンされたときはMODEに2をセットする(ステップB9)。
【0015】
そして、MODEにセットした値を判別する(ステップB10)。MODEの値が0である場合には、ラジオボタン「A」を点灯し、「B」及び「C」を消灯する(ステップB11)。MODEの値が1である場合には、ラジオボタン「B」を点灯し、「A」及び「C」を消灯する(ステップB12)。MODEの値が2である場合には、ラジオボタン「C」を点灯し、「A」及び「B」を消灯する(ステップB13)。
【0016】
ラジオボタンの点灯及び消灯を行った後、又はいずれのラジオボタンのスイッチもオンされない場合は、図4のフローにおいて、「OK」スイッチがオンされたか否かを判別する(ステップB14)。このスイッチがオンされたときは、MODEの値をレジスタMにセットする(ステップB15)。このスイッチがオンされない場合には、「キャンセル」スイッチがオンされたか否かを判別する(ステップB16)。このスイッチもオンされない場合には、図3のステップB4に移行する。「キャンセル」スイッチがオンされたとき、又は、ステップB15においてMにMODEの値をセットした後は、図5のウインドウ画面を消去する(ステップB17)。そして図2のメインフローに戻る。
【0017】
図6は、メインフローにおけるステップA3のMIDI処理のフローである。MIDIインターフェース5を介してMIDI入力があるか否かを判別し(ステップC1)、入力がない場合には直ちにこのフローを終了する。入力があったときは、そのMIDIデータをRAM3のMIDIバッファにストアする(ステップC2)。そしてメインフローに戻る。
【0018】
図7は、メインフローの実行中に割込みが発生したときの、割込み処理のフローである。割込みが発生すると、MIDI制御処理(ステップD1)、生成処理(ステップD2)を実行してメインフローに戻る。
ステップD1のMIDI制御処理では、RAM4のMIDIバッファのイベントに応じた処理を行う。すなわち、図8に示すように、MIDIバッファ内にノートオンのイベントがあるか否かを判別し(ステップE1)、ノートオンのイベントがある場合にはオントリガフラグONTFに1(発音開始)をセットする(ステップE2)。また、レジスタNOTEにそのイベントのノートをセットする(ステップE3)。さらに、レジスタVELにそのイベントのベロシティをセットする(ステップE4)。ステップE1においてMIDIバッファ内にノートオンのイベントがない場合には、ノートオフのイベントがMIDIバッファ内にあるか否かを判別する(ステップE5)。ノートオフのイベントがある場合には、オフトリガフラグOFFTFに1(消音開始)をセットする(ステップE6)。
【0019】
次に、MIDIバッファ内にアフターイベントがあるか否かを判別する(ステップE7)。アフターイベントがある場合には、レジスタAFTERにそのアフターイベントのデータをセットする(ステップE8)。また、MIDIバッファ内にブライトネスのイベントがあるか否かを判別する(ステップE9)。ブライトネスのイベントがある場合には、レジスタBRIGHTにそのブライトネスのデータをセットする(ステップE10)。次に、その他のMIDIイベントの処理を行い(ステップE11)、MIDIバッファのデータをクリアする(ステップE12)。そしてこのフローを終了して図7のステップD2の生成処理に移行する。
【0020】
図9及び図10は、生成処理のフローである。図9において、ONTFが1(発音開始)であるか否かを判別する(ステップF1)。このフラグが1である場合には、ピッチ用、フィルタ用、及び音量用の各エンベロープの読み出しを開始する(ステップF2)。そして、ONTFに0をセットし(ステップF3)、オンフラグONFに1(発音中)をセットする(ステップF4)。ステップF1においてONTFが0である場合には、OFFTFが1(消音開始)であるか否かを判別する(ステップF5)。このフラグが1である場合には、ピッチ用、フィルタ用、及び音量用の各リリースエンベロープの読み出しを開始する(ステップF6)。そして、OFFTFに0をセットし(ステップF7)、リリースフラグRFに1(消音)をセットする(ステップF8)。
【0021】
ステップF1においてONTFが0であり、ステップF5においてOFFTFが0である場合には、RFが1(消音中)であるか否かを判別する(ステップF9)。このフラグが1である場合には、発音中の楽音の波形レベルが0になったか否かを判別する(ステップF10)。レベルが0になったとき(消音になったとき)は、RFに0をセットし(ステップF11)、ONFに0をセットする(ステップF12)。そしてメインフローに戻る。
【0022】
ステップF9においてRFが0である場合、又はステップF10において波形レベルがまだ0になっていない場合には、図10のフローにおいて、ONFが1(発音中)であるか否かを判別する(ステップF13)。このフラグが0である場合にはこのフローを終了するが、このフラグが1である場合には、ピッチエンベロープによる演算処理であるDCO処理(ステップF14)、フィルタエンベロープによる演算処理であるDCF処理(ステップF15)、音量エンベロープによる演算処理であるDCA処理(ステップF16)を実行する。そしてメインフローに戻る。
【0023】
図11にステップF15のDCF処理のフローを示す。まず、フィルタ用のエンベロープの読出してレジスタFENVにセットする(ステップG1)。次に、VELのベロシティデータの値を128(最大値)で除算して正規化し、その除算値をFENVの値に乗算する(ステップG2)。次に、Mの値を判別して(ステップG3)、その値に対応する処理を行う。
【0024】
Mの値が1である場合には、最初にBRIGHTのブライトネスデータから64(中間値)を減算し、その減算値をFENVの値に加算する(ステップG4)。この後にAFTERのアフターデータを128(最大値)で除算して、その除算値をFENVの値に加算する(ステップG5)。ステップG3においてMの値が2である場合には、最初にAFTERのアフターデータを128で除算して、その除算値をFENVの値に加算する(ステップG6)。この後にBRIGHTのブライトネスデータから64(中間値)を減算し、その減算値をFENVの値に加算する(ステップG7)。
【0025】
Mの値が1若しくは2の場合における上記演算処理を実行した後、又は、ステップG3においてMの値が0である場合には、ROM3におけるFENVのテーブルを参照してフィルタ係数を設定する(ステップG8)。次に、その設定したフィルタ係数に基づいてフィルタリング処理を実行する(ステップG9)。そしてメインフローに戻る。
【0026】
このように上記実施形態においては、任意の楽音データに対してブライトネス及びアフタータッチの複数の制御データが入力されたときは、その楽音データに対して操作によって指定された制御データの順序に従った制御処理を行って波形データを生成する。
したがって、曲同一の楽音データに対して複数の制御データがある場合でも、演奏者の意図した音色で発音できる。
【0027】
なお、上記実施形態においては、ブライトネスや鍵盤のアフタータッチによる2つの制御データによって音色のパラメータを制御する場合について説明したが、他の複数の制御データによって楽音データの他のパラメータを制御する場合にも本発明を適用できる。すなわち、楽音を制御するための複数の制御データが入力された場合において、それぞれ制御データに応じた制御処理を行う場合に、その制御処理の順序によって異なる楽音が発生するようなシステムに本発明を適用することができる。
【0028】
また、上記実施形態においては、ROM3に記憶されている楽音発生処理のプログラムをCPU1が実行する構成、すなわち装置の発明について説明したが、フロッピーディスク、CD、MD等の記憶媒体に楽音発生処理のプログラムを記憶させて、そのプログラムを読み出して実行する記憶媒体の発明も実現できる。
【0029】
この場合には、同一の楽音データのパラメータを制御する複数の制御データについて制御処理の順序を操作子の操作に応じて指定する指定手順と、任意の楽音データに対して複数の制御データが入力されたときは、当該楽音データに対して前記指定手順によって指定された制御データの順序に従った制御処理を行って波形データを生成する波形生成手順と、を実行する楽音発生処理のプログラムをその記憶媒体に記憶する。
【0030】
【発明の効果】
本発明によれば、任意の楽音データに対して複数の制御データが入力されたときは、その楽音データに対して操作によって指定された制御データの順序に従った制御処理を行って波形データを生成する。
したがって、曲同一の楽音データに対して複数の制御データがある場合でも、演奏した楽音について演奏者の意図した音色で発音できる。
【図面の簡単な説明】
【図1】本発明の実施形態における楽音発生装置のシステム構成を示すブロック図。
【図2】図1におけるCPUのメインフローチャート。
【図3】図2における設定処理のフローチャート。
【図4】図3に続く設定処理のフローチャート。
【図5】図1における表示部に表示されたフィルタ処理選択の画面を示す図。
【図6】図2におけるMIDI処理のフローチャート。
【図7】図1におけるCPUの割込み処理のフローチャート。
【図8】図7におけるMIDI制御処理のフローチャート。
【図9】図7における生成処理のフローチャート。
【図10】図9に続く生成処理のフローチャート。
【図11】図10におけるDCF処理のフローチャート。
【符号の説明】
1 CPU
3 ROM
4 RAM
5 MIDIインターフェース
6 表示部
7 操作子
8 D/Aコンバータ
9 サウンドシステム
Claims (5)
- 楽音データ及び楽音データのパラメータを制御する制御データを含む曲データを入力する入力手段と、
同一の楽音データのパラメータを制御する複数の制御データについて制御処理の順序を操作に応じて指定する操作子と、
前記入力手段から入力された任意の楽音データに対して複数の制御データが前記入力手段から入力されたときは、当該楽音データに対して前記操作子によって指定された制御データの順序に従った制御処理を行って波形データを生成する波形生成手段と、
を備えたことを特徴とする楽音発生装置。 - 前記制御データは、楽音データの音色のパラメータを制御するデータであることを特徴とする請求項1に記載の楽音発生装置。
- 前記波形生成手段は、楽音データのパラメータに対して制御データによるソフトウェア演算処理を行って波形データを生成することを特徴とする請求項1又は2に記載の楽音発生装置。
- 前記複数の制御データの中には鍵盤演奏のアフタータッチによる制御データを含むことを特徴とする請求項1〜3のいずれかに記載の楽音発生装置。
- 同一の楽音データのパラメータを制御する複数の制御データについて制御処理の順序を操作子の操作に応じて指定する指定手順と、
任意の楽音データに対して複数の制御データが入力されたときは、当該楽音データに対して前記指定手順によって指定された制御データの順序に従った制御処理を行って波形データを生成する波形生成手順と、
を実行する楽音発生処理のプログラムを記憶していることを特徴とする記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000005479A JP3899762B2 (ja) | 2000-01-14 | 2000-01-14 | 楽音発生装置及び楽音発生処理のプログラムを記憶した記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000005479A JP3899762B2 (ja) | 2000-01-14 | 2000-01-14 | 楽音発生装置及び楽音発生処理のプログラムを記憶した記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001195062A JP2001195062A (ja) | 2001-07-19 |
JP3899762B2 true JP3899762B2 (ja) | 2007-03-28 |
Family
ID=18534144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000005479A Expired - Fee Related JP3899762B2 (ja) | 2000-01-14 | 2000-01-14 | 楽音発生装置及び楽音発生処理のプログラムを記憶した記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3899762B2 (ja) |
-
2000
- 2000-01-14 JP JP2000005479A patent/JP3899762B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001195062A (ja) | 2001-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5990404A (en) | Performance data editing apparatus | |
JP2007093679A (ja) | 音源設定装置及び音源設定プログラム | |
JP3899762B2 (ja) | 楽音発生装置及び楽音発生処理のプログラムを記憶した記憶媒体 | |
JP2020064187A (ja) | 電子鍵盤楽器、方法およびプログラム | |
EP3373289A1 (en) | Electronic musical instrument, musical sound generating method, and storage medium | |
JP3551065B2 (ja) | データ設定装置 | |
US6362410B1 (en) | Electronic musical instrument | |
JP4214845B2 (ja) | 自動アルペジオ装置および同装置に適用されるコンピュータプログラム | |
JP4487743B2 (ja) | 電子楽器及び楽音パラメータ制御プログラム | |
JP4094441B2 (ja) | 電子楽器 | |
JP2541867B2 (ja) | 楽音情報のベロシティ値変更装置 | |
JP4186855B2 (ja) | 楽音制御装置及びプログラム | |
JP4835434B2 (ja) | 演奏パターン再生装置及びそのコンピュータプログラム | |
JP4373625B2 (ja) | 電子楽器 | |
JPH10198369A (ja) | 電子楽器 | |
JP3034398B2 (ja) | 電子楽器の制御装置 | |
JP2011197440A (ja) | 電子楽器 | |
JPH10288987A (ja) | 電子楽器及び楽音制御データ発生装置 | |
JP2017129611A (ja) | 電子音響装置 | |
JP3758041B2 (ja) | 楽音制御データ発生装置 | |
JP3837994B2 (ja) | 楽譜データ変換装置、及び記録媒体 | |
JP4218566B2 (ja) | 楽音制御装置及びプログラム | |
JPH0926787A (ja) | 音色制御装置 | |
JP3791087B2 (ja) | 演奏データ編集装置 | |
JP4835433B2 (ja) | 演奏パターン再生装置及びそのコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050214 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060203 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060413 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061122 |
|
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: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061218 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110112 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120112 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130112 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |