JP2007212491A - 楽音の発音制御装置および発音制御プログラム - Google Patents
楽音の発音制御装置および発音制御プログラム Download PDFInfo
- Publication number
- JP2007212491A JP2007212491A JP2006029216A JP2006029216A JP2007212491A JP 2007212491 A JP2007212491 A JP 2007212491A JP 2006029216 A JP2006029216 A JP 2006029216A JP 2006029216 A JP2006029216 A JP 2006029216A JP 2007212491 A JP2007212491 A JP 2007212491A
- Authority
- JP
- Japan
- Prior art keywords
- note
- sound
- volume
- zero
- elapsed time
- 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.)
- Withdrawn
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【課題】 効率的に発音チャンネルを割り当てる場合に、新たに発音チャンネルが割り当てられたノートオンが減衰音であっても自然な音量で発音されるようになると共に、ノートオン中にパート音量がどのように変更されても、常に自然な音量で発音する。
【解決手段】 音源回路18は、発生したノートオンのパートのパート音量がゼロに設定されている場合は、当該ノートオンへ発音チャンネルを割り当てない。発生したノートオンのパートの音色が減衰音の場合はノートオンからの経過時間の計時を開始する。そして、発音チャンネルが割り当てられなかったノートオンのパート音量が変更されてゼロでなくなった際に、そのノートオンへ発音チャンネルを割り当てて発音を開始する際に、ノートオンからの経過時間に応じてベロシティの減少量を決定する。また、パート音量がゼロに変更された場合は、当該パートに属する全てのノートオンを消音して割り当てられていた発音チャンネルを解放する。
【選択図】 図1
【解決手段】 音源回路18は、発生したノートオンのパートのパート音量がゼロに設定されている場合は、当該ノートオンへ発音チャンネルを割り当てない。発生したノートオンのパートの音色が減衰音の場合はノートオンからの経過時間の計時を開始する。そして、発音チャンネルが割り当てられなかったノートオンのパート音量が変更されてゼロでなくなった際に、そのノートオンへ発音チャンネルを割り当てて発音を開始する際に、ノートオンからの経過時間に応じてベロシティの減少量を決定する。また、パート音量がゼロに変更された場合は、当該パートに属する全てのノートオンを消音して割り当てられていた発音チャンネルを解放する。
【選択図】 図1
Description
この発明は、ノートオンが発生したときに効率的に発音チャンネルを割り当てるようにした楽音の発音制御装置および発音制御プログラムに関する。
楽音発生装置においては、ノートオンが発生した際にノートオンへ発音チャンネルを割り当て、ノートオンに記録されている音高(ノートナンバ)と音量(ベロシティ)とに基づいて楽音を発生している。楽音発生装置における音源が有する発音チャンネル数は有限とされていることから、従来、有限の発音チャンネル数が準備された音源において発音チャンネルを有効に利用するために、新たにノートオンが発生した際に、発生したノートオンの属するパートのパート音量がゼロである場合は発音チャンネルへの割り当てを行わず、発音しないようにしている。ただし、当該パートのパート音量がゼロでない場合は、そのノートオンを発音チャンネルに割り当てて発音するようにしている。
ところで、パート音量がゼロの場合にノートオンへ発音チャンネルを割り当てず楽音を発音しないようにした場合は、その後にパート音量がゼロ以外にあげられても発音されないという不自然さが生じる。そこで、これを解消するためにパート音量がゼロのパートで新たに発生したノートオンは発音チャンネルへは割り当てずにノートオンバッファへ記録しておき、そのパート音量がゼロ以外に上げられたときに発音チャンネルへ割り当てて、発音するようにすることが考えられた。
特公平05−005357号公報
ところで、パート音量がゼロの場合にノートオンへ発音チャンネルを割り当てず楽音を発音しないようにした場合は、その後にパート音量がゼロ以外にあげられても発音されないという不自然さが生じる。そこで、これを解消するためにパート音量がゼロのパートで新たに発生したノートオンは発音チャンネルへは割り当てずにノートオンバッファへ記録しておき、そのパート音量がゼロ以外に上げられたときに発音チャンネルへ割り当てて、発音するようにすることが考えられた。
パート音量がゼロのパートで新たに発生したノートオンは発音チャンネルへは割り当てず、そのパート音量がゼロ以外に上げられたときに発音チャンネルへ割り当てて、発音を開始する場合は、ノートオンから発音開始までの経過時間があるにもかかわらず、発音開始時点では通常の発音開始時の音量で発音されるようになる。このため、発音開始時点での音量が不自然な大きさとなり、特にノートオンされた楽音が減衰音であればその不自然さが顕著にあらわれるという問題点があった。また、パートの音量がゼロ以外からゼロへ変更された際には、当該パートに属するノートオンは消音され、当該パートの音量が再びゼロ以外へ変更された際に再び発音開始されることから、この場合にも同様の問題点が生じるようになる。
そこで、本発明はパート音量がゼロからゼロ以外へ変更された際に、発音開始されるノートオンの楽音が減衰音であっても自然な音量で発音開始することができると共に、ゼロ以外からゼロへ変更されたパートの音量が再びゼロ以外へ変更された際にも、自然な音量で発音開始することができる楽音の発音制御装置および発音制御プログラムを提供することを目的としている。
上記目的を達成するために、本発明の楽音の発音制御装置および発音制御プログラムは、パート音量がゼロからゼロ以外へ変更されたノートオンの発音を行う際に、ノートオンの時点からの経過時間を取得し、取得した経過時間を考慮して発音開始時の音量を決定すると共に、パート音量がゼロに変更された場合は、当該パートに属するノートオンの消音を行い、消音を行うノートオンの経過時間の基点を解除しないようにしたことを最も主要な特徴としている。
本発明によれば、パート音量がゼロからゼロ以外へ変更されたパートに属するノートオンの発音を行う際に、当該ノートオンの時点からの経過時間を取得し、取得した経過時間を考慮して発音開始時の音量を決定するようにしたので、発音開始されたノートオンが減衰音であっても自然な音量で発音されるようになる。また、パート音量がゼロ以外からゼロに変更された場合は、当該パートに属する全てのノートオンを消音するようにしたので、発音チャンネルを効率的に用いることができるようになる。さらに、消音を行うノートオンの経過時間の基点を解除しないようにしたことから、ゼロ以外からゼロへ変更されたパートの音量が再びゼロ以外へ変更された際にも、自然な音量で発音開始することができるようになる。
本発明の実施例の発音制御プログラムを備える楽音発生装置1の構成を示すブロック図を図1に示す。この発音制御プログラムがパーソナルコンピュータとほぼ同様の構成とされている楽音発生装置1において実行されることにより本発明にかかる発音制御装置が実現されていることになる。
図1に示す楽音発生装置1において、CPU(Central Processing Unit)10は楽音発生装置1の全体の動作を制御すると共に、発音制御プログラム等の動作ソフトウェアを実行している。ROM(Read Only Memory)11には、CPU10が実行する発音制御プログラム等の動作ソフトウェアが少なくとも格納されており、RAM(Random Access Memory)12には、CPU10のワークエリアや各種データの記憶エリアが設定されている。このROM11をフラッシュメモリ等の書き換え可能なROMとすることで、動作ソフトウェアを書き換え可能となり動作ソフトウェアのバージョンアップを容易に行うことができる。
図1に示す楽音発生装置1において、CPU(Central Processing Unit)10は楽音発生装置1の全体の動作を制御すると共に、発音制御プログラム等の動作ソフトウェアを実行している。ROM(Read Only Memory)11には、CPU10が実行する発音制御プログラム等の動作ソフトウェアが少なくとも格納されており、RAM(Random Access Memory)12には、CPU10のワークエリアや各種データの記憶エリアが設定されている。このROM11をフラッシュメモリ等の書き換え可能なROMとすることで、動作ソフトウェアを書き換え可能となり動作ソフトウェアのバージョンアップを容易に行うことができる。
通信インタフェース(I/F)14は、楽音発生装置1をLAN(ローカルエリアネットワーク)やインターネット、電話回線等の通信ネットワークに接続するインタフェースであり、該通信ネットワークを介して、外部機器13と接続することができる。これにより、外部制御機器13から各種プログラム等をダウンロードすることができるようになる。ダウンロードされたプログラム等は、RAM12や図示しないハードディスク装置等に格納されるようになる。表示回路16は液晶等の表示部15を備え、この表示部15に楽音発生装置1における音量や音色等の各種設定の画面等を表示している。各種設定の画面では、GUI(Graphical User Interface)を利用してユーザが各種設定を行える画面や、演奏データの再生の開始や終了を指示する等の画面とされている。音源回路18は波形メモリを備える波形メモリ音源やFM音源等とされ、CPU10の制御に基づいて楽音生成処理を行うことにより楽音波形データを生成している。音源回路18において生成された楽音波形データは、サウンドシステム17に供給されアナログ信号に変換されて放音される。サウンドシステム17では、音量制御や音質制御を行うことが可能とされている。検出回路20は、鍵盤、パネル操作子やポインタデバイス等の操作子19を走査することによって操作子19のイベントを検出して、イベントのあった操作子19に対応するイベント出力を出力している。操作子19には、パートごとのパート音量を変更するためのパート音量操作子が含まれている。これらの各部は通信バス21に接続されている。
このように構成された本発明にかかる楽音発生装置1において、音源回路18は複数の発音チャンネルを有しており、外部機器13から通信インタフェース14を介して供給された演奏データや鍵盤等の操作子19から検出された演奏データは音源回路18に供給される。演奏データは、例えばMIDI形式のイベントデータ(MIDIメッセージ)とされており、楽音の発音に係る処理を指示するノートオン、ノートオフ、プログラムチェンジ、コントロールチェンジなどのイベントデータとされている。音源回路18では供給されたイベントデータに応じた楽音発生に関する処理が行われる。この場合、外部機器13や操作子19などから読み込まれるMIDIメッセージのそれぞれは、複数あるパートのいずれかに属しており、外部機器13や操作子19などからのプログラムチェンジメッセージ等の指示により、パートごとに音色が設定される。また、各パートの音量を個別に変更できるように操作子19におけるパート音量操作子は、パートごとに用意されている。
さらに、ROM11あるいはRAM12に、楽音発生装置1において設定可能なすべての音色におけるそれぞれの種類(その音色が減衰音と持続音のいずれであるか)を規定した音色テーブルが記憶されており、加えて、減衰音の発音時に使用する経過時間とベロシティの減少量との対応関係を規定したベロシティテーブルが記録されている。この場合、どのパートにどの音色が設定されているかは音色バッファに記録され、個別のパート音量とは別に、全てのパートの全体音量を制御するマスタ音量を設定するマスタ音量操作子が操作子19に含まれている。マスタ音量操作子により設定されたマスタ音量は、楽音発生装置1で発音されているすべてのパートの楽音に対して一律に反映される。
本発明にかかる楽音発生装置1においては、ノートオンのMIDIメッセージが音源回路18に供給された際に、このノートオンへ発音チャンネルを割り当てる発音制御に特徴点を有している。特徴点について説明すると、ノートオンには、音高(ノートナンバ)とベロシティとパート(MIDIチャンネル)が記録されており、ノートオンが属するパートのパート音量がゼロに設定されている場合は、当該ノートオンへ発音チャンネルを割り当てないようにしている。また、ノートオンが属するパートの音色を音色バッファから検出し、検出された音色が減衰音とされている場合はノートオンからの経過時間の計時をカウンタを起動して開始する。そして、発音チャンネルが割り当てられなかったノートオンのパート音量が変更されてゼロでなくなった際に、そのノートオンへ発音チャンネルを割り当てて発音を開始するようにする。この場合、ノートオンのパートの音色が減衰音とされている場合は、ノートオンからの経過時間を計時するカウンタの計数値に対応するベロシティの減少量をROM11あるいはRAM12に記憶されているベロシティテーブルを参照して求め、この減少量を反映したベロシティと設定されているパート音量およびマスタ音量とにより発音される楽音の音量を決定している。また、楽音の音高はノートオンメッセージに記録されているノートナンバで決定される。これにより、音源回路18の発音チャンネルを有効に利用するようにしても、パート音量の変更時にノートオンが発生してからの経過時間にあわせて、音量に不自然さのない発音を実現することができるようになる。
なお、マスタ音量の設定値は、発音チャンネルのノートオンへの割り当ての制御には影響を及ぼさない。すなわち、パート音量がゼロに設定されていない場合はマスタ音量がゼロに設定されていても発生したノートオンへ発音チャンネルを割り当てるようにし、パート音量がゼロからゼロでない値に設定された場合はマスタ音量がゼロに設定されていても当該パートに属しているノートオンへ発音チャンネルを割り当てるように制御している。
なお、マスタ音量の設定値は、発音チャンネルのノートオンへの割り当ての制御には影響を及ぼさない。すなわち、パート音量がゼロに設定されていない場合はマスタ音量がゼロに設定されていても発生したノートオンへ発音チャンネルを割り当てるようにし、パート音量がゼロからゼロでない値に設定された場合はマスタ音量がゼロに設定されていても当該パートに属しているノートオンへ発音チャンネルを割り当てるように制御している。
次に、本発明にかかる楽音発生装置1において実行されるノートオン処理のフローチャートを図2に示す。このノートオン処理は、新たなノートオンが発生するごとに起動される。
新たなノートオンが発生すると図2に示すノートオン処理が起動され、ステップS10にて発生したノートオンが属するパートに現在設定されているパート音量が検出される。ノートオンが属するパートは、そのノートオンに記録されているパート(MIDIチャンネル)で示される。そして、ステップS11にてステップS10で検出されたパート音量がゼロではないか否かが判断される。ここで、ノートオンが属するパートのパート音量としてゼロではない値が設定されている場合は、ステップS12に進み空きの発音チャンネルが検出されて、その発音チャンネルに発生したノートオンを割り当てて、そのノートオンに記録されている音高(ノートナンバ)の楽音が、そのノートオンに記録されているベロシティとステップS10で検出されたパート音量およびマスタ音量の合計値(乗算値)の音量で発音開始される。次いで、ステップS13において発生したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)がノートオンバッファに記録される。また、ノートオンが属するパートのパート音量としてゼロ値が設定されている場合は、ステップS11からステップS13に分岐して発生したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)がノートオンバッファに記録される。この場合、ノートオンが使用する音色が減衰音か持続音かに関係なくパート音量がゼロに設定されているノートオンには発音チャンネルを割り当てず、当該ノートオンによる楽音の発音は開始しない。
新たなノートオンが発生すると図2に示すノートオン処理が起動され、ステップS10にて発生したノートオンが属するパートに現在設定されているパート音量が検出される。ノートオンが属するパートは、そのノートオンに記録されているパート(MIDIチャンネル)で示される。そして、ステップS11にてステップS10で検出されたパート音量がゼロではないか否かが判断される。ここで、ノートオンが属するパートのパート音量としてゼロではない値が設定されている場合は、ステップS12に進み空きの発音チャンネルが検出されて、その発音チャンネルに発生したノートオンを割り当てて、そのノートオンに記録されている音高(ノートナンバ)の楽音が、そのノートオンに記録されているベロシティとステップS10で検出されたパート音量およびマスタ音量の合計値(乗算値)の音量で発音開始される。次いで、ステップS13において発生したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)がノートオンバッファに記録される。また、ノートオンが属するパートのパート音量としてゼロ値が設定されている場合は、ステップS11からステップS13に分岐して発生したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)がノートオンバッファに記録される。この場合、ノートオンが使用する音色が減衰音か持続音かに関係なくパート音量がゼロに設定されているノートオンには発音チャンネルを割り当てず、当該ノートオンによる楽音の発音は開始しない。
ステップS13の処理が終了すると、ステップS14に進んで発生したノートオンが使用する音色の種類が減衰音であるか否かが判断される。この場合、ノートオンが使用する音色は、そのノートオンに記憶されているパート(MIDIチャンネル)に設定されている音色を音色バッファを参照して検出し、その検出した音色の種類を音色テーブルを参照して判断する。ここで、ノートオンのパートに設定されている音色の種類が減衰音であると判断された場合は、ステップS15に進み発生したノートオンについてカウンタを起動して経過時間の計時を開始することで、現時点(今回のノートオンが発生した時点)を当該ノートオンの経過時間の基点として設定し、ノートオン処理は終了する。また、ステップS14においてノートオンのパートに設定されている音色の種類が減衰音でないと判断された場合は、ノートオン処理はそのまま終了する。なお、カウンタによる経過時間の計時(経過時間の基点の設定)はノートオン毎に独立して行われる。また、別の実施形態として、ステップS14の判断を省略し、音色の種類にかかわらず、発生したすべてのノートオンについてカウンタによる経過時間の計時(経過時間の基点の設定)を行う実施形態としてもよい。
次に、本発明にかかる楽音発生装置1において実行されるノートオフ処理のフローチャートを図3に示す。このノートオフ処理は、ノートオフが発生する毎に起動される。
ノートオフが発生すると図3に示すノートオフ処理が起動され、ステップS20にて発生したノートオフと音高とパートが一致するノートオン(発生したノートオフに対応するノートオン)の情報(そのノートオンに記録されている音高、ベロシティおよびパート)を、ノートオンバッファから削除する。次いで、ステップS21にて削除されたノートオンに対応してカウンタによる経過時間の計時が行われている場合はその計時を終了することで、当該ノートオンについての経過時間の基点を解除する。そして、ステップS22にて発生したノートオフの発音をしている発音チャンネルで消音の処理を開始して楽音を消音させ、ノートオフ処理は終了する。
ノートオフが発生すると図3に示すノートオフ処理が起動され、ステップS20にて発生したノートオフと音高とパートが一致するノートオン(発生したノートオフに対応するノートオン)の情報(そのノートオンに記録されている音高、ベロシティおよびパート)を、ノートオンバッファから削除する。次いで、ステップS21にて削除されたノートオンに対応してカウンタによる経過時間の計時が行われている場合はその計時を終了することで、当該ノートオンについての経過時間の基点を解除する。そして、ステップS22にて発生したノートオフの発音をしている発音チャンネルで消音の処理を開始して楽音を消音させ、ノートオフ処理は終了する。
次に、本発明にかかる楽音発生装置1において実行されるパート音量変更処理のフローチャートを図4に示す。このパート音量変更処理は、いずれかのパートのパート音量が変更される毎に起動される。
パート音量操作子が操作されていずれかのパートのパート音量が変更されると、図4に示すパート音量変更処理が起動され、ステップS30にて音量変更されたパートのパート音量がゼロに変更されたか否かが判断される。ここで、音量変更されたパートのパート音量がゼロに変更されたと判断された場合は、ステップS31にて変更されたパートのノートオンが割り当て中の発音チャンネルを検出する。次いで、ステップS32にて検出されたノートオンが割り当て中の発音チャンネルのすべての発音チャンネルの発音を消音する消音処理を行うと共に、その発音チャンネルを解放することにより検出されたノートオンの発音を一旦停止する。これにより、パート音量がゼロに変更された際のパート音量変更処理は終了する。このように、パート音量がゼロに変更された場合は、そのパートの発音を強制的に終了させてそのパートに割り当てられていた発音チャンネルを空きの状態とする。ただし、消音したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)はノートバッファに保持しておくと共に、消音したノートオンに対応してカウンタによる経過時間の計時が行われている場合は、カウンタによる経過時間の計時は継続させる(ノートオンが発生したときに設定した当該ノートオンの経過時間の基点を解除することなく保持しておく)。これは、そのパートのパート音量が再びゼロでない値に設定された際に、そのパートのノートオンに発音チャンネルを再び割り当てて発音の復帰処理を行えるようにするためである。
パート音量操作子が操作されていずれかのパートのパート音量が変更されると、図4に示すパート音量変更処理が起動され、ステップS30にて音量変更されたパートのパート音量がゼロに変更されたか否かが判断される。ここで、音量変更されたパートのパート音量がゼロに変更されたと判断された場合は、ステップS31にて変更されたパートのノートオンが割り当て中の発音チャンネルを検出する。次いで、ステップS32にて検出されたノートオンが割り当て中の発音チャンネルのすべての発音チャンネルの発音を消音する消音処理を行うと共に、その発音チャンネルを解放することにより検出されたノートオンの発音を一旦停止する。これにより、パート音量がゼロに変更された際のパート音量変更処理は終了する。このように、パート音量がゼロに変更された場合は、そのパートの発音を強制的に終了させてそのパートに割り当てられていた発音チャンネルを空きの状態とする。ただし、消音したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)はノートバッファに保持しておくと共に、消音したノートオンに対応してカウンタによる経過時間の計時が行われている場合は、カウンタによる経過時間の計時は継続させる(ノートオンが発生したときに設定した当該ノートオンの経過時間の基点を解除することなく保持しておく)。これは、そのパートのパート音量が再びゼロでない値に設定された際に、そのパートのノートオンに発音チャンネルを再び割り当てて発音の復帰処理を行えるようにするためである。
また、ステップS30にて音量変更されたパートのパート音量がゼロでない値に変更されたと判断された場合は、ステップS33に分岐して変更されたパートのノートオンが割り当て中の発音チャンネルの音量が変更後のパート音量を反映した音量へ変更される。この場合、前述したようにノートオンに発音チャンネルが割り当てられている場合は、そのノートオンが属するパートにおける変更される前のパート音量がゼロでない場合に限られている。すなわち、変更される前のパート音量がゼロであるパートのノートオンには発音チャンネルは割り当てられていないことから、この場合は割り当て中の発音チャンネルがなくステップS33の処理は行う必要はない。従って、変更される前のパート音量がゼロであるパートのパート音量がゼロでない値に変更された場合はステップS33の処理はスキップされ、ステップS34の処理が行われる。ステップS34では音量変更されたパートにおいて発音チャンネルが割り当てられていないノートオンを、ノートオンバッファを参照して検出する。そして、発音チャンネルが割り当てられていないノートオンが検出されると、ステップS35にて検出されたノートオンが使用する音色の種類が減衰音であるか否かが、図2のステップS14と同様の処理により判断される。
ここで、音色バッファが参照されて、ステップS34で検出されたノートオン(処理対象のノートオン)が属するパートの音色の種類が減衰音であると判断された場合には、ステップS36に進み前記処理対象のノートオンについて起動しているカウンタの現時点における計数値を、当該処理対象のノートオンの経過時間の基点から現時点までの経過時間として取得し、当該取得した経過時間に対応するベロシティの減少量を、ROM11あるいはRAM12に記憶されているベロシティテーブルを参照して決定する。次いで、前記処理対象のノートオンのベロシティをノートオンバッファから取得し、当該取得したベロシティからステップS36の処理で決定されたベロシティの減少量をステップS38にて差し引く(減少量が減少率で示されている場合は乗算する)ことにより減少量を反映したベロシティを決定する。そして、ステップS39にて空きの発音チャンネルを検出して、その発音チャンネルに前記処理対象のノートオンを割り当てると共に、ステップS38で決定されたベロシティと変更後のパート音量とマスター音量とを反映した(合計した)音量で発音(再発音)が開始される。また、ステップS35において前記処理対象のノートオンが属するパートの音色の種類が減衰音ではない(持続音である)と判断された場合は、ステップS37に分岐して前記処理対象のノートオンのベロシティをノートオンバッファから取得し、当該取得したベロシティを発音で使用するベロシティとして決定し、上記したステップS39の処理にて空きの発音チャンネルを検出して、その発音チャンネルに前記処理対象のノートオンを割り当てると共に、ステップS37で決定したベロシティと変更後のパート音量とマスター音量とを反映した(合計した)音量で発音(再発音)が開始される。ステップS39の処理が終了するとパート音量の変更処理は終了する。
ところで、ステップS34において検出されたノートオンが複数あった場合は、上述したステップS35ないしステップS39の処理は検出されたノートオン毎に実行される。すなわち、検出されたノートオンの数だけ繰り返しステップS35ないしステップS39の処理が行われてノートオン毎に発音が行われるようになる。
なお、変更される前のパート音量がゼロでないパートのノートオンには発音チャンネルが割り当てられており、発音チャンネルが割り当てられていないノートオンは存在しないことになる。このことから、変更される前のパート音量がゼロでないパートにおいてパート音量がゼロでない値に変更された場合はステップS33においてパート音量の変更が行われると、ステップS34以降の処理はスキップされてパート音量変更処理も終了するようになる。
なお、変更される前のパート音量がゼロでないパートのノートオンには発音チャンネルが割り当てられており、発音チャンネルが割り当てられていないノートオンは存在しないことになる。このことから、変更される前のパート音量がゼロでないパートにおいてパート音量がゼロでない値に変更された場合はステップS33においてパート音量の変更が行われると、ステップS34以降の処理はスキップされてパート音量変更処理も終了するようになる。
以上の説明では、ノートオンからの経過時間は、ノートオンごとに準備したカウンタを起動して計時するようにしているが、当該経過時間を取得するための他の実施形態を以下に記載する。
まず、カウンタは一つのみ準備するようにし、このカウンタにおいて常にカウントを実行させている状態とする。そして、ノートオンが発生したときには、図2に示すノートオン処理におけるステップS15の処理に替えて、そのノートオンの発生時点におけるカウンタのカウント値を、そのノートオンの経過時間の基点として、そのノートオンに対応させて記録する。次いで、パート音量がゼロからゼロ以外へ変更されたときの再発音では、その音量変更があったパートに属する減衰音のすべてのノートオン(処理対象のノートオン)について、図4に示すパート音量変更処理におけるステップS36の処理に替えて、その処理対象のノートオンに対応して記録されている前記カウント値と、パート音量が変更された時点におけるカウンタの値との差を、ノートオン発生時点から現在であるパート音量が変更された時点までの経過時間として取得し、当該取得した経過時間に対応するベロシティの減少量を、ROM11あるいはRAM12に記憶されているベロシティテーブルを参照して決定することにより、ベロシティを制御するようにする。
なお、以上説明した図2ないし図4に示す各処理を音源回路18において実行するようにしても良い。
まず、カウンタは一つのみ準備するようにし、このカウンタにおいて常にカウントを実行させている状態とする。そして、ノートオンが発生したときには、図2に示すノートオン処理におけるステップS15の処理に替えて、そのノートオンの発生時点におけるカウンタのカウント値を、そのノートオンの経過時間の基点として、そのノートオンに対応させて記録する。次いで、パート音量がゼロからゼロ以外へ変更されたときの再発音では、その音量変更があったパートに属する減衰音のすべてのノートオン(処理対象のノートオン)について、図4に示すパート音量変更処理におけるステップS36の処理に替えて、その処理対象のノートオンに対応して記録されている前記カウント値と、パート音量が変更された時点におけるカウンタの値との差を、ノートオン発生時点から現在であるパート音量が変更された時点までの経過時間として取得し、当該取得した経過時間に対応するベロシティの減少量を、ROM11あるいはRAM12に記憶されているベロシティテーブルを参照して決定することにより、ベロシティを制御するようにする。
なお、以上説明した図2ないし図4に示す各処理を音源回路18において実行するようにしても良い。
また、ROM11あるいはRAM12に記録されているベロシティテーブルは減衰音の発音時に使用するものとして説明したが、これに限ることはなく、以下に記載する他の実施形態のようにしてもよい。すなわち、ROM11あるいはRAM12に記録されているベロシティテーブルに、音色の種類に依存することなくすべての楽音の発音時に使用する経過時間とベロシティの減少量との対応関係を規定しておく。そして、当該ベロシティテーブルを使用する実施形態においては、図4に示すパート音量変更処理におけるステップS35の処理にかかる判断を省略すると共に、ステップS37の処理をスキップして、音色の種類に依存することなくステップS34の処理にて検出されたすべてのノートオンについてステップS36とステップS38の処理を行う。また、この場合には、図2に示すノートオン処理におけるステップS14の処理にかかる判断を省略し、音色の種類に依存することなく発生したすべてのノートオンについてカウンタによる経過時間の計時(経過時間の基点の設定)を行っておく。
以上説明した本発明にかかる発音制御装置を実現している発音制御プログラムは、楽音を発生することの可能な装置である電子楽器や音源装置に組み込むことが可能とされると共に、コンピュータで実行される音源ソフトウェアに組み込むことができるようになる。
また、本発明に係る発音制御装置において、ROMに発音制御プログラムが記憶されていない場合、ハードディスク装置やCD−ROMに制御プログラムやデータを記憶させておいてそれをRAMに読み込んだり、通信ネットワークを介してサーバコンピュータと接続してサーバコンピュータから発音制御プログラムやデータをダウンロードすることで、ROMに発音制御プログラムやデータを記憶している場合と同様の動作をCPUにさせることができる。
また、本発明に係る発音制御装置において、ROMに発音制御プログラムが記憶されていない場合、ハードディスク装置やCD−ROMに制御プログラムやデータを記憶させておいてそれをRAMに読み込んだり、通信ネットワークを介してサーバコンピュータと接続してサーバコンピュータから発音制御プログラムやデータをダウンロードすることで、ROMに発音制御プログラムやデータを記憶している場合と同様の動作をCPUにさせることができる。
1 楽音発生装置、10 CPU、11 ROM、12 RAM、13 外部機器、14 通信インタフェース、15 表示部、16 表示回路、17 サウンドシステム、18 音源回路、19 操作子、20 検出回路、21 通信バス
Claims (2)
- ノートオンが発生したときに、当該ノートオンの情報をノートオンバッファへ記録し、当該ノートオンが発生した時点を当該ノートオンの経過時間の基点として設定するノートオン設定手段と、
ノートオンが発生したときに、当該ノートオンが属するパートのパート音量がゼロでない場合は当該ノートオンの発音を開始し、当該ノートオンが属するパートの音量がゼロの場合は当該ノートオンの発音を開始しない発音手段と、
ノートオフが発生したときに、前記ノートオンバッファに記録されているノートオンの情報のうちの、当該発生したノートオフに対応するノートオンの情報を削除すると共に、当該ノートオンの経過時間の基点を解除するノートオフ設定手段と、
ノートオフが発生したときに、当該発生したノートオフに対応するノートオンの消音を行う消音手段と、
パート音量を変更するパート音量変更手段と、
前記パート音量変更手段によりパート音量が変更されたときであって、当該変更がゼロからゼロ以外への変更であるときに、前記ノートオンバッファに記録されているノートオンのうちの、当該パート音量が変更されたパートに属するノートオンについて、当該ノートオンの前記ノートオン設定手段において設定された基点から現時点までの経過時間を取得し、当該取得した経過時間を考慮して発音時の音量を決定し、当該決定された音量で当該ノートオンの発音を開始する再発音手段と、
前記パート音量変更手段によりパート音量が変更されたときであって、当該変更がゼロ以外からゼロへの変更であるときに、発音されているノートオンのうちの、当該パート音量が変更されたパートに属するノートオンの消音を行う一旦停止手段とを備え、
前記一旦停止手段では、前記消音を行うノートオンの情報を前記ノートオンバッファから削除しないと共に、当該ノートオンの経過時間の基点を解除しないようにしたことを特徴とする楽音の発音制御装置。 - コンピュータを、
ノートオンが発生したときに、当該ノートオンの情報をノートオンバッファへ記録し、当該ノートオンが発生した時点を当該ノートオンの経過時間の基点として設定するノートオン設定手段、
ノートオンが発生したときに、当該ノートオンが属するパートのパート音量がゼロでない場合は当該ノートオンの発音を開始し、当該ノートオンが属するパートの音量がゼロの場合は当該ノートオンの発音を開始しない発音手段、
ノートオフが発生したときに、前記ノートオンバッファに記録されているノートオンの情報のうちの、当該発生したノートオフに対応するノートオンの情報を削除すると共に、当該ノートオンの経過時間の基点を解除するノートオフ設定手段、
ノートオフが発生したときに、当該発生したノートオフに対応するノートオンの消音を行う消音手段、
パート音量を変更するパート音量変更手段、
前記パート音量変更手段によりパート音量が変更されたときであって、当該変更がゼロからゼロ以外への変更であるときに、前記ノートオンバッファに記録されているノートオンのうちの、当該パート音量が変更されたパートに属するノートオンについて、当該ノートオンの前記ノートオン設定手段において設定された基点から現時点までの経過時間を取得し、当該取得した経過時間を考慮して発音時の音量を決定し、当該決定された音量で当該ノートオンの発音を開始する再発音手段、
前記パート音量変更手段によりパート音量が変更されたときであって、当該変更がゼロ以外からゼロへの変更であるときに、発音されているノートオンのうちの、当該パート音量が変更されたパートに属するノートオンの消音を行う一旦停止手段、
として機能させ、前記一旦停止手段では、前記消音を行うノートオンの情報を前記ノートオンバッファから削除しないと共に、当該ノートオンの経過時間の基点を解除しないようにしたことを特徴とする楽音の発音制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006029216A JP2007212491A (ja) | 2006-02-07 | 2006-02-07 | 楽音の発音制御装置および発音制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006029216A JP2007212491A (ja) | 2006-02-07 | 2006-02-07 | 楽音の発音制御装置および発音制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007212491A true JP2007212491A (ja) | 2007-08-23 |
Family
ID=38491029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006029216A Withdrawn JP2007212491A (ja) | 2006-02-07 | 2006-02-07 | 楽音の発音制御装置および発音制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007212491A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009210989A (ja) * | 2008-03-06 | 2009-09-17 | Kawai Musical Instr Mfg Co Ltd | 電子楽音発生器 |
CN107863093A (zh) * | 2017-11-03 | 2018-03-30 | 得理电子(上海)有限公司 | 发音管理方法、装置、电子乐器及存储介质 |
-
2006
- 2006-02-07 JP JP2006029216A patent/JP2007212491A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009210989A (ja) * | 2008-03-06 | 2009-09-17 | Kawai Musical Instr Mfg Co Ltd | 電子楽音発生器 |
CN107863093A (zh) * | 2017-11-03 | 2018-03-30 | 得理电子(上海)有限公司 | 发音管理方法、装置、电子乐器及存储介质 |
CN107863093B (zh) * | 2017-11-03 | 2022-01-07 | 得理电子(上海)有限公司 | 发音管理方法、装置、电子乐器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4978993B2 (ja) | 楽音発生装置 | |
US10818278B2 (en) | Resonance signal generating method, resonance signal generating device, electronic musical apparatus and non-transitory computer readable medium | |
US9396715B2 (en) | Technique for generating audio data for loop reproduction on the basis of performance data | |
JP2005266350A (ja) | 演奏情報表示装置およびプログラム | |
US20120006182A1 (en) | Editing of drum tone color in drum kit | |
US11417303B2 (en) | Musical sound data reproduction device and musical sound data reproduction method | |
JP2007212491A (ja) | 楽音の発音制御装置および発音制御プログラム | |
JP4497100B2 (ja) | 楽音の発音制御装置および発音制御プログラム | |
JP2007093679A (ja) | 音源設定装置及び音源設定プログラム | |
JP5305483B2 (ja) | 楽音発生装置 | |
US11735152B2 (en) | Musical sound generation method, musical sound generation device, and recording medium | |
US8383924B2 (en) | Musical tone signal generating apparatus | |
JP5699558B2 (ja) | 楽音生成装置及びプログラム | |
JP4785052B2 (ja) | 楽音発生装置 | |
JP3931847B2 (ja) | 波形選択装置および波形選択プログラム | |
JP4106798B2 (ja) | 音源装置 | |
JP3399333B2 (ja) | 楽音制御装置 | |
JP2715795B2 (ja) | 発音割当手段を有する楽音合成装置 | |
JP5200368B2 (ja) | アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム | |
JP4835433B2 (ja) | 演奏パターン再生装置及びそのコンピュータプログラム | |
JP2008089644A (ja) | 電子楽器および電子楽器制御用プログラム | |
JP4254697B2 (ja) | 電子楽器 | |
JP3646611B2 (ja) | 楽音発生装置 | |
JP2011186261A (ja) | 楽音信号発生装置 | |
JP2008164969A (ja) | 演奏パターン再生装置及びそのコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090407 |