JP5218154B2 - 楽音信号生成装置 - Google Patents
楽音信号生成装置 Download PDFInfo
- Publication number
- JP5218154B2 JP5218154B2 JP2009048039A JP2009048039A JP5218154B2 JP 5218154 B2 JP5218154 B2 JP 5218154B2 JP 2009048039 A JP2009048039 A JP 2009048039A JP 2009048039 A JP2009048039 A JP 2009048039A JP 5218154 B2 JP5218154 B2 JP 5218154B2
- Authority
- JP
- Japan
- Prior art keywords
- channel
- sound
- tone
- musical
- sound generation
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P20/00—Technologies relating to chemical industry
- Y02P20/50—Improvements relating to the production of bulk chemicals
- Y02P20/52—Improvements relating to the production of bulk chemicals using catalysts, e.g. selective catalysts
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
この発明は、複数の発音チャンネルで楽音信号を生成する、音源装置等の楽音信号生成装置に関する。
従来から、音源装置等の楽音信号生成装置において、任意のタイミングで適当な指示を与えることにより、発音中の音に対し、音量、ピッチ、ビブラート深さ等の特性調整を行えるようにすることが知られている。
また、このような特性調整の指示は、例えばMIDI(Musical Instruments Digital Interface:登録商標)規格の場合には、コントロールチェンジコマンドや、システムエクスクルーシブメッセージを利用したパラメータチェンジコマンドにより実現することができる。以後、これらの特性調整の指示を行うためのデータを、まとめて「制御データ」と呼ぶことにする。
また、このような特性調整の指示は、例えばMIDI(Musical Instruments Digital Interface:登録商標)規格の場合には、コントロールチェンジコマンドや、システムエクスクルーシブメッセージを利用したパラメータチェンジコマンドにより実現することができる。以後、これらの特性調整の指示を行うためのデータを、まとめて「制御データ」と呼ぶことにする。
ここで、図12を用いて、従来の楽音信号生成装置における制御データの作用について説明する。
図12(a)には、音源部を制御するCPUに供給されるデータのタイミングと内容を示す。NoteOn XはノートXに関するノートオンイベント、NoteOff XはノートXに関するノートオフイベント、ContXXは、XXに応じた内容の制御データをそれぞれ示す。また、Timeの後の数字は各データの供給タイミングを相対時刻で示す。
図12(a)には、音源部を制御するCPUに供給されるデータのタイミングと内容を示す。NoteOn XはノートXに関するノートオンイベント、NoteOff XはノートXに関するノートオフイベント、ContXXは、XXに応じた内容の制御データをそれぞれ示す。また、Timeの後の数字は各データの供給タイミングを相対時刻で示す。
なお、図12では抽象的に示したが、実際には、ノートオンイベントはNoteOn(p, nn, vel)のように、パートp、ノートナンバ(音高)nn及びベロシティ(演奏強度)velを伴うメッセージにより表される。
また、制御データは、例えばCont(p, pn, pv)のように、パートp,パラメータ番号pn及びその番号のパラメータの値pvを伴うメッセージにより表すことができる。制御データによりより値を制御するパラメータとしては、例えばピッチや変調深さなどが考えられる。そして、このように連続的に変化するパラメータの値を制御する場合、図2(a)にCont01-05で示すように、複数の制御データを連続的に発生させ、パラメータの値を徐々に変化させることがよく行われる。従って、一般に、制御データの法がノートオンイベントよりも発生頻度は高い。
また、制御データは、例えばCont(p, pn, pv)のように、パートp,パラメータ番号pn及びその番号のパラメータの値pvを伴うメッセージにより表すことができる。制御データによりより値を制御するパラメータとしては、例えばピッチや変調深さなどが考えられる。そして、このように連続的に変化するパラメータの値を制御する場合、図2(a)にCont01-05で示すように、複数の制御データを連続的に発生させ、パラメータの値を徐々に変化させることがよく行われる。従って、一般に、制御データの法がノートオンイベントよりも発生頻度は高い。
また、図12(b)には、(a)に示すデータが各タイミングで供給された場合に音源部に実行させる動作を示す。Note欄に示すバーは、各ノートに係る発音を行う時間帯を示し、破線部分はそのうちリリースフェイズ(ノートオフ後)の発音を示す。また、Control欄に記載した制御データから延びる矢印は、その制御データの内容がどの発音に反映されるかを示す。
従来の楽音信号生成装置においては、制御データは、その制御データがCPUに供給された時点で発音中の音のうちの、その制御データで指定されたパートの全ての音に対して特性調整を指示するものとなっていた。
そして、このような制御データであっても、Cont01-05やCont12-14のように、各パートで1つのノートのみが発音中の状態で供給された場合には、CPUは音源部に対し発音中の音の特性調整を適切に指示でき、特に問題はなかった。例えば、図12(b)の例では、Cont01-05によりノートAのアタック時に与える特性調整を行い、Cont12-14によりノートBのリリース時の特性調整を行うことができた。
このような楽音信号生成装置については、例えば非特許文献1に記載されている。
そして、このような制御データであっても、Cont01-05やCont12-14のように、各パートで1つのノートのみが発音中の状態で供給された場合には、CPUは音源部に対し発音中の音の特性調整を適切に指示でき、特に問題はなかった。例えば、図12(b)の例では、Cont01-05によりノートAのアタック時に与える特性調整を行い、Cont12-14によりノートBのリリース時の特性調整を行うことができた。
このような楽音信号生成装置については、例えば非特許文献1に記載されている。
「MIDIバイブルI」、初版、株式会社リットーミュージック編、1997年、p.98−183
しかし、上述した従来の楽音信号生成装置においては、図12(b)に示すように、複数のノートを少しずらしたタイミングで重ねて発音させる場合、後から発音させるノートBに、ノートAの場合と同様なアタック時の制御を行ったり、先に発音終了するノートAに、ノートBの場合と同様なリリース時の制御を行ったりすることはできなかった。
すなわち、ノートBのアタック時に制御データCont06-09を供給すると、その内容は、そのとき発音中であるノートAにも同時に反映されてしまい、ノートAをおかしな発音状態にしてしまう恐れがあった。また、ノートAのリリース時に制御データCont10-11を供給すると、その内容は、そのとき発音中であるノートBにも同時に反映されてしまい、ノートBをおかしな発音状態にしてしまう恐れがあった。
すなわち、ノートBのアタック時に制御データCont06-09を供給すると、その内容は、そのとき発音中であるノートAにも同時に反映されてしまい、ノートAをおかしな発音状態にしてしまう恐れがあった。また、ノートAのリリース時に制御データCont10-11を供給すると、その内容は、そのとき発音中であるノートBにも同時に反映されてしまい、ノートBをおかしな発音状態にしてしまう恐れがあった。
この発明は、このような問題を解決し、楽音信号生成装置における楽音特性制御機能の使い勝手を向上させることを目的とする。特に、複数のノートが発音中の状態で、所望のノートのみに対して楽音特性の制御を行うことができるようにすることを目的とする。
この発明は、上記の目的を達成するため、楽音信号生成装置において、複数の発音チャンネルと、発音開始を指示する発音開始指示を検出した場合に、その発音開始指示に係る楽音信号の生成に上記複数の発音チャンネルの1つ以上を割り当て、その割り当てた発音チャンネルに上記発音開始指示に係る楽音信号の生成を実行させる発音制御手段と、発音に関する条件の情報を含む対象指定データを検出した場合に、楽音信号の生成に使用している上記発音チャンネルのうち、上記条件に合う発音チャンネルを特定するチャンネル特定手段と、上記発音チャンネルが生成する楽音信号の楽音特性制御を指示する制御データを検出した場合に、上記チャンネル特定手段により特定されている発音チャンネルで生成する楽音信号の楽音特性を、上記制御データに従って制御する特性制御手段とを設け、前記発音開始指示と、前記対象指定データと、前記制御データとを、相互に独立したタイミングで供給されるデータとしたものである。
このような楽音信号生成装置において、上記チャンネル特定手段が発音チャンネルの特定に用いている条件の内容を記憶する条件記憶手段と、上記チャンネル特定手段により特定されている発音チャンネルに対して上記特性制御手段が行う楽音特性制御の内容を記憶する制御内容記憶手段と、上記発音制御手段が上記発音開始指示に応じて新たに割り当てた発音チャンネルが、上記条件記憶手段が記憶している条件を満たす場合、上記特性制御手段に、その新たに割り当てた発音チャンネルで生成する楽音信号の楽音特性を、上記制御内容記憶手段が記憶している内容に従って制御させると共に、上記チャンネル特定手段に、それまでに特定していた発音チャンネルに加えてその新たに割り当てた発音チャンネルも特定させる手段とを設けるとよい。
また、この発明の別の楽音信号生成装置は、複数の発音チャンネルと、パートを指定して発音開始を指示する発音開始指示を検出した場合に、その発音開始指示に係る楽音信号の生成に上記複数の発音チャンネルの1つ以上を割り当て、その割り当てた発音チャンネルに、上記発音開始指示に係る楽音信号であって、同発音開始指示に係るパートで現在選択されている音色の楽音信号の生成を実行させる発音制御手段と、パートの指定と発音に関する条件の情報を含む対象指定データを検出した場合に、そのパートの楽音信号の生成に使用している上記発音チャンネルのうち、上記条件に合う発音チャンネルを特定し、パート毎にその特定の内容を記憶するチャンネル特定手段と、パートを指定して上記発音チャンネルが生成する楽音信号の楽音特性制御を指示する制御データを検出した場合に、そのパートについて上記チャンネル特定手段により特定されている発音チャンネルで生成する楽音信号の楽音特性を、上記制御データに従って制御する特性制御手段とを設け、前記発音開始指示と、前記対象指定データと、前記制御データとを、相互に独立したタイミングで供給されるデータとしたものである。
このような楽音信号生成装置において、上記チャンネル特定手段が発音チャンネルの特定に用いている条件の内容をパート毎に記憶する条件記憶手段と、上記チャンネル特定手段により特定されている発音チャンネルに対して上記特性制御手段が行う楽音特性制御の内容をパート毎に記憶する制御内容記憶手段と、上記発音制御手段が上記発音開始指示に応じて新たに割り当てた発音チャンネルが、上記条件記憶手段が上記発音開始指示において指定されたパートについて記憶している条件を満たす場合、上記特性制御手段に、上記新たに割り当てた発音チャンネルで生成する楽音信号の楽音特性を、上記制御内容記憶手段がその指定されたパートについて記憶している内容に従って制御させると共に、上記チャンネル特定手段に、それまでにその指定されたパートについて特定していた発音チャンネルに加えて上記新たに割り当てた発音チャンネルも特定させる手段とを設けるとよい。
また、上記の各楽音信号生成装置において、上記発音チャンネルで生成中の楽音信号の振幅が所定値以下に低下した場合にその発音チャンネルでの楽音信号の生成を停止してその発音チャンネルの割り当てを解除する手段を設け、上記チャンネル特定手段に、上記発音チャンネルの割り当てが解除された場合に、その発音チャンネルの特定を解除する手段を設けるとよい。
さらに、上記対象指定データに含める条件として、楽音信号に係るノートナンバ又はノートナンバの範囲の条件を指定可能とするとよい。
さらに、上記対象指定データに含める条件として、楽音信号のフェイズの条件を指定可能とするとよい。
さらに、上記対象指定データに含める条件として、楽音信号のフェイズの条件を指定可能とするとよい。
さらにまた、上記対象指定データにおいて、上記条件の有効期間を指定可能とし、上記特性制御手段が、上記対象指定データの検出後、その対象指定データにおいて指定された有効期間が経過した後は、上記制御データを検出した場合に、上記チャンネル特定手段による特定とは関係なく、発音チャンネルで生成する楽音信号の楽音特性に、検出した制御データの内容を反映させるようにするとよい。
以上のようなこの発明の楽音信号生成装置によれば、複数のノートが発音中の状態で、所望のノートのみに対して楽音特性の制御を行うことができ、楽音信号生成装置における楽音特性制御機能の使い勝手を向上させることができる。
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
まず、図1に、この発明の楽音信号生成装置の実施形態である音源装置のハードウェア構成を示す。
図1に示すように、音源装置10は、CPU11,フラッシュメモリ12,RAM13,MIDI(Musical Instruments Digital Interface:登録商標)_I/O14,パネル表示器15,パネル操作子16,音源部17を備え、これらはシステムバス19により接続されている。また、音源部17に接続されるサウンドシステム18も備えている。
まず、図1に、この発明の楽音信号生成装置の実施形態である音源装置のハードウェア構成を示す。
図1に示すように、音源装置10は、CPU11,フラッシュメモリ12,RAM13,MIDI(Musical Instruments Digital Interface:登録商標)_I/O14,パネル表示器15,パネル操作子16,音源部17を備え、これらはシステムバス19により接続されている。また、音源部17に接続されるサウンドシステム18も備えている。
そして、CPU11は、音源装置10全体を制御する制御手段であり、フラッシュメモリ12に記憶された所要の制御プログラムを実行することにより、パネル操作子16の操作検出、パネル表示器15における表示の制御、MIDI_I/O14を介した通信の制御、音源部17における楽音生成制御等の制御動作を行う。
フラッシュメモリ12は、CPU11が実行する制御プログラムや、音源部17が楽音生成に使用する音色データ、音源部17に実行させる自動演奏に使用する楽曲データ等、あまり頻繁に変更する必要のないデータを記憶する、書き換え可能な不揮発性記憶手段である。
RAM13は、CPU11のワークメモリとして使用したり、音源装置10の制御に使用し、動作に反映させるパラメータの値を記憶させたりする記憶手段である。
MIDI_I/O14は、MIDIシーケンサ20等の外部装置との間でMIDIデータの入出力を行うためのインタフェースである。
RAM13は、CPU11のワークメモリとして使用したり、音源装置10の制御に使用し、動作に反映させるパラメータの値を記憶させたりする記憶手段である。
MIDI_I/O14は、MIDIシーケンサ20等の外部装置との間でMIDIデータの入出力を行うためのインタフェースである。
パネル表示器15は、液晶ディスプレイ(LCD)や発光ダイオード(LED)ランプ等によって構成され、音源装置10の動作状態や設定内容あるいはユーザへのメッセージ、ユーザからの指示を受け付けるためのグラフィカル・ユーザ・インタフェース(GUI)等を表示するための表示手段である。
パネル操作子16は、音源装置10の操作パネル上に設けた、ボタン、ノブ、スライダ、タッチパネル等の操作子であり、パラメータの設定や、画面や動作モードの切り替え等、ユーザからの種々の指示を受け付けるためのものである。
パネル操作子16は、音源装置10の操作パネル上に設けた、ボタン、ノブ、スライダ、タッチパネル等の操作子であり、パラメータの設定や、画面や動作モードの切り替え等、ユーザからの種々の指示を受け付けるためのものである。
音源部17は、MIDI_I/O14を介して外部装置から受信したり、楽曲の自動演奏時に楽曲データの内容に従ってCPU11が発生させたりしたMIDIイベント(楽音の生成を制御するための演奏イベントや制御データなど)に応じて、CPU11による制御に従い、複数の発音チャンネルで楽音信号である波形データを生成する楽音生成手段である。
サウンドシステム18は、スピーカとD/Aコンバータを備え、音源部17から波形データの供給を受けてその波形データに基づく発音を行う発音手段である。
サウンドシステム18は、スピーカとD/Aコンバータを備え、音源部17から波形データの供給を受けてその波形データに基づく発音を行う発音手段である。
以上のような構成を有する音源装置10において、特徴的な点は、制御データに従った楽音特性制御の対象を、対象指定データを用いて指定可能にした点である。そこで、以下、この点について説明する。
なお、背景技術の項で説明した通り、ノートオンイベント及び制御データは、パートを指定するデータを含むものである。そして、詳細な説明は省略するが、音色の指定も、パート毎になされる。従って、制御データに従った楽音の特性制御も、パート毎になされるものである。
なお、背景技術の項で説明した通り、ノートオンイベント及び制御データは、パートを指定するデータを含むものである。そして、詳細な説明は省略するが、音色の指定も、パート毎になされる。従って、制御データに従った楽音の特性制御も、パート毎になされるものである。
以下の説明においては、説明を簡単にするため、パートについては特に必要がない限り触れないが、以下の説明に登場するイベントやデータは、音源装置10において使用可能な複数のパートのうち特定の1つのパートが指定されたものであるとし、以下の説明は、その特定のパートにおける発音制御機能及びその機能を実現するための処理である。そして、音源装置10は、複数のパートのそれぞれ(必ずしも全てでなくてもよい)について、以下に説明する処理を、相互に独立して行う。この場合において、特定のパートが指定されたイベントやデータは、図7のステップS51の説明において後述する、新規発音割り当てに伴うトランケートを除き、他のパートの発音に影響を及ぼすことはない。
まず、図2を用いて、音源装置10における対象指定データ、制御データ及びこれに関連するデータの作用について説明する。
図2(a),(b)には、CPU11に供給されるデータのタイミングと内容、およびそれらのデータが各供給タイミングで供給された場合に音源部17に実行させる動作を、図12と同様な形式で示している。
図2(a),(b)には、CPU11に供給されるデータのタイミングと内容、およびそれらのデータが各供給タイミングで供給された場合に音源部17に実行させる動作を、図12と同様な形式で示している。
なお、図2(a)におけるForNote Xは、制御データに従った楽音特性制御の対象を、特定の条件を満たす発音(ここではノートXに係る発音)に指定する対象指定データである。この対象指定データは、MIDI規格では何ら規定されてないが、MIDI規格で規定されるシステムエクスクルーシブデータを用いて表現することができる。
また、図2では抽象的に示したが、実際には、対象指定データは、例えばForNote(p, cn, c(1), c(2), …,c(cn))のように、パートp、条件数cn及び第1〜cnの条件c(1)〜c(cn)を伴うメッセージにより表現することができる。すなわち、対象指定データも、パートの指定を含むデータである。そして、条件c(1)〜c(cn)は、楽音特性制御の対象が満たすべき条件を示すデータである。図2の例では、ノートナンバ(音高)を指定しているだけであるが、後述するように、他の様々な条件を指定することも可能である。
また、図2(b)におけるForNote欄のハッチングを示した帯は、各時刻において対象指定データによりどのノートに係る発音が特性制御の対象として指定されているかを示す。
音源装置10においては、上記の対象指定データにより予め特性制御の対象を指定しておくことにより、複数のノートに係る発音の実行中に制御データContをCPU11に供給したとしても、CPU11は、そのうち特定のノートに係る発音に対してのみ、制御データに従った特性調整を行う。
音源装置10においては、上記の対象指定データにより予め特性制御の対象を指定しておくことにより、複数のノートに係る発音の実行中に制御データContをCPU11に供給したとしても、CPU11は、そのうち特定のノートに係る発音に対してのみ、制御データに従った特性調整を行う。
例えば、制御データCont06-09は、対象指定データForNote BによりノートBに係る発音が特性制御の対象とされている期間にCPU11に供給されるため、CPU11は、発音中のノートA及びBのうち、ノートBに係る発音に対してのみ、Cont06-09に従った特性調整を行う。より具体的には、音源部17における発音ch(チャンネル)のうち、ノートBに係る発音を実行中の発音chのレジスタに対してのみ、Cont06-09に従った設定値の変更を行う。
また、Cont10-11は、ForNote AによりノートAに係る発音が特性制御の対象とされている期間にCPU11に供給されるため、CPU11は、発音中のノートA及びBのうち、ノートAに係る発音に対してのみ、Cont10-11に従った特性調整を行う。
Cont01-05及びCont12-14については、それぞれ1つのノートのみの発音中にCPU11に供給されるが、ForNoteコマンドにより指定されたノートに係る発音に対してその制御データに応じた特性調整を行うことに、変わりはない。
Cont01-05及びCont12-14については、それぞれ1つのノートのみの発音中にCPU11に供給されるが、ForNoteコマンドにより指定されたノートに係る発音に対してその制御データに応じた特性調整を行うことに、変わりはない。
なお、図2(a)に示した対象指定データForNoteによる対象指定の有効期間は、図2(b)からわかるように、次の対象指定データがあるまでである。しかし、この有効期間を具体的に指定することもできる。また、対象指定についても、1つのノートを特定するだけでなく、複数のノートを指定したり、ノートの範囲を指定したりすることもできる。さらに、アタック、ディケイ、サステイン、リリースといった、ノートオン/オフイベントや音色データに応じて制御される発音フェイズによって指定することもできる。
また、図2の例では、対象指定データForNoteはノートオンイベント及びノートオフイベントの直後に1対1対応で位置しているが、これは、対象指定データの機能を分かりやすく説明するためであり、実際には、対象指定データForNoteは、ノートオン/オフイベントと全く独立に発生させることのできるデータである。図10等を用いて後述する例には、これらが1対1対応でないものもある。
次に、この対象指定データに関連する処理を中心に、CPU11が実行する、波形データ生成に関する処理について説明する。なお、この処理において説明する対象指定データは、ここで説明したノートナンバ以外の条件も含むものであるが、この点については、処理の説明の中で述べると共に、後に図2と対応する図を用いて具体的に説明する。
まず図3に、CPU11が対象指定データ(ForNote等)を検出した場合に実行する処理のフローチャートを示す。なお、データの「検出」が起こるのは、MIDIメッセージをMIDI_I/O14を介して外部装置から受信した場合や、CPU11自身が楽曲データに従った自動演奏処理の中でMIDIイベントを発生させた場合である。
CPU11は、対象指定データを検出すると、図3に示す処理を開始し、まず、受信した対象指定データに含まれる発音ch選択の条件を、RAM13に設ける選択条件メモリに記憶させる(S11)。この際、前に記憶していた条件はクリアする。また、選択条件は、図2を用いて説明したようなノートナンバの指定であったり、アタック,リリースなど発音フェイズの指定であったりする。また、対象指定データ検出から所定時間のみ条件を有効にする期間限定を含めることもできる。
次に、CPU11は対象chリストをクリアする(S12)。対象chリストは、音源部17において発音に使用中の発音chのうち、ステップS11で記憶した選択条件に合致するものを記憶するリストであり、制御データに基づく特性制御の対象とする発音chを示すリストである。この対象chリストはRAM13に設けることができる。
そして、CPU11は制御データテーブルAの内容を制御データテーブルBにコピーする(S13)。
そして、CPU11は制御データテーブルAの内容を制御データテーブルBにコピーする(S13)。
図4に、この制御データテーブルの例を示す。
制御データテーブルは、RAM13に設けられ、制御データに従って値を制御すべき、発音chのレジスタ中のパラメータの種類と、その制御内容とを対応付け、パラメータ種類毎に記憶するものである。
パラメータ種類としては、例えば、音量、ピッチ、ビブラート深さ等が考えられ、その登録には、コントロールチェンジコマンドやパラメータチェンジコマンドに含まれるデータナンバを用いることができる。制御内容については、元の値からの変化量を記載しても、設定すべき値の絶対値を記載してもよい。項目毎の書式が区別できれば、記載形式が項目毎に異なっていてもよい。
制御データテーブルは、RAM13に設けられ、制御データに従って値を制御すべき、発音chのレジスタ中のパラメータの種類と、その制御内容とを対応付け、パラメータ種類毎に記憶するものである。
パラメータ種類としては、例えば、音量、ピッチ、ビブラート深さ等が考えられ、その登録には、コントロールチェンジコマンドやパラメータチェンジコマンドに含まれるデータナンバを用いることができる。制御内容については、元の値からの変化量を記載しても、設定すべき値の絶対値を記載してもよい。項目毎の書式が区別できれば、記載形式が項目毎に異なっていてもよい。
また、制御データテーブルとしては、AとBの2つのテーブルを設けている(もちろん、1つのテーブルに2つの値を登録してもよい)。
このうち、制御データテーブルAは、対象指定データによる対象の指定がない又は無効な場合に発音chに反映させる制御データの内容を記憶するテーブルである。そして、その内容は、対象の指定がない又は無効な状態で受信した制御データにより随時更新され、その内容をクリアするのは、音源部17の動作自体をリセットする場合のみである。
このうち、制御データテーブルAは、対象指定データによる対象の指定がない又は無効な場合に発音chに反映させる制御データの内容を記憶するテーブルである。そして、その内容は、対象の指定がない又は無効な状態で受信した制御データにより随時更新され、その内容をクリアするのは、音源部17の動作自体をリセットする場合のみである。
一方、制御データテーブルBは、対象指定データによる対象の指定が有効である場合に発音chに反映させる制御データの内容を記憶するテーブルである。制御データテーブルBの内容は、対象指定データの受信時に、上記の図3ステップS13の処理により、その時点の制御データテーブルAの内容に初期設定され、その受信した対象指定データが有効な間は、受信した制御データにより随時更新される。
図3の説明に戻ると、ステップS13の後は、変数iの値を順次変化させながら、音源部17が有する全ての発音chをスキャンして、ステップS11で選択条件メモリに記憶させた選択条件に合致する発音を行っている発音chを全て対象chリストに登録する(S14〜S19)。
そして、ステップS11で記憶した選択条件に期間限定が含まれていた場合にはその期間を計測するためのタイマをスタートして(S20,S21)、処理を終了する。
そして、ステップS11で記憶した選択条件に期間限定が含まれていた場合にはその期間を計測するためのタイマをスタートして(S20,S21)、処理を終了する。
以上の処理により、対象指定データを検出したCPU11は、対象指定データに含まれる選択条件に従い、以後受信する制御データの内容を反映させる発音chを特定し、対象chリストに登録すると共に、その登録した発音chの動作に反映させるための制御データを記憶する制御データテーブルBを準備することができる。そして、この処理において、CPU11はチャンネル特定手段として機能する。
なお、図示は省略したが、期間限定のある場合、タイマがその期間の終わりを示す値に達した時点で、対象リストをクリアし、全てのchを特性制御の対象から外す。この状態では、音源部17が生成する楽音信号の特性に、新たに検出した制御データの内容が反映されないことになる。
また、過去に検出した対象指定データに従った対象指定は、ここでは新たな対象指定データを検出した時点で解除するようにしている。制御データテーブルBに記憶したパラメータの値も、その時点の制御データテーブルAの内容に合わせてリセットする。ただし、一旦制御データに従った特性制御を開始した発音chについては、その制御を解除する必要はない。その特性制御に過去の制御データの内容が必要であれば、別途領域を確保して保管しておく。
次に、図5に、CPU11が全指定データForNote Allを検出した場合に実行する処理のフローチャートを示す。この全指定データは、全ての発音chを制御データに基づく特性制御の対象として指定するデータであり、対象指定データForNoteのうち特別な条件を指定するものであると考えることができる。
CPU11は、全指定データForNote Allを検出すると、図5に示すように、選択条件メモリ、対象chリスト及び制御データテーブルBをクリアして(S31〜S33)、処理を終了する。
CPU11は、全指定データForNote Allを検出すると、図5に示すように、選択条件メモリ、対象chリスト及び制御データテーブルBをクリアして(S31〜S33)、処理を終了する。
以上の処理により、全指定データを検出した場合に、以前の対象指定データや制御データの内容をクリアし、対象指定データの受信前のパラメータの値を示す制御データテーブルAの内容と、以後検出した制御データの内容とを、発音中の全ての発音chに反映させる状態とすることができる。
次に、図6に、CPU11が制御データContを検出した場合に実行する処理のフローチャートを示す。
CPU11は、制御データContを検出すると、図6に示す処理を開始し、まず、選択条件メモリの内容を参照する(S41)。ここには、図3のステップS11で何らかの選択条件が記憶されているか、又は図5のステップS31でクリアされた状態となっているはずである。
CPU11は、制御データContを検出すると、図6に示す処理を開始し、まず、選択条件メモリの内容を参照する(S41)。ここには、図3のステップS11で何らかの選択条件が記憶されているか、又は図5のステップS31でクリアされた状態となっているはずである。
そこで、選択条件メモリに条件の登録があれば(S42のYES)、選択条件が全指定でないことがわかるため、音源部17において、対象chリストに登録されている各発音chのレジスタの設定内容を、検出した制御データの内容に従って修正することにより、その発音chで生成している楽音信号の楽音特性を制御データの内容に従って制御する(S43)。
そしてその後、検出した制御データに応じたパラメータ種類及び制御内容を、選択条件に合う以後の発音にも反映させるべく、制御データテーブルBに登録して(S44)、処理を終了する。この場合、まだ制御データテーブルに登録されていないパラメータ種類に関する制御データを検出した場合、そのデータを新たに登録し、既に登録されているパラメータ種類について新たに制御データが検出された場合、後のデータを前のデータに上書きする。
一方、選択条件メモリに条件の登録がなければ(S42のNO)、選択条件が全指定であることがわかるため、音源部17において発音中の全ての発音chのレジスタの設定内容を、検出した制御データの内容に従って修正することにより、その発音chで生成している楽音信号の楽音特性を制御データの内容に従って制御する(S45)。
そしてその後、検出した制御データに応じたパラメータ種類及び制御内容を、以後の全ての発音にも反映させるべく、制御データテーブルAに登録して(S46)、処理を終了する。この処理は、登録先が異なるのみで、登録処理の具体的な内容はステップS44と同じである。
そしてその後、検出した制御データに応じたパラメータ種類及び制御内容を、以後の全ての発音にも反映させるべく、制御データテーブルAに登録して(S46)、処理を終了する。この処理は、登録先が異なるのみで、登録処理の具体的な内容はステップS44と同じである。
以上の処理により、CPU11は、制御データを検出した場合に、対象指定データが示す条件に合う楽音についてのみ、楽音特性を制御データの内容に従って制御することができる。対象指定の内容が全指定であれば、当然、全ての楽音が条件に合うことになる。また、制御データを、以後の処理に使用するために制御データテーブルに登録することもできる。
なお、選択条件メモリを参照しなくても選択条件が全指定か否か判断できるのであれば、図6の処理で選択条件メモリを参照する必要はない。
なお、選択条件メモリを参照しなくても選択条件が全指定か否か判断できるのであれば、図6の処理で選択条件メモリを参照する必要はない。
次に、図7に、CPU11が発音開始指示であるノートオンイベントを検出した場合に実行する処理のフローチャートを示す。
CPU11は、ノートオンイベントを検出すると、図7に示す処理を開始し、まず、音源部17が有する発音chのうち発音に使用していない空きの発音chを検索し、検出したノートオンイベントに係る発音を、その発音chに割り当てる(S51)。
CPU11は、ノートオンイベントを検出すると、図7に示す処理を開始し、まず、音源部17が有する発音chのうち発音に使用していない空きの発音chを検索し、検出したノートオンイベントに係る発音を、その発音chに割り当てる(S51)。
発音に複数の発音chを使用する場合には、複数の発音chについて割り当てを行う。またこのとき、新たな発音に割り当てる発音chが不足した場合には、音量が低い発音chや発音開始から長時間経過した発音chを検索し、その発音chの発音を停止(トランケート)してそれまでの発音割り当てを解除し、対象chリストからも削除して、新たな発音の割り当てに使えるようにした上で、割り当てを行うとよい。このトランケートは、他のパートの発音に使用中の発音chも含め、パートに関係なく行って良い。
次に、CPU11は、ステップS41で発音を割り当てた発音chのレジスタに、検出したノートオンイベントが示すノートナンバNN及びベロシティVELに対応した通常発音用音色の楽音制御パラメータを設定する(S52)。このパラメータは、発音に使用する音色の音色データによって定められるものである。
次に、CPU11は、選択条件メモリに条件の登録があるか否か判断する(S53)。この判断は、図6のステップS42の判断と同趣旨であり、選択条件が全指定か否かを判断するためのものである。
そして、ステップS53でYESの、全指定でない場合には、選択条件メモリに登録されている条件に期間限定が含まれるか否か判断する(S54)。
そして、ステップS53でYESの、全指定でない場合には、選択条件メモリに登録されている条件に期間限定が含まれるか否か判断する(S54)。
そして、期間限定が含まれていない場合、ノートオンイベントに応じた発音内容が登録されている条件に合致するか否か判断する(S55)。この判断においては、例えば登録されている条件がノートナンバを示すものである場合、これをノートオンイベント中のノートナンバと比較すればよい。条件が発音フェイズを示すものである場合、ノートオンイベントの直後は必ずアタックフェイズであるので、アタックが指定されている場合のみ合致とすればよい。
ステップS55でYESであれば、今回のノートオンイベントに応じた発音を制御データに応じた特性制御の対象とすべきとわかるため、ステップS51で割り当てた発音chを、対象chリストに追加する(S56)。ステップS51で複数の発音chを割り当てている場合、それら全てを追加する。以降の説明においても同様とする。
そして、制御データテーブルBに登録されているパラメータ種類及び制御内容に従い、ステップS52で行った設定の内容を修正することにより、今回のノートオンイベントに応じて生成開始する楽音信号の楽音特性を、最新の対象指定データより後に検出した全ての制御データの内容を加味して制御する(S57)。その後、ステップS51で割り当てた発音chの発音を開始し(S58)、処理を終了する。
そして、制御データテーブルBに登録されているパラメータ種類及び制御内容に従い、ステップS52で行った設定の内容を修正することにより、今回のノートオンイベントに応じて生成開始する楽音信号の楽音特性を、最新の対象指定データより後に検出した全ての制御データの内容を加味して制御する(S57)。その後、ステップS51で割り当てた発音chの発音を開始し(S58)、処理を終了する。
また、ステップS53でNOの場合、全指定であるため、対象chリストへの登録は不要である。そこで、制御データテーブルAに登録されているパラメータ種類及び制御内容に従い、ステップS52で行った設定の内容を修正することにより、全指定の際に楽音に反映させるべき制御データの内容に従って制御する(S61)。その後、今回のノートオンイベントに応じて生成開始する楽音信号の楽音特性を制御すべく、ステップS47に進む。
ステップS54でYESの場合、タイマをチェックして有効期間が終了しているか否か判断する(S59)。そして、有効期間内であれば、ステップS55に進み、ステップS54でNOの場合と同様な処理を行う。
ステップS54でYESの場合、タイマをチェックして有効期間が終了しているか否か判断する(S59)。そして、有効期間内であれば、ステップS55に進み、ステップS54でNOの場合と同様な処理を行う。
ステップS59で期間終了の場合と、ステップS55で条件に合致していない場合は、今回のノートオンイベントに応じて生成開始する楽音信号については、最新の対象制御データよりも後に検出した制御データを加味した楽音特性の制御は行わない。この場合、通常は対象chリストには今回割り当てた発音chは登録されていないはずであるが、念のため対象chリストからその割り当てた発音chを削除する処理を行った後(S60)、全指定の場合と同様に制御データテーブルAの内容に従って発音chの設定の内容を修正し(S61)、ステップS58で発音を開始する。
以上の処理により、ノートオンイベントを検出したCPU11は、そのノートオンイベントに応じた発音内容が最新の対象指定データに含まれる選択条件に合致する場合のみ、既に受信して制御データテーブルBに記憶しておいた制御データに従って、そのノートオンイベントに応じた発音の楽音特性を制御することができる。また、その発音を、以後に受信する制御データによる楽音特性の制御対象とすることもできる。
従って、対象指定データや制御データを、発音の開始後ではなく、発音の開始前に予めCPU11に供給しておき、発音制御の予約を行うことができる。
従って、対象指定データや制御データを、発音の開始後ではなく、発音の開始前に予めCPU11に供給しておき、発音制御の予約を行うことができる。
次に、図8に、CPU11がリリースフェイズへの移行指示であるノートオフイベントを検出した場合に実行する処理のフローチャートを示す。
CPU11は、ノートオフイベントを検出すると、図8に示す処理を開始し、まず、音源部17が有する発音chのうち、検出したノートオフイベントと対応するノートオンイベントに係る発音を行っている発音chを検索する(S71)。発音に複数の発音chを使用する場合には、それら全ての発音chを検索により抽出する。また、全部又は一部の発音chについて、既に音量低下などにより発音が停止されており、検索で発見できない場合もある。
CPU11は、ノートオフイベントを検出すると、図8に示す処理を開始し、まず、音源部17が有する発音chのうち、検出したノートオフイベントと対応するノートオンイベントに係る発音を行っている発音chを検索する(S71)。発音に複数の発音chを使用する場合には、それら全ての発音chを検索により抽出する。また、全部又は一部の発音chについて、既に音量低下などにより発音が停止されており、検索で発見できない場合もある。
次に、CPU11は、ステップS71の検索で条件に合う発音chが発見されたか否か判断する(S72)。ここで発見された場合、ノートオフイベントに応じた発音フェイズの変化後に発音させる音が選択条件メモリに登録されている選択条件に合致するか否かを判断すべく、ステップS73以下に進む。
そして、選択条件メモリに発音フェイズに関する条件の登録がある場合(S73のYES)、ノートオフイベントに応じた発音フェイズの変化により選択条件への合致/不合致が変化する可能性があるため、図7のステップS54,S55及びS59の場合と同様に、ノートオフイベント後の発音内容が選択条件メモリに登録されている選択条件に合致するか否かを調べ(S74,S75,S79)、最終的に条件に合致する場合(S75のYES)、ステップS71で発見した発音chを対象chリストに追加する(S76)。発音chが既に対象chリストに登録されている場合には、登録されたままとすればよい。
そして、制御データテーブルBに登録されているパラメータ種類及び制御内容に従い、ステップS71で発見した発音chのレジスタの設定内容を修正することにより、今回のノートオフイベント後に生成するリリースフェイズの楽音信号の楽音特性を、最新の対象指定データより後に検出した全ての制御データの内容を加味して制御する(S77)。その後、ステップS71で発見した発音chの発音をリリースフェイズに移行させ(S78)、処理を終了する。
また、ステップS72でNOの場合、以後の処理は不要であるのでそのまま処理を終了する。
ステップS73でNOの場合、発音フェイズの変化は選択条件への合致/不合致に影響を与えないため、この時点でノートオフイベント後に生成する楽音信号に反映させるべき新たな制御データはないので、ステップS77までの処理を飛ばしてステップS78に進む。
ステップS73でNOの場合、発音フェイズの変化は選択条件への合致/不合致に影響を与えないため、この時点でノートオフイベント後に生成する楽音信号に反映させるべき新たな制御データはないので、ステップS77までの処理を飛ばしてステップS78に進む。
また、ステップS75でNO又はS79でYESの場合も、ノートオフイベント後に生成する楽音信号に反映させるべき新たな制御データはない。また、これらの場合、ステップS71で発見した発音chは、選択条件メモリに登録されている条件に合わなくなっていることがわかるので、対象chリストからその発音chを削除する処理を行った後(S80)、ステップS78で発音をリリースフェイズに移行させる。
以上の処理により、ノートオフイベントを検出したCPU11は、そのノートオフイベント後の発音内容が最新の対象指定データに含まれる選択条件に合致する場合のみ、既に受信して制御データテーブルBに記憶しておいた制御データに従って、そのノートオフイベント後の発音の楽音特性を制御することができる。また、その発音を、以後に受信する制御データによる楽音特性の制御対象とすることもできる。
次に、図9に、発音ch解放処理のフローチャートを示す。この処理は、CPU11が定期的に実行するものである。
そして、図9の処理においては、CPU11は、変数iの値を順次変化させながら、音源部17が有する全ての発音chをスキャンする(S91,S95,S96)。そして、生成する楽音信号の音量(振幅)が所定レベル以下になっている発音chについて(S92)、発音を停止させると共に、発音への割り当てを解除し(S93)、その発音chを対象chリストから削除する(S94)。
そして、図9の処理においては、CPU11は、変数iの値を順次変化させながら、音源部17が有する全ての発音chをスキャンする(S91,S95,S96)。そして、生成する楽音信号の音量(振幅)が所定レベル以下になっている発音chについて(S92)、発音を停止させると共に、発音への割り当てを解除し(S93)、その発音chを対象chリストから削除する(S94)。
以上の処理により、CPU11は、音量が低下して実質的に音源部17による発音内容に影響を与えなくなった発音chを、別の発音に使える状態にすると共に、制御データに従った特性制御の対象からも外すことができる。
次に、図10及び図11を用いて、以上説明してきた処理により実現される機能について、具体例を挙げて説明する。
図10及び図11はそれぞれ、CPU11に供給されるデータのタイミングと内容、およびそれらのデータが各供給タイミングで供給された場合に音源部17に実行させる動作を、図2及び18と同様な形式で示す図である。
図10及び図11はそれぞれ、CPU11に供給されるデータのタイミングと内容、およびそれらのデータが各供給タイミングで供給された場合に音源部17に実行させる動作を、図2及び18と同様な形式で示す図である。
なお、図10(a)における「ForNote A for 020」等は、期間制限付きの対象指定データであり、「ForNote A」の部分が、制御対象とするノートの指定を、「for 020」が、データ検出からの有効期間の長さを、相対時間の数値で示す。なお、「to 021」のように、期限の時刻を記載するようにしてもよい。いずれにせよ、実際のデータ形式は、図2の説明で述べたものと共通な、ForNote(p, cn, c(1), c(2), …,c(cn))のようなものである。
そして、図10(a)に示す各データがCPU11に供給された場合、Cont01-17の制御データに基づく特性制御は、それぞれ以下のように行われる。
まず、Cont01-03は、ノートAの指定の有効期間中に供給されるが、この時点(Time010-012)ではノートAに係る発音はなされていないので、当面制御データテーブルBに登録しておくことになる。そして、その後ノートAに係る発音が開始された時点(Time015)において、まだノートAの指定が有効であるので、登録しておいたCont01-03の内容が、ノートAに係る発音に反映される。
まず、Cont01-03は、ノートAの指定の有効期間中に供給されるが、この時点(Time010-012)ではノートAに係る発音はなされていないので、当面制御データテーブルBに登録しておくことになる。そして、その後ノートAに係る発音が開始された時点(Time015)において、まだノートAの指定が有効であるので、登録しておいたCont01-03の内容が、ノートAに係る発音に反映される。
次に、Cont04-05は、ノートAの指定の有効期間終了後、新たな指定がない間に供給されるため、全指定の場合と同じ扱いになる。そして、Cont04-05の内容は、供給時点で発音中のノートAには直ちに反映され、また、制御データテーブルAに登録されるので、次の(全指定以外の)対象指定データ検出よりも前に発音を開始するノートBについても、図7のステップS61の処理において反映されるし、以後対象指定データを検出した場合に用意する制御データテーブルBの初期値にも反映される。
Cont06-08は、ForNote Allにより指定された全指定の期間中に供給されるが、その扱いはCont04-05の場合と同様である。そして、その時点(Time040-042)で発音中の全ての音、すなわちノートAとノートBの双方に係る発音に反映される。また、ここでは全指定には有効期間は定められていないが、次のノートBの指定があった時点(Time050)で、全指定は終了する。
Cont09-12は、ノートAの指定の有効期間中に供給され、その時点でノートAが発音中であるため、そのノートAに係る発音に反映させる。
Cont13-14及びCont15-17も、それぞれ供給時点で指定されているノートが発音中であるため、指定に従ったノートの発音に反映させる。これらの時点では各ノートに係る発音はリリースフェイズであるが、ここではフェイズの指定はなされていないため、フェイズは制御データの反映対象の決定には関係ない。
また、この図からわかるように、対象指定データはノートオンイベントより前に発生させても後に発生させてもよいし、1対1対応でなくてもよい。また、1つのノートの発音中に指定する条件を何度変えても、全く問題ない。もちろん、1つの対象指定データに対していくつの制御データがあってもよい。
Cont13-14及びCont15-17も、それぞれ供給時点で指定されているノートが発音中であるため、指定に従ったノートの発音に反映させる。これらの時点では各ノートに係る発音はリリースフェイズであるが、ここではフェイズの指定はなされていないため、フェイズは制御データの反映対象の決定には関係ない。
また、この図からわかるように、対象指定データはノートオンイベントより前に発生させても後に発生させてもよいし、1対1対応でなくてもよい。また、1つのノートの発音中に指定する条件を何度変えても、全く問題ない。もちろん、1つの対象指定データに対していくつの制御データがあってもよい。
また、図11(a)における「ForAttack」、「ForRelease」はそれぞれ、アタックフェイズ及びリリースフェイズの音を制御対象として指定する対象指定データである。このような対象指定データも、図2の説明で述べたものと共通な、ForNote(p, cn, c(1), c(2), …,c(cn))のような形式で記載できる。
また、図11(b)において、Note欄で発音期間を示すバーにドットハッチングを示した部分は、アタックフェイズの期間を示す。
また、図11(b)において、Note欄で発音期間を示すバーにドットハッチングを示した部分は、アタックフェイズの期間を示す。
そして、図11(a)に示す各データがCPU11に供給された場合、Cont01〜14の制御データに基づく特性制御は、それぞれ以下のように行われる。
まず、Cont01-05は、アタックが指定されている期間中に供給され、かつその時点(Time020-024)でノートAに係る発音がアタックフェイズであるので、ノートAに係る発音に反映される。
まず、Cont01-05は、アタックが指定されている期間中に供給され、かつその時点(Time020-024)でノートAに係る発音がアタックフェイズであるので、ノートAに係る発音に反映される。
Cont06-09についても、アタックが指定されている期間中に供給されている。しかし、供給時点(Time031-034)には、アタックフェイズの発音はされていない。また、Time030のForAttackにより、それより前になされた制御対象の選択は一旦リセットされているため、ノートAに係る発音は制御対象から外れている。従って、Cont06-09の内容は当面制御データテーブルBに登録しておくことになる。そして、Cont06-09の供給後にノートBに係る発音が開始され、アタックフェイズとなる時に、まだTime030のForAttackが有効であるので、登録しておいたCont06-09の内容がノートBに係る発音に反映される(図7のステップS57)。
次に、Cont10-11は、リリースが指定されている期間中に供給され、かつその時点(Time056-057)でノートAに係る発音がリリースフェイズであるので、ノートAに係る発音に反映される。
Cont12-14についても、リリースが指定されている期間中に供給されている。しかし、供給時点(Time080-082)には、リリースフェイズの発音はされていない。また、Time070のForReleaseにより、それより前になされた制御対象の選択は一旦リセットされているため、ノートAに係る発音は制御対象から外れている。従って、Cont12-14の内容は当面制御データテーブルBに登録しておくことになる。そして、Cont12-14の供給後にノートBに係る発音がリリースフェイズとなる時に、まだTime070のForReleaseが有効であるので、登録しておいたCont12-14の内容がノートBに係る発音に反映される(図8のステップS77)。
Cont12-14についても、リリースが指定されている期間中に供給されている。しかし、供給時点(Time080-082)には、リリースフェイズの発音はされていない。また、Time070のForReleaseにより、それより前になされた制御対象の選択は一旦リセットされているため、ノートAに係る発音は制御対象から外れている。従って、Cont12-14の内容は当面制御データテーブルBに登録しておくことになる。そして、Cont12-14の供給後にノートBに係る発音がリリースフェイズとなる時に、まだTime070のForReleaseが有効であるので、登録しておいたCont12-14の内容がノートBに係る発音に反映される(図8のステップS77)。
以上のように、音源装置10においては、制御データをCPU11に供給する前の適当な時期に対象指定データをCPU11に供給することにより、発音中の音のうち特定の音のみを指定して、その音の楽音特性を制御データに従って制御させることができる。
このとき、ノートナンバによって音を指定するようにすれば、明確に音を特定した指定が可能である。一方、アタックやリリースといった発音フェイズで指定するようにすれば、和音のように同時に複数のキーがノートオン/オフされる場合でも、その全ての音を小さいサイズのデータで簡単に指定することができる。発音フェイズによる指定は、次にどのノートに係る発音がなされるかわからない場合でも、用いることができる。
このとき、ノートナンバによって音を指定するようにすれば、明確に音を特定した指定が可能である。一方、アタックやリリースといった発音フェイズで指定するようにすれば、和音のように同時に複数のキーがノートオン/オフされる場合でも、その全ての音を小さいサイズのデータで簡単に指定することができる。発音フェイズによる指定は、次にどのノートに係る発音がなされるかわからない場合でも、用いることができる。
また、実際の音源装置においては、多数の制御データを用いて種々のパラメータを同時に制御することがしばしば行われる。
この点につき、音源装置10においては、発音の開始前に、対象指定データに続いて制御データを一度供給すれば、その内容を制御データテーブルに記憶させておき、以後発音開始する音のうち指定された条件に合う音全てにその内容を反映させることができる。従って、ある程度幅の広い指定をしておけば、楽音特性を制御する音毎に制御データを用意しなくてよい。そして、このことにより、制御データによる特性制御の対象を任意に指定できる効果と、楽曲データを作成する際の編集の手間を軽減し、また、データ量を抑えることができる効果とを、両立できる。
この点につき、音源装置10においては、発音の開始前に、対象指定データに続いて制御データを一度供給すれば、その内容を制御データテーブルに記憶させておき、以後発音開始する音のうち指定された条件に合う音全てにその内容を反映させることができる。従って、ある程度幅の広い指定をしておけば、楽音特性を制御する音毎に制御データを用意しなくてよい。そして、このことにより、制御データによる特性制御の対象を任意に指定できる効果と、楽曲データを作成する際の編集の手間を軽減し、また、データ量を抑えることができる効果とを、両立できる。
なお、ユーザのニーズによっては、対象指定データの後、所定数の発音についてのみ、制御データの内容を反映させることが好ましい場合もある。従って、いくつ目の発音まで制御データの内容を反映させるか(1つのみでもよい)を、指定条件に含めることができるようにしたり、音源装置10全体の設定として設定できるようにすることも考えられる。
以上で実施形態の説明を終了するが、装置の構成、対象指定データや制御データをはじめとするデータの構成や形式、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態では、音源装置10を例に取って説明したが、この発明が、MIDIシーケンサや、鍵盤等の演奏操作子を搭載した電子楽器など、他の楽音信号生成装置にも適用可能であることはもちろんである。電子楽器に適用する場合には、対象指定データや制御データをユーザの操作に従って生成するようにすることも考えられる。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
例えば、上述した実施形態では、音源装置10を例に取って説明したが、この発明が、MIDIシーケンサや、鍵盤等の演奏操作子を搭載した電子楽器など、他の楽音信号生成装置にも適用可能であることはもちろんである。電子楽器に適用する場合には、対象指定データや制御データをユーザの操作に従って生成するようにすることも考えられる。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
以上の説明から明らかなように、この発面の楽音信号生成装置によれば、複数のノートが発音中の状態で、所望のノートのみに対して楽音特性の制御を行うことができ、楽音信号生成装置における楽音特性制御機能の使い勝手を向上させることができる。
従って、この発明を適用することにより、柔軟な楽音特性制御の可能な楽音信号生成装置を提供することができる。
従って、この発明を適用することにより、柔軟な楽音特性制御の可能な楽音信号生成装置を提供することができる。
10…音源装置、11…CPU、12…フラッシュメモリ、13…RAM、14…MIDI_I/O、15…パネル表示器、16…パネル操作子、17…音源部、18…サウンドシステム、19…システムバス
Claims (8)
- 複数の発音チャンネルと、
発音開始を指示する発音開始指示を検出した場合に、該発音開始指示に係る楽音信号の生成に前記複数の発音チャンネルの1つ以上を割り当て、該割り当てた発音チャンネルに前記発音開始指示に係る楽音信号の生成を実行させる発音制御手段と、
発音に関する条件の情報を含む対象指定データを検出した場合に、楽音信号の生成に使用している前記発音チャンネルのうち、前記条件に合う発音チャンネルを特定するチャンネル特定手段と、
前記発音チャンネルが生成する楽音信号の楽音特性制御を指示する制御データを検出した場合に、前記チャンネル特定手段により特定されている発音チャンネルで生成する楽音信号の楽音特性を、前記制御データに従って制御する特性制御手段とを有し、
前記発音開始指示と、前記対象指定データと、前記制御データとは、相互に独立したタイミングで供給されるデータであることを特徴とする楽音信号生成装置。 - 請求項1に記載の楽音信号生成装置であって、
前記チャンネル特定手段が発音チャンネルの特定に用いている条件の内容を記憶する条件記憶手段と、
前記チャンネル特定手段により特定されている発音チャンネルに対して前記特性制御手段が行う楽音特性制御の内容を記憶する制御内容記憶手段と、
前記発音制御手段が前記発音開始指示に応じて新たに割り当てた発音チャンネルが、前記条件記憶手段が記憶している条件を満たす場合、前記特性制御手段に、その新たに割り当てた発音チャンネルで生成する楽音信号の楽音特性を、前記制御内容記憶手段が記憶している内容に従って制御させると共に、前記チャンネル特定手段に、それまでに特定していた発音チャンネルに加えてその新たに割り当てた発音チャンネルも特定させる手段とを設けたことを特徴とする楽音信号生成装置。 - 複数の発音チャンネルと、
パートを指定して発音開始を指示する発音開始指示を検出した場合に、該発音開始指示に係る楽音信号の生成に前記複数の発音チャンネルの1つ以上を割り当て、該割り当てた発音チャンネルに、前記発音開始指示に係る楽音信号であって、同発音開始指示に係るパートで現在選択されている音色の楽音信号の生成を実行させる発音制御手段と、
パートの指定と発音に関する条件の情報を含む対象指定データを検出した場合に、該パートの楽音信号の生成に使用している前記発音チャンネルのうち、前記条件に合う発音チャンネルを特定し、パート毎にその特定の内容を記憶するチャンネル特定手段と、
パートを指定して前記発音チャンネルが生成する楽音信号の楽音特性制御を指示する制御データを検出した場合に、該パートについて前記チャンネル特定手段により特定されている発音チャンネルで生成する楽音信号の楽音特性を、前記制御データに従って制御する特性制御手段とを有し、
前記発音開始指示と、前記対象指定データと、前記制御データとは、相互に独立したタイミングで供給されるデータであることを特徴とする楽音信号生成装置。 - 請求項3に記載の楽音信号生成装置であって、
前記チャンネル特定手段が発音チャンネルの特定に用いている条件の内容をパート毎に記憶する条件記憶手段と、
前記チャンネル特定手段により特定されている発音チャンネルに対して前記特性制御手段が行う楽音特性制御の内容をパート毎に記憶する制御内容記憶手段と、
前記発音制御手段が前記発音開始指示に応じて新たに割り当てた発音チャンネルが、前記条件記憶手段が前記発音開始指示において指定されたパートについて記憶している条件を満たす場合、前記特性制御手段に、前記新たに割り当てた発音チャンネルで生成する楽音信号の楽音特性を、前記制御内容記憶手段がその指定されたパートについて記憶している内容に従って制御させると共に、前記チャンネル特定手段に、それまでにその指定されたパートについて特定していた発音チャンネルに加えて前記新たに割り当てた発音チャンネルも特定させる手段とを設けたことを特徴とする楽音信号生成装置。 - 請求項1乃至4のいずれか一項に記載の楽音信号生成装置であって、
前記発音チャンネルで生成中の楽音信号の振幅が所定値以下に低下した場合に該発音チャンネルでの楽音信号の生成を停止して該発音チャンネルの割り当てを解除する手段を有し、
前記チャンネル特定手段に、前記発音チャンネルの割り当てが解除された場合に、該発音チャンネルの特定を解除する手段を設けたことを特徴とする楽音信号生成装置。 - 請求項1乃至5のいずれか一項に記載の楽音信号生成装置であって、
前記対象指定データに含める条件として、楽音信号に係るノートナンバ又はノートナンバの範囲の条件を指定可能であることを特徴とする楽音信号生成装置。 - 請求項1乃至6のいずれか一項に記載の楽音信号生成装置であって、
前記対象指定データに含める条件として、楽音信号のフェイズの条件を指定可能であることを特徴とする楽音信号生成装置。 - 請求項1乃至7のいずれか一項に記載の楽音信号生成装置であって、
前記対象指定データにおいて、前記条件の有効期間を指定可能であり、
前記特性制御手段が、前記対象指定データの検出後、該対象指定データにおいて指定された有効期間が経過した後は、前記制御データを検出した場合に、前記チャンネル特定手段による特定とは関係なく、発音チャンネルで生成する楽音信号の楽音特性に、検出した制御データの内容を反映させるようにしたことを特徴とする楽音信号生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009048039A JP5218154B2 (ja) | 2009-03-02 | 2009-03-02 | 楽音信号生成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009048039A JP5218154B2 (ja) | 2009-03-02 | 2009-03-02 | 楽音信号生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010204275A JP2010204275A (ja) | 2010-09-16 |
JP5218154B2 true JP5218154B2 (ja) | 2013-06-26 |
Family
ID=42965843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009048039A Expired - Fee Related JP5218154B2 (ja) | 2009-03-02 | 2009-03-02 | 楽音信号生成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5218154B2 (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2797109B2 (ja) * | 1989-01-18 | 1998-09-17 | カシオ計算機株式会社 | 楽音発生装置 |
JP2666583B2 (ja) * | 1991-02-28 | 1997-10-22 | ヤマハ株式会社 | 電子楽器 |
JP2526527B2 (ja) * | 1995-01-13 | 1996-08-21 | ヤマハ株式会社 | 複音電子楽器 |
JP3999984B2 (ja) * | 2002-03-12 | 2007-10-31 | ヤマハ株式会社 | 楽音信号生成装置及び楽音信号生成プログラム |
JP2005004106A (ja) * | 2003-06-13 | 2005-01-06 | Sony Corp | 信号合成方法及び装置、歌声合成方法及び装置、プログラム及び記録媒体並びにロボット装置 |
JP2006039262A (ja) * | 2004-07-28 | 2006-02-09 | Kawai Musical Instr Mfg Co Ltd | 効果付与装置及び方法 |
-
2009
- 2009-03-02 JP JP2009048039A patent/JP5218154B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010204275A (ja) | 2010-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2866223B1 (en) | Automated music performance time stretch using audio waveform data | |
US7112738B2 (en) | Electronic musical instrument | |
JP2010079179A (ja) | 電子楽器 | |
JP2015081927A (ja) | 電子楽器、プログラム及び発音音高選択方法 | |
JP5203114B2 (ja) | 電子楽器 | |
JP4548292B2 (ja) | 音源設定装置及び音源設定プログラム | |
JP5218154B2 (ja) | 楽音信号生成装置 | |
JP2008139450A (ja) | 自動伴奏生成装置および自動伴奏生成方法を実現するためのプログラム | |
JP3649014B2 (ja) | 演奏データファイルの再生設定制御装置 | |
JP5678409B2 (ja) | 楽音信号作成装置及びプログラム | |
JP5293085B2 (ja) | 音色設定装置及び方法 | |
JP6357772B2 (ja) | 電子楽器、プログラム及び発音音高選択方法 | |
JP4241833B2 (ja) | 自動演奏装置及びプログラム | |
JP4572980B2 (ja) | 自動演奏装置及びプログラム | |
EP1734508B1 (en) | Musical sound waveform synthesizer | |
JP6399155B2 (ja) | 電子楽器、プログラム及び発音音高選択方法 | |
JP5167878B2 (ja) | 電子音楽装置及びプログラム | |
JP4793204B2 (ja) | 電子楽器および電子楽器制御用プログラム | |
JP2007240776A (ja) | 演奏データ編集装置及びプログラム | |
JP6343911B2 (ja) | 電子楽器、プログラム及び発音音高選択方法 | |
JP5568866B2 (ja) | 楽音信号生成装置 | |
JP3629860B2 (ja) | 自動演奏装置 | |
JP6102975B2 (ja) | 楽音生成装置、楽音生成プログラム及び電子楽器 | |
JP4148184B2 (ja) | 自動伴奏データ生成方法を実現するためのプログラムおよび自動伴奏データ生成装置 | |
JP2006234979A (ja) | 電子楽器及びその処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120120 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130218 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160315 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |