JP4082184B2 - 楽音発生装置および楽音発生処理のプログラム - Google Patents
楽音発生装置および楽音発生処理のプログラム Download PDFInfo
- Publication number
- JP4082184B2 JP4082184B2 JP2002329390A JP2002329390A JP4082184B2 JP 4082184 B2 JP4082184 B2 JP 4082184B2 JP 2002329390 A JP2002329390 A JP 2002329390A JP 2002329390 A JP2002329390 A JP 2002329390A JP 4082184 B2 JP4082184 B2 JP 4082184B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- input
- state
- channel
- switching
- 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】
【従来の技術】
従来の楽音発生装置の中には、周波数変調方式、波形メモリ方式などの専用の音源回路であるハードウェア音源の代わりに、コンピュータプログラムによる音源処理であるソフトウェア音源によって楽音の波形データを生成するとともに、そのソフトウェア音源とハードウェア音源とを選択して演奏情報を出力するものがある(特許文献1参照)。
【0003】
【特許文献1】
特開平9−114462号公報(段落番号「0002」〜「0007」、「0035」、「0039」、「0046」、図8)
【0004】
【発明が解決しようとする課題】
しかしながら、上記従来の楽音発生装置においては、あらかじめ演奏者がソフトウェア音源又はハードウェア音源を選択する必要があり、選択した後は演奏が終了するまで使用する音源が固定されてしまう。上記特許文献1においては、ディスプレイの画面上に表示されている出力音源を切り替えるスイッチを演奏者がマウスでクリックする構成になっている。この場合において、例えば、ある楽曲についてそのドラムパートおよびベースパートをソフトウェア音源、ギターパートおよびエレクトリックピアノパートをハードウェア音源というように指定する構成になっている。
【0005】
一般に、DSP(ディジタル・シグナル・プロセッサ)などを用いたソフトウェア音源では、演算処理によって楽音波形を生成するので、多様な音色が得られる反面、演算処理に時間がかかるという問題がある。このため、演奏者の判断によって、任意のパートの楽音波形をソフトウェア音源で生成するように選択しても、実際にそのパートの楽音波形を生成できるかどうかは分からない。特に、シーケンサなどからMIDI形式のイベントデータを受信するような場合には、MIDIに精通したユーザにより前もってその曲のイベントデータを解析した後でないければ、音源の指定を行うことは困難である。
【0006】
上記特許文献1においても、ハードウェア音源に優先的に演奏情報を出力し、発音すべきチャンネル数がハードウェア音源の発音可能チャンネルを超えたときに、その超えた分の演奏情報をソフトウェア音源により発音させる実施の形態が記載されている。このため、音楽ジャンルによってはソフトウェア音源を使用しない状態も発生し、DSPなどの高価な資源を効率的に利用できないという問題があった。
【0007】
本発明の課題は、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、音源選択の自由度を高くすることでソフトウェア音源を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現する楽音発生装置および楽音発生処理のプログラムを提供することである。
【0008】
【課題を解決するための手段】
請求項1に記載の楽音発生装置は、単一の信号処理手段と、各チャンネル毎に設けられ、夫々楽音波形を生成可能な音源手段と、夫々指定されたチャンネルにおいて生成される楽音の音色及び付加されるエフェクトの少なくとも1つを指定するイベントが入力される入力手段と、前記各チャンネル毎に設けられ、この入力手段に入力されたイベントを、当該イベントにて指定されるチャンネルの音源手段に供給させる第1の状態、あるいは前記信号処理手段に供給させる第2の状態に切り替える第1の切り替え手段と、前記各チャンネル毎に設けられ、前記各音源手段により生成された楽音信号を直接出力させる第3の状態、あるいは前記信号処理手段に供給させる第4の状態に切り替える第2の切り替え手段と、前記入力手段に入力されたイベントにて音色が指定された場合に、当該指定された音色の楽音が前記音源手段にて生成されるべきものか否か、かつ生成されると判別された場合に付加されるべきエフェクトが指定されているか否かを判別する判別手段と、この判別手段により生成されるものでないと判別された場合に、当該入力されたイベントにて指定されるチャンネルの第1の切り替え手段を、前記第2の状態に切り替え、前記第2の切り替え手段全てを、前記第3の状態に切り替えるとともに、前記信号処理手段を、楽音生成用として動作させる第1の制御手段と、前記判別手段により生成されるものと判別され、かつ付加されるエフェクトが指定されている場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段を前記第4の状態に切り替え、前記第1の切り替え手段全てを前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて指定されるエフェクト付加用として動作させる一方、前記判別手段により生成されるものと判別され、かつ付加されるエフェクトが指定されていない場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段が第3の状態のときにのみ、前記入力されたイベントにて指定されるチャンネルの第1の切り替え手段を第1の状態に切り替える第2の制御手段と、前記入力手段に入力されたイベントにて付加されるエフェクトの変更が指定された場合に、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段を、前記第4の状態に切り替え、前記第1の切り替え手段全てを、前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて変更されるエフェクト付加用として動作させる第3の制御手段とを備えた構成になっている。
【0011】
本発明の楽音発生処理のプログラムは、単一の信号処理手段と、各チャンネル毎に設けられ、夫々楽音波形を生成可能な音源手段と、夫々指定されたチャンネルにおいて生成される楽音の音色及び付加されるエフェクトの少なくとも1つを指定するイベントが入力される入力手段と、前記各チャンネル毎に設けられ、この入力手段に入力されたイベントを、当該イベントにて指定されるチャンネルの音源手段に供給させる第1の状態、あるいは前記信号処理手段に供給させる第2の状態に切り替える第1の切り替え手段と、前記各チャンネル毎に設けられ、前記各音源手段により生成された楽音信号を直接出力させる第3の状態、あるいは前記信号処理手段に供給させる第4の状態に切り替える第2の切り替え手段と、を有する楽音発生装置に適用されるコンピュータに、前記入力手段に入力されたイベントにて音色が指定された場合に、当該指定された音色の楽音が前記音源手段にて生成されるべきものか否か、かつ生成されると判別された場合に付加されるべきエフェクトが指定されているか否かを判別するステップと、前記音源手段にて生成されるものでないと判別された場合に、当該入力されたイベントにて指定されるチャンネルの第1の切り替え手段を、前記第2の状態に切り替え、前記第2の切り替え手段全てを、前記第3の状態に切り替えるとともに、前記信号処理手段を、楽音生成用として動作させるステップと、前記音源手段により生成されるものと判別され、かつ付加されるエフェクトが指定されている場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段を前記第4の状態に切り替え、前記第1の切り替え手段全てを前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて指定されるエフェクト付加用として動作させる一方、前記音源手段により生成されるものと判別され、かつ付加されるエフェクトが指定されていない場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段が第3の状態のときにのみ、前記入力されたイベントにて指定されるチャンネルの第1の切り替え手段を第1の状態に切り替えるステップと、前記入力手段に入力されたイベントにて付加されるエフェクトの変更が指定された場合に、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段を、前記第4の状態に切り替え、前記第1の切り替え手段全てを、前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて変更されるエフェクト付加用として動作させるステップと、を実行させる構成になっている。
【0014】
【発明の実施の形態】
以下、本発明による楽音発生装置の実施形態について、図を参照して説明する。
図1は、実施形態における楽音発生装置の構成を示すブロック図である。この図において、CPU1は、システムバス2を介して、ROM3、RAM4、MIDI入力インターフェース5、および音源6に接続され、これら各部との間で、コマンドおよびデータを授受しながら、この装置全体を制御する。
【0015】
ROM3は、CPU1によって実行される楽音発生処理のプログラムを含む制御プログラムや、この装置の起動時のイニシャライズにおける初期データなどをあらかじめ格納している。RAM4は、CPU1のワークエリアであり、各種のレジスタやフラグなどのエリアが設けられている。MIDI入力インターフェース5は、外部MIDI機器からのMIDI形式、すなわちコマンド形式のイベントをCPU1に入力する。音源6は、内部に16チャンネルの発音チャンネルおよびDSP(ディジタル・シグナル・プロセッサ)を有するとともに、発音回路7に接続されている。発音回路7は、D/A変換回路、増幅回路、スピーカなどで構成され、音源6から出力される楽音波形に応じて楽音を送出する。
【0016】
図2は、CPU1から音源6に送出されるコマンド形式からなるボイスメッセージのイベントの種類を示している。ボイスメッセージのイベントには、押鍵や離鍵などを示すノートオン/オフ、音色変更を示すプログラム・チェンジ、様々なエフェクトを付加するコントロール・チェンジなどがある。図2(a)はノートオンイベント、図2(b)はノートオフイベント、図2(c)は音色変更のイベント、図2(d)は音色変更で且つエフェクト付きのイベント、図2(e)はエフェクト変更のイベントである。
【0017】
ノートオンイベントは、チャンネル番号「1」〜「16」を指定するチャンネル指定情報、ノートオンコマンド、音高で構成されている。ノートオフイベントは、チャンネル指定情報、ノートオフコマンド、音高で構成されている。音色変更イベントは、チャンネル指定情報、音色変更コマンド、音色番号で構成されている。インサーション・エフェクト付き音色変更イベントは、チャンネル指定情報、音色変更コマンド、音色番号、エフェクトタイプで構成されている。エフェクト変更イベントは、チャンネル指定情報、エフェクト変更コマンド、エフェクトタイプで構成されている。
【0018】
図3は、音源6内におけるメモリエリア6bおよび6cを示している。CPU1から音源6に送出されたコマンド形式のイベントは、各発音チャンネルごとに設けられたチャンネル番号i(i=1〜16)のエリア6bにストアされる。図3に示すように、メモリエリア6bには、オントリガフラグOTF(i)、オフトリガフラグOFT(i)、オンフラグON(i)、音高レジスタNOTE(i)、音色レジスタTONE(i)、エフェクトタイプレジスタTYPE(i)、アナログ・シンセシス・セレクト・フラグASS(i)、DSPライン・セレクト・フラグDLS(i)、PCM出力レジスタR0(i)、DSP出力レジスタR1(i)の記憶エリアがある。
メモリエリア6bの内容に基づいて音源6で演算された結果は、各チャンネルに共通のメモリエリア6cにストアされる。図3に示すように、メモリエリア6cには、演算用のレジスタR0、R1、R2、R3、R4、R5、R6の記憶エリアがある。
なお、メモリエリア6bおよび6cにおける夫々のフラグやレジスタの機能については後述する。
【0019】
図4は、音源6の機能をハードウェア的に示すブロック図である。この図には示していないが、実際には、音源用のマイクロプロセッサ、音源制御のプログラム、並びに、楽音発生用のアルゴリズムおよびエフェクト用のアルゴリズムを格納しているメモリ、上記したメモリエリア6bおよび6cなどが内蔵されている。マイクロプロセッサは、この音源制御のプログラムおよびアルゴリズムによって、音色指定情報処理、スイッチ切替処理、加算処理などを実行するが、ここでは説明を簡便にするために、マイクロプロセッサの機能をハードウェアとして図4に示している。
【0020】
音色指定情報部11は、上記したメモリエリア6bおよび6cと協働して、最大16パートP(1)、P(2)…P(16)のイベントを16個の発音チャンネルに割り当てる。16個の発音チャンネル12(i;i=1〜16)の各々は、PCM波形発生器(PCM WAVE GENERATOR)13(i)を備えている。各PCM波形発生器13(i)は、内蔵するPCM波形メモリから指定音色に応じた波形データを読み出して楽音波形を生成するハードウェア音源である。DSP(ディジタル・シグナル・プロセッサ)14は、アルゴリズムに基づいて楽音波形の生成処理やエフェクト処理を行うソフトウェア音源である。
【0021】
音色指定情報部11と各発音チャンネル12(i)の間には、アナログ・シンセシス・セレクト用にスイッチASS(i)が設けられ、各パートの楽音発生をPCM波形発生器13(i)で行うか、又はアナログ・シンセシスとしてDSP14で行うかを選択する。スイッチASS(i)の状態は、図3に示したメモリエリア6bのフラグASS(i)の値であり、DSP14で楽音波形の生成を行う場合はフラグASS(i)を「1」にセットし、PCM波形発生器13(i)で楽音波形の生成を行う場合はフラグASS(i)を「0」にセットする。
【0022】
さらに、各発音チャンネル12(i)において、PCM波形発生器13(i)で楽音波形の生成を行った場合において、その生成した楽音波形に対して、DSP14によってインサーション・エフェクトを付加するか、又はインサーション・エフェクトを付加せずにそのまま出力するかを選択することができる。インサーション・エフェクトとは、楽音波形に対して歪み、遅延、ピッチシフトなどの加工処理を行うエフェクト機能である。そのために、図4に示すように、各発音チャンネル12(i)内に、DSPライン・セレクト用にスイッチDLS(i)が設けられている。スイッチDLS(i)の状態も、図3に示したメモリエリア6bのフラグDLS(i)の値であり、DSP14によってインサーション・エフェクトを付加する場合はフラグDLS(i)を「1」にセットし、インサーション・エフェクトを付加せずに、そのまま出力する場合はフラグDLS(i)を「0」にセットする。
【0023】
PCM波形発生器13(i)およびDSP14で生成した楽音波形に対して、システム・エフェクトを付加する。そのために、図4に示すように、音源6内には、合成器15、加算器16、リバーブ(REVERV)17、コーラス(CHORUS)18、加算器19、加算器20、およびマスター(MASTER)21が設けられている。システム・エフェクトとは、リバーブ17による音場環境の設定処理、コーラス18によるコーラス効果、マスター21によるイコライザ処理を行うことである。
【0024】
チャンネル番号jがi以外の「1」〜「16」とすると、各PCM波形発生器13(j)で生成された楽音波形R0(j)は、合成器15で合成されて、その合成された楽音波形R0が加算器16およびコーラス18に入力される。加算器16にはDSP14で生成された楽音波形R1(i;i≠j)も入力され、楽音波形R0と加算されて、その加算された楽音波形R2がリバーブ17および加算器19に入力される。加算器19にはコーラス18でエフェクト付加された楽音波形R4も入力され、加算器16からの楽音波形R2と加算され、その加算された楽音波形R5が合成器20に入力される。リバーブ17でエフェクト付加された楽音波形R3も合成器20に入力される。合成器20には、各PCM波形発生器13(j)で生成された楽音波形R0(j)およびDSP14で生成された楽音波形R1(i)も入力されて合成される。合成器20で合成された楽音波形R6は、マスター21においてイコライザ処理が施されて、発音回路7に出力される。
【0025】
図5〜図10は、この楽音発生装置の楽音発生処理のフローチャートである。
図5において、まず、図3のメモリエリア6b、6cをクリアするなどのイニシャライズを行う(ステップS1)。そして、図1のCPU1からのイベント入力があるか否かを判別する(ステップS2)。イベント入力があったときは、そのイベントのチャンネル番号をレジスタnにセットする(ステップS3)。そして、入力されたイベントの内容に応じた処理を行う。
【0026】
入力されたイベントのコマンドがノートオンであるか否かを判別し(ステップS4)、ノートオンである場合には、オントリガフラグONT(n)を「1」にセットし(ステップS5)、イベントの音高をレジスタNOTE(n)にストアする(ステップS6)。入力されたイベントのコマンドがノートオンでない場合には、そのコマンドがノートオフであるか否かを判別する(ステップS7)。ノートオフである場合には、オフトリガフラグOFT(n)を「1」にセットし(ステップS8)、イベントの音高をレジスタNOTE(n)にストアする(ステップS9)。
【0027】
入力されたイベントのコマンドがノートオンおよびノートオフでない場合には、図6のフローにおいて、そのコマンドが音色変更であるか否かを判別する(ステップS10)。音色変更である場合には、イベントの音色番号をレジスタTONE(n)にストアする(ステップS11)。そして、フラグCHANGEF(n)を「1」にセットする(ステップS12)。次に、TONE(n)にストアした変更指示の音色がDSPによるアナログ・シンセテシス(AS)の音色であるか、PCM波形の音色であるかを判別する(ステップS13)。
【0028】
PCM波形の音色である場合には、さらに、そのイベントがエフェクトタイプ付きであるか否かを判別する(ステップS14)。エフェクトタイプ付きである場合には、そのエフェクト番号をレジスタTYPE(n)にストアする(ステップS15)。一方、入力されたイベントがステップS10において音色変更でないと判別された場合には、そのイベントがエフェクト変更であるか否かを判別する(ステップS16)。エフェクト変更である場合には、ステップS15において変更指示のエフェクト番号をレジスタTYPE(n)にストアする。
エフェクト番号をレジスタTYPE(n)にストアした後は、フラグDLS(n)を「1(DSPによるエフェクト付加)」にする(ステップS17)。ステップS14において、エフェクトタイプ付きでないと判別したときは、フラグDLS(n)は「0(エフェクト付加なく出力)」の状態を維持している。
【0029】
次に、フラグDLS(n)が「1」であるか否かを判別する(ステップS18)。このフラグが「1」である場合には、DSPにTYPE(n)のエフェクト用アルゴリズムを転送する(ステップS19)。すなわち、DSPによるエフェクト付加を設定する。この場合には、すべての発音チャンネルで生成する楽音波形はアナログ・シンセシスでなく、PCM波形により生成することになる。したがって、フラグASS(1)〜(16)をすべて「0」にする(ステップS20)。ステップS18において、DLS(n)が「0」である場合には、DSPによるエフェクト付加を行わず、発音チャンネル(n)からそのまま出力する。したがって、フラグASS(n)を「0」にする(ステップS21)。
【0030】
ステップS13において、TONE(n)にストアした変更指示の音色がアナログ・シンセテシス(AS)の音色である場合には、フラグASS(n)を「1(DSPによる楽音発生)」にして(ステップS22)、DSPに楽音発生のアルゴリズムを転送する(ステップS23)。この場合には、DSPによるエフェクト付加ができないので、フラグDLS(1)〜(16)をすべて「0」にする(ステップS24)。
【0031】
入力されたイベントが音色変更でもなく、エフェクト変更でもない場合、又は、入力されたイベントが音色変更若しくはエフェクト変更であり、その変更に応じてフラグDLS、ASSを設定した後は、図7〜図10の発音処理のフローに移行する。
図7のフローにおいて、レジスタR0、R1をクリアし(ステップS25)、発音チャンネルを指定するポインタnを「1」にセットして(ステップS26)、nの値をインクリメントしながら、各発音チャンネルに対する発音処理のループである図7のステップS27〜図9のステップS58を実行する。
【0032】
nで指定した発音チャンネルのフラグONT(n)が「1(発音開始)」であるか否かを判別し(ステップS27)、このフラグが「1」であるときはこれを「0」にリセットして(ステップS28)、フラグON(n)を「1(発音指示)」にセットする(ステップS29)。
次に、フラグASS(n)が「1」であるか否かを判別する(ステップS30)。ASS(n)が「1」である場合には、TONE(n)にストアしている音色、及び、NOTE(n)にストアしている音高をDSPに転送する(ステップS31)。一方、ASS(n)が「0」である場合には、TONE(n)にストアしている音色、及び、NOTE(n)にストアしている音高をPCM波形発生器に転送する(ステップS32)。すなわち、DSP又はPCM波形発生による発音発生の指示を行う。
ステップS27においてONT(n)が「0」で発音開始でない場合には、フラグOFT(n)が「1(消音開始)」であるか否かを判別する(ステップS33)。このフラグが「1」であるときはこれを「0」にリセットして(ステップS34)、フラグON(n)を「0(消音指示)」にリセットする(ステップS35)。
【0033】
発音指示若しくは消音指示の後、又は発音指示でも消音指示でもない場合は、図8のフローに移行して、フラグCHANGEF(n)が「1(音色変更)」であるか否かを判別する(ステップS36)。このフラグが「1」である場合にはこれを「0」にリセットする(ステップS37)。そして、フラグASS(n)が「1(DSPによる楽音発生)」であるか又は「0(PCM波形発生器による楽音発生)」であるかを判別する(ステップS38)。このフラグが「1」である場合は、TONE(n)にストアされている変更指示の音色をDSPに転送する(ステップS39)。このフラグが「0」である場合は、TONE(n)にストアされている変更指示の音色をPCM波形発生器に転送する(ステップS40)。
【0034】
次に、フラグON(n)が「1(発音指示)」であるか否かを判別する(ステップS41)。このフラグが「1」である場合には、さらに、フラグASS(n)が「0」であるか又は「1」であるかを判別する(ステップS42)。このフラグが「0」である場合には、PCM波形発生器の処理を実行する(ステップS43)。すなわち、PCM波形メモリから音色に対応する波形データを音高に対応する読出ピッチで読み出して楽音波形を生成する。そして、その処理出力をレジスタR0(n)にストアする(ステップS44)。
一方、ASS(n)が「1」である場合には、レジスタR1(n)を初期状態にするためにこれをクリアする(ステップS45)。
また、ステップS41において、ON(n)が「0(消音指示)」である場合には、レジスタR0(n)をクリアし(ステップS46)、レジスタR1(n)をクリアする(ステップS47)。
【0035】
発音指示である場合に、ステップS44又はS45の後は、図9のフローに移行して、フラグDLS(n)が「0」であるか又は「1」であるかを判別する(ステップS48)。DLS(n)が「0」である場合には、DSPによるエフェクト付加は行わない。この場合にはさらに、フラグASS(n)が「1」であるか又は「0」であるかを判別する(ステップS49)。ASS(n)が「1」である場合には、DSPによる楽音発生処理を実行する(ステップS50)。そして、DSPによる処理出力をレジスタR1(n)にストアする(ステップS51)。ASS(n)が「0」である場合には、図8のステップS43においてPCM波形発生器により楽音発生を行い、DSPによる楽音発生は行わないので、レジスタR1(n)をクリアする(ステップS52)。
一方、ステップS48において、DLS(n)が「1」である場合には、DSPによるR0(n)の楽音波形に対するエフェクト処理を行う(ステップS53)。そして、レジスタR1(n)にその処理出力をストアする(ステップS54)。
【0036】
ステップS51若しくはステップS54において、レジスタR1(n)に処理出力をストアした後、又は、図8のステップS47において、レジスタR1(n)をクリアした後は、レジスタR0およびR1の累算処理を行う。すなわち、レジスタR0(n)にストアした処理出力である楽音波形をレジスタR0に加算し(ステップS55)、レジスタR1(n)にストアした楽音波形をレジスタR1に加算する(ステップS56)。そして、nの値をインクリメントして次の発音チャンネルを指定する(ステップS57)。このときnの値が「16」より大きいか否かを判別する(ステップS58)。すなわち、すべての発音チャンネルに対する発音処理が完了したか否かを判別する。nの値が「16」以下で、まだ発音処理の残っている発音チャンネルがある場合には、図7のステップS27に移行して、図9のステップS58までのループを繰り返す。
【0037】
ステップS58においてnの値が「16」より大きくなって、すべての発音チャンネルに対する発音処理が完了したときは、図4の合成器15からは楽音波形を生成したすべての発音チャンネルの処理出力を合成した楽音波形がR0として加算器16に入力される。すなわち、各発音チャンネルで生成された楽音波形が合成されてレジスタR0にストアされる。また、DSP14において生成された楽音波形又はエフェクト処理された楽音波形が、R1(n)として加算器16に入力される。すなわち、DSP14で処理されたR1(n)の楽音波形がレジスタR1にストアされる。
【0038】
次に、図9のステップS59において、レジスタR0の合成された楽音波形と、レジスタR1の楽音波形とを加算して、レジスタR2にストアする(ステップS59)。すなわち、図4の加算器16による加算処理を行う。加算器16の出力であるR2は、リバーブ17および加算器19に入力される。次に、R2に対するリバーブ処理を行う(ステップS60)。そして、レジスタR3にその処理出力をストアする(ステップS61)。
【0039】
次に、図10のフローにおいて、レジスタR0の楽音波形に対するコーラス処理を行う(ステップS62)。そして、レジスタR4にその処理出力をストアする(ステップS63)。すなわち、図4のコーラス18に入力された楽音波形に対してコーラス処理を施して、楽音波形R4として加算器19に入力する。上記したように、加算器19には加算器16の出力であるR2が入力されているので、図10のステップS64に示すように、R2とR4とが加算されてR5として出力される。
【0040】
ステップS65においては、図4の合成器20の合成処理を行う。合成器20においては、各PCM波形発生器12(j)から入力されるR0(j)の楽音波形、DSP14から入力されるR1(i)の楽音波形、リバーブ17から入力されるR3の楽音波形、加算器19から入力されるR5の楽音波形が合成されて、楽音波形R6としてマスタ21に入力される。ただし、j=1〜12、j≠iの関係になっている。すなわち、フラグASS(j)はすべて「0」、フラグDLS(i)は「1」に設定されている。次に、R6に対するマスタ処理を行って(ステップS66)、処理結果を発音回路7に出力する(ステップS67)。
【0041】
以上のように、上記実施形態による楽音発生装置は、複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定するとともに、イベントデータに含まれている音色指定情報の内容を判定する音色指定情報部11と、各発音チャンネルごとに設けられ、入力されたイベントデータに含まれている音色指定情報に対応する波形データを波形メモリから読み出して楽音波形を生成するPCM波形発生器13と、入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理によって楽音波形を生成するDSP14と、音色指定情報部11によって判定された任意のパートの音色指定情報の内容がDSP14による楽音波形を指示するときには、DSP14が他のパートの楽音波形生成として使用されていない場合は任意のパートのイベントデータをDSP14に入力させ、DSP14が他のパートの楽音波形生成として使用されている場合は任意のパートのイベントデータをPCM波形発生器13に入力させる音源部6の制御機能とを備えた構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、楽音発生のための音源選択の自由度を高くすることで、ソフトウェア音源であるDSP14のアナログ・シンセシスの楽音発生機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【0042】
この場合において、DSP14は、入力された楽音波形に対してエフェクト用の演算処理によるエフェクトを付加する機能をさらに有し、音源部6の制御機能は、音色指定情報部11によって判定された任意のパートの音色指定情報の内容がDSP14によるエフェクト付加を指示するときには、DSP14が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は任意のパートのイベントデータの入力に応じてPCM波形発生器13において生成された楽音波形をDSP14に入力させ、DSP14が他のパートの楽音波形生成又はエフェクト付加として使用されている場合はPCM波形発生器13において生成された楽音波形をそのまま出力させる構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、インサーション・エフェクトを付加するための音源選択の自由度を高くすることで、ソフトウェア音源であるDSP14のエフェクト付加機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【0043】
また、この場合において、DSP14は、入力されたエフェクト変更のイベントデータに応じて楽音波形に対して付加するエフェクトのタイプを変更する機能をさらに有し、音源6の制御機能は、入力されたパートのイベントデータがDSP14によるエフェクト付加の変更を指示するときには、DSP14が任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、エフェクト変更のイベントデータをDSP14に入力させる構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、音源選択の自由度を高くすることで、ソフトウェア音源であるDSP14のエフェクト付加機能のバリエーションを広げ、幅広い音楽ジャンルにも対応した演奏を実現できる。
【0044】
なお、上記実施形態においては、楽音発生装置のROM3に楽音発生処理のプログラムをあらかじめ格納し、CPU1によってそのプログラムを実行する構成について説明したが、ROM3を書き換え可能なフラッシュ・メモリなどで構成し、例えば、FD(フレキシブルディスク)又はCD−ROMなどに記憶されている楽音発生処理のプログラム、又は、インターネットなどの通信手段を介して接続されたサーバに記憶されている楽音発生処理のプログラムを、ROM3にインストールして、CPU1に実行させることも可能である。この場合には、プログラムの発明を実現できる。
【0045】
すなわち、その楽音発生処理のプログラムは、複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定する第1のステップと、イベントデータに含まれている音色指定情報の内容を判定する第2のステップと、各発音チャンネルごとに設けられたPCM波形発生器13を用いて、入力されたイベントデータに含まれている音色指定情報に対応する波形データを波形メモリから読み出して楽音波形を生成させる第3のステップと、各発音チャンネルに共通のDSP14を用いて、入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理による楽音波形を生成させる第4のステップと、第2のステップによって判定された任意のパートの音色指定情報の内容がDSP14による楽音波形を指示するときには、DSP14が他のパートの楽音波形生成として使用されているか又は使用されていないかを判定して、DSP14が他のパートの楽音波形生成として使用されていない場合は第4のステップによって楽音波形を生成させるように選択し、DSP14が他のパートの楽音波形生成として使用されている場合は第3のステップによって楽音波形を生成させるように選択する第5のステップとを有する構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、楽音発生のための音源選択の自由度を高くすることで、ソフトウェア音源であるDSP14のアナログ・シンセシスの楽音発生機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【0046】
この場合において、入力された楽音波形に対してDSP14を用いたエフェクト用の演算処理によってエフェクトを付加させる第6のステップと、第2のステップによって判定された任意のパートの音色指定情報の内容がDSP14によるエフェクト付加を指示するときには、DSP14が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は任意のパートのイベントデータの入力に応じてPCM波形発生器13において生成された楽音波形に対して第6のステップによってエフェクトを付加させるように選択し、DSP14が他のパートの楽音波形生成又はエフェクト付加として使用されている場合はPCM波形発生器13において生成された楽音波形をそのまま出力させるように選択する第7のステップとをさらに有する構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、インサーション・エフェクトを付加するための音源選択の自由度を高くすることで、ソフトウェア音源であるDSP14のエフェクト付加機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【0047】
また、この場合において、入力されたエフェクト変更のイベントデータに応じてDSP14を用いた楽音波形に対するエフェクト付加のタイプを変更する第8のステップと、入力されたパートのイベントデータがDSP14によるエフェクト付加の変更を指示するときには、DSP14が任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、第8のステップによる変更を選択する第9のステップとをさらに有する構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、音源選択の自由度を高くすることで、ソフトウェア音源であるDSP14のエフェクト付加機能のバリエーションを広げ、幅広い音楽ジャンルにも対応した演奏を実現できる。
【0048】
【発明の効果】
本発明によれば、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、楽音発生のイベントが入力されたときは、ソフトウェア音源が使用可能であるかどうかを随時判断して、音源選択の自由度を高くすることでソフトウェア音源を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施形態における楽音発生装置の構成を示すブロック図。
【図2】図1のCPUから音源に送出されるイベントの種類を示す図。
【図3】図1の音源内におけるメモリエリアを示す図。
【図4】図1の音源の機能をハードウェア的に示すブロック図。
【図5】本発明の実施形態における楽音発生処理のフローチャート。
【図6】図5に続く楽音発生処理のフローチャート。
【図7】図5および図6に続く楽音発生処理のフローチャート。
【図8】図7に続く楽音発生処理のフローチャート。
【図9】図8に続く楽音発生処理のフローチャート。
【図10】図9に続く楽音発生処理のフローチャート。
【符号の説明】
1 CPU
3 ROM
4 RAM
5 MIDI入力インターフェース
6 音源
7 発音回路
11 音色指定情報部
12 発音チャンネル
13 PCM波形発生器
14 DSP
15、20 合成器
16、19 加算器
17 リバーブ
18 コーラス
21 マスター
Claims (2)
- 単一の信号処理手段と、
各チャンネル毎に設けられ、夫々楽音波形を生成可能な音源手段と、
夫々指定されたチャンネルにおいて生成される楽音の音色及び付加されるエフェクトの少なくとも1つを指定するイベントが入力される入力手段と、
前記各チャンネル毎に設けられ、この入力手段に入力されたイベントを、当該イベントにて指定されるチャンネルの音源手段に供給させる第1の状態、あるいは前記信号処理手段に供給させる第2の状態に切り替える第1の切り替え手段と、
前記各チャンネル毎に設けられ、前記各音源手段により生成された楽音信号を直接出力させる第3の状態、あるいは前記信号処理手段に供給させる第4の状態に切り替える第2の切り替え手段と、
前記入力手段に入力されたイベントにて音色が指定された場合に、当該指定された音色の楽音が前記音源手段にて生成されるべきものか否か、かつ生成されると判別された場合に付加されるべきエフェクトが指定されているか否かを判別する判別手段と、
この判別手段により生成されるものでないと判別された場合に、当該入力されたイベントにて指定されるチャンネルの第1の切り替え手段を、前記第2の状態に切り替え、前記第2の切り替え手段全てを、前記第3の状態に切り替えるとともに、前記信号処理手段を、楽音生成用として動作させる第1の制御手段と、
前記判別手段により生成されるものと判別され、かつ付加されるエフェクトが指定されている場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段を前記第4の状態に切り替え、前記第1の切り替え手段全てを前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて指定されるエフェクト付加用として動作させる一方、前記判別手段により生成されるものと判別され、かつ付加されるエフェクトが指定されていない場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段が第3の状態のときにのみ、前記入力されたイベントにて指定されるチャンネルの第1の切り替え手段を第1の状態に切り替える第2の制御手段と、
前記入力手段に入力されたイベントにて付加されるエフェクトの変更が指定された場合に、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段を、前記第4の状態に切り替え、前記第1の切り替え手段全てを、前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて変更されるエフェクト付加用として動作させる第3の制御手段と、
を備えたことを特徴とする楽音発生装置。 - 単一の信号処理手段と、各チャンネル毎に設けられ、夫々楽音波形を生成可能な音源手段と、夫々指定されたチャンネルにおいて生成される楽音の音色及び付加されるエフェクトの少なくとも1つを指定するイベントが入力される入力手段と、前記各チャンネル毎に設けられ、この入力手段に入力されたイベントを、当該イベントにて指定されるチャンネルの音源手段に供給させる第1の状態、あるいは前記信号処理手段に供給させる第2の状態に切り替える第1の切り替え手段と、前記各チャンネル毎に設けられ、前記各音源手段により生成された楽音信号を直接出力させる第3の状態、あるいは前記信号処理手段に供給させる第4の状態に切り替える第2の切り替え手段と、を有する楽音発生装置に適用されるコンピュータに、
前記入力手段に入力されたイベントにて音色が指定された場合に、当該指定された音色の楽音が前記音源手段にて生成されるべきものか否か、かつ生成されると判別された場合に付加されるべきエフェクトが指定されているか否かを判別するステップと、
前記音源手段にて生成されるものでないと判別された場合に、当該入力されたイベントにて指定されるチャンネルの第1の切り替え手段を、前記第2の状態に切り替え、前記第2の切り替え手段全てを、前記第3の状態に切り替えるとともに、前記信号処理手段を、楽音生成用として動作させるステップと、
前記音源手段により生成されるものと判別され、かつ付加されるエフェクトが指定されている場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段 を前記第4の状態に切り替え、前記第1の切り替え手段全てを前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて指定されるエフェクト付加用として動作させる一方、前記音源手段により生成されるものと判別され、かつ付加されるエフェクトが指定されていない場合は、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段が第3の状態のときにのみ、前記入力されたイベントにて指定されるチャンネルの第1の切り替え手段を第1の状態に切り替えるステップと、
前記入力手段に入力されたイベントにて付加されるエフェクトの変更が指定された場合に、当該入力されたイベントにて指定されるチャンネルの第2の切り替え手段を、前記第4の状態に切り替え、前記第1の切り替え手段全てを、前記第1の状態に切り替えるとともに、前記信号処理手段を、前記イベントにて変更されるエフェクト付加用として動作させるステップと、
を実行させる楽音発生処理のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002329390A JP4082184B2 (ja) | 2002-11-13 | 2002-11-13 | 楽音発生装置および楽音発生処理のプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002329390A JP4082184B2 (ja) | 2002-11-13 | 2002-11-13 | 楽音発生装置および楽音発生処理のプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004163650A JP2004163650A (ja) | 2004-06-10 |
JP4082184B2 true JP4082184B2 (ja) | 2008-04-30 |
Family
ID=32807401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002329390A Expired - Fee Related JP4082184B2 (ja) | 2002-11-13 | 2002-11-13 | 楽音発生装置および楽音発生処理のプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4082184B2 (ja) |
-
2002
- 2002-11-13 JP JP2002329390A patent/JP4082184B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004163650A (ja) | 2004-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7331746B2 (ja) | 電子鍵盤楽器、楽音発生方法及びプログラム | |
JP3293434B2 (ja) | 楽音発生方法 | |
EP3882905A1 (en) | Electronic musical instrument, electronic keyboard musical instrument, and method of generating musical sound | |
JP4335570B2 (ja) | 共鳴音生成装置、共鳴音生成方法及び共鳴音生成のためのコンピュータプログラム | |
JP3259846B2 (ja) | 楽音信号形成装置 | |
JP4962592B2 (ja) | 電子楽器および電子楽器に適用されるコンピュータプログラム | |
JP4082184B2 (ja) | 楽音発生装置および楽音発生処理のプログラム | |
JP7476501B2 (ja) | 共鳴音信号発生方法、共鳴音信号発生装置、共鳴音信号発生プログラムおよび電子音楽装置 | |
JP7243116B2 (ja) | 共鳴音信号発生装置、共鳴音信号発生方法、共鳴音信号発生プログラムおよび電子音楽装置 | |
JP4556852B2 (ja) | 電子楽器および電子楽器に適用されるコンピュータプログラム | |
US5177314A (en) | Timbre setting device for an electronic musical instrument | |
JP3632536B2 (ja) | パート選択装置 | |
JPH09330079A (ja) | 楽音信号発生装置及び楽音信号発生方法 | |
JP4096952B2 (ja) | 楽音発生装置 | |
JP4835434B2 (ja) | 演奏パターン再生装置及びそのコンピュータプログラム | |
JP3933070B2 (ja) | アルペジオ生成装置及びプログラム | |
JP3705203B2 (ja) | 楽音発生方法 | |
JP3782150B2 (ja) | ステレオ楽音制御装置 | |
JP2972364B2 (ja) | 音楽的情報処理装置及び音楽的情報処理方法 | |
JPH09106284A (ja) | 和音発生指示装置 | |
JP2001272978A (ja) | 情報修正装置及び情報修正プログラムを記録した媒体 | |
JP2023011837A (ja) | 電子楽器、方法、プログラム | |
JPH09244654A (ja) | 電子楽器 | |
JP3556997B2 (ja) | 電子楽曲発生装置 | |
JP3837994B2 (ja) | 楽譜データ変換装置、及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050711 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060208 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060406 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070911 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071004 |
|
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: 20080122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080204 |
|
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: 20110222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110222 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120222 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130222 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140222 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |