JP3646611B2 - Music generator - Google Patents

Music generator Download PDF

Info

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
Application number
JP2000073251A
Other languages
Japanese (ja)
Other versions
JP2001265340A (en
Inventor
慎一 大田
裕之 岩瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2000073251A priority Critical patent/JP3646611B2/en
Publication of JP2001265340A publication Critical patent/JP2001265340A/en
Application granted granted Critical
Publication of JP3646611B2 publication Critical patent/JP3646611B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 panel switch 11, a display switch 12, a MIDI interface 13, a performance operator 14, a timer 15, and a CPU 16 that are connected to each other via a bus 10 so that information (signals) can be transmitted and received. ROM 17, RAM 18, hard disk 19, display 20, and tone generator circuit 21. The apparatus includes a sound system 22 including an amplifier and a speaker (not shown) and connected to the sound source circuit 21.
[0016]
The panel switch 11 is for instructing the start of automatic performance, recording, reproduction, and the like, and instructing the end thereof, and includes a plurality of manually operated switches. The display switch 12 is for selecting a display mode of the display 20 and includes a plurality of manually operated switches. The MIDI interface 13 is an interface for receiving MIDI information from the outside or transmitting MIDI information to the outside. The performance operator 14 includes a plurality of keys and an expression pedal used by the performer for performance. The panel switch 11, the display switch 12, the MIDI interface 13, and the performance operator 14 constitute an input means of the musical tone generator.
[0017]
The CPU 16 controls the entire musical tone generator and executes a program stored in the ROM 17. The timer 15 provides the CPU 16 with information relating to the time required for executing the program. The ROM 17 stores various information necessary for generating musical sounds in addition to the program. The RAM 18 temporarily stores information necessary when the CPU 16 executes the program. The hard disk 19 functions as an external storage device that stores performance data and the like, and provides necessary information to the CPU 16. These timer 15, CPU 16, ROM 17, RAM 18 and hard disk 19 constitute a control means.
[0018]
The display 20 is a panel that displays the state of the musical tone generator, the score, and the like in the display mode selected by the display switch 12, and is controlled by the CPU 16. The tone generator circuit 21 is for generating a musical sound signal in accordance with an instruction from the CPU 16 and generating a sound via the sound system 22, and a plurality of sound generation channels (for example, 16 channels) for forming the same musical sound signal, respectively. It has. In the present specification, this tone generation channel is simply referred to as “channel”. The sound system 22 includes an amplifier and a speaker, and amplifies the signal from the sound source circuit 21 to generate actual sound from the speaker. These display 20, sound source circuit 21, and sound system 22 constitute output means.
[0019]
In the musical sound generating apparatus configured as described above, performance data is input by the CPU 16 and a performance is performed by performing various necessary processes in accordance with the performance data. Specifically, the CPU 16 searches and selects one of a plurality of channels in the tone generator circuit 21 according to performance data newly input via input means such as the MIDI interface 13 and the performance operator 14, Processing (allocation processing) for allocating the generation of musical sound signals (performance data) to the same channel is performed. In this assignment process, if all channels are sounding and there is no channel to which the generation of musical tone signals is assigned (no available channels), one channel is selected and the sound is being played on the selected channel. Includes truncation processing to mute the musical sound by rapidly decreasing the volume of the musical sound (by dumping the musical sound), and processing for generating sound such as setting the sounding parameters for the same channel (sounding processing) included. Then, in response to note-on (key-pressing) information included in the newly input performance data, a series of sounds for starting generation of musical sounds according to the newly input performance data including the truncation process. The process is called “note-on process”.
[0020]
Similarly, the CPU 16 performs “note-off processing” including release processing for ending (mute) sound generation for a channel that is sounding according to information related to note-off (key release) included in the performance data. I do. Here, the release process is a process of gradually decreasing the volume so that the mute does not become unnatural.
[0021]
Next, the note-on process will be described in detail with reference to the flowchart of FIG. If the CPU 16 determines that it is time to execute the note-on event processing routine based on newly input performance data, the CPU 16 starts processing from step 200 in FIG. The part number, note number, and velocity included in the performance data are stored in the storage areas PT, NN, and VL of the RAM 18, respectively.
[0022]
Next, the CPU 16 proceeds to step 210 and detects an empty channel in the sound source circuit 21. An empty channel is a channel that does not produce sound, that is, a channel that is not generating a musical sound signal. Thereafter, the CPU 16 proceeds to step 215 to determine whether or not there is an empty channel. If there is an empty channel (when “Yes” is determined in step 215), the CPU 16 proceeds to step 220 and stores in the RAM 18. The number of the detected empty channel is stored in the area AS. Hereinafter, a channel designated by a channel number stored in the area AS is referred to as an AS channel.
[0023]
Next, the CPU 16 proceeds to step 225 and generates sound source parameters (parameters for controlling tone color, pitch, volume, etc. of musical tone) generated based on the part number, note number and velocity stored in the areas PT, NN and VL. ) Is written in the storage area corresponding to the AS channel of the tone generator register provided in the tone generator circuit 21. In step 230, the AS channel is instructed to start sound generation according to the sound source parameter, that is, to start generation of a musical sound signal, and then the process proceeds to step 295 to end the present routine tentatively. As a result, the channel starts generating musical sounds according to the sound source parameters.
[0024]
On the other hand, when it is determined in step 215 that there is no empty channel (when it is determined “No”), the CPU 16 proceeds to step 235 and searches for a channel (truncated channel) on which truncation processing should be performed. The selected channel number is stored in the area AS. The truncation channel selection process (search) method will be described in detail later. Next, the CPU 16 proceeds to step 240 to perform a dump process (rapid attenuation process) in which the sound volume of the AS channel is sharply decreased to mute the musical tone, and thereafter, the processes of steps 225 and 230 are performed to start the process from the AS channel. Generates a musical sound according to the sound source parameters.
[0025]
Next, note-off processing will be described with reference to the flowchart of FIG. If the CPU 16 determines that it is time to execute the note-off event processing routine based on the newly input performance data, the CPU 16 starts processing from step 300 in FIG. 3 and proceeds to step 305 to be included in the performance data. The part number and note number to be stored are stored in the storage areas PT and NN of the RAM 18, respectively.
[0026]
Next, the CPU 16 proceeds to step 310, searches for a channel to be note-off indicated by the performance data, starts release processing for the searched channel in step 315, and once executes this routine in step 395. finish. As described above, the generated musical sound is gradually attenuated according to the performance data and then muted. Note that the channel for which release processing has been completed is an empty channel. If the musical sound is already attenuated when it is a musical sound such as a decaying sound and note-off information is input, a channel to be note-off is not found in step 310. Accordingly, in this case, the execution of this note-off event processing routine is terminated at step 395 without performing release processing at step 315.
[0027]
Next, the truncation channel selection process in step 235 described above will be described with reference to the flowchart shown in FIG. 4. Since the CPU 16 executes step 235 in FIG. 2, the process proceeds to step 400 of the subroutine shown in FIG. The part search process 1 is performed in the subsequent step 405.
[0028]
Specifically, the CPU 16 determines in the part search process 1 that “there is a part that belongs to a part in which the number of channels that are sounding (generating a musical tone signal) exceeds the number of reserves and that is in the release process” ( The parts satisfying the part search condition 1) are searched in order from the part with the lowest priority predetermined for each part. Here, the number of reserves is the number of channels for which sound generation is to be ensured in each part, and is stored in the ROM 17 in advance. Since it may be preferable to change the number of reserves according to the music to be played, information about the number of reserves is included in the performance data of a certain music, and while the music is being played, the RAM 17 It can also be stored inside. Moreover, in order to reflect a player's preference, it can also comprise so that the same player can designate arbitrarily with the panel switch 11. FIG.
[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 CPU 16 ends the search at that time, and searches the channel for the first part found. The process proceeds to step 410 where it is stored as a target part and it is determined whether or not such a part has been searched. In this case, the CPU 16 makes a “Yes” determination at step 410 to proceed to step 415, and performs a channel search process at step 415.
[0030]
In the channel search process of step 415, first, the channel that belongs to the part stored as the search target part and that has already undergone the release process by the note-off event process is detected, and the channel with the smallest sound volume is detected. The channel number is stored in the area AS of the RAM 18 so that the detected channel is the truncated channel. Then, the CPU 16 returns to step 240 via step 495 and ends the truncated channel selection process.
[0031]
In the channel search process of step 415, if there is no channel that belongs to the part stored as the search target part and has already been released by the note-off event process, then the search target part The channel with the lowest sound volume is detected for all the channels that belong to the part stored and are sounding, and the number of the detected channel is set in the area AS of the RAM 18 so as to be the truncated channel. Store. Then, similarly to the above, the process returns to step 240 via step 495.
[0032]
As described above, when a part that satisfies “Yes”, that is, part search condition 1 is searched in step 410, note-off event processing is included in the channels belonging to the part stored as the search target part. Channels that have been released by are included. Therefore, in this case, the channel that belongs to the part stored as the search target part in the channel search process of step 415 and has the lowest sound volume among the channels that have already been released by the note-off event process is selected. The detected channel number is stored in the area AS of the RAM 18, and the process returns to step 240 via step 495.
[0033]
On the other hand, if the part 16 satisfying the part search condition 1 is not found as a result of executing the part search process 1 in step 405 for all parts, the CPU 16 proceeds to step 410. It determines with "No" and progresses to step 420, and performs the part search process 2. FIG.
[0034]
Specifically, in the part search process 2, the CPU 16 searches for parts satisfying the condition (part search condition 2) that “the number of channels being sounded exceeds the number of reserves” in order from the part with the lowest priority. To do. Also in this part search processing 2, if a part satisfying the part search condition 2 is found as a result of searching each part in turn, the CPU 16 ends the search at that time and searches the channel for the first part found. The process proceeds to step 425 where it is stored as a target part and it is determined whether or not such a part has been searched. In step 425, “Yes” is determined, and the process proceeds to step 415.
[0035]
In this case, since it is determined in step 410 that there is no part that satisfies “No”, that is, part search condition 1, the release process by the note-off event process belongs to the part stored as the search target part. There should be no channels being made. Therefore, in step 415, the CPU 16 detects the channel with the lowest sound volume for all the channels belonging to the part stored as the search target part and being sounded, and detects the channel of the detected channel. The number is stored in the area AS of the RAM 18. Then, the CPU 16 returns to step 240 via step 495.
[0036]
On the other hand, as a result of performing the search in the part search process 2 in step 420 for all the parts, if no part satisfying the part search condition 2 is found, “No” is determined in step 425. ”And proceed to step 430 to execute part search processing 3.
[0037]
Specifically, in the part search process 3, the CPU 16 satisfies the condition (part search condition 3) that “there is a channel that belongs to the same part as the part where the current note-on event has occurred and there is a sounding channel”. Search for. If a part satisfying the part search condition 3 is searched, the searched part is stored as a channel search target part, and it is determined in step 435 whether such a part has been searched or not. It determines with "Yes" and progresses to the said step 415.
[0038]
In this case, in step 415, the CPU 16 first detects a channel that belongs to the part stored as the search target part and has the lowest sound volume for the channel being released. If there is no channel undergoing release processing, the channel with the smallest generated volume is detected for all sounding channels belonging to the part. The detected channel number is stored in the area AS of the RAM 18, and the CPU 16 returns to step 240 via step 495.
[0039]
On the other hand, if no part satisfying the part search process 3 is searched, the CPU 16 determines “No” in step 435 and proceeds to step 440 to stop the note-on event process itself shown in FIG. . In other words, in this case, it is determined that there is no channel on which truncation processing can be performed, and the processing ends without performing sound generation according to the note-on event.
[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 CPU 16 executes the note-on event process shown in FIG. 2, and when there is an empty channel in the channel, the empty channel is obtained by executing steps 215 to 230. The sound source circuit 21 is controlled so that the tone corresponding to the note-on event is started to sound. On the other hand, if there is no empty channel, the CPU 16 proceeds to step 235 to start execution of the truncated channel selection processing subroutine shown in FIG. 5 from step 500 and proceeds to step 505.
[0044]
In step 505, the CPU 16 performs the same process as the part search process 1 of the first embodiment, and when a part satisfying the part search condition 1 is searched, the searched part is searched for a channel. The process proceeds to step 510 where it is stored as a part and it is determined whether there is such a part. In this case, the CPU 16 makes a “Yes” determination at step 510 to proceed to step 515, and performs the same channel search processing as step 415 described above at step 515. Then, the CPU 16 returns to step 240 in FIG. 2 through step 595, and ends this truncated channel selection process.
[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 part 16 satisfying the part search condition 1 is not found as a result of executing the part search process 1 in step 505 for all the parts, the CPU 16 proceeds to step 510. It determines with "No" and progresses to step 520, and the part search process 4 is performed.
[0047]
Specifically, in the part search process 4, the CPU 16 determines that “the part mode is a normal part other than the specific part (for example, a part other than the drum set), and the number of channels being sounded indicates the number of reserved parts. Search for a part that satisfies the condition (part search condition 4) that the number of sounding channels that exceed and exceeds the number of reserves is the largest (the value obtained by subtracting the number of reserved channels from the number of channels that are sounding). . Then, when a part satisfying the part search condition 4 is searched, the CPU 16 stores the searched part as a channel search target part and determines whether or not such a part has been searched. Proceeding to step 525, after determining “Yes” in step 525 and executing the process of step 515, the process returns to step 240 via step 595. In the part search process 4, if there are two or more parts having the same number of sounding channels exceeding the number of reserves, a part with a lower priority is set as a search target part.
[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 steps 505 and 510 excludes channels that belong to parts whose sound generation channels exceed the number of reserves and that have undergone release processing accompanying note-off event processing. The channel selected as is not the channel being released.
[0049]
On the other hand, as a result of executing the search in the part search process 4 in step 520 for all parts, the CPU 16 finds that no part satisfying the part search condition 4 is found in step 525. It determines with "No" and progresses to step 530, and the part search process 5 is performed.
[0050]
Specifically, in the part search process 5, the CPU 16 determines that “the part mode is a specific part (for example, a drum set part), the number of channels that are sounding exceeds the number of reserved parts, and the number of reserved parts. Search for a part that satisfies the condition (part search condition 5) that the number of channels exceeding the maximum is the largest. There can be a plurality of such parts. Then, when a part satisfying the part search condition 5 is searched, the CPU 16 stores the searched part as a channel search target part and determines whether or not such a part has been searched. Proceeding to step 535, the process returns to step 240 via step 595 after determining “Yes” at step 535 and executing the process of step 515.
[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 steps 505 and 510 excludes channels that belong to parts whose number of sound generation channels exceeds the number of reserves and that have undergone release processing accompanying note-off event processing. The channel selected as the channel is not the channel being released.
[0052]
On the other hand, as a result of executing the search of the part search process 5 in step 530 for all the parts, if no part satisfying the part search condition 5 is searched, the CPU 16 proceeds to step 525. It determines with "No" and progresses to step 540, and the part search process 6 is performed.
[0053]
Specifically, the CPU 16 satisfies the condition (part search condition 6) in the part search process 6 that “a channel that is sounding is included and a channel that is being released is among the channels that are sounding”. The parts are searched in order from the lowest priority. In this case, the priority of parts other than the specific part (for example, part of the drum set) is set lower than the priority of the specific part. Also in this part search processing 6, if a part satisfying the part search condition 6 is found as a result of searching for each part in turn, the CPU 16 ends the search at that time and searches the channel for the first part found. Memorize as the target part. Then, in step 545 for determining whether or not such a part has been searched, it is determined as “Yes”, the processing in step 515 is executed, and then the processing returns to step 240 through step 595.
[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 CPU 16 finds that no part satisfying the part search condition 6 is found as a result of executing the search of the part search process 6 in step 540 for all parts, the CPU 16 proceeds to step 545. It determines with "No" and progresses to step 550, and the part search process 7 is performed.
[0056]
Specifically, in the part search processing 7, the CPU 16 sequentially searches for parts satisfying the condition “there is a sounding channel” (part search condition 7) in order from the part with the lowest priority. Also in this part search processing 7, if a part satisfying the part search condition 7 is found as a result of searching for each part in turn, the CPU 16 ends the search at that time, and searches the channel for the first found part. Store as the target part and proceed to step 515. Then, the CPU 16 selects the channel with the smallest sound volume from the channels that are sounding the search target part (not all channels that are being released), and stores the number of the selected channel in the area AS of the RAM 18. To do. Then, the CPU 16 returns to step 240 via step 495.
[0057]
After the channels to be truncated are stored in the area AS by such truncated channel selection processing, the CPU 16 proceeds to step 240 in FIG. 2 to sharply reduce the sound volume of the channel (AS channel) specified in the area AS. Dump processing for muting is performed, and then the processing of steps 225 and 230 is performed to control the tone generator circuit 21 so that the tone corresponding to the note-on event is started to be generated on the AS channel.
[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 sound source circuit 21 is controlled. If there is no empty channel, part search processing 1 and 4 to 7 are executed in order to truncate an appropriate channel from the channels belonging to the searched part, and a tone is started to be generated in the truncated channel. The sound source circuit 21 is controlled as described above.
[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, steps 520 to 530 in FIG. 5 are replaced with part search processing 8 in step 605 described below. is there.
[0061]
That is, in the part search process 8, the CPU 16 first subtracts a predetermined fixed value from the number of channels that are sounding for a specific part (for example, a part of a drum set), and the value of the subtraction result is the same. The number of channels that are sounding for the part. Then, the CPU 16 determines whether the number of channels that are sounding exceeds the reserved number and the number of sounding channels that exceeds the reserved number from among all the parts (regardless of whether the part is the specific part). A part that satisfies the condition (part search condition 8) that “the value obtained by subtracting the number of reserves from the channel that is sounding is the largest” is searched.
[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 step 515, the process proceeds to step 240 via step 595. Return to. If no part satisfying the part search condition 8 is found, the part search process 6 in step 540 is executed.
[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 (steps 415 and 515) of the first and second embodiments may be changed to other conditions. In other words, this condition may be “first channel of note-off first, then channel of note-on first”. ) Middle channel "or the like. Further, a combination of any two or more of these conditions may be used as the search condition for the same channel.
[0066]
Further, in place of the tone generator circuit 21 constituted by a hardware circuit, a software tone generator means for forming a musical tone signal by program processing may be used. Also in this case, the software tone generator means includes a plurality of channels for forming a musical tone signal, and a musical tone signal for each part is formed by each of the plurality of channels.
[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 SYMBOLS 10 ... Bus, 11 ... Panel switch, 12 ... Display switch, 13 ... Interface, 14 ... Performance operator, 15 ... Timer, 19 ... Hard disk, 20 ... Display, 21 ... Sound source circuit, 22 ... Sound system.

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.
JP2000073251A 2000-03-16 2000-03-16 Music generator Expired - Fee Related JP3646611B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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