(57)【特許請求の範囲】
【請求項１】
ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、
発音を指示する現イベントの入力タイミングと当該現イベントの前に入力された前回イベントの入力タイミングとの間隔が、第１の時間長より短いか否かを判別する判別手段と、
前記判別手段により前記第１の時間長より短いと判別された場合、前記前回イベントの入力に応答して前記波形記憶手段から読み出された前記ダウン波形音および前記アップ波形音のいずれかの波形音のデータと同じ波形音のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すとともに、当該読み出されたデータに基づく楽音を発音させる発音手段と
を具備することを特徴とする楽音発生装置。
【請求項２】
ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、
発音を指示する現イベントの発音音高が当該現イベントの前に入力された前回イベントの発音音高より低音で、かつ前記現イベントの発音音高と前記前回イベントの発音音高が或る音高差以上離れているか否かを判別する判別手段と、
前記判別手段により前記現イベントの発音音高が前記前回イベントの発音音高より低音で、かつ前記現イベントの発音音高と前記前回イベントの発音音高が前記或る音高差以上離れていると判別された場合、前記現イベントの入力に応答して前記波形記憶手段から前記アップ波形音のデータを読み出すとともに、当該読み出されたデータに基づく楽音を発音させる発音手段と
を具備することを特徴とする楽音発生装置。
【請求項３】
前記発音手段は、前記判別手段により前記現イベントの発音音高が前記前回イベントの発音音高より低音で、かつ前記現イベントの発音音高と前記前回イベントの発音音高が或る音高差以上離れていると判別された場合であって、前記前回イベントに対応する楽音が発音中である場合に、前記現イベントの入力に応答して前記波形記憶手段から前記アップ波形音のデータを読み出すとともに、当該読み出されたデータに基づく楽音を発音させることを特徴とする請求項２に記載の楽音発生装置。
【請求項４】
ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、
発音を指示する現イベントの発音音高が当該現イベントの前に入力された前回イベントの発音音高より高音で、かつ前記現イベントの発音音高と前記前回イベントの発音音高が或る音高差以上離れているか否かを判別する判別手段と、
前記判別手段により前記現イベントの発音音高が前記前回イベントの発音音高より高音で、かつ前記現イベントの発音音高と前記前回イベントの発音音高が或る音高差以上離れていると判別された場合、前記現イベントの入力に応答して前記波形記憶手段から前記ダウン波形音のデータを読み出すとともに、当該読み出されたデータに基づく楽音を発音させる発音手段と
を具備することを特徴とする楽音発生装置。
【請求項５】
前記発音手段は、前記判別手段により前記現イベントの発音音高が前記前回イベントの発音音高より高音で、かつ前記現イベントの発音音高と前記前回イベントの発音音高が或る音高差以上離れていると判別された場合であって、前記前回イベントに対応する楽音が発音中である場合に、前記現イベントの入力に応答して前記波形記憶手段から前記ダウン波形音のデータを読み出すとともに、当該読み出されたデータに基づく楽音を発音させることを特徴とする請求項４に記載の楽音発生装置。
【請求項６】
ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、
発音を指示する現イベントの発音音高と当該現イベントの前に入力された前回イベントの発音音高とが一致するか否かを判別する判別手段と、
乱数を発生する乱数発生手段と、
前記判別手段により一致しないと判別された場合でかつ、前記前回イベントに対応する楽音が発音しておらず、前記乱数発生手段で発生した乱数が所定値より大きい場合には、前記前回イベントの入力に応答して前記波形記憶手段から読み出されたデータと異なるデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出す一方、前記発生した乱数が所定値より小さい場合には、前記前回イベントの入力に応答して前記波形記憶手段から読み出されたデータと同一のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出し、当該読み出されたデータに基づく楽音を発音させる発音手段と
を具備することを特徴とする楽音発生装置。
【請求項７】
ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、発音手段とを有する楽音発音装置が、
発音を指示する現イベントの入力タイミングと当該現イベントの前に入力された前回イベントの入力タイミングとの間隔が、第１の時間長より短いか否かを判別し、
前記第１の時間長より短いと判別された場合、前記前回イベントの入力に応答して前記波形記憶手段から読み出された前記ダウン波形音および前記アップ波形音のいずれかの波形音のデータと同じ波形音のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すとともに、当該読み出されたデータに基づく楽音を前記発音手段に発音させる、楽音発生方法。
【請求項８】
ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、発音手段とを有する楽音発音装置として用いられるコンピュータに、
発音を指示する現イベントの入力タイミングと当該現イベントの前に入力された前回イベントの入力タイミングとの間隔が、第１の時間長より短いか否かを判別するステップと、
前記第１の時間長より短いと判別された場合、前記前回イベントの入力に応答して前記波形記憶手段から読み出された前記ダウン波形音および前記アップ波形音のいずれかの波形音のデータと同じ波形音のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すとともに、当該読み出されたデータに基づく楽音を前記発音手段に発音させるステップと、
を実行させるプログラム。
【請求項９】
請求項１乃至６のいずれかに記載の楽音発生装置と、
演奏者による押鍵操作に応答して前記イベントを生成するとともに、当該生成されたイベントを前記楽音発生装置に入力させる鍵盤と、
を有する電子楽器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出す楽音発生装置、電子楽器、楽音発生方法およびプログラムに関する。
【背景技術】
【０００２】
従来より、ギター音色の波形データを記憶しておき、演奏操作子の操作に応じた読み出し速度で当該ギター音色の波形データを読み出して所望の音高のギター音を発音させる電子弦楽器機能を備えた楽音発生装置が知られている。この種の装置として、例えば特許文献１には、タッチパネルを備えた表示装置を備え、当該表示装置の表示画面に実際のギターのように、弦およびフレットを表示し、タッチパネル上で接触した弦とフレットとに応じて定まる音高でギター音を発音させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０４４０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、実際のギターなどの發弦楽器の演奏では、同じポジション（弦とフレット）で演奏しても奏法に応じて様々な音色変化が得られる。最も頻繁に起こり得る音色変化としては、オルタネートピッキングと呼ばれる奏法がある。
【０００５】
この奏法は、図１２に図示するように、演奏者がピックを持って弦を弾く際に、ギターの指板の面に対してほぼ平行に上下方向交互に發弦することを指す。すなわち、低音側の弦に向けて上方向へ弦を弾くアップピッキングと、高音側の弦に向けて下方向へ弦を弾くダウンピッキングを交互に行う奏法である。
【０００６】
しかしながら、実際には手の動きの角度が指板に対して完全に平行とはならない為、アップピッキングとダウンピッキングとではピックが指板に対して同じ角度で弦に当接することはない。一般には、ダウンピッキングが指板の面にやや近づく方向に弦を押し当ててから發弦するのに対し、アップピッキングは指板の面からやや遠ざかる方向に弦を引っ張ってから發弦することが多い。
【０００７】
この為、指板に向かって發弦するダウンピッキングと、指板と反対方向に發弦するアップピッキングとでは、最初に強い振幅で指板のフレットに弦が衝突する速度が異なる為に音色変化が生じ、これがオルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出している。
【０００８】
翻って、例えば特許文献１に開示の装置のように、波形読み出し方式でギター音を発生するものでは、上述した音色変化を表現出来ず、とりわけ同音高を連続演奏する場合には、例えばダウンピッキングで収録した波形データを繰り返し再生する為に単調なギター音として発音される結果、オルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出すことが出来ないという問題がある。
【０００９】
本発明は、上述した事情に鑑みてなされたもので、オルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出すことが出来る楽音発生装置、電子楽器、楽音発生方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の楽音発生装置は、ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、発音を指示する現イベントの入力タイミングと当該現イベントの前に入力された前回イベントの入力タイミングとの間隔が、第１の時間長より短いか否かを判別する判別手段と、前記判別手段により前記第１の時間長より短いと判別された場合、前記前回イベントの入力に応答して前記波形記憶手段から読み出された前記ダウン波形音および前記アップ波形音のいずれかの波形音のデータと同じ波形音のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すとともに、当該読み出されたデータに基づく楽音を発音させる発音手段とを具備することを特徴とする。
【００１１】
本発明の楽音発生方法は、ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、発音手段とを有する楽音発音装置が、発音を指示する現イベントの入力タイミングと当該現イベントの前に入力された前回イベントの入力タイミングとの間隔が、第１の時間長より短いか否かを判別し、前記第１の時間長より短いと判別された場合、前記前回イベントの入力に応答して前記波形記憶手段から読み出された前記ダウン波形音および前記アップ波形音のいずれかの波形音のデータと同じ波形音のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すとともに、当該読み出されたデータに基づく楽音を前記発音手段に発音させる、ことを特徴とする。
【００１２】
本発明のプログラムは、ダウンピッキングにより発生する音を示すダウン波形音のデータ、およびアップピッキングにより発生する音を示すアップ波形音のデータが記憶されている波形記憶手段と、発音手段とを有する楽音発音装置として用いられるコンピュータに、発音を指示する現イベントの入力タイミングと当該現イベントの前に入力された前回イベントの入力タイミングとの間隔が、第１の時間長より短いか否かを判別するステップと、前記第１の時間長より短いと判別された場合、前記前回イベントの入力に応答して前記波形記憶手段から読み出された前記ダウン波形音および前記アップ波形音のいずれかの波形音のデータと同じ波形音のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すとともに、当該読み出されたデータに基づく楽音を前記発音手段に発音させるステップと、を実行させることを特徴とする。
【発明の効果】
【００１３】
本発明では、オルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出すことが出来る。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の一形態による楽音発生装置１００の外観を示す外観図である。
【図２】楽音発生装置１００の構成を示すブロック図である。
【図３】ＲＡＭ１５のデータ構成を示すメモリマップである。
【図４】波形メモリ２０に記憶されたダウン波形とアップ波形の構成を示す図である。
【図５】メインルーチンの動作を示すフローチャートである。
【図６】音源処理の動作を示すフローチャートである。
【図７】ギターオルタネートピッキング発音処理の動作を示すフローチャートである。
【図８】図７に続くギターオルタネートピッキング発音処理の動作を示すフローチャートである。
【図９】オルタネートピッキング変数初期化処理の動作を示すフローチャートである。
【図１０】確率判断処理の動作を示すフローチャートである。
【図１１】ノートオフ処理の動作を示すフローチャートである。
【図１２】アップピッキングとダウンピッキングとを説明するための図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
Ａ．外観および構成
（１）外観
図１は、本発明の実施の一形態による楽音発生装置１００の外観を示す外観図である。この図に示す楽音発生装置１００は、長方形状の筺体を有し、その前面の長手方向に沿って鍵盤１２が設けられ、鍵盤１２の左側にはベンダホイール１０ａおよびモジュレーションホイール１０ｂが配設される。さらに、鍵盤１２の上方に設けられる操作パネル面上には、操作部１４を構成する各種操作スイッチ、装置の設定状態や動作状態を画面表示する表示部１８が配設される。
【００１６】
また、図示していないが、こうした外観の楽音発生装置１００は、筺体内部の左右端部にステレオ再生用のスピーカＳＰを備え、発生楽音の音像を定位可能にしている。さらに、楽音発生装置１００の筺体背部には、ＭＩＤＩ入力端子を備え、このＭＩＤＩ入力端子を介して外部のＭＩＤI楽器から入力されるＭＩＤＩデータに従って内蔵する音源１９（後述する）で楽音再生可能な構成となっている。
【００１７】
（２）構成
図２は、楽音発生装置１００の構成を示すブロック図である。この図において、ベンダホイール１０ａは、ホイール操作子の回動操作に応じて、発生楽音のピッチ（音高）を滑らかに変化させるピッチベント信号を発生する。モジュレーションホイール１０ｂは、ホイール操作子の回動操作に応じて、例えばビブラートの深さ等を制御するモジュレーション信号を発生する。
【００１８】
Ａ／Ｄ変換器１１は、上記ベンダホイール１０ａおよびモジュレーションホイール１０ｂの各出力信号をＡ／Ｄ変換してピッチベントデータ、モジュレーションデータを発生する。このピッチベントデータおよびモジュレーションデータは、ＣＰＵ１５を介して音源１９に供給され、発生楽音を修飾（音高制御、効果付与）する。
【００１９】
鍵盤１２およびキースキャナ１３は、演奏操作（押離鍵操作）に応じたキーオン／キーオフ信号、押鍵された鍵のキーナンバ（又は離鍵された鍵のキーナンバ）およびベロシティ等の演奏情報を出力する。なお、鍵盤１２およびキースキャナ１３が発生する演奏情報は、ＣＰＵ１５においてノートオン／ノートオフイベントに変換された後、音源１９に供給される。
【００２０】
操作部１４は、図示していないが、電源をパワーオン／パワーオフする電源スイッチ、発生楽音の音色を選択する音色選択スイッチ、自動演奏する曲データを選択する曲データ選択スイッチなどの各種スイッチを有し、操作されるスイッチ種に対応したスイッチイベントを発生する。この操作部１４が発生するスイッチイベントは、ＣＰＵ１５に取り込まれる。
【００２１】
ＣＰＵ１５は、操作部１４から供給される各種スイッチイベントに基づき装置各部の動作状態を設定する他、鍵盤１２／キースキャナ１３が発生する演奏情報をノートイベントに変換して音源１９に供給して楽音の発音・消音を指示したりする。また、ＣＰＵ１５は、ＲＡＭ１７に格納される自動演奏データ（曲データ）を読み出して音源１９に供給して自動演奏を制御したり、ＭＩＤＩインタフェース部２２を介して外部のＭＩＤI楽器２００から入力されるＭＩＤＩイベントを取り込んで楽音の発音・消音を指示したりする。本発明の要旨に係わるＣＰＵ１５の特徴的な処理動作、すなわちオルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出すギターオルタネートピッキング発音処理については追って詳述する。
【００２２】
ＲＯＭ１６は、上記ＣＰＵ１５にロードされる各種プログラムを記憶する。各種プログラムとは、後述するメインルーチン、当該メインルーチンからコールされる音源処理を含む。また、音源処理はギターオルタネートピッキング発音処理およびノートオフ処理を含む。ギターオルタネートピッキング発音処理は、オルタネートピッキング変数初期化処理および確率判断処理から構成される。
【００２３】
ＲＡＭ１７は、曲データエリアおよびワークエリアを備える。ＲＡＭ１７の曲データエリアには、曲を構成する各音符をＭＩＤＩデータ形式で表現する自動演奏データが格納される。この自動演奏データは、後述するシーケンサ処理の実行に伴って曲進行順に読み出される。ＲＡＭ１７のワークエリアには、ＣＰＵ１５の処理に用いられる各種レジスタ・フラグデータが一時記憶される。
【００２４】
ここで、図３を参照して、ＲＡＭ１７のワークエリアに一時記憶される主要なレジスタ・フラグデータの構成について説明する。図３において、タイマＴｉｍｅには、１ｍｓｅｃ毎にインクリメントされる自走タイマ値がストアされる。Ｔ１には、前回ノートオンイベント発生時点のタイマ値がストアされる。フラグＤ１には、前回ノートオンイベント時のピッキング方向を識別するフラグ値（０：ダウン、１：アップ）がストアされる。フラグＤｄｅｆには、オルタネートピッキングと見做さないときに選択される規定のピッキング方向を識別するフラグ値（０：ダウン、１：アップ）がストアされる。
【００２５】
Ｔｍｉｎには、オルタネートピッキングと見做すことができる前回発音時点（前回イベント）からの最短経過時間がストアされる。Ｔｍａｘには、オルタネートピッキングと見做すことができる前回発音時点（前回イベント）からの最長経過時間がストアされる。Ｎには、現ノートオンイベントのノートナンバがストアされる。Ｎ１には、前回ノートオンイベントのノートナンバがストアされる。Ｎｌｏｗには、アップピッキングと見做すための判定値がストアされる。現ノートオンイベント／前回ノートオンイベントのノートナンバ差分値が判定値Ｎｌｏｗより小さい場合に、アップピッキングと見做される。なお、判定値Ｎｌｏｗは、指の届く範囲である−５フレット程度が現実的である。
【００２６】
Ｎｈｉｇｈには、ダウンピッキングと見做すための判定値がストアされる。現ノートオンイベント／前回ノートオンイベントのノートナンバ差分値が判定値Ｎｈｉｇｈより大きい場合に、ダウンピッキングと見做される。なお、判定値Ｎｈｉｇｈは、指の届く範囲である＋５フレット程度が現実的である。フラグＳ１は、前回イベントの発音・消音を識別するフラグであり、発音なら「１」、消音なら「０」となる。Ｐｒｏｂには、ピッキング方向が不定となったときにオルタネートピッキングとして前回と反対方向を指示する確率値（％表示値）がストアされる。
【００２７】
再び図２を参照して実施形態の構成について説明を進める。図２において、表示部１８は、ＣＰＵ１５から供給される表示制御信号に基づき、装置各部のパラメータ設定状態や動作状態などを画面表示する。音源１９は、周知の波形メモリ読み出し方式にて構成される複数の発音チャンネル（ＭＩＤＩチャンネル）を備え、ＣＰＵ１５から供給されるノートオン／ノートオフイベントに従って楽音波形データＷを発生する。
【００２８】
波形メモリ２０には、各種音色の波形データが記憶される。各種音色の波形データの内、ギターパートにアサインされるギター音色の波形データは、図４（ａ）に図示するように、実際のギターをダウンピッキングして生じる發弦音をサンプリングしたダウン波形データと、実際のギターをアップピッキングして生じる發弦音をサンプリングしたアップ波形データとから構成される。
【００２９】
ダウン波形データおよびアップ波形データは、同図（ｂ）に図示するように、ノートナンバ「０〜１２７」毎のダウン波形アドレス（読み出し開始アドレス）ａｄｄｒｅｓｓ＿ｄｏｗｎ［０］〜［１２７］、アップ波形アドレス（読み出し開始アドレス）ａｄｄｒｅｓｓ＿ｕｐ［０］〜［１２７］および読み出し速度Ｐｉｔｃｈ［０］〜［１２７］を備える。音源１９では、ＣＰＵ１５から供給されるギターパートの現ノートオンイベントと前回ノートオンイベントとの関係から定まる波形属性（現ノートオンイベントのピッキングの向きを表す方向フラグＤおよび現ノートオンイベントのノートナンバＮ）に従ってダウン波形又はアップ波形の何れかを再生してギター音色の楽音波形データＷを発生する。
【００３０】
サウンドシステム２１は、音源１９から出力される楽音波形データＷをアナログ形式の楽音信号に変換し、当該楽音信号から不要ノイズを除去する等のフィルタリングを施した後、これを増幅してスピーカから放音させる。ＭＩＤＩインタフェース部２２は、ＣＰＵ１５の制御の下に、外部のＭＩＤI楽器２００から供給されるＭＩＤＩイベントを取り込む。
【００３１】
Ｂ．動作
次に、図５〜図１０を参照して、上記構成による楽音発生装置１００のＣＰＵ１５が実行するメインルーチン、音源処理、ギターオルタネートピッキング発音処理、オルタネートピッキング変数初期化処理、確率判断処理およびノートオフ処理の各動作について説明する。なお、以下に述べる動作の主体は、ことわりが無い限りＣＰＵ１５である。
【００３２】
（１）メインルーチンの動作
図５は、メインルーチンの動作を示すフローチャートである。装置電源がパワーオンされると、ＣＰＵ１５は本ルーチンを起動し、図５に図示するステップＳＡ１に進み、装置各部を初期化するイニシャライズ処理を実行する。そして、イニシャライズ処理が完了すると、ステップＳＡ２に進み、操作部１４でユーザ操作されるスイッチ種に対応したスイッチイベントに基づき、例えば音色選択スイッチ操作に応じて発生楽音の音色を選択したり、曲データ選択スイッチ操作に応じて自動演奏する曲データを選択したりする等のスイッチ処理を実行する。
【００３３】
次いで、ステップＳＡ３では、鍵盤処理を実行する。鍵盤処理では、鍵盤１２の押離鍵操作の有無を判別し、押離鍵操作が為されなければノートイベントを発生せず、一方、押鍵操作に応じて鍵盤１２／キースキャナ１３が発生する演奏情報に基づきノートオンイベントを発生し、離鍵操作に応じて鍵盤１２／キースキャナ１３が発生する演奏情報に基づきノートオフイベントを発生する。
【００３４】
続いて、ステップＳＡ４では、ノートイベント発生の有無を判別する。上記ステップＳＡ３の鍵盤処理において、押鍵操作に応じてノートオンイベントもしくは離鍵操作に応じてノートオフイベントが発生すると、上記ステップＳＡ４の判断結果は「ＹＥＳ」になり、ステップＳＡ９に進み、音源処理（後述する）を実行した後、上述のステップＳＡ２に処理を戻す。
【００３５】
一方、上記ステップＳＡ３の鍵盤処理において、押離鍵操作が為されずノートイベントが発生しなければ、上記ステップＳＡ４の判断結果は「ＮＯ」になり、ステップＳＡ５に進む。ステップＳＡ５では、ＭＩＤＩインタフェース部２１を介して外部のＭＩＤI楽器２００から入力されるＭＩＤＩイベントを取り込むＭＩＤＩ受信処理を実行し、続くステップＳＡ６では、受信したＭＩＤＩイベントがノートイベント（ノートオンイベント又はノートオフイベント）であるか否かを判別する。
【００３６】
上記ステップＳＡ５において受信したＭＩＤＩイベントがノートイベント（ノートオンイベント又はノートオフイベント）であると、上記ステップＳＡ６の判断結果が「ＹＥＳ」になり、ステップＳＡ９に進み、音源処理（後述する）を実行した後、上述のステップＳＡ２に処理を戻す。
【００３７】
これに対し、上記ステップＳＡ５において受信したＭＩＤＩイベントがノートイベント（ノートオンイベント又はノートオフイベント）でなければ、上記ステップＳＡ６の判断結果は「ＮＯ」になり、ステップＳＡ７に進み、ＲＡＭ１７に格納される自動演奏データ（曲データ）を読み出すシーケンサ処理を実行する。続いて、ステップＳＡ８では、上記ステップＳＡ７で読み出した曲データがノートイベント（ノートオンイベント又はノートオフイベント）であるか否かを判別する。
【００３８】
上記ステップＳＡ７で読み出した曲データがノートイベント（ノートオンイベント又はノートオフイベント）であれば、判断結果は「ＹＥＳ」になり、ステップＳＡ９に進み、音源処理（後述する）を実行した後、上述のステップＳＡ２に処理を戻す。一方、上記ステップＳＡ７で読み出した曲データがノートイベント（ノートオンイベント又はノートオフイベント）でなければ、上記ステップＳＡ８の判断結果は「ＮＯ」になり、上述のステップＳＡ２に処理を戻す。
【００３９】
このように、メインルーチンでは、鍵盤１２を押離鍵操作した場合には、押離鍵操作に応じて発生する演奏情報をノートオンイベント／ノートオフイベントに変換して音源１９に供給し、楽音の発音・消音を指示する。また、ＭＩＤＩインタフェース部２１を介して外部のＭＩＤI楽器２００からＭＩＤＩイベントを取り込んだ場合には、その取り込んだＭＩＤIイベントを音源１９に供給し、楽音の発音・消音を指示する。さらに、ＲＡＭ１７に格納される自動演奏データ（曲データ）を読み出した場合には、その読み出した曲データ（ＭＩＤＩイベント）を音源１９に供給し、楽音の発音・消音を指示する。
【００４０】
（２）音源処理の動作
次に、図６を参照して音源処理の動作を説明する。図６は、音源処理の動作を示すフローチャートである。上述したメインルーチンのステップＳＡ９（図５参照）を介して本処理が実行されると、ＣＰＵ１５は図６に図示するステップＳＢ１に進み、発生（又は受信）したノートイベントが、ノートオンイベントあるいはノートオフイベントの何れであるかを判別する。
【００４１】
発生（又は受信）したノートイベントが消音を指示するノートオフイベントであると、ステップＳＢ２を介してノートオフ処理（図１１参照）を実行する。ノートオフ処理では、後述するように、現ノートオフイベントがギターパートの発音チャンネルＣＨのものであって、かつ現ノートオフイベントのノートナンバＮと前回ノートオフイベントのノートナンバＮ１とが一致すると、フラグＳ１を「０」にセットして前回ノートオンイベントで発生した楽音の消音を表した後、現ノートオフイベントに含まれるノートナンバの音高で発音中の楽音を消音するよう音源１９に指示する。
【００４２】
一方、発生（又は受信）したノートイベントが発音を指示するノートオンイベントであると、ステップＳＢ３に進む。ステップＳＢ３では、ノートオンイベントがギターパートの発音チャンネルＣＨのものであるか否かを判断する。ノートオンイベントがギターパートの発音チャンネルＣＨのものでなければ、判断結果は「ＮＯ」になり、ステップＳＢ４に進む。
【００４３】
ステップＳＢ４では、ノートオンイベントに含まれるノートナンバ（又はキーナンバ）およびベロシティに基づき、ノートナンバ（又はキーナンバ）で指定される音高の楽音を、ベロシティに対応した音量で発音するよう音源１９に指示する通常発音処理を実行して本処理を終える。
【００４４】
これに対し、ノートオンイベントがギターパートの発音チャンネルＣＨのものであると、上記ステップＳＢ３の判断結果は「ＹＥＳ」になり、ステップＳＢ５に進み、ギターオルタネートピッキング発音処理（図７〜図８参照）を実行して本処理を終える。
【００４５】
ギターオルタネートピッキング発音処理では、後述するように、現ノートオンイベントと前回ノートオンイベントとのイベント時間間隔Ｔｄｉｆｆが所定時間内であって、かつ現ノートナンバＮと前回ノートナンバＮ１との音高が一致する場合にオルタネートピッキングと見做し、アップピッキングに対応付けたアップ波形とダウンピッキングに対応付けたダウン波形とを交互に再生する。
【００４６】
（３）ギターオルタネートピッキング発音処理の動作
図７〜図８は、ギターオルタネートピッキング発音処理の動作を示すフローチャートである。上述した音源処理のステップＳＢ５（図６参照）を介して本処理が実行されると、ＣＰＵ１５は図７に図示するステップＳＣ１に進み、オルタネートピッキング変数初期化処理を実行する。
【００４７】
オルタネートピッキング変数初期化処理では、後述するように、現ノートオンイベント発生タイミングＴ０と前回ノートオンイベント発生タイミングＴ１とのイベント時間間隔Ｔｄｉｆｆ、前回ノートオンイベントのピッキング方向を識別するフラグＤ１、オルタネートピッキングではないときに選択される規定のピッキング方向を識別するフラグＤｄｅｆ、現ノートナンバＮと前回ノートナンバＮ１との音高差（音程）Ｎｄｉｆｆおよび前回ノートオンイベントで発生した楽音の状態を表すフラグＳ１を取得する。
【００４８】
続いて、ステップＳＣ２では、上記ステップＳＣ１で取得したイベント時間間隔Ｔｄｉｆｆが、オルタネートピッキングと見做すことができる前回発音時点からの最長経過時間Ｔｍａｘ（所定値）を超えているか否かを判断する。イベント時間間隔Ｔｄｉｆｆが最長経過時間Ｔｍａｘより長く、これにより現ノートオンイベントがオルタネートピッキングと見做せない場合には、上記ステップＳＣ２の判断結果が「ＹＥＳ」になり、ステップＳＣ３に進む。ステップＳＣ３では、上記ステップＳＣ１で取得したフラグＤｄｅｆを、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットした後、後述するステップＳＣ１５（図８参照）に進む。
【００４９】
なお、フラグＤｄｅｆとは、前述したように、オルタネートピッキングと見做されなかった場合に、現ノートオンイベントを生じさせたピッキング（發弦）の向きを「０」（ダウンピッキング）又は「１」（アップピッキング）の何れかに規定するフラグである。例えば、オルタネートピッキングと見做されなかった場合に、現ノートオンイベントのピッキングの向きを「ダウンピッキング」と設定するには、フラグＤｅｆを「０」にセットする。これにより、現ノートオンイベントが「ダウンピッキング」であると仮定して、後述のステップＳＣ１５に進む。
【００５０】
一方、イベント時間間隔Ｔｄｉｆｆが最長経過時間Ｔｍａｘより短いと、上記ステップＳＣ２の判断結果は「ＮＯ」になり、ステップＳＣ４に進む。ステップＳＣ４では、上記ステップＳＣ１で取得したイベント時間間隔Ｔｄｉｆｆが、オルタネートピッキングと見做すことができる前回発音時点からの最短経過時間Ｔｍｉｎ（所定値）より短いか否かを判断する。
【００５１】
イベント時間間隔Ｔｄｉｆｆが最短経過時間Ｔｍｉｎより短い場合には、時間的にオルタネートピッキングすることが出来ず、別の弦に移動する和音演奏やスィープピッキングが行われることが想定される。したがって、この場合には上記ステップＳＣ４の判断結果が「ＹＥＳ」になり、ステップＳＣ５に進み、上記ステップＳＣ１で取得したフラグＤ１（前回ノートオンイベントのピッキング方向）を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットした後、後述するステップＳＣ１５（図８参照）に進む。
【００５２】
これに対し、イベント時間間隔Ｔｄｉｆｆが最短経過時間Ｔｍｉｎよりも長い場合には、上記ステップＳＣ４の判断結果が「ＮＯ」になり、ステップＳＣ６に進む。ステップＳＣ６では、上記ステップＳＣ１で取得した現ノートナンバＮと前回ノートナンバＮ１との音高差（音程）Ｎｄｉｆｆが、アップピッキングと見做すための判定値Ｎｌｏｗより大きいか否かを判断する。
【００５３】
音高差（音程）Ｎｄｉｆｆが判定値Ｎｌｏｗより小さい場合、すなわちある程度以上の音高差で低いノートが演奏された場合には、前回ノートオンイベントより低音側の弦、つまり上側に位置する弦に移動してアップピッキングを行うので、上記ステップＳＣ６の判断結果は「ＹＥＳ」になり、ステップＳＣ７に進み、現ノートオンイベントのピッキングの向きを表す方向フラグＤに「１」（アップピッキング）をセットした後、後述するステップＳＣ１５（図８参照）に進む。
【００５４】
一方、音高差（音程）Ｎｄｉｆｆが判定値Ｎｌｏｗより大きければ、上記ステップＳＣ６の判断結果は「ＮＯ」になり、ステップＳＣ８に進む。ステップＳＣ８では、上記ステップＳＣ１で取得した現ノートナンバＮと前回ノートナンバＮ１との音高差（音程）Ｎｄｉｆｆが、ダウンピッキングと見做すための判定値Ｎｈｉｇｈより大きいか否かを判断する。
【００５５】
音高差（音程）Ｎｄｉｆｆが判定値Ｎｈｉｇｈより大きい場合、すなわちある程度以上の音高差で高いノートが演奏された場合には、前回ノートオンイベントより高音側の弦、つまり下側に位置する弦に移動してダウンピッキングを行うので、上記ステップＳＣ８の判断結果は「ＹＥＳ」になり、ステップＳＣ９に進み、現ノートオンイベントのピッキングの向きを表す方向フラグＤに「０」（ダウンピッキング）をセットした後、後述するステップＳＣ１５（図８参照）に進む。
【００５６】
これに対し、音高差（音程）Ｎｄｉｆｆが判定値Ｎｈｉｇｈより小さければ、上記ステップＳＣ８の判断結果は「ＮＯ」になり、ステップＳＣ１０に進む。ステップＳＣ１０では、現ノートオンイベントのノートナンバＮと、前回ノートオンイベントのノートナンバＮ１とが一致するか否かを判断する。現ノートナンバＮと前回ノートナンバＮ１とが一致する場合には、判断結果が「ＹＥＳ」となり、ステップＳＣ１１に進む。
【００５７】
現ノートオンイベントのノートナンバＮと、前回ノートオンイベントのノートナンバＮ１とが一致するとは、同じ弦を同じフレットポジションにて比較的短いインターバルでピッキングするものだから、オルタネートピッキングと見做せる。この為、ステップＳＣ１１では、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１の反転値を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットした後、後述するステップＳＣ１５（図８参照）に進む。
【００５８】
したがって、前回ノートオンイベントの方向フラグＤ１が「１」（アップピッキング）だったならば、現ノートオンイベントの方向フラグＤに「０」（ダウンピッキング）をセットし、一方、前回ノートオンイベントの方向フラグＤ１が「０」（ダウンピッキング）だったならば、現ノートオンイベントの方向フラグＤに「１」（アップピッキング）をセットする。
【００５９】
一方、現ノートナンバＮと前回ノートナンバＮ１とが一致しなければ、上記ステップＳＣ１０の判断結果は「ＮＯ」になり、ステップＳＣ１２に進む。ステップＳＣ１２では、フラグＳ１が「１」であるか否か、つまり前回ノートオンイベントが発音中であるかどうかを判断する。前回ノートオンイベントが発音中ならば、判断結果は「ＹＥＳ」になり、ステップＳＣ１３に進む。
【００６０】
ステップＳＣ１３では、現ノートオンイベントのノートナンバＮが、前回ノートオンイベントのノートナンバＮ１より低いか否かを判断する。現ノートオンイベントのノートナンバＮが、前回ノートオンイベントのノートナンバＮ１より低い場合、つまり低音弦への移動であると、判断結果は「ＹＥＳ」になり、前述のステップＳＣ７に進み、現ノートオンイベントのピッキングの向きを表す方向フラグＤに「１」（アップピッキング）をセットした後、後述するステップＳＣ１５（図８参照）に進む。
【００６１】
これに対し、現ノートオンイベントのノートナンバＮが、前回ノートオンイベントのノートナンバＮ１より高い場合、つまり高音弦への移動であると、上記ステップＳＣ１３の判断結果は「ＮＯ」になり、前述のステップＳＣ９に進み、現ノートオンイベントのピッキングの向きを表す方向フラグＤに「０」（ダウンピッキング）をセットした後、後述するステップＳＣ１５（図８参照）に進む。
【００６２】
一方、フラグＳ１が「０」、すなわち前回ノートオンイベントが消音していれば、上記ステップＳＣ１２の判断結果は「ＮＯ」になり、ステップＳＣ１４を介して確率判断処理を実行する。確率判断処理では、後述するように、発生させた乱数Ｘが確率値Ｐｒｏｂ（所定値）より大きければ、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１の反転値を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットし、一方、乱数Ｘが確率値Ｐｒｏｂ（所定値）より小さければ、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットする。
【００６３】
こうして、現ノートオンイベントのピッキングの向きを表す方向フラグＤが定まると、ＣＰＵ１５は、図８に図示するステップＳＣ１５に進み、次ノートオンイベント発生に備えたパラメータ更新として、現ノートオンイベント発生タイミングＴ０（タイマ値）を前回ノートオンイベント発生タイミングＴ１に更新すると共に、現ノートオンイベントのピッキングの向きを表す方向フラグＤを、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１に更新した後、フラグＳ１を「１」にセットして前回ノートオンイベントが発音中であることを表す。
【００６４】
そして、ステップＳＣ１６に進み、現ノートオンイベントのピッキングの向きを表す方向フラグＤと、現ノートオンイベントのノートナンバＮとで指定される波形データ（図４に図示するダウン波形又はアップ波形の何れか）を波形メモリ２０から読み出してギター音の楽音を発生するよう音源１９に指示する発音処理を実行する。
【００６５】
以上のように、ギターオルタネートピッキング発音処理では、現ノートオンイベントと前回ノートオンイベントとのイベント時間間隔Ｔｄｉｆｆが所定時間内であって、かつ現ノートオンイベントのノートナンバＮと前回ノートオンイベントのノートナンバＮ１との音高が一致する場合にオルタネートピッキングと見做し、例えば前回ノートオンイベントの方向フラグＤ１が「１」（アップピッキング）だったならば、現ノートオンイベントの方向フラグＤに「０」（ダウンピッキング）をセットし、一方、前回ノートオンイベントの方向フラグＤ１が「０」（ダウンピッキング）だったならば、現ノートオンイベントの方向フラグＤに「１」（アップピッキング）をセットする。
【００６６】
したがって、オルタネートピッキングと見做せるギターパートのノートオンイベントが継続する間は、実際のギターをダウンピッキングして生じる發弦音をサンプリングしたダウン波形データと、実際のギターをアップピッキングして生じる發弦音をサンプリングしたアップ波形データとが交互に再生され、この結果、オルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出すことが可能になる。
【００６７】
（４）オルタネートピッキング変数初期化処理の動作
図９は、オルタネートピッキング変数初期化処理の動作を示すフローチャートである。上述したギターオルタネートピッキング発音処理のステップＳＣ１（図７参照）を介して本処理が実行されると、ＣＰＵ１５は図９に図示するステップＳＤ１に進む。ステップＳＤ１では、現ノートオンイベント発生時点（現在時刻）においてタイマＴｉｍｅが計時するタイマ値を現ノートオンイベント発生タイミングＴ０としてストアする。
【００６８】
続いて、ステップＳＤ２では、前回ノートオンイベント発生タイミングＴ１を取得する。なお、前回ノートオンイベント発生タイミングＴ１とは、１つ前の現ノートオンイベント発生タイミングＴ０であり、上述したステップＳＣ１５（図８参照）において、現ノートオンイベント発生タイミングＴ０が前回ノートオンイベント発生タイミングＴ１に更新されるようになっている。そして、ステップＳＤ３では、現ノートオンイベント発生タイミングＴ０から前回ノートオンイベント発生タイミングＴ１を減算してイベント時間間隔Ｔｄｉｆｆを算出する。
【００６９】
次いで、ステップＳＤ４では、前回ノートオンイベントのピッキング方向を識別するフラグ値（０：ダウン、１：アップ）をフラグＤ１にストアし、続くステップＳＤ５では、現ノートオンイベントがオルタネートピッキングと見做せないときに選択される規定のピッキング方向を識別するフラグ値（０：ダウン、１：アップ）をフラグＤｄｅｆにストアする。
【００７０】
次に、ステップＳＤ６では、現ノートオンイベントのノートナンバを現ノートナンバＮとしてストアする。続いて、ステップＳＤ７では、前回ノートオンイベントのノートナンバを前回ノートナンバＮ１としてストアする。そして、ステップＳＤ８では、現ノートナンバＮから前回ノートナンバＮ１を減算して音高差（音程）Ｎｄｉｆｆを算出する。次いで、ステップＳＤ９では、前回ノートオンイベントで発生した楽音が発音中ならば「１」、消音済であれば「０」をフラグＳ１にストアして本処理を終える。
【００７１】
このように、オルタネートピッキング変数初期化処理では、現ノートオンイベント発生タイミングＴ０と前回ノートオンイベント発生タイミングＴ１とのイベント時間間隔Ｔｄｉｆｆ、前回ノートオンイベントのピッキング方向を識別するフラグＤ１、オルタネートピッキングではないときに選択される規定のピッキング方向を識別するフラグＤｄｅｆ、現ノートオンのノートナンバＮと前回ノートオンのノートナンバＮ１との音高差（音程）Ｎｄｉｆｆおよび前回ノートオンイベントで発生した楽音の状態を表すフラグＳ１を取得する。
【００７２】
（５）確率判断処理の動作
図１０は、確率判断処理の動作を示すフローチャートである。前述したギターオルタネートピッキング発音処理のステップＳＣ１４（図７参照）を介して本処理が実行されると、ＣＰＵ１５は図１０に図示するステップＳＥ１に進み、ランダム関数を用いて「０〜１００」の範囲で乱数Ｘを発生させ、続くステップＳＥ２では、発生させた乱数Ｘが確率値Ｐｒｏｂ（所定値）より大きいか否かを判断する。
【００７３】
そして、乱数Ｘが確率値Ｐｒｏｂ（所定値）より大きい場合には、上記ステップＳＥ２の判断結果が「ＹＥＳ」になり、ステップＳＥ３に進み、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１の反転値を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットして本処理を終える。
【００７４】
これに対し、乱数Ｘが確率値Ｐｒｏｂ（所定値）より小さい場合には、上記ステップＳＥ２の判断結果が「ＮＯ」になり、ステップＳＥ４に進み、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットして本処理を終える。
【００７５】
このように、確率判断処理では、発生させた乱数Ｘが確率値Ｐｒｏｂ（所定値）より大きければ、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１の反転値を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットし、一方、乱数Ｘが確率値Ｐｒｏｂ（所定値）より小さければ、前回ノートオンイベントのピッキングの向きを表す方向フラグＤ１を、現ノートオンイベントのピッキングの向きを表す方向フラグＤにセットする。
【００７６】
（６）ノートオフ処理の動作
図１１は、ノートオフ処理の動作を示すフローチャートである。前述した音源処理のステップＳＢ２を介して本処理が実行されると、ＣＰＵ１５は図１１に図示するステップＳＦ１に進み、ノートオフイベントがギターパートの発音チャンネルＣＨのものであるか否かを判断する。ノートオフイベントがギターパートの発音チャンネルＣＨのものでなければ、判断結果は「ＮＯ」になり、ステップＳＢ４に進み、当該ノートオフイベントのノートナンバの音高で発音中の楽音を消音するよう音源１９に指示して本処理を終える。
【００７７】
一方、ノートオフイベントがギターパートの発音チャンネルＣＨのものであれば、上記ステップＳＦ１の判断結果は「ＹＥＳ」になり、ステップＳＦ２に進み、現ノートオフイベントのノートナンバＮと前回ノートオフイベントのノートナンバＮ１とが一致するか否かを判断する。一致しなければ、判断結果は「ＮＯ」になり、ステップＳＦ４に進み、現ノートオフイベントに含まれるノートナンバの音高で発音中の楽音を消音するよう音源１９に指示して本処理を終える。
【００７８】
これに対し、現ノートオフイベントのノートナンバＮと前回ノートオフイベントのノートナンバＮ１とが一致すると、上記ステップＳＦ２の判断結果が「ＹＥＳ」になり、ステップＳＦ３に進み、フラグＳ１を「０」にセットして前回イベントで発生した楽音の消音を表した後、ステップＳＦ４に進み、現ノートオフイベントに含まれるノートナンバの音高で発音中の楽音を消音するよう音源１９に指示して本処理を終える。
【００７９】
以上説明したように、本実施形態では、弦のダウンピッキングで発生するダウン波形音および弦のアップピッキングで発生するアップ波形音を記憶しておき、発音を指示するイベントが発生する毎に現イベントと前回イベントとの関係からオルタネートピッキングであるか否かを判別し、オルタネートピッキングと判別された場合には、ダウン波形音およびアップ波形音を交互に発音させるので、オルタネートピッキング奏法を表現して実際の發弦楽器音らしさを醸し出すことが可能になる。
【００８０】
以上、本発明の実施の一形態について説明したが、本発明はそれに限定されるものではなく、本願出願の特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８１】
以下では、本願出願当初の特許請求の範囲に記載された各発明について付記する。
（付記）
［請求項１］
ダウンピッキングにより発生するダウン波形音のデータ、およびアップピッキングにより発生するアップ波形音のデータを記憶する波形記憶手段と、
発音を指示するイベントが入力される毎に、この入力された現イベントと当該現イベントの直前に入力された前回イベントとの関係が予め定められた条件を満たすか否かを判別する判別手段と、
前記判別手段により予め定められた条件を満たすと判別された場合、発音を指示するイベントが発生する毎に、前記波形記憶手段に記憶されるダウン波形音のデータおよびアップ波形音のデータのいずれか一方を交互に読み出すとともに、当該読み出されたデータに基づく楽音を発音させる発音手段と
を具備することを特徴とする楽音発生装置。
【００８２】
［請求項２］
前記判別手段は、前記現イベントと前回イベントとの入力時間差が第１の時間長以上でかつ第２の時間長以下であって、さらに当該現イベントの発音音高と前回イベントの発音音高とが一致していることを、前記予め設定された条件とすることを特徴とする請求項１記載の楽音発生装置。
【００８３】
［請求項３］
前記発音手段はさらに、前記判別手段により、前記現イベントと前回イベントとの入力時間差が前記第２の時間長を超えているため、前記予め設定された条件を満たしていないと判別された場合に、前記波形記憶手段に記憶されるダウン波形音のデータおよびアップ波形音のデータのうち、予め指定されたデータを読み出すことを特徴とする請求項２記載の楽音発生装置。
【００８４】
［請求項４］
前記発音手段はさらに、前記判定手段により、前記現イベントと前回イベントとの時間間隔が前記第１の時間長より短いために、前記予め設定された条件を満たしていないと判別された場合に、前記前回イベントの入力に応答して前記波形記憶手段から読み出されたデータと同一のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すことを特徴とする請求項２または３記載の楽音発生装置。
【００８５】
［請求項５］
前記発音手段はさらに、前記判定手段により、前記現イベントの発音音高と前回イベントの発音音高とが一致せず、かつ当該現イベントの発音音高と前記前回イベントの発音音高との差が第１の判定値より小さいために、前記予め設定された条件を満たしていないと判別された場合に、前記現イベントの入力に応答して前記波形記憶手段からアップ波形音のデータを読み出すことを特徴とする請求項２乃至４のいずれかに記載の楽音発生装置。
【００８６】
［請求項６］
前記発音手段はさらに、前記判定手段により、前記現イベントの発音音高と前回イベントの発音音高とが一致せず、かつ当該現イベントの発音音高と前記前回イベントの発音音高との差が第２の判定値より大きいために、前記予め設定された条件を満たしていないと判別された場合に、前記現イベントの入力に応答して前記波形記憶手段からダウン波形音のデータを読み出すことを特徴とする請求項２乃至５のいずれかに記載の楽音発生装置。
【００８７】
［請求項７］
前記発音手段はさらに、前記判定手段により、前記現イベントの発音音高と前回イベントの発音音高とが一致せず、さらに当該現イベントの発音音高が前記前回イベントの発音音高より低いために、前記予め設定された条件を満たしていないと判別された場合でかつ、前記前回イベントに対応する楽音が発音中である場合は、前記現イベントの入力に応答して前記波形記憶手段からアップ波形音のデータを読み出すことを特徴とする請求項２乃至６のいずれかに記載の楽音発生装置。
【００８８】
［請求項８］
前記発音手段はさらに、前記判定手段により、前記現イベントの発音音高と前回イベントの発音音高とが一致せず、さらに当該現イベントの発音音高が前記前回イベントの発音音高より高いために、前記予め設定された条件を満たしていないと判別された場合でかつ、前記前回イベントに対応する楽音が発音中である場合は、前記現イベントの入力に応答して前記波形記憶手段からダウン波形音のデータを読み出すことを特徴とする請求項２乃至７のいずれかに記載の楽音発生装置。
【００８９】
［請求項９］
乱数を発生する乱数発生手段を更に備え、
前記発音手段はさらに、前記判定手段により、前記現イベントの発音音高と前回イベントの発音音高とが一致しないために、前記予め設定された条件を満たしていないと判別された場合でかつ、前記前回イベントに対応する楽音が発音しておらず、前記乱数発生手段で発生した乱数が所定値より大きい場合には、前記前回イベントの入力に応答して前記波形記憶手段から読み出されたデータと異なるデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出す一方、前記発生した乱数が所定値より小さい場合には、前記前回イベントの入力に応答して前記波形記憶手段から読み出されたデータと同一のデータを、前記現イベントの入力に応答して前記波形記憶手段から読み出すことを特徴とする請求項２乃至８のいずれかに記載の楽音発生装置。
【００９０】
［請求項１０］
ダウンピッキングにより発生するダウン波形音のデータ、およびアップピッキングにより発生するアップ波形音のデータを記憶する波形記憶手段と、発音手段とを有する楽音発生装置が、
発音を指示するイベントが入力される毎に、この入力された現イベントと当該現イベントの直前に入力された前回イベントとの関係が予め定められた条件を満たすか否かを判別し、
前記予め定められた条件を満たすと判別された場合、発音を指示するイベントが発生する毎に、前記波形記憶手段に記憶されるダウン波形音のデータおよびアップ波形音のデータのいずれか一方を交互に読み出すとともに、当該読み出されたデータに基づく楽音を前記発音手段に発音させる、楽音発生方法。
【００９１】
［請求項１１］
ダウンピッキングにより発生するダウン波形音のデータ、およびアップピッキングにより発生するアップ波形音のデータを記憶する波形記憶手段と、発音手段とを有する楽音発生装置として用いられるコンピュータに、
発音を指示するイベントが入力される毎に、この入力された現イベントと当該現イベントの直前に入力された前回イベントとの関係が予め定められた条件を満たすか否かを判別するステップと、
前記予め定められた条件を満たすと判別された場合、発音を指示するイベントが発生する毎に、前記波形記憶手段に記憶されるダウン波形音のデータおよびアップ波形音のデータのいずれか一方を交互に読み出すとともに、当該読み出されたデータに基づく楽音を前記発音手段に発音させるステップと、
を実行させるプログラム。
【００９２】
［請求項１２］
請求項１乃至９のいずれかに記載の楽音発生装置と、
演奏者による押鍵操作に応答して前記イベントを生成するとともに、当該生成されたイベントを前記楽音発生装置に入力させる鍵盤と、
を有する電子楽器。
【符号の説明】
【００９３】
１０ａ  ベンダホイール
１０ｂ  モジュレーションホイール
１１  Ａ／Ｄ変換器
１２  鍵盤
１３  キースキャナ
１４  操作部
１５  ＣＰＵ
１６  ＲＯＭ
１７  ＲＡＭ
１８  表示部
１９  音源
２０  波形メモリ
２１  サウンドシステム
２２  ＭＩＤＩインタフェース部
１００  楽音発生装置
２００  ＭＩＤＩ楽器
【図１】
0006439225.tif 000002
【図２】
0006439225.tif 000003
【図３】
0006439225.tif 000004
【図４】
0006439225.tif 000005
【図５】
0006439225.tif 000006
【図６】
0006439225.tif 000007
【図７】
0006439225.tif 000008
【図８】
0006439225.tif 000009
【図９】
0006439225.tif 000010
【図１０】
0006439225.tif 000011
【図１１】
0006439225.tif 000012
【図１２】
0006439225.tif 000013