(57)【要約】【課題】ハードウェア音源とソフトウェア音源とを備えた場合において、音源選択の自由度を高くすることでソフトウェア音源を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現する。【解決手段】音源の制御機能によれば、任意のパートの音色指定情報の内容がＤＳＰ１４による楽音波形を指示するときには、ＤＳＰ１４が他のパートの楽音波形生成として使用されていない場合は任意のパートのイベントデータをＤＳＰ１４に入力させ、ＤＳＰ１４が他のパートの楽音波形生成として使用されている場合は任意のパートのイベントデータをＰＣＭ波形発生器１３に入力させる。【選択図】        図４
2004163650.tif 000002
【特許請求の範囲】
【請求項１】
複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定するとともに、イベントデータに含まれている音色指定情報の内容を判定するチャンネル指定手段と、
各発音チャンネルごとに設けられ、入力されたイベントデータに含まれている音色指定情報に対応する波形データを所定の記憶手段から読み出して楽音波形を生成する第１の楽音生成手段と、
入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理によって楽音波形を生成する第２の楽音生成手段と、
前記チャンネル指定手段によって判定された任意のパートの音色指定情報の内容が前記第２の楽音生成手段による楽音波形を指示するときには、前記第２の楽音生成手段が他のパートの楽音波形生成として使用されていない場合は前記任意のパートのイベントデータを前記第２の楽音生成手段に入力させ、前記第２の楽音生成手段が他のパートの楽音波形生成として使用されている場合は前記任意のパートのイベントデータを前記第１の楽音生成手段に入力させる切替制御手段と、
を備えたことを特徴とする楽音発生装置。
【請求項２】
前記第２の楽音生成手段は、入力された楽音波形に対してエフェクト用の演算処理によるエフェクトを付加する機能をさらに有し、前記切替制御手段は、前記チャンネル指定手段によって判定された任意のパートの音色指定情報の内容が前記第２の楽音生成手段によるエフェクト付加を指示するときには、前記第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は前記任意のパートのイベントデータの入力に応じて前記第１の楽音生成手段において生成された楽音波形を前記第２の楽音生成手段に入力させ、前記第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されている場合は前記第１の楽音生成手段において生成された楽音波形をそのまま出力させることを特徴とする請求項１記載の楽音発生装置。
【請求項３】
前記第２の楽音生成手段は、入力されたエフェクト変更のイベントデータに応じて楽音波形に対して付加するエフェクトのタイプを変更する機能をさらに有し、前記切替制御手段は、入力されたパートのイベントデータが前記第２の楽音生成手段によるエフェクト付加の変更を指示するときには、前記第２の楽音生成手段が前記任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、前記エフェクト変更のイベントデータを前記第２の楽音生成手段に入力させることを特徴とする請求項２記載の楽音発生装置。
【請求項４】
複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定する第１のステップと、
イベントデータに含まれている音色指定情報の内容を判定する第２のステップと、
各発音チャンネルごとに設けられた第１の楽音生成手段を用いて、入力されたイベントデータに含まれている音色指定情報に対応する波形データを所定の記憶手段から読み出して楽音波形を生成させる第３のステップと、
各発音チャンネルに共通の第２の楽音生成手段を用いて、入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理による楽音波形を生成させる第４のステップと、
前記第２のステップによって判定された任意のパートの音色指定情報の内容が前記第２の楽音生成手段による楽音波形を指示するときには、前記第２の楽音生成手段が他のパートの楽音波形生成として使用されているか又は使用されていないかを判定して、前記第２の楽音生成手段が他のパートの楽音波形生成として使用されていない場合は前記第４のステップによって楽音波形を生成させるように選択し、前記第２の楽音生成手段が他のパートの楽音波形生成として使用されている場合は前記第３のステップによって楽音波形を生成させるように選択する第５のステップと、
を有することを特徴とする楽音発生処理のプログラム。
【請求項５】
入力された楽音波形に対して前記第２の楽音生成手段を用いたエフェクト用の演算処理によってエフェクトを付加させる第６のステップと、前記第２のステップによって判定された任意のパートの音色指定情報の内容が前記第２の楽音生成手段によるエフェクト付加を指示するときには、前記第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は前記任意のパートのイベントデータの入力に応じて前記第１の楽音生成手段において生成された楽音波形に対して前記第６のステップによってエフェクトを付加させるように選択し、前記第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されている場合は前記第１の楽音生成手段において生成された楽音波形をそのまま出力させるように選択する第７のステップとをさらに有することを特徴とする請求項４記載の楽音発生処理のプログラム。
【請求項６】
入力されたエフェクト変更のイベントデータに応じて前記第２の楽音生成手段を用いた楽音波形に対するエフェクト付加のタイプを変更する第８のステップと、入力されたパートのイベントデータが前記第２の楽音生成手段によるエフェクト付加の変更を指示するときには、前記第２の楽音生成手段が前記任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、前記第８のステップによる変更を選択する第９のステップとをさらに有することを特徴とする請求項５記載の楽音発生処理のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、楽音発生装置および楽音発生処理のプログラムに関する。
【０００２】
【従来の技術】
従来の楽音発生装置の中には、周波数変調方式、波形メモリ方式などの専用の音源回路であるハードウェア音源の代わりに、コンピュータプログラムによる音源処理であるソフトウェア音源によって楽音の波形データを生成するとともに、そのソフトウェア音源とハードウェア音源とを選択して演奏情報を出力するものがある（特許文献１参照）。
【０００３】
【特許文献１】
特開平９−１１４４６２号公報（段落番号「０００２」〜「０００７」、「００３５」、「００３９」、「００４６」、図８）
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来の楽音発生装置においては、あらかじめ演奏者がソフトウェア音源又はハードウェア音源を選択する必要があり、選択した後は演奏が終了するまで使用する音源が固定されてしまう。上記特許文献１においては、ディスプレイの画面上に表示されている出力音源を切り替えるスイッチを演奏者がマウスでクリックする構成になっている。この場合において、例えば、ある楽曲についてそのドラムパートおよびベースパートをソフトウェア音源、ギターパートおよびエレクトリックピアノパートをハードウェア音源というように指定する構成になっている。
【０００５】
一般に、ＤＳＰ（ディジタル・シグナル・プロセッサ）などを用いたソフトウェア音源では、演算処理によって楽音波形を生成するので、多様な音色が得られる反面、演算処理に時間がかかるという問題がある。このため、演奏者の判断によって、任意のパートの楽音波形をソフトウェア音源で生成するように選択しても、実際にそのパートの楽音波形を生成できるかどうかは分からない。特に、シーケンサなどからＭＩＤＩ形式のイベントデータを受信するような場合には、ＭＩＤＩに精通したユーザにより前もってその曲のイベントデータを解析した後でないければ、音源の指定を行うことは困難である。
【０００６】
上記特許文献１においても、ハードウェア音源に優先的に演奏情報を出力し、発音すべきチャンネル数がハードウェア音源の発音可能チャンネルを超えたときに、その超えた分の演奏情報をソフトウェア音源により発音させる実施の形態が記載されている。このため、音楽ジャンルによってはソフトウェア音源を使用しない状態も発生し、ＤＳＰなどの高価な資源を効率的に利用できないという問題があった。
【０００７】
本発明の課題は、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、音源選択の自由度を高くすることでソフトウェア音源を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現する楽音発生装置および楽音発生処理のプログラムを提供することである。
【０００８】
【課題を解決するための手段】
請求項１に記載の楽音発生装置は、複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定するとともに、イベントデータに含まれている音色指定情報の内容を判定するチャンネル指定手段（実施形態においては、図４の音色指定情報部１１に相当する）と、各発音チャンネルごとに設けられ、入力されたイベントデータに含まれている音色指定情報に対応する波形データを所定の記憶手段（実施形態においては、ＰＣＭ波形メモリに相当する）から読み出して楽音波形を生成する第１の楽音生成手段（実施形態においては、図４のＰＣＭ波形発生器１３に相当する）と、入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理によって楽音波形を生成する第２の楽音生成手段（実施形態においては、図４のＤＳＰ１４に相当する）と、チャンネル指定手段によって判定された任意のパートの音色指定情報の内容が第２の楽音生成手段による楽音波形を指示するときには、第２の楽音生成手段が他のパートの楽音波形生成として使用されていない場合は任意のパートのイベントデータを第２の楽音生成手段に入力させ、第２の楽音生成手段が他のパートの楽音波形生成として使用されている場合は任意のパートのイベントデータを第１の楽音生成手段に入力させる切替制御手段（実施形態においては、図４の音源の制御機能に相当する）とを備えた構成になっている。
【０００９】
この場合において、第２の楽音生成手段は、入力された楽音波形に対してエフェクト用の演算処理によるエフェクトを付加する機能をさらに有し、切替制御手段は、チャンネル指定手段によって判定された任意のパートの音色指定情報の内容が第２の楽音生成手段によるエフェクト付加を指示するときには、第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は任意のパートのイベントデータの入力に応じて第１の楽音生成手段において生成された楽音波形を第２の楽音生成手段に入力させ、第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されている場合は第１の楽音生成手段において生成された楽音波形をそのまま出力させるように構成してもよい。
【００１０】
また、この場合において、第２の楽音生成手段は、入力されたエフェクト変更のイベントデータに応じて楽音波形に対して付加するエフェクトのタイプを変更する機能をさらに有し、切替制御手段は、入力されたパートのイベントデータが第２の楽音生成手段によるエフェクト付加の変更を指示するときには、第２の楽音生成手段が任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、エフェクト変更のイベントデータを第２の楽音生成手段に入力させるように構成してもよい。
【００１１】
本発明の楽音発生処理のプログラムは、複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定する第１のステップと、イベントデータに含まれている音色指定情報の内容を判定する第２のステップと、各発音チャンネルごとに設けられた第１の楽音生成手段（実施形態においては、図４のＰＣＭ波形発生器１３に相当する）を用いて、入力されたイベントデータに含まれている音色指定情報に対応する波形データを所定の記憶手段（実施形態においては、ＰＣＭ波形メモリに相当する）から読み出して楽音波形を生成させる第３のステップと、各発音チャンネルに共通の第２の楽音生成手段（実施形態においては、図４のＤＳＰ１４に相当する）を用いて、入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理による楽音波形を生成させる第４のステップと、第２のステップによって判定された任意のパートの音色指定情報の内容が第２の楽音生成手段による楽音波形を指示するときには、第２の楽音生成手段が他のパートの楽音波形生成として使用されているか又は使用されていないかを判定して、第２の楽音生成手段が他のパートの楽音波形生成として使用されていない場合は第４のステップによって楽音波形を生成させるように選択し、第２の楽音生成手段が他のパートの楽音波形生成として使用されている場合は第３のステップによって楽音波形を生成させるように選択する第５のステップとを有する構成になっている。
【００１２】
この場合において、入力された楽音波形に対して第２の楽音生成手段を用いたエフェクト用の演算処理によってエフェクトを付加させる第６のステップと、第２のステップによって判定された任意のパートの音色指定情報の内容が第２の楽音生成手段によるエフェクト付加を指示するときには、第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は任意のパートのイベントデータの入力に応じて第１の楽音生成手段において生成された楽音波形に対して第６のステップによってエフェクトを付加させるように選択し、第２の楽音生成手段が他のパートの楽音波形生成又はエフェクト付加として使用されている場合は第１の楽音生成手段において生成された楽音波形をそのまま出力させるように選択する第７のステップとをさらに有するように構成してもよい。
【００１３】
また、この場合において、入力されたエフェクト変更のイベントデータに応じて第２の楽音生成手段を用いた楽音波形に対するエフェクト付加のタイプを変更する第８のステップと、入力されたパートのイベントデータが第２の楽音生成手段によるエフェクト付加の変更を指示するときには、第２の楽音生成手段が任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、第８のステップによる変更を選択する第９のステップとをさらに有するように構成してもよい。
【００１４】
【発明の実施の形態】
以下、本発明による楽音発生装置の実施形態について、図を参照して説明する。
図１は、実施形態における楽音発生装置の構成を示すブロック図である。この図において、ＣＰＵ１は、システムバス２を介して、ＲＯＭ３、ＲＡＭ４、ＭＩＤＩ入力インターフェース５、および音源６に接続され、これら各部との間で、コマンドおよびデータを授受しながら、この装置全体を制御する。
【００１５】
ＲＯＭ３は、ＣＰＵ１によって実行される楽音発生処理のプログラムを含む制御プログラムや、この装置の起動時のイニシャライズにおける初期データなどをあらかじめ格納している。ＲＡＭ４は、ＣＰＵ１のワークエリアであり、各種のレジスタやフラグなどのエリアが設けられている。ＭＩＤＩ入力インターフェース５は、外部ＭＩＤＩ機器からのＭＩＤＩ形式、すなわちコマンド形式のイベントをＣＰＵ１に入力する。音源６は、内部に１６チャンネルの発音チャンネルおよびＤＳＰ（ディジタル・シグナル・プロセッサ）を有するとともに、発音回路７に接続されている。発音回路７は、Ｄ／Ａ変換回路、増幅回路、スピーカなどで構成され、音源６から出力される楽音波形に応じて楽音を送出する。
【００１６】
図２は、ＣＰＵ１から音源６に送出されるコマンド形式からなるボイスメッセージのイベントの種類を示している。ボイスメッセージのイベントには、押鍵や離鍵などを示すノートオン／オフ、音色変更を示すプログラム・チェンジ、様々なエフェクトを付加するコントロール・チェンジなどがある。図２（ａ）はノートオンイベント、図２（ｂ）はノートオフイベント、図２（ｃ）は音色変更のイベント、図２（ｄ）は音色変更で且つエフェクト付きのイベント、図２（ｅ）はエフェクト変更のイベントである。
【００１７】
ノートオンイベントは、チャンネル番号「１」〜「１６」を指定するチャンネル指定情報、ノートオンコマンド、音高で構成されている。ノートオフイベントは、チャンネル指定情報、ノートオフコマンド、音高で構成されている。音色変更イベントは、チャンネル指定情報、音色変更コマンド、音色番号で構成されている。インサーション・エフェクト付き音色変更イベントは、チャンネル指定情報、音色変更コマンド、音色番号、エフェクトタイプで構成されている。エフェクト変更イベントは、チャンネル指定情報、エフェクト変更コマンド、エフェクトタイプで構成されている。
【００１８】
図３は、音源６内におけるメモリエリア６ｂおよび６ｃを示している。ＣＰＵ１から音源６に送出されたコマンド形式のイベントは、各発音チャンネルごとに設けられたチャンネル番号ｉ（ｉ＝１〜１６）のエリア６ｂにストアされる。図３に示すように、メモリエリア６ｂには、オントリガフラグＯＴＦ（ｉ）、オフトリガフラグＯＦＴ（ｉ）、オンフラグＯＮ（ｉ）、音高レジスタＮＯＴＥ（ｉ）、音色レジスタＴＯＮＥ（ｉ）、エフェクトタイプレジスタＴＹＰＥ（ｉ）、アナログ・シンセシス・セレクト・フラグＡＳＳ（ｉ）、ＤＳＰライン・セレクト・フラグＤＬＳ（ｉ）、ＰＣＭ出力レジスタＲ０（ｉ）、ＤＳＰ出力レジスタＲ１（ｉ）の記憶エリアがある。
メモリエリア６ｂの内容に基づいて音源６で演算された結果は、各チャンネルに共通のメモリエリア６ｃにストアされる。図３に示すように、メモリエリア６ｃには、演算用のレジスタＲ０、Ｒ１、Ｒ２、Ｒ３、Ｒ４、Ｒ５、Ｒ６の記憶エリアがある。
なお、メモリエリア６ｂおよび６ｃにおける夫々のフラグやレジスタの機能については後述する。
【００１９】
図４は、音源６の機能をハードウェア的に示すブロック図である。この図には示していないが、実際には、音源用のマイクロプロセッサ、音源制御のプログラム、並びに、楽音発生用のアルゴリズムおよびエフェクト用のアルゴリズムを格納しているメモリ、上記したメモリエリア６ｂおよび６ｃなどが内蔵されている。マイクロプロセッサは、この音源制御のプログラムおよびアルゴリズムによって、音色指定情報処理、スイッチ切替処理、加算処理などを実行するが、ここでは説明を簡便にするために、マイクロプロセッサの機能をハードウェアとして図４に示している。
【００２０】
音色指定情報部１１は、上記したメモリエリア６ｂおよび６ｃと協働して、最大１６パートＰ（１）、Ｐ（２）…Ｐ（１６）のイベントを１６個の発音チャンネルに割り当てる。１６個の発音チャンネル１２（ｉ；ｉ＝１〜１６）の各々は、ＰＣＭ波形発生器（ＰＣＭ  ＷＡＶＥ  ＧＥＮＥＲＡＴＯＲ）１３（ｉ）を備えている。各ＰＣＭ波形発生器１３（ｉ）は、内蔵するＰＣＭ波形メモリから指定音色に応じた波形データを読み出して楽音波形を生成するハードウェア音源である。ＤＳＰ（ディジタル・シグナル・プロセッサ）１４は、アルゴリズムに基づいて楽音波形の生成処理やエフェクト処理を行うソフトウェア音源である。
【００２１】
音色指定情報部１１と各発音チャンネル１２（ｉ）の間には、アナログ・シンセシス・セレクト用にスイッチＡＳＳ（ｉ）が設けられ、各パートの楽音発生をＰＣＭ波形発生器１３（ｉ）で行うか、又はアナログ・シンセシスとしてＤＳＰ１４で行うかを選択する。スイッチＡＳＳ（ｉ）の状態は、図３に示したメモリエリア６ｂのフラグＡＳＳ（ｉ）の値であり、ＤＳＰ１４で楽音波形の生成を行う場合はフラグＡＳＳ（ｉ）を「１」にセットし、ＰＣＭ波形発生器１３（ｉ）で楽音波形の生成を行う場合はフラグＡＳＳ（ｉ）を「０」にセットする。
【００２２】
さらに、各発音チャンネル１２（ｉ）において、ＰＣＭ波形発生器１３（ｉ）で楽音波形の生成を行った場合において、その生成した楽音波形に対して、ＤＳＰ１４によってインサーション・エフェクトを付加するか、又はインサーション・エフェクトを付加せずにそのまま出力するかを選択することができる。インサーション・エフェクトとは、楽音波形に対して歪み、遅延、ピッチシフトなどの加工処理を行うエフェクト機能である。そのために、図４に示すように、各発音チャンネル１２（ｉ）内に、ＤＳＰライン・セレクト用にスイッチＤＬＳ（ｉ）が設けられている。スイッチＤＬＳ（ｉ）の状態も、図３に示したメモリエリア６ｂのフラグＤＬＳ（ｉ）の値であり、ＤＳＰ１４によってインサーション・エフェクトを付加する場合はフラグＤＬＳ（ｉ）を「１」にセットし、インサーション・エフェクトを付加せずに、そのまま出力する場合はフラグＤＬＳ（ｉ）を「０」にセットする。
【００２３】
ＰＣＭ波形発生器１３（ｉ）およびＤＳＰ１４で生成した楽音波形に対して、システム・エフェクトを付加する。そのために、図４に示すように、音源６内には、合成器１５、加算器１６、リバーブ（ＲＥＶＥＲＶ）１７、コーラス（ＣＨＯＲＵＳ）１８、加算器１９、加算器２０、およびマスター（ＭＡＳＴＥＲ）２１が設けられている。システム・エフェクトとは、リバーブ１７による音場環境の設定処理、コーラス１８によるコーラス効果、マスター２１によるイコライザ処理を行うことである。
【００２４】
チャンネル番号ｊがｉ以外の「１」〜「１６」とすると、各ＰＣＭ波形発生器１３（ｊ）で生成された楽音波形Ｒ０（ｊ）は、合成器１５で合成されて、その合成された楽音波形Ｒ０が加算器１６およびコーラス１８に入力される。加算器１６にはＤＳＰ１４で生成された楽音波形Ｒ１（ｉ；ｉ≠ｊ）も入力され、楽音波形Ｒ０と加算されて、その加算された楽音波形Ｒ２がリバーブ１７および加算器１９に入力される。加算器１９にはコーラス１８でエフェクト付加された楽音波形Ｒ４も入力され、加算器１６からの楽音波形Ｒ２と加算され、その加算された楽音波形Ｒ５が合成器２０に入力される。リバーブ１７でエフェクト付加された楽音波形Ｒ３も合成器２０に入力される。合成器２０には、各ＰＣＭ波形発生器１３（ｊ）で生成された楽音波形Ｒ０（ｊ）およびＤＳＰ１４で生成された楽音波形Ｒ１（ｉ）も入力されて合成される。合成器２０で合成された楽音波形Ｒ６は、マスター２１においてイコライザ処理が施されて、発音回路７に出力される。
【００２５】
図５〜図１０は、この楽音発生装置の楽音発生処理のフローチャートである。図５において、まず、図３のメモリエリア６ｂ、６ｃをクリアするなどのイニシャライズを行う（ステップＳ１）。そして、図１のＣＰＵ１からのイベント入力があるか否かを判別する（ステップＳ２）。イベント入力があったときは、そのイベントのチャンネル番号をレジスタｎにセットする（ステップＳ３）。そして、入力されたイベントの内容に応じた処理を行う。
【００２６】
入力されたイベントのコマンドがノートオンであるか否かを判別し（ステップＳ４）、ノートオンである場合には、オントリガフラグＯＮＴ（ｎ）を「１」にセットし（ステップＳ５）、イベントの音高をレジスタＮＯＴＥ（ｎ）にストアする（ステップＳ６）。入力されたイベントのコマンドがノートオンでない場合には、そのコマンドがノートオフであるか否かを判別する（ステップＳ７）。ノートオフである場合には、オフトリガフラグＯＦＴ（ｎ）を「１」にセットし（ステップＳ８）、イベントの音高をレジスタＮＯＴＥ（ｎ）にストアする（ステップＳ９）。
【００２７】
入力されたイベントのコマンドがノートオンおよびノートオフでない場合には、図６のフローにおいて、そのコマンドが音色変更であるか否かを判別する（ステップＳ１０）。音色変更である場合には、イベントの音色番号をレジスタＴＯＮＥ（ｎ）にストアする（ステップＳ１１）。そして、フラグＣＨＡＮＧＥＦ（ｎ）を「１」にセットする（ステップＳ１２）。次に、ＴＯＮＥ（ｎ）にストアした変更指示の音色がＤＳＰによるアナログ・シンセテシス（ＡＳ）の音色であるか、ＰＣＭ波形の音色であるかを判別する（ステップＳ１３）。
【００２８】
ＰＣＭ波形の音色である場合には、さらに、そのイベントがエフェクトタイプ付きであるか否かを判別する（ステップＳ１４）。エフェクトタイプ付きである場合には、そのエフェクト番号をレジスタＴＹＰＥ（ｎ）にストアする（ステップＳ１５）。一方、入力されたイベントがステップＳ１０において音色変更でないと判別された場合には、そのイベントがエフェクト変更であるか否かを判別する（ステップＳ１６）。エフェクト変更である場合には、ステップＳ１５において変更指示のエフェクト番号をレジスタＴＹＰＥ（ｎ）にストアする。
エフェクト番号をレジスタＴＹＰＥ（ｎ）にストアした後は、フラグＤＬＳ（ｎ）を「１（ＤＳＰによるエフェクト付加）」にする（ステップＳ１７）。ステップＳ１４において、エフェクトタイプ付きでないと判別したときは、フラグＤＬＳ（ｎ）は「０（エフェクト付加なく出力）」の状態を維持している。
【００２９】
次に、フラグＤＬＳ（ｎ）が「１」であるか否かを判別する（ステップＳ１８）。このフラグが「１」である場合には、ＤＳＰにＴＹＰＥ（ｎ）のエフェクト用アルゴリズムを転送する（ステップＳ１９）。すなわち、ＤＳＰによるエフェクト付加を設定する。この場合には、すべての発音チャンネルで生成する楽音波形はアナログ・シンセシスでなく、ＰＣＭ波形により生成することになる。したがって、フラグＡＳＳ（１）〜（１６）をすべて「０」にする（ステップＳ２０）。ステップＳ１８において、ＤＬＳ（ｎ）が「０」である場合には、ＤＳＰによるエフェクト付加を行わず、発音チャンネル（ｎ）からそのまま出力する。したがって、フラグＡＳＳ（ｎ）を「０」にする（ステップＳ２１）。
【００３０】
ステップＳ１３において、ＴＯＮＥ（ｎ）にストアした変更指示の音色がアナログ・シンセテシス（ＡＳ）の音色である場合には、フラグＡＳＳ（ｎ）を「１（ＤＳＰによる楽音発生）」にして（ステップＳ２２）、ＤＳＰに楽音発生のアルゴリズムを転送する（ステップＳ２３）。この場合には、ＤＳＰによるエフェクト付加ができないので、フラグＤＬＳ（１）〜（１６）をすべて「０」にする（ステップＳ２４）。
【００３１】
入力されたイベントが音色変更でもなく、エフェクト変更でもない場合、又は、入力されたイベントが音色変更若しくはエフェクト変更であり、その変更に応じてフラグＤＬＳ、ＡＳＳを設定した後は、図７〜図１０の発音処理のフローに移行する。
図７のフローにおいて、レジスタＲ０、Ｒ１をクリアし（ステップＳ２５）、発音チャンネルを指定するポインタｎを「１」にセットして（ステップＳ２６）、ｎの値をインクリメントしながら、各発音チャンネルに対する発音処理のループである図７のステップＳ２７〜図９のステップＳ５８を実行する。
【００３２】
ｎで指定した発音チャンネルのフラグＯＮＴ（ｎ）が「１（発音開始）」であるか否かを判別し（ステップＳ２７）、このフラグが「１」であるときはこれを「０」にリセットして（ステップＳ２８）、フラグＯＮ（ｎ）を「１（発音指示）」にセットする（ステップＳ２９）。
次に、フラグＡＳＳ（ｎ）が「１」であるか否かを判別する（ステップＳ３０）。ＡＳＳ（ｎ）が「１」である場合には、ＴＯＮＥ（ｎ）にストアしている音色、及び、ＮＯＴＥ（ｎ）にストアしている音高をＤＳＰに転送する（ステップＳ３１）。一方、ＡＳＳ（ｎ）が「０」である場合には、ＴＯＮＥ（ｎ）にストアしている音色、及び、ＮＯＴＥ（ｎ）にストアしている音高をＰＣＭ波形発生器に転送する（ステップＳ３２）。すなわち、ＤＳＰ又はＰＣＭ波形発生による発音発生の指示を行う。
ステップＳ２７においてＯＮＴ（ｎ）が「０」で発音開始でない場合には、フラグＯＦＴ（ｎ）が「１（消音開始）」であるか否かを判別する（ステップＳ３３）。このフラグが「１」であるときはこれを「０」にリセットして（ステップＳ３４）、フラグＯＮ（ｎ）を「０（消音指示）」にリセットする（ステップＳ３５）。
【００３３】
発音指示若しくは消音指示の後、又は発音指示でも消音指示でもない場合は、図８のフローに移行して、フラグＣＨＡＮＧＥＦ（ｎ）が「１（音色変更）」であるか否かを判別する（ステップＳ３６）。このフラグが「１」である場合にはこれを「０」にリセットする（ステップＳ３７）。そして、フラグＡＳＳ（ｎ）が「１（ＤＳＰによる楽音発生）」であるか又は「０（ＰＣＭ波形発生器による楽音発生）」であるかを判別する（ステップＳ３８）。このフラグが「１」である場合は、ＴＯＮＥ（ｎ）にストアされている変更指示の音色をＤＳＰに転送する（ステップＳ３９）。このフラグが「０」である場合は、ＴＯＮＥ（ｎ）にストアされている変更指示の音色をＰＣＭ波形発生器に転送する（ステップＳ４０）。
【００３４】
次に、フラグＯＮ（ｎ）が「１（発音指示）」であるか否かを判別する（ステップＳ４１）。このフラグが「１」である場合には、さらに、フラグＡＳＳ（ｎ）が「０」であるか又は「１」であるかを判別する（ステップＳ４２）。このフラグが「０」である場合には、ＰＣＭ波形発生器の処理を実行する（ステップＳ４３）。すなわち、ＰＣＭ波形メモリから音色に対応する波形データを音高に対応する読出ピッチで読み出して楽音波形を生成する。そして、その処理出力をレジスタＲ０（ｎ）にストアする（ステップＳ４４）。
一方、ＡＳＳ（ｎ）が「１」である場合には、レジスタＲ１（ｎ）を初期状態にするためにこれをクリアする（ステップＳ４５）。
また、ステップＳ４１において、ＯＮ（ｎ）が「０（消音指示）」である場合には、レジスタＲ０（ｎ）をクリアし（ステップＳ４６）、レジスタＲ１（ｎ）をクリアする（ステップＳ４７）。
【００３５】
発音指示である場合に、ステップＳ４４又はＳ４５の後は、図９のフローに移行して、フラグＤＬＳ（ｎ）が「０」であるか又は「１」であるかを判別する（ステップＳ４８）。ＤＬＳ（ｎ）が「０」である場合には、ＤＳＰによるエフェクト付加は行わない。この場合にはさらに、フラグＡＳＳ（ｎ）が「１」であるか又は「０」であるかを判別する（ステップＳ４９）。ＡＳＳ（ｎ）が「１」である場合には、ＤＳＰによる楽音発生処理を実行する（ステップＳ５０）。そして、ＤＳＰによる処理出力をレジスタＲ１（ｎ）にストアする（ステップＳ５１）。ＡＳＳ（ｎ）が「０」である場合には、図８のステップＳ４３においてＰＣＭ波形発生器により楽音発生を行い、ＤＳＰによる楽音発生は行わないので、レジスタＲ１（ｎ）をクリアする（ステップＳ５２）。
一方、ステップＳ４８において、ＤＬＳ（ｎ）が「１」である場合には、ＤＳＰによるＲ０（ｎ）の楽音波形に対するエフェクト処理を行う（ステップＳ５３）。そして、レジスタＲ１（ｎ）にその処理出力をストアする（ステップＳ５４）。
【００３６】
ステップＳ５１若しくはステップＳ５４において、レジスタＲ１（ｎ）に処理出力をストアした後、又は、図８のステップＳ４７において、レジスタＲ１（ｎ）をクリアした後は、レジスタＲ０およびＲ１の累算処理を行う。すなわち、レジスタＲ０（ｎ）にストアした処理出力である楽音波形をレジスタＲ０に加算し（ステップＳ５５）、レジスタＲ１（ｎ）にストアした楽音波形をレジスタＲ１に加算する（ステップＳ５６）。そして、ｎの値をインクリメントして次の発音チャンネルを指定する（ステップＳ５７）。このときｎの値が「１６」より大きいか否かを判別する（ステップＳ５８）。すなわち、すべての発音チャンネルに対する発音処理が完了したか否かを判別する。ｎの値が「１６」以下で、まだ発音処理の残っている発音チャンネルがある場合には、図７のステップＳ２７に移行して、図９のステップＳ５８までのループを繰り返す。
【００３７】
ステップＳ５８においてｎの値が「１６」より大きくなって、すべての発音チャンネルに対する発音処理が完了したときは、図４の合成器１５からは楽音波形を生成したすべての発音チャンネルの処理出力を合成した楽音波形がＲ０として加算器１６に入力される。すなわち、各発音チャンネルで生成された楽音波形が合成されてレジスタＲ０にストアされる。また、ＤＳＰ１４において生成された楽音波形又はエフェクト処理された楽音波形が、Ｒ１（ｎ）として加算器１６に入力される。すなわち、ＤＳＰ１４で処理されたＲ１（ｎ）の楽音波形がレジスタＲ１にストアされる。
【００３８】
次に、図９のステップＳ５９において、レジスタＲ０の合成された楽音波形と、レジスタＲ１の楽音波形とを加算して、レジスタＲ２にストアする（ステップＳ５９）。すなわち、図４の加算器１６による加算処理を行う。加算器１６の出力であるＲ２は、リバーブ１７および加算器１９に入力される。次に、Ｒ２に対するリバーブ処理を行う（ステップＳ６０）。そして、レジスタＲ３にその処理出力をストアする（ステップＳ６１）。
【００３９】
次に、図１０のフローにおいて、レジスタＲ０の楽音波形に対するコーラス処理を行う（ステップＳ６２）。そして、レジスタＲ４にその処理出力をストアする（ステップＳ６３）。すなわち、図４のコーラス１８に入力された楽音波形に対してコーラス処理を施して、楽音波形Ｒ４として加算器１９に入力する。上記したように、加算器１９には加算器１６の出力であるＲ２が入力されているので、図１０のステップＳ６４に示すように、Ｒ２とＲ４とが加算されてＲ５として出力される。
【００４０】
ステップＳ６５においては、図４の合成器２０の合成処理を行う。合成器２０においては、各ＰＣＭ波形発生器１２（ｊ）から入力されるＲ０（ｊ）の楽音波形、ＤＳＰ１４から入力されるＲ１（ｉ）の楽音波形、リバーブ１７から入力されるＲ３の楽音波形、加算器１９から入力されるＲ５の楽音波形が合成されて、楽音波形Ｒ６としてマスタ２１に入力される。ただし、ｊ＝１〜１２、ｊ≠ｉの関係になっている。すなわち、フラグＡＳＳ（ｊ）はすべて「０」、フラグＤＬＳ（ｉ）は「１」に設定されている。次に、Ｒ６に対するマスタ処理を行って（ステップＳ６６）、処理結果を発音回路７に出力する（ステップＳ６７）。
【００４１】
以上のように、上記実施形態による楽音発生装置は、複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定するとともに、イベントデータに含まれている音色指定情報の内容を判定する音色指定情報部１１と、各発音チャンネルごとに設けられ、入力されたイベントデータに含まれている音色指定情報に対応する波形データを波形メモリから読み出して楽音波形を生成するＰＣＭ波形発生器１３と、入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理によって楽音波形を生成するＤＳＰ１４と、音色指定情報部１１によって判定された任意のパートの音色指定情報の内容がＤＳＰ１４による楽音波形を指示するときには、ＤＳＰ１４が他のパートの楽音波形生成として使用されていない場合は任意のパートのイベントデータをＤＳＰ１４に入力させ、ＤＳＰ１４が他のパートの楽音波形生成として使用されている場合は任意のパートのイベントデータをＰＣＭ波形発生器１３に入力させる音源部６の制御機能とを備えた構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、楽音発生のための音源選択の自由度を高くすることで、ソフトウェア音源であるＤＳＰ１４のアナログ・シンセシスの楽音発生機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【００４２】
この場合において、ＤＳＰ１４は、入力された楽音波形に対してエフェクト用の演算処理によるエフェクトを付加する機能をさらに有し、音源部６の制御機能は、音色指定情報部１１によって判定された任意のパートの音色指定情報の内容がＤＳＰ１４によるエフェクト付加を指示するときには、ＤＳＰ１４が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は任意のパートのイベントデータの入力に応じてＰＣＭ波形発生器１３において生成された楽音波形をＤＳＰ１４に入力させ、ＤＳＰ１４が他のパートの楽音波形生成又はエフェクト付加として使用されている場合はＰＣＭ波形発生器１３において生成された楽音波形をそのまま出力させる構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、インサーション・エフェクトを付加するための音源選択の自由度を高くすることで、ソフトウェア音源であるＤＳＰ１４のエフェクト付加機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【００４３】
また、この場合において、ＤＳＰ１４は、入力されたエフェクト変更のイベントデータに応じて楽音波形に対して付加するエフェクトのタイプを変更する機能をさらに有し、音源６の制御機能は、入力されたパートのイベントデータがＤＳＰ１４によるエフェクト付加の変更を指示するときには、ＤＳＰ１４が任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、エフェクト変更のイベントデータをＤＳＰ１４に入力させる構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、音源選択の自由度を高くすることで、ソフトウェア音源であるＤＳＰ１４のエフェクト付加機能のバリエーションを広げ、幅広い音楽ジャンルにも対応した演奏を実現できる。
【００４４】
なお、上記実施形態においては、楽音発生装置のＲＯＭ３に楽音発生処理のプログラムをあらかじめ格納し、ＣＰＵ１によってそのプログラムを実行する構成について説明したが、ＲＯＭ３を書き換え可能なフラッシュ・メモリなどで構成し、例えば、ＦＤ（フレキシブルディスク）又はＣＤ−ＲＯＭなどに記憶されている楽音発生処理のプログラム、又は、インターネットなどの通信手段を介して接続されたサーバに記憶されている楽音発生処理のプログラムを、ＲＯＭ３にインストールして、ＣＰＵ１に実行させることも可能である。この場合には、プログラムの発明を実現できる。
【００４５】
すなわち、その楽音発生処理のプログラムは、複数のパートで構成されたイベントデータに含まれているチャンネル指定情報に従って各パートに対する発音チャンネルを指定する第１のステップと、イベントデータに含まれている音色指定情報の内容を判定する第２のステップと、各発音チャンネルごとに設けられたＰＣＭ波形発生器１３を用いて、入力されたイベントデータに含まれている音色指定情報に対応する波形データを波形メモリから読み出して楽音波形を生成させる第３のステップと、各発音チャンネルに共通のＤＳＰ１４を用いて、入力されたイベントデータに含まれている音色指定情報に応じて楽音発生用の演算処理による楽音波形を生成させる第４のステップと、第２のステップによって判定された任意のパートの音色指定情報の内容がＤＳＰ１４による楽音波形を指示するときには、ＤＳＰ１４が他のパートの楽音波形生成として使用されているか又は使用されていないかを判定して、ＤＳＰ１４が他のパートの楽音波形生成として使用されていない場合は第４のステップによって楽音波形を生成させるように選択し、ＤＳＰ１４が他のパートの楽音波形生成として使用されている場合は第３のステップによって楽音波形を生成させるように選択する第５のステップとを有する構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、楽音発生のための音源選択の自由度を高くすることで、ソフトウェア音源であるＤＳＰ１４のアナログ・シンセシスの楽音発生機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【００４６】
この場合において、入力された楽音波形に対してＤＳＰ１４を用いたエフェクト用の演算処理によってエフェクトを付加させる第６のステップと、第２のステップによって判定された任意のパートの音色指定情報の内容がＤＳＰ１４によるエフェクト付加を指示するときには、ＤＳＰ１４が他のパートの楽音波形生成又はエフェクト付加として使用されていない場合は任意のパートのイベントデータの入力に応じてＰＣＭ波形発生器１３において生成された楽音波形に対して第６のステップによってエフェクトを付加させるように選択し、ＤＳＰ１４が他のパートの楽音波形生成又はエフェクト付加として使用されている場合はＰＣＭ波形発生器１３において生成された楽音波形をそのまま出力させるように選択する第７のステップとをさらに有する構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、インサーション・エフェクトを付加するための音源選択の自由度を高くすることで、ソフトウェア音源であるＤＳＰ１４のエフェクト付加機能を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できる。
【００４７】
また、この場合において、入力されたエフェクト変更のイベントデータに応じてＤＳＰ１４を用いた楽音波形に対するエフェクト付加のタイプを変更する第８のステップと、入力されたパートのイベントデータがＤＳＰ１４によるエフェクト付加の変更を指示するときには、ＤＳＰ１４が任意のパートの楽音波形に対するエフェクト付加として使用されている場合に限り、第８のステップによる変更を選択する第９のステップとをさらに有する構成になっている。
したがって、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、音源選択の自由度を高くすることで、ソフトウェア音源であるＤＳＰ１４のエフェクト付加機能のバリエーションを広げ、幅広い音楽ジャンルにも対応した演奏を実現できる。
【００４８】
【発明の効果】
本発明によれば、ハードウェア音源とソフトウェア音源とを備えた楽音発生装置において、楽音発生のイベントが入力されたときは、ソフトウェア音源が使用可能であるかどうかを随時判断して、音源選択の自由度を高くすることでソフトウェア音源を効率的に利用し、幅広い音楽ジャンルにも対応した演奏を実現できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施形態における楽音発生装置の構成を示すブロック図。
【図２】図１のＣＰＵから音源に送出されるイベントの種類を示す図。
【図３】図１の音源内におけるメモリエリアを示す図。
【図４】図１の音源の機能をハードウェア的に示すブロック図。
【図５】本発明の実施形態における楽音発生処理のフローチャート。
【図６】図５に続く楽音発生処理のフローチャート。
【図７】図５および図６に続く楽音発生処理のフローチャート。
【図８】図７に続く楽音発生処理のフローチャート。
【図９】図８に続く楽音発生処理のフローチャート。
【図１０】図９に続く楽音発生処理のフローチャート。
【符号の説明】
１  ＣＰＵ
３  ＲＯＭ
４  ＲＡＭ
５  ＭＩＤＩ入力インターフェース
６  音源
７  発音回路
１１  音色指定情報部
１２  発音チャンネル
１３  ＰＣＭ波形発生器
１４  ＤＳＰ
１５、２０  合成器
１６、１９  加算器
１７  リバーブ
１８  コーラス
２１  マスター
【図１】
2004163650.tif 000003
【図２】
2004163650.tif 000004
【図３】
2004163650.tif 000005
【図４】
2004163650.tif 000006
【図５】
2004163650.tif 000007
【図６】
2004163650.tif 000008
【図７】
2004163650.tif 000009
【図８】
2004163650.tif 000010
【図９】
2004163650.tif 000011
【図１０】
2004163650.tif 000012