JP3646611B2 - Music generator - Google Patents
Music generator Download PDFInfo
- Publication number
- JP3646611B2 JP3646611B2 JP2000073251A JP2000073251A JP3646611B2 JP 3646611 B2 JP3646611 B2 JP 3646611B2 JP 2000073251 A JP2000073251 A JP 2000073251A JP 2000073251 A JP2000073251 A JP 2000073251A JP 3646611 B2 JP3646611 B2 JP 3646611B2
- Authority
- JP
- Japan
- Prior art keywords
- channel
- channels
- generation
- cpu
- sound
- 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
【0001】
【発明の属する技術分野】
本発明は、楽音信号を発生するための複数のチャンネルを有する音源手段を備え、新たな楽音信号の発生を前記チャンネルの何れかに割当てて発音させる楽音発生装置に関する。
【0002】
【従来の技術】
この種の楽音発生装置にあっては、キーオンに関する新たに入力された演奏データに応答して、同入力された演奏データに基づく新たな楽音信号の発生を音源手段のチャンネルの何れかに割当てる必要がある。この場合、楽音信号を発生中でないチャンネル(空きチャンネル)が存在するときには、そのチャンネルに前記新たな楽音信号の発生を割当てればよい。ところが、総てのチャンネルが楽音信号を発生中のときには、何れかのチャンネルを何らかの基準により選択し、同選択したチャンネルに前記新たな楽音信号の発生を割当てなければならない。
【0003】
また、この割当て処理を行う際には、一般に、選択されたチャンネルの発音音量を急激に減少させる強制的なダンプ処理等が施される。従って、より自然な演奏を得るためには、どのチャンネルを選択するかが重要となる。そこで、従来の楽音発生装置においては、各パートに対する優先度を記憶しておくとともに、各パート毎に楽音信号の発生が確保されるべきチャンネル数(リザーブ数)を記憶しておき、総てのチャンネルが楽音信号を発生中のときにはリザーブ数を超えているパートを優先度の低いほうから順に検索し、同検索されたパートに属するチャンネルの一つに前記新たな楽音信号の発生を割当てるようにしている。
【0004】
【発明が解決しようとする課題】
ところで、一般の楽音発生装置においては、演奏データに含まれるノートオン(押鍵)情報により楽音信号の発生が開始され、ノートオフ(離鍵)情報により同楽音信号の音量を次第に減少させるリリース処理が開始される。この場合、リリース処理中のチャンネルについては、ダンプ処理等により楽音信号の発生を直ちに停止しても、演奏の自然さは損なわれ難い。しかしながら、上記従来技術では、リリース処理中のチャンネルが存在している場合であっても、そのチャンネルの属するパートよりも優先度の低いパートの発音中のチャンネル数が同パートのリザーブ数を超えている場合には、同パートに属するチャンネルの一つ又はそれ以上に対してダンプ処理を行って新たな演奏データを割当てるため、自然な演奏が損なわれ易いという問題がある。
【0005】
また、上記従来技術では、リザーブ数を超えているパートに属するチャンネルの何れかに新たな楽音信号の発生を割当てることにしているため、各パートの発音チャンネル数がリザーブ数以下で、音源手段の全チャンネルが発音状態になってしまった場合には、新たな楽音信号の発生を何れのチャンネルにも割当てることができないという問題がある。さらに、上記従来技術では、優先度の低いパートから順に発音チャンネル数がリザーブ数を超えているパートを検索し、同パートに属するチャンネルの何れかに新たな楽音信号の発生を割当てるため、前記検索されたパート以外のパートで、発音チャンネル数がリザーブ数よりも大きく超えているパートがあっても、前者のパートに属するチャンネルに新たな楽音信号の発生を割当ててしまい、各パート毎の発音チャンネル数に不均衡が生じるという問題もあった。
【0006】
従って、本発明の目的は、新たな楽音信号の発生が指示されたときに、より適切なチャンネルを検索し、同検索したチャンネルに同新たな楽音信号の発生を割当てることにより、自然な演奏を行い得る楽音発生装置を提供することにある。
【0013】
【本発明の概要】
本発明は、上記課題に対処するためになされたものであり、その構成上の特徴は、割当て処理手段に、楽音信号を発生中のチャンネル数が複数パートのそれぞれにて楽音信号の発生の確保されるべきチャンネル数を表す所定のリザーブ数を超えている数をパート毎に超過チャンネル数として検出する超過チャンネル数検出手段と,前記検出された超過チャンネル数が大きいパートに属するチャンネルを優先的に検索し、同検索されたチャンネルに新たな楽音信号の発生を割当てるチャンネル検索手段とを設けたことにある。
【0014】
これによれば、楽音信号を発生中のチャンネル数がリザーブ数を大きく超えているパートに属するチャンネル(即ち、ダンプ処理等を伴う割当て処理を施しても十分なチャンネル数が確保されるパートに属するチャンネル)に対して楽音信号の発生の割当て処理が優先的に行われるので、各パートにおける発音チャンネル数の均衡が保たれて、より自然な演奏を達成することが可能となる。
【0015】
【発明の実施の形態】
以下、本発明による楽音発生装置の各実施形態について図面を参照しつつ説明すると、図1は第1実施形態にかかる楽音発生装置の概略をブロック図により示したものである。この楽音発生装置は、情報(信号)の送受信が可能となるように互いにバス10を介して接続された、パネルスイッチ11、表示器スイッチ12、MIDIインターフェース13、演奏操作子14、タイマ15、CPU16、ROM17、RAM18、ハードディスク19、表示器20、及び音源回路21を備えている。また、同装置は、図示を省略した増幅器及びスピーカを含むと共に前記音源回路21に接続されたサウンドシステム22を備えている。
【0016】
パネルスイッチ11は、自動演奏、録音、再生等の開始やこれらの終了の指示等を行うためのものであって、マニュアル操作される複数のスイッチを備えている。表示器スイッチ12は、表示器20の表示モードを選択するためのものであって、マニュアル操作される複数のスイッチを備えている。MIDIインターフェース13は、外部からMIDI情報を受信し、又は同外部にMIDI情報を送信するためのインターフェースである。演奏操作子14は、演奏者が演奏に使用する複数の鍵及びエクスプレッションペダル等からなる。これらのパネルスイッチ11、表示器スイッチ12、MIDIインターフェース13及び演奏操作子14は、楽音発生装置の入力手段を構成している。
【0017】
CPU16は、この楽音発生装置全体の制御を行うものであって、ROM17に記憶されているプログラムを実行する。タイマ15は、CPU16に対し前記プログラムを実行する際に必要な時間に関する情報を提供する。ROM17は、前記プログラムの他に、楽音発生に必要な諸情報を記憶している。RAM18は、CPU16による前記プログラムの実行時において必要な情報等を一時的に記憶する。ハードディスク19は、演奏データ等を記憶する外部記憶装置として機能し、CPU16に必要な情報を提供する。これら、タイマ15、CPU16、ROM17、RAM18及びハードディスク19は、制御手段を構成している。
【0018】
表示器20は、表示器スイッチ12によって選択された表示モードで楽音発生装置の状態や楽譜等を表示するパネルであり、CPU16により制御される。音源回路21は、CPU16からの指示に応じて楽音信号を形成してサウンドシステム22を介し発音をするためのものであって、同楽音信号をそれぞれ形成する複数の発音チャンネル(例えば、16チャンネル)を備えている。なお、本明細書においては、この発音チャンネルのことを単に「チャンネル」と呼ぶ。サウンドシステム22は、増幅器及びスピーカを有するものであって、音源回路21からの信号を増幅してスピーカから実際の音を発生する。これら、表示器20、音源回路21及びサウンドシステム22は、出力手段を構成している。
【0019】
以上のように構成された楽音発生装置においては、CPU16により演奏データが入力され、これに応じて必要な各種処理が行われることで演奏がなされる。具体的には、CPU16は、MIDIインターフェース13、演奏操作子14等の入力手段を介して新たに入力される演奏データにしたがって音源回路21における複数のチャンネルのうちの何れかを検索・選択し、同チャンネルに楽音信号の発生(演奏データ)を割当てるための処理(割当て処理)を行う。この割当て処理には、総てのチャンネルが発音中であって楽音信号の発生を割当てるチャンネルがない(空きチャンネルがない)場合に、一つのチャンネルを選択して同選択したチャンネルにて発音中の楽音の音量を急速に減少させて(楽音をダンプ処理して)楽音を消音するトランケート処理が含まれるとともに、同チャンネルに対し発音パラメータを設定する等の発音をさせるための処理(発音処理)も含まれる。そして、新たに入力された演奏データに含まれるノートオン(押鍵)情報に応答し、上記トランケート処理をも含めて同新たに入力された演奏データに応じて楽音を発生開始させるための一連の処理を「ノートオン処理」という。
【0020】
同様に、CPU16は、演奏データ中に含まれるノートオフ(離鍵)に関する情報に応じ、発音中のチャンネルに対しては発音を終了(消音)させるためのリリース処理等を含む「ノートオフ処理」を行う。ここで、リリース処理とは、消音が不自然にならないように、緩やかに音量を減少させる処理のことである。
【0021】
次に、上記ノートオン処理について図2のフローチャートを参照しつつ詳述する。CPU16は、新たに入力された演奏データに基づいてノートオンイベント処理ルーチンを実行すべきタイミングにあると判定すると、図2のステップ200から処理を開始してステップ205に進み、同ステップ205にて同演奏データ中に含まれるパート番号、ノート番号、及びベロシティをそれぞれ、RAM18の格納領域PT、NN、及びVLに格納する。
【0022】
次いで、CPU16はステップ210に進み、音源回路21中の空きチャンネルを検出する。空きチャンネルとは発音を行っていないチャンネル、すなわち楽音信号を発生中でないチャンネルのことである。その後、CPU16はステップ215に進んで空きチャンネルがあるか否かを判定し、空きチャンネルがある場合(ステップ215にて「Yes」と判定される場合)には、ステップ220に進んでRAM18の格納領域ASに、検出した空きチャンネルの番号を格納する。以下、領域ASに格納されたチャンネル番号にて指定されるチャンネルのことをASチャンネルという。
【0023】
次に、CPU16はステップ225に進み、領域PT、NN、及びVLに格納されたパート番号、ノート番号及びベロシティに基づいて生成した音源パラメータ(楽音の音色、ピッチ、音量などを制御するためのパラメータ)を、音源回路21内に設けた音源レジスタのASチャンネルに対応した記憶領域に書込む。そして、ステップ230にて、ASチャンネルに対して前記音源パラメータに応じた発音の開始すなわち楽音信号の発生開始を指示し、その後ステップ295に進んで本ルーチンを一旦終了する。この結果、チャンネルは、音源パラメータに応じた楽音の発生を開始する。
【0024】
一方、CPU16は、上記ステップ215にて空きチャンネルが存在しないと判定される場合(「No」と判定される場合)には、ステップ235に進みトランケート処理を行うべきチャンネル(トランケートチャンネル)を検索により選択し、選択したチャンネル番号を領域ASに格納する。このトランケートチャンネルの選択処理(検索)方法については後に詳述する。次いで、CPU16はステップ240に進み、ASチャンネルの発音音量を急激に減少させて楽音を消音するダンプ処理(急速減衰処理)を行い、その後、上記ステップ225,230の処理を実施してASチャンネルから音源パラメータに応じた楽音を発生させる。
【0025】
次に、ノートオフ処理について図3のフローチャートを参照しつつ説明する。CPU16は新たに入力された演奏データに基づいてノートオフイベント処理ルーチンを実行すべきタイミングにあると判定すると、図3のステップ300から処理を開始してステップ305に進み、同演奏データ中に含まれるパート番号及びノート番号をRAM18の格納領域PT及びNNにそれぞれ格納する。
【0026】
次いで、CPU16はステップ310に進み、上記演奏データにより示されたノートオフすべきチャンネルを検索し、ステップ315にて前記検索されたチャンネルに対しリリース処理を開始し、ステップ395にて本ルーチンを一旦終了する。以上により、発生されている楽音が演奏データに応じて徐々に減衰された後に消音される。なお、リリース処理が終了されたチャンネルは空きチャンネルとなる。また、減衰音などの楽音であってノートオフ情報が入力されたときには既に楽音が減衰しきっている場合には、ステップ310にてノートオフすべきチャンネルが見つからない。したがって、この場合には、ステップ315にてリリース処理を行うことなく、ステップ395にてこのノートオフイベント処理ルーチンの実行を終了する。
【0027】
次に、上述したステップ235におけるトランケートチャンネルの選択処理について、図4に示したフローチャートを参照しながら説明すると、CPU16は図2のステップ235を実行するため、図4に示したサブルーチンのステップ400へジャンプし、続くステップ405にてパート検索処理1を行う。
【0028】
具体的には、CPU16はパート検索処理1において、「発音中(楽音信号を発生中)のチャンネルの数がリザーブ数を超えているパートに属し、且つリリース処理中のチャンネルがある」という条件(パート検索条件1)を満足するパートを、各パートに対し予め定められている優先度の低いパートから順に検索する。ここで、リザーブ数とは、各パートにおいて発音が確保されるべきチャンネル数であって、ROM17内に予め記憶されている。なお、リザーブ数は、演奏させる楽曲に応じて変更する方が好ましいこともあるので、ある楽曲の演奏データ中にリザーブ数に関する情報を含ませておき、同楽曲が演奏されている間は、RAM17内に記憶させるようにすることもできる。また、演奏者の嗜好を反映するために、同演奏者がパネルスイッチ11により任意に指定することができるように構成することもできる。
【0029】
上記パート検索処理1においては、各パートを順に検索してきた結果、パート検索条件1を満足するパートが見つかれば、CPU16は、その時点で検索を終了し、この最初に見つけたパートをチャンネルの検索対象パートとして記憶し、そのようなパートが検索されたか否かを判断するステップ410に進む。この場合においては、CPU16はステップ410にて「Yes」と判定してステップ415に進み、同ステップ415にてチャンネル検索処理を行う。
【0030】
このステップ415のチャンネル検索処理においては、まず検索対象パートとして記憶されているパートに属し、且つ既にノートオフイベント処理によるリリース処理がなされているチャンネルの中から発音音量の最も小さいチャンネルを検出し、この検出したチャンネルを上記トランケートチャンネルとするべく同チャンネルの番号をRAM18の領域ASに格納する。そして、CPU16は、ステップ495を介して上記ステップ240に復帰し、トランケートチャンネル選択処理を終了する。
【0031】
また、このステップ415のチャンネル検索処理においては、前記検索対象パートとして記憶されているパートに属し、且つ既にノートオフイベント処理によるリリース処理がなされているチャンネルが無ければ、次に、同検索対象パートとして記憶されているパートに属し、且つ発音中である総てのチャンネルを対象にして発音音量の最も小さいチャンネルを検出し、この検出したチャンネルの番号を前記トランケートチャンネルとするべくRAM18の領域ASに格納する。そして、前記と同様に、ステップ495を介して上記ステップ240に復帰する。
【0032】
前記のように、ステップ410にて「Yes」すなわちパート検索条件1を満足するパートが検索された場合には、検索対象パートとして記憶されているパートに属するチャンネルの中には、ノートオフイベント処理によるリリース処理がなされているチャンネルが含まれている。したがって、この場合には、ステップ415のチャンネル検索処理において検索対象パートとして記憶されているパートに属し、且つ既にノートオフイベント処理によるリリース処理がなされているチャンネルの中から発音音量の最も小さいチャンネルを検出し、この検出したチャンネルの番号をRAM18の領域ASに格納し、ステップ495を介して上記ステップ240に復帰する。
【0033】
一方、CPU16は、上記ステップ405のパート検索処理1の検索を総てのパートに対して実行した結果、上記パート検索条件1を満足するパートが検索されなかった場合には、上記ステップ410にて「No」と判定してステップ420に進み、パート検索処理2を実行する。
【0034】
具体的には、CPU16はパート検索処理2において、「発音中のチャンネルの数がリザーブ数を超えている」という条件(パート検索条件2)を満足するパートを上記優先度の低いパートから順に検索する。このパート検索処理2においても、各パートを順に検索してきた結果、パート検索条件2を満足するパートが見つかれば、CPU16は、その時点で検索を終了し、この最初に見つけたパートをチャンネルの検索対象パートとして記憶し、そのようなパートが検索されたか否かを判断するステップ425に進み、同ステップ425にて「Yes」と判定して上記ステップ415に進む。
【0035】
この場合、ステップ410にて「No」すなわちパート検索条件1を満足するパートが無いと判定されているから、検索対象パートとして記憶されているパートに属し、且つ既にノートオフイベント処理によるリリース処理がなされているチャンネルは無いはずである。したがって、CPU16は、ステップ415にて、検索対象パートとして記憶されているパートに属し、且つ発音中である総てのチャンネルを対象にして発音音量の最も小さいチャンネルを検出し、この検出したチャンネルの番号をRAM18の領域ASに格納する。そして、CPU16は、ステップ495を介して上記ステップ240に復帰する。
【0036】
一方、CPU16は、ステップ420のパート検索処理2の検索を総てのパートに対して実施した結果、上記パート検索条件2を満足するパートが検索されなかった場合には、ステップ425にて「No」と判断してステップ430に進み、パート検索処理3を実行する。
【0037】
具体的には、CPU16はパート検索処理3において、「今回のノートオンイベントが発生したパートと同じパートに属し、且つ、発音中のチャンネルがある」という条件(パート検索条件3)を満足するパートを検索する。そして、パート検索条件3を満足するパートが検索された場合には、同検索されたパートをチャンネルの検索対象パートとして記憶し、そのようなパートが検索されたか否かを判断するステップ435にて「Yes」と判定して上記ステップ415に進む。
【0038】
この場合には、CPU16は、ステップ415にて、まず検索対象パートとして記憶されているパートに属し、且つリリース処理中のチャンネルを対象にして発音音量の最も小さいチャンネルを検出する。リリース処理中のチャンネルが無ければ、前記パートに属する総ての発音中のチャンネルを対象として発生音量の最も小さいチャンネルを検出する。そして、検出したチャンネルの番号をRAM18の領域ASに格納し、CPU16は、ステップ495を介して上記ステップ240に復帰する。
【0039】
一方、CPU16は、上記パート検索処理3を満足するパートが検索されない場合には、ステップ435にて「No」と判断してステップ440に進み、図2に示したノートオンイベント処理自体を中止する。換言すれば、この場合においては、トランケート処理を施すことができるチャンネルが存在しない状況であると判定し、ノートオンイベントに応じた発音を行うことなく、その処理を終了する。
【0040】
以上、説明したように、本発明による楽音発生装置の第1実施形態においてはノートオンイベントが発生したときに、チャンネル中に空きチャンネルが存在するときはそのチャンネルに対して発音を開始させる。また、空きチャンネルが存在しない場合には、パート検索処理1〜3を順に実行し、検索されたパートに属するチャンネルから適切なチャンネルをトランケートチャンネルとして選択する。
【0041】
従って、第1実施形態によれば、トランケート処理等により急激に音量が減少されても不自然な演奏とはなり難い(違和感が小さい)順にチャンネルが選択され、これに対してトランケート処理が行われる。この結果、入力された演奏データを割当てる空きチャンネルがチャンネル中にない場合であっても、自然な演奏を提供することができる。
【0042】
次に、本発明による楽音発生装置の第2実施形態について説明すると、第2実施形態はトランケートチャンネル選択処理のみが第1実施形態のそれと異なり、他の点については第1実施形態と同一である。従って、以下においては、図5に示したトランケートチャンネル選択処理を説明する。
【0043】
第2実施形態においても、ノートオンイベントが発生すると、CPU16は図2に示したノートオンイベント処理を実行し、チャンネル中に空きチャンネルが存在するときはステップ215〜230の実行により、同空きチャンネルにおいて上記ノートオンイベントに対応した楽音が発音開始されるように音源回路21を制御する。一方、空きチャンネルが存在しない場合には、CPU16はステップ235に進み、図5に示したトランケートチャンネル選択処理サブルーチンの実行をステップ500から開始し、ステップ505に進む。
【0044】
CPU16は、ステップ505にて、第1実施形態のパート検索処理1と同一の処理を行い、パート検索条件1を満足するパートが検索された場合には、同検索されたパートをチャンネルの検索対象パートとして記憶し、そのようなパートがあるか否かを判定するステップ510に進む。この場合においては、CPU16は同ステップ510にて「Yes」と判定してステップ515に進み、同ステップ515にて上述したステップ415と同一のチャンネル検索処理を行う。そして、CPU16はステップ595を介して図2のステップ240に復帰して、このトランケートチャンネル選択処理を終了する。
【0045】
この結果、空きチャンネルがない場合に、上記パート検索条件1を満足するパートに属する発音中のチャンネル(発音チャンネル数がリザーブ数を超えたパートに属し、且つリリース処理中のチャンネル)の中で音量が最小のものがトランケートチャンネルとして選択され、そのチャンネル番号が領域ASに格納される。
【0046】
一方、CPU16は、上記ステップ505のパート検索処理1の検索を総てのパートに対して実行した結果、上記パート検索条件1を満足するパートが検索されなかった場合には、上記ステップ510にて「No」と判定してステップ520に進み、パート検索処理4を実行する。
【0047】
具体的には、CPU16はパート検索処理4において、「パートモードが特定パート以外のノーマルのパート(例えば、ドラムセット以外のパート)であって、発音中のチャンネルの数がそのパートのリザーブ数を超えていて、且つ、リザーブ数を超える発音中のチャンネルの数(発音中のチャンネルの数からリザーブ数を減算した値)が最も大きい」という条件(パート検索条件4)を満足するパートを検索する。そして、CPU16は、パート検索条件4を満足するパートが検索された場合には、同検索されたパートをチャンネルの検索対象パートとして記憶し、そのようなパートが検索されたか否かを判断するステップ525に進み、同ステップ525にて「Yes」と判定して上記ステップ515の処理を実行後、ステップ595を介して上記ステップ240に復帰する。なお、上記パート検索処理4において、リザーブ数を超える発音中のチャンネルの数が同じであるパートが2以上ある場合には、予め定められた優先度の低いパートを検索対象パートとする。
【0048】
この結果、上記パート検索条件4を満足するパートに属する発音中のチャンネルの中で音量が最小のものがトランケートチャンネルとして選択され、そのチャンネル番号が領域ASに格納される。ただし、この場合、前記ステップ505,510の処理により、発音チャンネル数がリザーブ数を超えているパートに属し、且つノートオフイベント処理に伴うリリース処理がなされているチャンネルは除外されるので、トランケートチャンネルとして選択されるチャンネルはリリース処理中のチャンネルではない。
【0049】
一方、CPU16は、上記ステップ520のパート検索処理4の検索を総てのパートに対して実行した結果、上記パート検索条件4を満足するパートが検索されなかった場合には、上記ステップ525にて「No」と判定してステップ530に進み、パート検索処理5を実行する。
【0050】
具体的には、CPU16はパート検索処理5において、「パートモードが特定パート(例えば、ドラムセットのパート)であって、発音中のチャンネルの数がそのパートのリザーブ数を超え、且つ、リザーブ数を超えたチャンネルの数が最も大きい」という条件(パート検索条件5)を満足するパートを検索する。なお、このようなパートは複数あり得る。そして、CPU16は、パート検索条件5を満足するパートが検索された場合には、同検索されたパートをチャンネルの検索対象パートとして記憶し、そのようなパートが検索されたか否かを判断するステップ535に進み、同ステップ535にて「Yes」と判定して上記ステップ515の処理を実行後、ステップ595を介して上記ステップ240に復帰する。
【0051】
この結果、上記パート検索条件5を満足するパートに属する発音中のチャンネルの中で音量が最小のものがトランケートチャンネルとして選択され、同チャンネルの番号が領域ASに格納される。ただし、この場合も、前記ステップ505,510の処理により、発音チャンネル数がリザーブ数を超えているパートに属し、且つノートオフイベント処理に伴うリリース処理がなされているチャンネルは除外されるので、トランケートチャンネルとして選択されるチャンネルはリリース処理中のチャンネルではない。
【0052】
一方、CPU16は、上記ステップ530のパート検索処理5の検索を総てのパートに対して実行した結果、上記パート検索条件5を満足するパートが検索されなかった場合には、上記ステップ525にて「No」と判定してステップ540に進み、パート検索処理6を実行する。
【0053】
具体的には、CPU16はパート検索処理6において、「発音中のチャンネルを含み、且つ、その発音中のチャンネルの中にリリース処理中のチャンネルがある」という条件(パート検索条件6)を満足するパートを予め定められた優先度の低い方から順に検索する。この場合、前記特定パート(例えば、ドラムセットのパート)以外のパートの優先度は、同特定パートの優先度よりも低く設定されている。このパート検索処理6においても、各パートを順に検索してきた結果、パート検索条件6を満足するパートが見つかれば、CPU16は、その時点で検索を終了し、この最初に見つけたパートをチャンネルの検索対象パートとして記憶する。そして、そのようなパートが検索されたか否かを判断するステップ545にて「Yes」と判定し、上記ステップ515の処理を実行後、ステップ595を介して上記ステップ240に復帰する。
【0054】
この結果、上記パート検索条件6を満足するパートに属する発音中のチャンネル(リリース処理中のチャンネル)の中で音量が最小のものがトランケートすべきチャンネルとして領域ASに格納される。
【0055】
一方、CPU16は、上記ステップ540のパート検索処理6の検索を総てのパートに対して実行した結果、同パート検索条件6を満足するパートが検索されなかった場合には、上記ステップ545にて「No」と判定してステップ550に進み、パート検索処理7を実行する。
【0056】
具体的には、CPU16はパート検索処理7において、「発音中のチャンネルがある」という条件(パート検索条件7)を満足するパートを上記優先度の低いパートから順に検索する。このパート検索処理7においても、各パートを順に検索してきた結果、パート検索条件7を満足するパートが見つかれば、CPU16は、その時点で検索を終了し、この最初に見つけたパートをチャンネルの検索対象パートとして記憶して上記ステップ515に進む。そして、CPU16は、検索対象パートの発音中のチャンネル(総てリリース処理中のチャンネルではない)の中から発音音量の最も小さいチャンネルを選択し、この選択したチャンネルの番号をRAM18の領域ASに格納する。そして、CPU16は、ステップ495を介して上記ステップ240に復帰する。
【0057】
このようなトランケートチャンネル選択処理によりトランケートすべきチャンネルを領域ASに格納した後、CPU16は図2のステップ240に進み、領域ASで指定されるチャンネル(ASチャンネル)の発音音量を急激に低下させて消音するダンプ処理を行い、次いで、上記ステップ225,230の処理を実施して、ASチャンネルにおいて上記ノートオンイベントに対応した楽音が発音開始されるように音源回路21を制御する。
【0058】
以上、説明したように、本発明による楽音発生装置の第2実施形態においてはノートオンイベントが発生したときに、チャンネル中に空きチャンネルが存在するときはそのチャンネルにおいて楽音が発音開始されるように音源回路21を制御する。また、空きチャンネルが存在しない場合には、パート検索処理1,4〜7を順に実行し、検索されたパートに属するチャンネルから適切なチャンネルをトランケートするとともに、このトランケートされたチャンネルにおいて楽音が発音開始されるように音源回路21を制御する。
【0059】
従って、第2実施形態によれば、特に、特定パート(例えば、ドラムセットのパート)以外のパートがドラムパートよりも低優先度とされて先に検索対象パートとなり易くなっているので、自然な演奏に必要な特定パートの発音チャンネル数が確保され、より自然な演奏が提供される。
【0060】
次に、第2実施形態の変形例について説明すると、この変形例は図6に示したように、図5のステップ520〜530を、以下に述べるステップ605のパート検索処理8に置換したものである。
【0061】
即ち、パート検索処理8においては、CPU16は、先ず特定パート(例えば、ドラムセットのパート)について、そのパートの発音中のチャンネル数から予め定められた固定値を減算し、減算結果の値を同パートについての発音中のチャンネル数とする。そして、CPU16は、総てのパート中から(前記特定パートか否かにかかわらず)「発音中のチャンネルの数がリザーブ数を超えていて、且つ、リザーブ数を超えた発音中のチャンネルの数(発音中のチャンネルからリザーブ数を減算した値)が最も大きい」という条件(パート検索条件8)を満足するパートを検索する。
【0062】
そして、パート検索条件8を満足するパートが検索された場合には、同検索されたパートをチャンネルの検索対象パートとして記憶し、上記ステップ515の処理を実行後、ステップ595を介して上記ステップ240に復帰する。また、パート検索条件8を満足するパートが検索されなかった場合には、上記ステップ540のパート検索処理6を実行する。
【0063】
このように、第2実施形態の変形例によれば、パートモードが特定パート(例えば、ドラムセットのパート)については、そのパートの発音中のチャンネル数から予め定められた固定値を減算しておき、その後他のパートと区別することなく「発音中のチャンネルの数がリザーブ数を超えていて、且つ、リザーブ数を超えた発音中のチャンネルの数が最も大きい」パートを検索する。この結果、自然な演奏のために必要とされる特定パートは、他のパートよりその発音中のチャンネル数がリザーブ数を多く超えるようにされ、演奏が不自然になり難くなっている。
【0064】
以上、説明したように、本発明による楽音発生装置の各実施形態によれば、新たな楽音信号の発生をチャンネルに割当てる場合に、空きチャンネルが存在しないとき、自然な演奏が提供されるように各種のパート検索条件にしたがってパートを選択するとともに、そのパートのチャンネルの中からトランケートすべきチャンネルを選択し、そのチャンネルに新たな楽音信号の発生を割当てる。これにより、一層自然な演奏を提供することができる。
【0065】
なお、本発明は上記実施形態に限られることなく、本発明の範囲内において種々の形態にて実施され得る。例えば、第1,第2実施形態のチャンネル検索処理(ステップ415,ステップ515)におけるチャンネルの検索条件(最も音量の小さいチャンネルを検索する)は、その他の条件に変更してもよい。即ち、この条件は、「まず、最も先にノートオフされたチャンネル、続いて、最も先にノートオンされたチャンネル」としてもよく、「最低音を除いた中で、最も低い楽音を発音(生成)中のチャンネル」等としてもよい。また、これらの条件の中のいずれか2以上の条件を組合わせたものを、同チャンネルの検索条件としてもよい。
【0066】
また、ハード回路で構成した音源回路21に代え、プログラム処理により楽音信号を形成するソフト音源手段を用いるようにしてもよい。この場合も、ソフト音源手段においては、楽音信号を形成する複数のチャンネルを備え、同複数のチャンネルのそれぞれにてパート毎の楽音信号を形成する。
【図面の簡単な説明】
【図1】 本発明の第1実施形態に係る楽音発生装置の全体を示すブロック図である。
【図2】 図1に示したCPUが実行するノートオンイベント処理を示すフローチャートである。
【図3】 図1に示したCPUが実行するノートオフイベント処理を示すフローチャートである。
【図4】 図1に示したCPUが実行するトランケートチャンネル選択処理を示すフローチャートである。
【図5】 本発明の第2実施形態のCPUが実行するトランケートチャンネル選択処理を示すフローチャートである。
【図6】 本発明の第2実施形態の変形例が採用するトランケートチャンネル選択処理を示すフローチャートである。
【符号の説明】
10…バス、11…パネルスイッチ、12…表示器スイッチ、13…インターフェース、14…演奏操作子、15…タイマ、19…ハードディスク、20…表示器、21…音源回路、22…サウンドシステム。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a musical sound generating apparatus including sound source means having a plurality of channels for generating musical sound signals, and generating a new musical sound signal by assigning it to any one of the channels.
[0002]
[Prior art]
In this kind of musical sound generating device, it is necessary to assign generation of a new musical sound signal based on the inputted performance data to any one of the channels of the sound source means in response to newly inputted performance data relating to key-on. There is. In this case, when there is a channel (vacant channel) in which no musical tone signal is being generated, the generation of the new musical tone signal may be assigned to that channel. However, when all the channels are generating musical tone signals, one of the channels must be selected according to some criteria, and the generation of the new musical tone signal must be assigned to the selected channel.
[0003]
In addition, when performing this assignment process, generally, a compulsory dumping process or the like for sharply decreasing the sound volume of the selected channel is performed. Therefore, in order to obtain a more natural performance, it is important to select which channel. Therefore, in the conventional musical sound generator, the priority for each part is stored, and the number of channels (reserve number) for which the generation of the musical sound signal should be ensured is stored for each part. When a channel is generating a musical sound signal, the parts exceeding the reserved number are searched in order from the lowest priority, and the generation of the new musical sound signal is assigned to one of the channels belonging to the searched part. ing.
[0004]
[Problems to be solved by the invention]
By the way, in a general musical tone generator, a release process is started in which generation of a musical tone signal is started by note-on (key pressing) information included in performance data, and the volume of the musical tone signal is gradually reduced by note-off (key release) information. Is started. In this case, with respect to the channel being released, the naturalness of the performance is unlikely to be impaired even if the generation of the musical tone signal is immediately stopped by dump processing or the like. However, in the above prior art, even when there is a channel that is being released, the number of channels that are sounding for a part with a lower priority than the part to which the channel belongs exceeds the reserved number of that part. If this is the case, a new performance data is assigned by performing dump processing on one or more channels belonging to the same part, so that there is a problem that natural performance is likely to be impaired.
[0005]
Further, in the above prior art, since the generation of a new tone signal is assigned to one of the channels belonging to the part exceeding the reserve number, the number of sound generation channels of each part is less than the reserve number, and the sound source means When all the channels are in a sounding state, there is a problem that generation of a new musical tone signal cannot be assigned to any channel. Further, in the above-described prior art, in order from the part with the lowest priority, the part whose sounding channel number exceeds the reserved number is searched, and the generation of a new tone signal is assigned to any of the channels belonging to the part. Even if there is a part other than the selected part whose number of sound generation channels exceeds the number of reserves, a new tone signal generation is assigned to the channel belonging to the former part, and the sound channel for each part There was also the problem of imbalance in numbers.
[0006]
Accordingly, an object of the present invention is to search for a more appropriate channel when the generation of a new musical tone signal is instructed, and to assign a generation of the new musical tone signal to the searched channel, thereby performing a natural performance. An object of the present invention is to provide a musical tone generator that can be used.
[0013]
[Outline of the present invention]
The present invention has been made to address the above-described problems, and the structural features thereof are as follows. In the allocation processing means, the number of channels that are generating musical sound signals exceeds the predetermined number of reserves indicating the number of channels for which generation of musical sound signals should be secured in each of the multiple parts, and the number of excess channels for each part Detecting excess channel number detection means, and preferentially searching for a channel belonging to a part with the detected excessive channel number, and assigning generation of a new tone signal to the searched channel Ruchi And channel search means.
[0014]
According to this, a channel belonging to a part in which the number of channels that are generating musical sound signals greatly exceeds the number of reserves (that is, it belongs to a part for which a sufficient number of channels is ensured even if allocation processing involving dump processing or the like is performed). Since the process of assigning the generation of musical sound signals is preferentially performed with respect to (channel), the balance of the number of sound generation channels in each part is maintained, and a more natural performance can be achieved.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments of a musical sound generating device according to the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an outline of the musical sound generating device according to the first embodiment. This musical tone generator includes a
[0016]
The
[0017]
The
[0018]
The
[0019]
In the musical sound generating apparatus configured as described above, performance data is input by the
[0020]
Similarly, the
[0021]
Next, the note-on process will be described in detail with reference to the flowchart of FIG. If the
[0022]
Next, the
[0023]
Next, the
[0024]
On the other hand, when it is determined in
[0025]
Next, note-off processing will be described with reference to the flowchart of FIG. If the
[0026]
Next, the
[0027]
Next, the truncation channel selection process in
[0028]
Specifically, the
[0029]
In the part search processing 1, if a part satisfying the part search condition 1 is found as a result of searching for each part in turn, the
[0030]
In the channel search process of
[0031]
In the channel search process of
[0032]
As described above, when a part that satisfies “Yes”, that is, part search condition 1 is searched in
[0033]
On the other hand, if the
[0034]
Specifically, in the part search process 2, the
[0035]
In this case, since it is determined in
[0036]
On the other hand, as a result of performing the search in the part search process 2 in
[0037]
Specifically, in the part search process 3, the
[0038]
In this case, in
[0039]
On the other hand, if no part satisfying the part search process 3 is searched, the
[0040]
As described above, in the first embodiment of the musical sound generating apparatus according to the present invention, when a note-on event occurs, if there is an empty channel in the channel, sound generation is started for that channel. If there is no empty channel, part search processes 1 to 3 are executed in order, and an appropriate channel is selected as a truncated channel from the channels belonging to the searched part.
[0041]
Therefore, according to the first embodiment, even if the volume is suddenly reduced by truncation processing or the like, channels are selected in the order that the performance is not unnatural (small sense of incongruity), and truncation processing is performed on this. . As a result, a natural performance can be provided even when there is no empty channel in the channel to which the input performance data is assigned.
[0042]
Next, a second embodiment of the musical tone generator according to the present invention will be described. The second embodiment differs from that of the first embodiment only in the truncated channel selection process, and is otherwise the same as the first embodiment. . Therefore, the truncated channel selection process shown in FIG. 5 will be described below.
[0043]
Also in the second embodiment, when a note-on event occurs, the
[0044]
In
[0045]
As a result, when there is no empty channel, the volume in the sounding channel belonging to the part satisfying the above part search condition 1 (the channel belonging to the part whose sounding channel number exceeds the reserved number and being released) Is selected as the truncated channel, and the channel number is stored in the area AS.
[0046]
On the other hand, if the
[0047]
Specifically, in the part search process 4, the
[0048]
As a result, the channel with the smallest volume among the sounding channels belonging to the part satisfying the part search condition 4 is selected as the truncated channel, and the channel number is stored in the area AS. However, in this case, the processing of
[0049]
On the other hand, as a result of executing the search in the part search process 4 in
[0050]
Specifically, in the part search process 5, the
[0051]
As a result, the channel having the smallest volume among the sounding channels belonging to the part satisfying the part search condition 5 is selected as the truncated channel, and the number of the channel is stored in the area AS. However, in this case as well, the processing in
[0052]
On the other hand, as a result of executing the search of the part search process 5 in
[0053]
Specifically, the
[0054]
As a result, the sound generating channel (the channel being released) belonging to the part satisfying the part search condition 6 is stored in the area AS as a channel to be truncated as a channel to be truncated.
[0055]
On the other hand, if the
[0056]
Specifically, in the part search processing 7, the
[0057]
After the channels to be truncated are stored in the area AS by such truncated channel selection processing, the
[0058]
As described above, in the second embodiment of the tone generator according to the present invention, when a note-on event occurs, if there is an empty channel in the channel, the tone is started to be generated in that channel. The
[0059]
Therefore, according to the second embodiment, since parts other than a specific part (for example, a part of a drum set) have a lower priority than a drum part and become easy to be a search target part first, it is natural. The number of sound channels of a specific part necessary for performance is secured, and a more natural performance is provided.
[0060]
Next, a modification of the second embodiment will be described. In this modification, as shown in FIG. 6,
[0061]
That is, in the part search process 8, the
[0062]
When a part satisfying the part search condition 8 is searched, the part searched for is stored as a channel search target part, and after performing the process of
[0063]
As described above, according to the modification of the second embodiment, when the part mode is a specific part (for example, a part of a drum set), a predetermined fixed value is subtracted from the number of channels in which the part is sounding. Then, without distinguishing from other parts, a part “the number of channels that are sounding exceeds the number of reserves and the number of channels that are sounding that exceeds the number of reserves is the largest” is searched. As a result, the specific part required for a natural performance is more likely to have an unnatural performance because the number of channels that are sounding exceeds the number of reserves than other parts.
[0064]
As described above, according to the embodiments of the musical sound generating device of the present invention, when a new musical sound signal is assigned to a channel, a natural performance is provided when there is no empty channel. A part is selected according to various part search conditions, a channel to be truncated is selected from the channel of the part, and generation of a new musical sound signal is assigned to the channel. Thereby, a more natural performance can be provided.
[0065]
The present invention is not limited to the above embodiment, and can be implemented in various forms within the scope of the present invention. For example, the channel search conditions (search for the channel with the lowest volume) in the channel search processing (
[0066]
Further, in place of the
[Brief description of the drawings]
FIG. 1 is a block diagram showing an entire musical sound generator according to a first embodiment of the present invention.
FIG. 2 is a flowchart showing note-on event processing executed by a CPU shown in FIG. 1;
FIG. 3 is a flowchart showing note-off event processing executed by the CPU shown in FIG. 1;
4 is a flowchart showing a truncated channel selection process executed by the CPU shown in FIG. 1;
FIG. 5 is a flowchart showing a truncated channel selection process executed by a CPU according to a second embodiment of the present invention.
FIG. 6 is a flowchart showing a truncated channel selection process employed by a modification of the second embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF
Claims (1)
新たな楽音信号の発生を前記チャンネルの何れかに割当てる割当て処理手段と、
前記新たな楽音信号の発生を割当てたチャンネルに対し同楽音信号の発生を開始させるための発音処理を行う発音処理手段と、
楽音信号を発生中のチャンネルに対し同楽音信号の発生を終了させるためのリリース処理を行うリリース処理手段とを備えた楽音発生装置において、
前記割当て処理手段は、
楽音信号を発生中のチャンネル数が複数パートのそれぞれにて楽音信号の発生の確保されるべきチャンネル数を表す所定のリザーブ数を超えている数をパート毎に超過チャンネル数として検出する超過チャンネル数検出手段と,
前記検出された超過チャンネル数が大きいパートに属するチャンネルを優先的に検索し、同検索されたチャンネルに前記新たな楽音信号の発生を割当てるチャンネル検索手段とを含むことを特徴とする楽音発生装置。Sound source means having a plurality of channels for generating a musical sound signal;
Assignment processing means for assigning generation of a new musical tone signal to any of the channels;
Sound generation processing means for performing sound generation processing for starting generation of the same tone signal for the channel to which generation of the new tone signal is assigned;
In a musical sound generating device comprising a release processing means for performing a release process for terminating the generation of the musical sound signal for a channel generating the musical sound signal,
The allocation processing means includes:
The number of excess channels that detects the number of channels that are generating a musical sound signal exceeding the predetermined number of reserves indicating the number of channels for which the generation of musical sound signals should be secured in each of the multiple parts as the number of excess channels for each part Detection means;
The channels belonging to the detected exceeded the number of channels is large part preferentially searched, tone generation, characterized in that it comprises a said occurrence of a new tone signal to the channel the searched allocation Ruchi Yan'neru search means apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000073251A JP3646611B2 (en) | 2000-03-16 | 2000-03-16 | Music generator |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000073251A JP3646611B2 (en) | 2000-03-16 | 2000-03-16 | Music generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001265340A JP2001265340A (en) | 2001-09-28 |
JP3646611B2 true JP3646611B2 (en) | 2005-05-11 |
Family
ID=18591519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000073251A Expired - Fee Related JP3646611B2 (en) | 2000-03-16 | 2000-03-16 | Music generator |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3646611B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107863093B (en) * | 2017-11-03 | 2022-01-07 | 得理电子(上海)有限公司 | Pronunciation management method, pronunciation management device, electronic musical instrument, and storage medium |
-
2000
- 2000-03-16 JP JP2000073251A patent/JP3646611B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001265340A (en) | 2001-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6260191B2 (en) | Electronic musical instrument, program and pronunciation pitch selection method | |
JP3372124B2 (en) | Electronic musical instrument | |
US11417303B2 (en) | Musical sound data reproduction device and musical sound data reproduction method | |
JP2500489B2 (en) | Electronic musical instrument | |
JP3646611B2 (en) | Music generator | |
US8383924B2 (en) | Musical tone signal generating apparatus | |
US20210065669A1 (en) | Musical sound generation method, musical sound generation device, and recording medium | |
JP2715795B2 (en) | Musical sound synthesizer having pronunciation assigning means | |
US6362410B1 (en) | Electronic musical instrument | |
JP6399155B2 (en) | Electronic musical instrument, program and pronunciation pitch selection method | |
JPH06138876A (en) | Electronic musical instrument | |
JP4214845B2 (en) | Automatic arpeggio device and computer program applied to the device | |
JP4106798B2 (en) | Sound generator | |
JP4094441B2 (en) | Electronic musical instruments | |
JP4306138B2 (en) | Musical sound generator and musical sound generation processing program | |
JP3667859B2 (en) | Electronic musical instruments | |
JP4254697B2 (en) | Electronic musical instruments | |
JPH05181470A (en) | One-minus-one playing device | |
JP3034398B2 (en) | Electronic musical instrument controller | |
JP2005049497A (en) | Control program of sound source circuit and controller for the circuit | |
JP3931848B2 (en) | Waveform selection device and waveform selection program | |
JP3673388B2 (en) | Musical sound channel assignment apparatus and musical sound channel assignment method | |
JP3706371B2 (en) | Musical signal frequency characteristic control device and frequency characteristic control method | |
JP3673387B2 (en) | Musical sound channel assignment apparatus and musical sound channel assignment method | |
JP3673386B2 (en) | Musical sound channel assignment apparatus and musical sound channel assignment method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041109 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041217 |
|
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: 20050118 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050131 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080218 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130218 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |