JP4497100B2 - 楽音の発音制御装置および発音制御プログラム - Google Patents
楽音の発音制御装置および発音制御プログラム Download PDFInfo
- Publication number
- JP4497100B2 JP4497100B2 JP2006029215A JP2006029215A JP4497100B2 JP 4497100 B2 JP4497100 B2 JP 4497100B2 JP 2006029215 A JP2006029215 A JP 2006029215A JP 2006029215 A JP2006029215 A JP 2006029215A JP 4497100 B2 JP4497100 B2 JP 4497100B2
- Authority
- JP
- Japan
- Prior art keywords
- note
- volume
- sound
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
ところで、パート音量がゼロの場合にノートオンへ発音チャンネルを割り当てず楽音を発音しないようにした場合は、その後にパート音量がゼロ以外にあげられても発音されないという不自然さが生じる。そこで、これを解消するためにパート音量がゼロのパートで新たに発生したノートオンは発音チャンネルへは割り当てずにノートオンバッファへ記録しておき、そのパート音量がゼロ以外に上げられたときに発音チャンネルへ割り当てて、発音するようにすることが考えられた。
図1に示す楽音発生装置1において、CPU(Central Processing Unit)10は楽音発生装置1の全体の動作を制御すると共に、発音制御プログラム等の動作ソフトウェアを実行している。ROM(Read Only Memory)11には、CPU10が実行する発音制御プログラム等の動作ソフトウェアが少なくとも格納されており、RAM(Random Access Memory)12には、CPU10のワークエリアや各種データの記憶エリアが設定されている。このROM11をフラッシュメモリ等の書き換え可能なROMとすることで、動作ソフトウェアを書き換え可能となり動作ソフトウェアのバージョンアップを容易に行うことができる。
なお、マスタ音量の設定値は、発音チャンネルのノートオンへの割り当ての制御には影響を及ぼさない。すなわち、パート音量がゼロに設定されていない場合はマスタ音量がゼロに設定されていても発生したノートオンへ発音チャンネルを割り当てるようにし、パート音量がゼロからゼロでない値に設定された場合はマスタ音量がゼロに設定されていても当該パートに属しているノートオンへ発音チャンネルを割り当てるように制御している。
新たなノートオンが発生すると図2に示すノートオン処理が起動され、ステップS10にて発生したノートオンが属するパートに現在設定されているパート音量が検出される。ノートオンが属するパートは、そのノートオンに記録されているパート(MIDIチャンネル)で示される。そして、ステップS11にてステップS10で検出されたパート音量がゼロではないか否かが判断される。ここで、ノートオンが属するパートのパート音量としてゼロではない値が設定されている場合は、ステップS12に進み空きの発音チャンネルが検出されて、その発音チャンネルに発生したノートオンを割り当てて、そのノートオンに記録されている音高(ノートナンバ)の楽音が、そのノートオンに記録されているベロシティとステップS10で検出されたパート音量およびマスタ音量の合計値(乗算値)の音量で発音開始される。次いで、ステップS13において発生したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)がノートオンバッファに記録される。また、ノートオンが属するパートのパート音量としてゼロ値が設定されている場合は、ステップS11からステップS13に分岐して発生したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)がノートオンバッファに記録される。この場合、ノートオンが使用する音色が減衰音か持続音かに関係なくパート音量がゼロに設定されているノートオンには発音チャンネルを割り当てず、当該ノートオンによる楽音の発音は開始しない。
ノートオフが発生すると図3に示すノートオフ処理が起動され、ステップS20にて発生したノートオフと音高とパートが一致するノートオン(発生したノートオフに対応するノートオン)の情報(そのノートオンに記録されている音高、ベロシティおよびパート)を、ノートオンバッファから削除する。次いで、ステップS21にて削除されたノートオンに対応してカウンタによる経過時間の計時が行われている場合はその計時を終了することで、当該ノートオンについての経過時間の基点を解除する。そして、ステップS22にて発生したノートオフの発音をしている発音チャンネルで消音の処理を開始して楽音を消音させ、ノートオフ処理は終了する。
パート音量操作子が操作されていずれかのパートのパート音量が変更されると、図4に示すパート音量変更処理が起動され、ステップS30にて音量変更されたパートのパート音量がゼロに変更されたか否かが判断される。ここで、音量変更されたパートのパート音量がゼロに変更されたと判断された場合は、ステップS31にて変更されたパートのノートオンが割り当て中の発音チャンネルを検出する。次いで、ステップS32にて検出されたノートオンが割り当て中の発音チャンネルのすべての発音チャンネルの発音を消音する消音処理を行うと共に、その発音チャンネルを解放することにより検出されたノートオンの発音を一旦停止する。これにより、パート音量がゼロに変更された際のパート音量変更処理は終了する。このように、パート音量がゼロに変更された場合は、そのパートの発音を強制的に終了させてそのパートに割り当てられていた発音チャンネルを空きの状態とする。ただし、消音したノートオンの情報(そのノートオンに記録されている音高、ベロシティおよびパート)はノートバッファに保持しておくと共に、消音したノートオンに対応してカウンタによる経過時間の計時が行われている場合は、カウンタによる経過時間の計時は継続させる(ノートオンが発生したときに設定した当該ノートオンの経過時間の基点を解除することなく保持しておく)。これは、そのパートのパート音量が再びゼロでない値に設定された際に、そのパートのノートオンに発音チャンネルを再び割り当てて発音の復帰処理を行えるようにするためである。
なお、変更される前のパート音量がゼロでないパートのノートオンには発音チャンネルが割り当てられており、発音チャンネルが割り当てられていないノートオンは存在しないことになる。このことから、変更される前のパート音量がゼロでないパートにおいてパート音量がゼロでない値に変更された場合はステップS33においてパート音量の変更が行われると、ステップS34以降の処理はスキップされてパート音量変更処理も終了するようになる。
まず、カウンタは一つのみ準備するようにし、このカウンタにおいて常にカウントを実行させている状態とする。そして、ノートオンが発生したときには、図2に示すノートオン処理におけるステップS15の処理に替えて、そのノートオンの発生時点におけるカウンタのカウント値を、そのノートオンの経過時間の基点として、そのノートオンに対応させて記録する。次いで、パート音量がゼロからゼロ以外へ変更されたときの再発音では、その音量変更があったパートに属する減衰音のすべてのノートオン(処理対象のノートオン)について、図4に示すパート音量変更処理におけるステップS36の処理に替えて、その処理対象のノートオンに対応して記録されている前記カウント値と、パート音量が変更された時点におけるカウンタの値との差を、ノートオン発生時点から現在であるパート音量が変更された時点までの経過時間として取得し、当該取得した経過時間に対応するベロシティの減少量を、ROM11あるいはRAM12に記憶されているベロシティテーブルを参照して決定することにより、ベロシティを制御するようにする。
なお、以上説明した図2ないし図4に示す各処理を音源回路18において実行するようにしても良い。
また、本発明に係る発音制御装置において、ROMに発音制御プログラムが記憶されていない場合、ハードディスク装置やCD−ROMに制御プログラムやデータを記憶させておいてそれをRAMに読み込んだり、通信ネットワークを介してサーバコンピュータと接続してサーバコンピュータから発音制御プログラムやデータをダウンロードすることで、ROMに発音制御プログラムやデータを記憶している場合と同様の動作をCPUにさせることができる。
Claims (3)
- ノートオンが発生したときに、当該ノートオンの情報をノートオンバッファへ記録し、当該ノートオンが発生した時点を当該ノートオンの経過時間の基点として設定するノートオン設定手段と、
ノートオンが発生したときに、当該ノートオンが属するパートのパート音量がゼロでない場合は当該ノートオンの発音を開始し、当該ノートオンが属するパートの音量がゼロの場合は当該ノートオンの発音を開始しない発音手段と、
パート音量を変更するパート音量変更手段と、
前記パート音量変更手段によりパート音量が変更されたときであって、当該変更がゼロからゼロ以外への変更であるときに、前記ノートオンバッファに記録されているノートオンのうちの、当該パート音量が変更されたパートに属するノートオンについて、当該ノートオンの前記ノートオン設定手段において設定された基点から現時点までの経過時間を取得し、当該取得した経過時間を考慮して発音時の音量を決定して、当該決定された音量で当該ノートオンの発音を開始する再発音手段と、
を備えることを特徴とする楽音の発音制御装置。 - 前記ノートオン設定手段は、前記ノートオンの情報として少なくとも当該ノートオンの音量を記録し、
また、前記再発音手段は、前記ノートオンバッファに記録されているノートオンのうちの、当該パート音量が変更されたパートに属するものであって、特定種類の音色が設定されているノートオンについては、当該ノートオンの前記ノートオン設定手段において設定された基点から現時点までの経過時間を取得すると共に、前記ノートオンバッファに記録されている当該ノートオンの音量を取得し、当該取得した経過時間と音量から発音時の音量を決定して、当該決定された音量で当該ノートオンの発音を開始する一方、
特定種類の音色が設定されていないノートオンについては、前記ノートオンバッファに記録されている当該ノートオンの音量を取得して、当該取得した音量を発音時の音量として決定し、当該決定された音量で当該ノートオンの発音を開始することを特徴とする請求項1記載の楽音の発音制御装置。 - コンピュータを、
ノートオンが発生したときに、当該ノートオンの情報をノートオンバッファへ記録し、当該ノートオンが発生した時点を当該ノートオンの経過時間の基点として設定するノートオン設定手段、
ノートオンが発生したときに、当該ノートオンが属するパートのパート音量がゼロでない場合は当該ノートオンの発音を開始し、当該ノートオンが属するパートの音量がゼロの場合は当該ノートオンの発音を開始しない発音手段、
パート音量を変更するパート音量変更手段、
前記パート音量変更手段によりパート音量が変更されたときであって、当該変更がゼロからゼロ以外への変更であるときに、前記ノートオンバッファに記録されているノートオンのうちの、当該パート音量が変更されたパートに属するノートオンについて、当該ノートオンの前記ノートオン設定手段において設定された基点から現時点までの経過時間を取得し、当該取得した経過時間を考慮して発音時の音量を決定して、当該決定された音量で当該ノートオンの発音を開始する再発音手段、
として機能させるようにしたことを特徴とする楽音の発音制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006029215A JP4497100B2 (ja) | 2006-02-07 | 2006-02-07 | 楽音の発音制御装置および発音制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006029215A JP4497100B2 (ja) | 2006-02-07 | 2006-02-07 | 楽音の発音制御装置および発音制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007212490A JP2007212490A (ja) | 2007-08-23 |
JP4497100B2 true JP4497100B2 (ja) | 2010-07-07 |
Family
ID=38491028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006029215A Expired - Fee Related JP4497100B2 (ja) | 2006-02-07 | 2006-02-07 | 楽音の発音制御装置および発音制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4497100B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019175977A1 (ja) * | 2018-03-13 | 2019-09-19 | ヤマハ株式会社 | 評価装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000089759A (ja) * | 1995-05-19 | 2000-03-31 | Yamaha Corp | 音生成方法 |
JP2001125570A (ja) * | 1999-10-26 | 2001-05-11 | Kawai Musical Instr Mfg Co Ltd | 電子楽器、楽音発生制御方法及び記憶媒体 |
JP2001125572A (ja) * | 1999-10-26 | 2001-05-11 | Kawai Musical Instr Mfg Co Ltd | 電子楽器、楽音発生制御方法及び記憶媒体 |
JP2001265342A (ja) * | 2000-03-22 | 2001-09-28 | Kawai Musical Instr Mfg Co Ltd | 楽音信号発生装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61175692A (ja) * | 1985-01-31 | 1986-08-07 | ヤマハ株式会社 | 電子楽器 |
JP2940384B2 (ja) * | 1994-02-24 | 1999-08-25 | ヤマハ株式会社 | 電子楽器 |
JPH07295564A (ja) * | 1994-04-20 | 1995-11-10 | Kawai Musical Instr Mfg Co Ltd | 電子楽器 |
JP3116739B2 (ja) * | 1994-08-24 | 2000-12-11 | ヤマハ株式会社 | 楽音信号発生装置 |
JP3329176B2 (ja) * | 1996-02-21 | 2002-09-30 | ヤマハ株式会社 | 発音割当て装置 |
-
2006
- 2006-02-07 JP JP2006029215A patent/JP4497100B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000089759A (ja) * | 1995-05-19 | 2000-03-31 | Yamaha Corp | 音生成方法 |
JP2001125570A (ja) * | 1999-10-26 | 2001-05-11 | Kawai Musical Instr Mfg Co Ltd | 電子楽器、楽音発生制御方法及び記憶媒体 |
JP2001125572A (ja) * | 1999-10-26 | 2001-05-11 | Kawai Musical Instr Mfg Co Ltd | 電子楽器、楽音発生制御方法及び記憶媒体 |
JP2001265342A (ja) * | 2000-03-22 | 2001-09-28 | Kawai Musical Instr Mfg Co Ltd | 楽音信号発生装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2007212490A (ja) | 2007-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4978993B2 (ja) | 楽音発生装置 | |
JP5724231B2 (ja) | 電子音楽装置及びプログラム | |
US11417303B2 (en) | Musical sound data reproduction device and musical sound data reproduction method | |
JP2019168517A (ja) | 電子楽器、方法及びプログラム | |
JP4548292B2 (ja) | 音源設定装置及び音源設定プログラム | |
JP4497100B2 (ja) | 楽音の発音制御装置および発音制御プログラム | |
JP2007212491A (ja) | 楽音の発音制御装置および発音制御プログラム | |
JP2020129040A (ja) | 電子楽器、電子楽器の制御方法、及びプログラム | |
JP5305483B2 (ja) | 楽音発生装置 | |
US20210065669A1 (en) | Musical sound generation method, musical sound generation device, and recording medium | |
JP5699558B2 (ja) | 楽音生成装置及びプログラム | |
JP4785052B2 (ja) | 楽音発生装置 | |
JP3931847B2 (ja) | 波形選択装置および波形選択プログラム | |
JP3399333B2 (ja) | 楽音制御装置 | |
JP5839156B2 (ja) | 楽音信号発生装置 | |
JP5200368B2 (ja) | アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム | |
JP4106798B2 (ja) | 音源装置 | |
JP2010102261A (ja) | 音色設定装置及び方法 | |
JP2715795B2 (ja) | 発音割当手段を有する楽音合成装置 | |
JP4835433B2 (ja) | 演奏パターン再生装置及びそのコンピュータプログラム | |
JP4000986B2 (ja) | 表示制御装置及びプログラム | |
JP3931848B2 (ja) | 波形選択装置および波形選択プログラム | |
JP5568866B2 (ja) | 楽音信号生成装置 | |
JP4254697B2 (ja) | 電子楽器 | |
JP5504983B2 (ja) | 楽音信号発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091215 |
|
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: 20100323 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100405 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130423 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140423 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |