(57)【要約】【課題】ティビア・パーカス系音色をデジタル音源で精度良く再現することができるようにする。【解決手段】第１キーオン時にアサイメントメモリ６１に同時発音数のチャネルを確保し、共通にエンベロープを立ち上げる。アサインされたチャネルのうち一つを発音可能に設定し、他を発音準備中とする。発音準備中は、Ｆナンバまたはボリュームをゼロにすることで設定する。第２キーオン時に、発音準備中となっている発音系列のうち一つを発音可能に切り替える。Ｆナンバまたはボリュームを現在のエンベロープに対応させて正規の値に戻すことで発音可能にする。第１キーオンによる発音がキーオフによって停止されたときは、第２キーオン以降のキーオンによる発音も停止される。【選択図】        図１
2004157165.tif 000002
【特許請求の範囲】
【請求項１】
複数音同時に発音できる少なくとも一つの音色系列を含む複数の音色系列を発音可能なデジタル音源付き電子楽器において、
複数音同時に発音できる前記音色系列の最初の発音指示があったときに、音源の発音系列を同時発音数分確保して共通のエンベロープを立ち上げ、該エンベロープを立ち上げた複数の発音系列のうち一つだけを発音可能にし、その他を発音準備中にする先頭音発生制御手段と、
複数音同時に発音できる前記音色系列の第２番目以降の発音指示があった場合、該指示毎に、前記発音系列の発音準備を一つずつ解除して発音可能にする後続音発生制御手段とを具備したことを特徴とするデジタル音源付き電子楽器。
【請求項２】
複数音同時に発音できる少なくとも一つの音色系列を含む複数の音色系列を発音可能なデジタル音源付き電子楽器において、
複数音同時に発音できる前記音色系列の発音指示があったときにインクリメントされ、発音停止指示があったときにデクリメントされるカウンタ手段と、
複数音同時に発音できる前記音色系列の発音指示があったときに、前記カウンタ手段のカウンタ値が初期値であった場合、同時発音数分の発音系列を確保して共通のエンベロープを立ち上げるとともに、該発音系列のうち一つを除いて発音準備中にする第１発音制御手段と、
複数音同時に発音できる前記音色系列の発音指示があったときに、前記カウンタ手段のカウンタ値が初期値でなかった場合、前記発音準備中の発音系列を一つ発音可能にする第２発音制御手段とを具備したことを特徴とするデジタル音源付き電子楽器。
【請求項３】
前記発音系列を発音準備中にするため、波形データの読み出し周波数および音量データのいずれか一方をゼロにし、発音可能にするため該読み出し周波数および音量データのいずれか一方を、現在のエンベロープに応じた適正値に復帰させることを特徴とする請求項１または２記載のデジタル音源付き電子楽器。
【請求項４】
前記複数音同時に発音できる音色系列が、ティビア・パーカス音色系列であることを特徴とする請求項１〜３のいずれかに記載のデジタル音源付き電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル音源付き電子楽器に関し、特に、パーカッシブ・サウンドつまり打楽器的な音を再現するための振幅エンベロープ制御を行うことができるデジタル音源付き電子楽器に関する。
【０００２】
【従来の技術】
電子オルガン等の電子楽器において、ティビア系音色としてのパーカッシブ・サウンド（ＴＩＢＩＡ  Ｐｅｒｃｕｓ：ティビア・パーカス、以下、単に「パーカス」という）を再現できるものが知られる。パーカスの発音では、複数の発音、例えば４音で単一のエンベロープを共有する。したがって、従来はエンベロープをＣＰＵで作成し、これに従って第１鍵目の発音を行い、第２鍵目以降は、第１鍵目の発音の該第２鍵目以降の押鍵時の振幅値と同じ振幅値を初期値として発音する。押鍵時の振幅値はＣＰＵで作成されるエンベロープをモニタして知ることができる。
【０００３】
近年、音源としてＬＳＩからなるデジタル音源が普及しており、エンベロープは、このデジタル音源の内部で作成される。したがって、ＣＰＵでエンベロープを作成するのと違い、エンベロープをモニタして再利用するのが困難である。
【０００４】
そこで、デジタル音源を使った電子楽器では、エンベロープをモニタするのに代えて、エンベロープの減衰をタイマ演算によって推測するタイマ演算法が採用される。すなわち、第１鍵目の発音開始からタイマをスタートさせ、第２鍵目以降の発音では、タイマ値をモニタし、テーブルを使ったり関数を使ったりしてモニタされたタイマ値に対応するエンベロープの振幅を演算し、第２鍵目以降の発音のエンベロープ初期値を決定する。タイマを使ってエンベロープを生成する電子楽器は、例えば、特開平３−２３８５００号公報に記載されている。
【０００５】
タイマ演算によるエンベロープ振幅値の推定では、レジスタに最初の発音時の振幅初期値をセットし、それ以降はタイマ値に従って振幅初期値をインクリメントすればよいので、演算が簡単であるという利点がある。
【０００６】
【発明が解決しようとする課題】
しかし、タイマ演算によるエンベロープ振幅値の推定では、演算の精度が低く、高精度を得るためにはレジスタの語長を十分長く取らなければならない。また、プログラムやデータの規模が比較的大きいことも問題である。パーカス音はボリューム値を持つので、例えば、時間分解能を７ビット、ボリューム値の分解能を５ビットとすると、それだけで１０２４語のテーブルが必要である。さらに、タイマ・ルーチンを新たに作成しなければならない。
【０００７】
本発明は、上記課題に鑑み、エンベロープ振幅値の演算精度を向上させ、プログラムやデータの規模を小さくし、かつタイマ・ルーチンや演算用テーブル等を専用に作成する必要がないデジタル音源付き電子楽器を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の課題を解決し、目的を達成するための本発明は、複数音同時に発音できる少なくとも一つの音色系列を含む複数の音色系列を発音可能なデジタル音源付き電子楽器において、複数音同時に発音できる前記音色系列の最初の発音指示があったときに、音源の発音系列を同時発音数分確保して共通のエンベロープを立ち上げ、該エンベロープを立ち上げた複数の発音系列のうち一つだけを発音可能にし、その他を発音準備中にする先頭音発生制御手段と、複数音同時に発音できる前記音色系列の第２番目以降の発音指示があった場合、該指示毎に、前記発音系列の発音準備中を一つずつ解除して発音可能にする後続音発生制御手段とを具備した点に第１の特徴がある。
【０００９】
また、本発明は、複数音同時に発音できる少なくとも一つの音色系列を含む複数の音色系列を発音可能なデジタル音源付き電子楽器において、複数音同時に発音できる前記音色系列の発音指示があったときにインクリメントされ、発音停止指示があったときにデクリメントされるカウンタ手段と、複数音同時に発音できる前記音色系列の発音指示があったときに、前記カウンタ手段のカウンタ値が初期値であった場合、同時発音数分の発音系列を確保して共通のエンベロープを立ち上げるとともに、該発音系列のうち一つを除いて発音準備中にする第１発音制御手段と、複数音同時に発音できる前記音色系列の発音指示があったときに、前記カウンタ手段のカウンタ値が初期値でなかった場合、前記発音準備中の発音系列を一つ発音可能にする第２発音制御手段とを具備した点に第２の特徴がある。
【００１０】
また、本発明は、前記発音系列を発音準備中にするため、波形データの読み出し周波数および音量データのいずれか一方をゼロにし、発音可能にするため該読み出し周波数および音量データのいずれか一方を、現在のエンベロープに応じた適正値に復帰させる点に第３の特徴がある。
【００１１】
また、本発明は、前記複数音同時に発音できる音色系列が、ティビア・パーカス音色系列である点に第４の特徴がある。
【００１２】
上記第１〜第４の特徴によれば、同時発音される音の発音指示に対して同時発音数の発音系列が確保されてエンベロープが立ち上げられる。第１音の発音指示に対しては、前記確保された発音系列のうち、一つだけが発音可能に設定され、他は準備中とされる。準備中とされた他の発音系列は第２音以降の発音指示に応答して、該発音指示のつど発音可能に設定される。第２音以降では、エンベロープはすでに立ち上がっているので、波形データの読み出し周波数または音量データを現在のエンベロープ値に対応する正規の値にするだけで、発音される。
【００１３】
第１音の発音中に指示された第２音以降の発音は、第１音の現在のエンベロープと共通のエンベロープに従って発音されるので、演算の誤差は実質的にゼロである。
【００１４】
第４の特徴によれば、ティビア・パーカス系音色の発音をデジタル音源で容易に実現できる。すなわち、レガート演奏では、第２音以降の楽音は発音中の第１音と同じエンベロープで発音され、スタッカート演奏では、各音は、それぞれ共通のエンベロープを先頭から読み出して発音される
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明を詳細に説明する。図２は、本発明の一実施形態に係る電子楽器のハード構成を示すブロック図である。同図において、ＭＰＵバス１には、ＭＰＵ２、ＲＯＭ３、ＲＡＭ４、鍵盤スキャン回路５、音源装置６、パネルスキャン回路７、およびＭＩＤＩインタフェース８が接続される。ＲＯＭ３にはＭＰＵ２の制御プログラムや楽音波形データやデモデータ（自動演奏データ）が格納され、ＲＡＭ４にはＭＰＵ２のワークエリアとして、ＭＰＵ２で使用されるデータが一時的に格納される。
【００１６】
鍵盤スキャン回路５に接続される鍵盤９の各鍵には押鍵と離鍵に応答して、キーオン信号やキーオフ信号などを検出信号として出力するセンサ（図示せず）が設けられ、鍵盤スキャン回路５は、このセンサの出力をスキャンしてキーオン・キーオフを検出するとともに、押鍵強さつまりベロシティを検出する。パネルスキャン回路７は操作パネル１０のスイッチのオン・オフやボリュームの値を検出する。
【００１７】
音源装置６にはＴＧ（音源）バス１１を介して第２のＲＯＭ１２が接続される。ＲＯＭ１２には音源装置６で使用されるプログラムやデータが格納される。さらに、音源装置６にはデジタル・シグナル・プロセッサ（ＤＳＰ）１３が接続され、ＤＳＰ１３は、Ｄ／Ａ変換器１４に接続され、Ｄ／Ａ変換器１４はサウンドシステム１５に接続される。なお、必要に応じて、フロッピディスク装置等の外部記憶装置やパソコンとのインタフェースを設けることができる。
【００１８】
図１は、音源装置の要部構成を示すブロック図である。音源装置６は、複数の楽音を同時発生できるよう複数の楽音発生チャンネル（例えば６４チャネル）を備え、例えば、正弦波加算方式で楽音を合成する。ＭＰＵバス１に音源装置６を接続するためのインタフェースとして、アサイメントメモリ６１が設けられる。ＭＰＵ２で作成された楽音データはアサイメントメモリ６１に書き込まれる。音源装置６には、楽音のピッチ（音高）を設定するＦナンバ累算器６２、音色を設定するエンベロープ発生器６３、および音量を設定するボリュームレジスタ６４が設けられる。Ｆナンバ累算器６２、エンベロープ発生器６３、およびボリュームレジスタ６４は、チャネル数分設けられる。
【００１９】
Ｆナンバ累算器６２で累算されたＦナンバ（読み出し周波数）は波形メモリ１２１に供給される。波形メモリ１２１は、ＲＯＭ１２で構成できる。波形メモリ１２１には楽音波形データが格納されていて、供給されたＦナンバに応じて順次波形データが読み出される。読み出された波形データは乗算器６５に入力され、エンベロープ発生器６３から出力されるエンベロープと乗算される。乗算された波形データはデジタルフィルタ６６を通して所望の倍音構成が作られる。
【００２０】
さらに、デジタルフィルタ６６を通過した波形データは、デジタルフィルタ６６の後段に設けられた乗算器６７でボリュームレジスタ６４から出力されるボリュームデータと乗算される。系列乗算器６８は音色系列（ティビア・パーカス系、ストリング系、リード系等）毎の波形データを乗算する。系列乗算器６８で乗算された各音色波形データはＤＳＰ１３でエフェクトが付加される。エフェクトが付加された波形データは前記Ｄ／Ａ変換器１４でアナログデータに変換され前記サウンドシステム１５に入力されて発音される。
【００２１】
続いて、上記電子楽器の制御についてフローチャートを参照して説明する。図３はメインフローチャートである。ステップＳ１では、各種レジスタやカウンタ等の設定を含むＭＰＵ２の初期化を行う。ここでは、後述のオンカウンタが「０」にリセットされる。ステップＳ２では、イベント検出を行う。イベントとは鍵盤９のキーオン・キーオフイベントや操作パネル１０のスイッチ切り替えやボリュームの変化等である。ペダルを有する場合はペダルのオンイベントもここで検出される。ステップＳ３では、検出された各イベントに応じた処理（イベント処理）が行われる。ステップＳ２，Ｓ３は繰り返される。
【００２２】
図４は、イベント処理の要部フローチャートである。ステップＳ２０では、発生したイベントがティビア・パーカス系列に関するイベントか、それとも他の系列に関するイベントかを判断する。この判断が肯定ならば、ステップＳ２１に進んでティビア・パーカス系列に関する発音・消音やパネル操作（音色切り替え・音量調節）等の処理を行う。一方、ステップＳ２が否定ならば、ステップＳ２２にするんで、その他の音色（ピアノやストリングス等）系列に関する発音・消音やパネル操作（音色切り替え・音量調節）等の処理を行う。
【００２３】
図５は、パーカス処理（ステップＳ２１）の詳細なフローチャートである。ステップＳ３０では、キーイベントか否かを判断する。キーイベントならばステップＳ３１に進んで発音処理を行う。キーイベント以外、例えば、音色切り替えや音量（ボリューム）調節等であれば、ステップＳ３２に進んで、それらの処理を行う。
【００２４】
図６は、発音処理（ステップＳ３１）の詳細なフローチャートである。ステップＳ４０では、キーオンか否かを判断し、キーオンならばステップＳ４１に進んでキーオン処理を行う。キーオンでなければ、ステップＳ４２に進んでキーオフ処理を行う。
【００２５】
図７は、ティビア・パーカス処理におけるキーオフ処理のフローチャートである。ステップＳ４２１では、離鍵処理を行う。つまり発音中の音を消す。ステップＳ４２２では、消音に応答して押鍵中のキーの数を示すオンカウンタをデクリメントする。ステップＳ４２３では、オンカウンタが「０」以下か判断する。この判断が肯定、つまり発音中の音がなくなれば、ステップＳ４２４でオンカウンタを「０」にリセットする。続いてステップＳ４２５でアサイメントメモリ６１をクリアして、どのチャネルにもアサイン可能な状態にする。
【００２６】
図８は、キーオン処理（ステップＳ４１）の詳細なフローチャートである。ステップＳ４１１では、オンカウンタが「０」か否か、つまりティビア・パーカス系の発音がなされていない状態での最初のキーオンか否かを判断する。最初のキーオンであれば、ステップＳ４１２で、まず、このキーオンに対する発音のために音源６のチャネルを一つ確保する。具体的にはアサインメントメモリ６１のエリアを、例えば空きチャネルに対して１区画占有する。空きチャネルがない場合は発音レベルの最も低いチャネルに対して１区画占有する。
【００２７】
次にステップＳ４１３で、先に占有したチャネルに対して発音のためのデータを送信することによって発音を行う。具体的にはアサインメントメモリ６１の、占有されたエリアに発音データ（Ｆナンバ、ボリューム、およびその他のデータ）を転送する。転送されたデータはアサインメントメモリ６１から音源６の各部（Ｆナンバ累算器６２，エンベロープ発生器６３、ボリュームレジスタ６４）の当該チャネルに転送されて楽音が生成される。次いで、第２〜第ｎ音（ティビア・パーカス系の同時発音数がｎである場合）の発音のためのチャネルを確保し、発音準備処理を行う。
【００２８】
ステップＳ４１４では、ステップＳ３１２と同様の方法で第２〜第ｎ音の発音の音源６のチャネルを（ｎ−１）だけ確保する。ステップＳ４１２と同様の処理を行うためには、具体的には同じサブルーティンをコールする等の手段を用いる。ステップＳ４１５では、ステップＳ４１３と同様に方法で（ｎ−１）音の発音準備を行う。但し、ステップＳ４１５ではＦナンバおよび／またはボリュームに、正規の値ではなく、「０」を用いる。図１で明らかなように、Ｆナンバが「０」の場合、波形アドレスは波形データの先頭値を示したままの状態になるので、波形メモリ１２１から読み出される値は波形データの先頭値、すなわち「０」となり、乗算器６５の乗算結果が「０」となるので、楽音は発生しないが、エンベロープは時間とともに進行する。
【００２９】
また、ボリュームが「０」の場合も同様に乗算器６７の乗算結果が「０」となり、楽音は発生しないが、エンベロープは時間と共に進行する。この状態でＦナンバおよびボリュームを「０」以外に変更すると、変更した時点以降のエンベロープが乗ぜられた楽音が出力される。ステップＳ４１６では、ステップＳ４１４で確保したチャネルを記憶する。
【００３０】
一方、オンカウンタが「０」でない場合、つまり第２番目以降のキーオンであればステップＳ４１１が否定になり、ステップＳ４１７に進んで、第２番目以降の発音処理を行う。つまりステップＳ４１６で記憶したチャネルのＦナンバおよび／またはボリューム「０」から正規の値に戻す。これによって、第２番目以降のティビア・パーカス系列のキーオンに対応した実質的な発音がなされる。ステップＳ４１８では、ティビア・パーカス系列での現在の発音数を示すオンカウンタをインクリメントする。
【００３１】
図９は、上記ティビア・パーカス系音色の発音態様を示す模式図である。同図（ａ）は、演奏がレガートの場合の発音態様である。第１番目のキーオン時（ｔ１）に予定数分（ここでは４つ）のチャネルが確保され、所定のエンベロープが立ち上がり、第１番目のキーオンに対応した発音がなされる。第２番目以降のチャネルはエンベロープだけが走っているので実質的には発音されていない。第２番目のキーオンによってタイミングｔ２で実質的に発音される。このときの振幅は、第１番目とエンベロープが共通なので、第１番目の発音開始からの時間に応じて小さくなっている。
【００３２】
同様に第３番目、第４番目のキーオンに応じて、それぞれ、タイミングｔ３，ｔ４で、第３番目、第４番目のキーオンに対応した発音がなされる。そして、第１〜第４番目のキーオンに対応する全ての発音の振幅はタイミングｔｄで「０」になる。すなわち、消音される。
【００３３】
図９（ｂ）は、演奏がスタッカートの場合の発音態様である。スタッカートでは、キーオン時間が短いので、キーオン時には先の音は消滅している。すなわち、キーオン時（タイミングｔ１，ｔ２，ｔ３，ｔ４）には前記オンタイマがいつも「０」である。したがって、キーオンのつどエンベロープは初期値から始まる。
【００３４】
【発明の効果】
以上の説明から明らかなように、請求項１〜請求項４の発明によれば、音源内部で演算される単一のエンベロープが同時発音される複数の音色系列に共通に使用されるので、各音毎の演算誤差が生じない。
【００３５】
確保された発音系列を発音可能にするか発音準備中にするかを、波形データの読み出し周波数や音量データを入れ替えるだけで簡単に切り替えられる。
【００３６】
タイマ演算を行うのではないため、タイマルーチンや演算テーブル等を、当該同時発音する音色系列専用に設ける必要がないので、プログラムやデータの規模が大きくならない。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る電子楽器の音源の要部構成を示すブロック図である。
【図２】本発明の一実施形態に係る電子楽器の全体構成を示すブロック図である。
【図３】本発明の一実施形態に係る電子鍵盤楽器のメインルーチン処理のフローチャートである。
【図４】イベント処理のフローチャートである。
【図５】ティビア・パーカス処理のフローチャートである。
【図６】発音処理のフローチャートである。
【図７】キーオフ処理のフローチャートである。
【図８】キーオン処理のフローチャートである。
【図９】ティビア・パーカス系の楽音波形の一例を示す図である。
【符号の説明】
２…ＭＰＵ、  ６…音源装置、  ９…鍵盤、  １０…操作パネル、  １３…ＤＳＰ、  ６１…アサイメントメモリ、  ６２…Ｆナンバ累算器、  ６３…エンベロープ発生器、  ６４…ボリュームレジスタ
【図１】
2004157165.tif 000003
【図２】
2004157165.tif 000004
【図３】
2004157165.tif 000005
【図４】
2004157165.tif 000006
【図５】
2004157165.tif 000007
【図６】
2004157165.tif 000008
【図７】
2004157165.tif 000009
【図８】
2004157165.tif 000010
【図９】
2004157165.tif 000011