(57)【要約】【課題】  複数のエレメントを切り換えて自然な演奏を可能とする楽音生成装置を提供する。【解決手段】  楽音生成装置は、楽音を生成するためのエレメントデータと、複数のエレメントデータの発音順を記録するシーケンスリストとを記憶する記憶手段と、発音開始指示とリセット指示とを検出する検出手段と、前記検出した発音開始指示に応じて、前記シーケンスリストに記録された発音順に前記エレメントデータの１つを順次選択する選択手段と、前記検出手段が前記リセット指示を検出した場合に、前記選択手段による選択対象を所定のエレメントデータにリセットするリセット手段と、前記選択されたエレメントデータを前記記憶手段から読み出して楽音を生成する楽音生成手段とを有する。【選択図】  図１４
2011203583.tif 000002
【特許請求の範囲】
【請求項１】
楽音を生成するためのエレメントデータと、複数のエレメントデータの発音順を記録するシーケンスリストとを記憶する記憶手段と、
発音開始指示とリセット指示とを検出する検出手段と、
前記検出した発音開始指示に応じて、前記シーケンスリストに記録された発音順に前記エレメントデータの１つを順次選択する選択手段と、
前記検出手段が前記リセット指示を検出した場合に、前記選択手段による選択対象を所定のエレメントデータにリセットするリセット手段と、
前記選択されたエレメントデータを前記記憶手段から読み出して楽音を生成する楽音生成手段と
を有する楽音生成装置。
【請求項２】
前記記憶手段は、さらに、少なくとも１つのエレメントデータを指定するエレメント指定情報を記憶し、
さらに、前記シーケンスリストと前記エレメント指定情報とのいずれか一方を交互に切り換えるとともに、当該切り換えごとにリセット指示を前記検出手段に入力する切り換え手段を有し、
前記選択手段は、前記切り換え手段により、前記シーケンスリストに切り換えられた場合には、前記検出した発音開始指示に応じて、前記シーケンスリストに記録された発音順に前記エレメントデータの１つを順次選択し、前記切り換え手段により、前記エレメント指定情報に切り換えられた場合には、前記検出した発音開始指示に応じて、前記少なくとも１つのエレメントデータを選択する請求項１記載の楽音生成装置。
【請求項３】
楽音を生成するためのエレメントデータと、複数のエレメントデータの発音順を記録するシーケンスリストとを記憶する記憶手段からデータを読み出し可能なコンピュータに、
発音開始指示とリセット指示とを検出する検出手順と、
前記検出した発音開始指示に応じて、前記シーケンスリストに記録された発音順に前記エレメントデータの１つを順次選択する選択手順と、
前記検出手順が前記リセット指示を検出した場合に、前記選択手順による選択対象を所定のエレメントデータにリセットするリセット手順と、
前記選択されたエレメントデータを前記記憶手段から読み出して楽音を生成する楽音生成手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音生成装置に関し、特に複数のエレメントを切り換えて発音する楽音生成装置に関する。
【背景技術】
【０００２】
従来、それぞれが波形データ等である複数のエレメントデータをエレメントセットとして記憶し、当該エレメントセットに含まれるエレメントに基づき順次楽音を生成可能な装置が知られている（例えば、特許文献１参照）。
【０００３】
このような装置では、例えば、「カウントボイス」や「スキャット」と呼ばれるエレメントセットが記憶されている。「カウントボイス」は、これを指定して、ユーザが演奏操作子を連続操作することにより、「イチ、ニ、サン、シ、イチ、ニ、サン、シ…」と発音させることが出来る。また、「スキャット」は、これを指定して、ユーザが演奏操作子を連続操作することにより、「Ｓｈｕ、Ｂｅｅ、Ｄｏｏ、Ｂａｈ…」と発音させることが出来るものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１９１６５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の「カウントボイス」については「イチ」が一連のカウントの始まりであり、また、「スキャット」については、「Ｓｈｕ」が一連のスキャットの始まりであることから、ユーザの意図する時点で、これらのエレメントの発音が開始されることが好ましい。しかしながら、従来の楽音生成装置では、エレメントセット中のエレメントをシーケンスリストで規定されるとおりに順次切り換えて発音するのみであるので、ユーザがシーケンスの途中で発音されるエレメントを先頭の「イチ」や「Ｓｈｕ」に戻すことは困難であった。
【０００６】
本発明の目的は、複数のエレメントを切り換えてユーザの意図に沿った自然な演奏を可能とする楽音生成装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、楽音生成装置は、楽音を生成するためのエレメントデータと、複数のエレメントデータの発音順を記録するシーケンスリストとを記憶する記憶手段と、発音開始指示とリセット指示とを検出する検出手段と、前記検出した発音開始指示に応じて、前記シーケンスリストに記録された発音順に前記エレメントデータの１つを順次選択する選択手段と、前記検出手段が前記リセット指示を検出した場合に、前記選択手段による選択対象を所定のエレメントデータにリセットするリセット手段と、前記選択されたエレメントデータを前記記憶手段から読み出して楽音を生成する楽音生成手段とを有する。
【発明の効果】
【０００８】
本発明によれば、複数のエレメントを切り換えて自然な演奏を可能とする楽音生成装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例による楽音生成装置１００のハードウェア構成の一例を表すブロック図である。
【図２】本発明の実施例による波形メモリ音源１８のハードウェア構成の一例を表すブロック図である。
【図３】本発明の第１の実施例による楽音生成の例を表すタイムチャートである。
【図４】本発明の第１の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【図５】本発明の第１の実施例によるメイン処理を表すフローチャートである。
【図６】本発明の第１の実施例によるノートオン処理を表すフローチャートである。
【図７】本発明の第１の実施例によるノートオフ処理を表すフローチャートである。
【図８】本発明の第２の実施例による楽音生成の例を表すタイムチャートである。
【図９】本発明の第２の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【図１０】本発明の第２の実施例によるノートオン処理を表すフローチャートである。
【図１１】本発明の第３の実施例による楽音生成の例を表すタイムチャートである。
【図１２】本発明の第３の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【図１３】本発明の第３の実施例による楽音生成の例を表すタイムチャートである。
【図１４】本発明の第４の実施例による楽音生成の例を表すタイムチャートである。
【図１５】本発明の第４の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【図１６】本発明の第４の実施例による楽音生成の例を表すタイムチャートである。
【発明を実施するための形態】
【００１０】
図１は、本発明の実施例共通の楽音生成装置１００のハードウェア構成の一例を表すブロック図である。
【００１１】
楽音生成装置１００のバス６には、ＲＡＭ７、ＲＯＭ８、ＣＰＵ９、検出回路１１、表示回路１３、記憶装置１５、波形メモリ音源１８、通信インターフェイス（Ｉ／Ｆ）２１が接続される。
【００１２】
ＲＡＭ７は、再生バッファ等のバッファ領域、フラグ、レジスタ、各種パラメータ等を記憶するＣＰＵ９のワーキングエリアを有する。例えば、後述する発音管理データは、このＲＡＭ７内の所定領域に記憶される。
【００１３】
ＲＯＭ８には、各種データファイル（例えば、後述するボイスデータＶＤ）、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。この場合、プログラム等を重ねて、記憶装置１５に記憶する必要は無い。
【００１４】
ＣＰＵ９は、ＲＯＭ８又は、記憶装置１５に記憶されている制御プログラム又は本実施例を実現するためのプログラム等に従い、演算又は装置の制御を行う。タイマ１０が、ＣＰＵ９に接続されており、基本クロック信号、割り込み処理タイミング等がＣＰＵ９に供給される。また、タイマ１０は、フリーランタイマを含み、楽音生成装置１００の各構成は、これを現在時刻として参照する。
【００１５】
ユーザは、検出回路１１に接続される設定操作子１２を用いて、各種入力及び設定、選択をすることができる。設定操作子１２は、例えば、スイッチ、パッド、フェーダ、スライダ、ロータリーエンコーダ、ジョイスティック、ジョグシャトル、文字入力用キーボード、マウス等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。また、設定操作子１２は、カーソルスイッチ等の他の操作子を用いて操作する表示装置１４上に表示されるソフトスイッチ等でもよい。本実施例では、ユーザは、設定操作子１２を操作することにより、記憶装置１５又はＲＯＭ８等に記録された又は通信Ｉ／Ｆ２１を介して外部機器から取得（ダウンロード）するボイスデータＶＤの選択、及びその他の設定操作を行う。また、後述するように、奏法スイッチとして設けられる設定操作子１２を操作することにより、ユーザは、例えば、所望のタイミングでエレメントを切り換えたり、エレメントのシーケンスをリセットしたりすることができる。
【００１６】
表示回路１３は、ディスプレイ１４に接続され、各種情報をディスプレイ１４に表示することができる。ディスプレイ１４は、楽音生成装置１００の設定のための各種情報等を表示することができる。
【００１７】
記憶装置１５は、ハードディスク、ＦＤ（フレキシブルディスク又はフロッピーディスク（登録商標））、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多目的ディスク）、フラッシュメモリ等の半導体メモリ等の記憶媒体とその駆動装置の組み合わせの少なくとも１つで構成される。記憶媒体は、着脱可能であってもよいし、内蔵されていてもよい。記憶装置１５及び（または）ＲＯＭ８には、複数のボイスデータＶＤ、ＭＩＤＩデータ等の自動演奏データ等の各種曲データＭＤ、オーディオデータ等、及び、本発明の各実施例を実現するためのプログラムや、その他の制御プログラムを記憶することができる。なお、本発明の各実施例を実現するためのプログラムや、その他の制御プログラムを記憶装置１５に記憶する場合は、これらをＲＯＭ８に合わせて記憶する必要はない。また、一部のプログラムのみを記憶装置１５に記憶し、その他のプログラムをＲＯＭ８に記憶するようにしてもよい。
【００１８】
波形メモリ音源１８は、記憶装置１５、ＲＯＭ８又はＲＡＭ７等に記録された自動演奏データ又は演奏操作子（鍵盤）２２あるいは通信インターフェイス２１に接続された外部機器等から供給される演奏信号、ＭＩＤＩ信号等に応じて楽音信号を生成し、各種音楽的効果を付与して、ＤＡＣ２０を介して、サウンドシステム１９に供給する。ＤＡＣ２０は、供給されるデジタル形式の楽音信号をアナログ形式に変換し、サウンドシステム１９は、アンプ、スピーカを含み、ＤＡ変換された楽音信号を発音する。なお、波形メモリ音源１８の詳細については、図２を参照して後述する。
【００１９】
通信インターフェイス２１は、ＵＳＢやＩＥＥＥ１３９４等の汎用近距離有線Ｉ／Ｆ、Ｅｔｈｅｒｎｅｔ（登録商標）等の汎用ネットワークＩ／Ｆ等の通信インターフェイス、ＭＩＤＩ  Ｉ／Ｆなどの汎用Ｉ／Ｆ、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）等の汎用近距離無線Ｉ／Ｆ等の通信インターフェイス及び音楽専用無線通信インターフェイスのうち少なくとも１つで構成され、外部機器、サーバ等との通信が可能である。
【００２０】
演奏操作子(鍵盤等)２２は、検出回路１１に接続され、ユーザの演奏動作に従い、演奏情報（演奏データ）を供給する。演奏操作子２２は、ユーザの演奏を入力するための操作子であり、ユーザが操作した操作子に対応する音高で、該ユーザの操作子に対する操作開始タイミング及び終了タイミングをそれぞれキーオン及びキーオフ信号として入力する。また、ユーザの演奏操作に応じてベロシティ値等の各種パラメータを入力することが可能である。
【００２１】
図２は、本発明の実施例による波形メモリ音源１８のハードウェア構成の一例を表すブロック図である。
【００２２】
波形メモリ音源１８は、複数のエレメント（ボイスに対応する波形データ）を１周期以上記憶する波形メモリ８１、複数の発音チャンネル８２、混合エフェクト処理部８３及び音源レジスタ８４を含んで構成される。
【００２３】
それぞれの発音チャンネル８２は、波形読出部１８１、音色フィルタ部１８２、音量制御部１８３、ＬＦＯ部１８４及びＥＧ部１８５を含んで構成される。
【００２４】
波形読出部１８１は、ＬＦＯ部１８４からの振幅値及びＥＧ部１８５からのエンベロープデータに従い、後述するノートオン処理（図５等）で選択されるエレメント（波形データ）を波形メモリ８１から読み出す。
【００２５】
音色フィルタ部１８２は、ＬＦＯ部１８４からの振幅値及びＥＧ部１８５からのエンベロープデータに従い、波形メモリ音源１８の出力楽音信号の周波数特性を変化させるＤＣＦ（デジタルコントロールドフィルタ）である。
【００２６】
音量制御部１８３は、ＬＦＯ部１８４からの振幅値及びＥＧ部１８５からのエンベロープデータに従い、波形メモリ音源１８の出力楽音信号の音量を制御するＤＣＡ（デジタルコントロールドアンプ）である。例えば、音色フィルタ部１８２の出力とＥＧ部１８５からのエンベロープデータとを乗算することにより出力レベルを制御する。
【００２７】
混合エフェクト処理部８３は、複数の発音チャンネル８２の出力を混合（ミキシング）すると共に、混合信号に対して各種効果を付与して、ＤＡＣ２０に出力する。
【００２８】
音源レジスタ８４は、発音チャンネル８２の各部１８１〜１８５及び混合エフェクト処理部８３を制御するためのレジスタである。
【００２９】
なお、音源部としては、ここで説明した波形メモリ音源１８に限らず、所望のエレメントを発音可能なものであればどのようなタイプの音源でも使用可能である。
【００３０】
図３（Ａ）〜（Ｃ）は、本発明の第１の実施例による楽音生成の例を表すタイムチャートである。なお、本発明の第１の実施例では、「Ｓｈｕ、Ｂｅｅ、Ｄｏｏ、Ｂａｈ…」という一連の複数エレメント（波形データ）を順次発音するためのシーケンスリストを少なくとも１つ記憶するボイスデータＶＤが選択されている。
【００３１】
図３（Ａ）は、キーオンから次のキーオンまでの時間間隔が短い場合の動作例を説明するための図である。この例では、キーオンから次のキーオンまでの時間間隔が所定時間（３０ｍｓｅｃ、５０ｍｓｅｃ、７０ｍｓｅｃ等）未満の場合に、シーケンスリストのインデックスＩＸ（図４）を先に進めないようにしている。
【００３２】
まずタイミングｔ１において最初のキーオンイベントが発生し、それに伴いエレメント「Ｓｈｕ」が発音される。その後、タイミングｔ１から３０ｍｓｅｃ未満経過後のタイミングｔ２において第２のキーオンイベントが発生する。この時、従来例では、シーケンスリストのインデックスＩＸが先に進み、「Ｂｅｅ」が発音されるが、このように３０ｍｓｅｃ未満の時間間隔で異なるエレメントを発音させると音楽的に不自然な印象を与えるので、本実施例では、２つのキーオンイベント間の時間間隔が所定値未満（本実施例では、３０ｍｓｅｃ）の場合には、シーケンスリストのインデックスＩＸを先に進めずに、当該２つのキーオンイベントに対して、同じエレメントを発音させるようにした。
【００３３】
よって、図３（Ａ）に示すように、タイミングｔ１及びｔ２ともに、エレメント「Ｓｈｕ」が発音される。なお、タイミングｔ３は、タイミングｔ２から３０ｍｓｅｃ以上経過しているので、シーケンスリストのインデックスＩＸを先に進め、エレメント「Ｂｅｅ」が発音される。また、タイミングｔ４では、タイミングｔ２から３０ｍｓｅｃ以上経過しており、また、同時に二つのキーオンイベントが発生しているので、当該２つのキーオンイベントに対して、同じエレメント「Ｄｏｏ」を発音させる。
【００３４】
図３（Ｂ）は、キーオフから次のキーオンまでの時間間隔が長い場合の動作例を説明するための図である。この例では、キーオンから次のキーオンまでの時間間隔が所定時間（３００ｍｓｅｃ、３５０ｍｓｅｃ、４００ｍｓｅｃ等）以上の場合に、シーケンスリストのインデックスＩＸ（図４）をリセット（リスト先頭に戻す）するようにしている。
【００３５】
タイミングｔ５に、エレメント「Ｓｈｕ」及び「Ｂｅｅ」に対応するキーオフイベントが発生し、所定時間（本実施例では、３５０ｍｓｅｃ）以上経過後のタイミングｔ６において、キーオンイベントが発生する。この場合、従来例では、シーケンスリストのインデックスＩＸは先に進められ、エレメント「Ｄｏｏ」が発音されることとなるが、一定時間以上間隔があいた場合に、シーケンスの続きから発音すると、音楽的に不自然となってしまう。そこで、本実施例では、直前のエレメントに対応するキーオフイベントから次のキーオンイベントまでの時間間隔が所定時間（例えば、３５０ｍｓｅｃ）以上の場合は、シーケンスリストのインデックスＩＸを一旦リセットして、リストの先頭に戻すようにした。
【００３６】
よって、この例では、タイミングｔ６のキーオンイベントに対応してシーケンスリストの先頭であるエレメント「Ｓｈｕ」が発音され、以降、シーケンスリストのエレメントが順次発音される。
【００３７】
図３（Ｃ）は、奏法スイッチ等の所定の設定操作子１２を操作することにより発音するエレメントを切り替える場合の動作例を説明するための図である。この例では、奏法スイッチＯＮ状態（発音条件１）において、特定のエレメント（図４の特殊発音エレメント１）に発音（選択）エレメントを切り換えると共に、当該奏法スイッチＯＮ状態において特定のノート番号又はベロシティ値（発音条件２）を有するノートオンイベントが発生した場合に特定のエレメント（図４の特殊発音エレメント２）に発音（選択）エレメントを切り換える。
【００３８】
まず、「Ｓｈｕ、Ｂｅｅ、Ｄｏｏ」と順次エレメントが発音された後に、タイミングｔ７において奏法スイッチ（設定操作子）１２が操作され、奏法スイッチＯＮ状態（図４の奏法スイッチ状態変数が「ＴＲＵＥ」に設定されている状態）となる。その後、任意のタイミングで特定のノート番号又はベロシティ値（発音条件２）ではないノートオンイベントが発生すると、特殊発音エレメント１として規定されているエレメント「Ｄａａ」が発音される。タイミングｔ８においては、特定のノート番号又はベロシティ値（発音条件２）を有するノートオンイベントが発生し、特殊発音エレメント２として規定されているエレメント「Ｈｅｙ！」が発音される。その後、タイミングｔ９で、奏法スイッチ（設定操作子）１２が操作されると奏法スイッチＯＦＦ状態（図４の奏法スイッチ状態変数が「ＦＡＬＳＥ」に設定されている状態）となる。その後、ノーオンイベントの発生に対しては、通常のシーケンスリストの先頭から発音される。この場合は、まず先頭エレメントの「Ｓｈｕ」が発音される。
【００３９】
すなわち、発音条件１（奏法スイッチＯＮ状態）及び発音条件２（特定のノート番号又はベロシティ値を有するノートオンイベントの発生）がいずれも満たされない状態でのノーオンイベントの発生に対しては、通常のシーケンスリストにしたがい発音がなされ、発音条件１のみを満たす状態でのノーオンイベントの発生に対しては、特殊発音エレメント１が発音され、発音条件１及び発音条件２の双方を満たす状態でのノーオンイベントの発生に対しては、特殊発音エレメント２が発音される。また、発音条件１を満たす状態から満たさない状態に遷移した場合は、通常のシーケンスリストのインデックスＩＸはリセットされる。
【００４０】
図４は、本発明の第１の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【００４１】
発音管理データＭＤは、例えば、図１のＲＡＭ７内の所定領域に記憶されており、ボイスデータへの参照情報ＶＬ、最後のノートオン時刻ＯＴ、最後のノートオフ時刻ＦＴ、奏法スイッチ状態変数ＳＶ、シーケンスリストのインデックスＩＸ、発音中ノートリストＮＬを含む。
【００４２】
発音管理データＭＤのボイスデータへの参照情報ＶＬは、ＲＯＭ８等に記憶されているボイスデータ群のうち、選択されたボイスデータ（選択ボイスデータ）ＶＤへの参照情報を保持する。ユーザによりボイスが選択しなおされるたびに、このボイスデータへの参照情報ＶＬが更新される。ノートオンイベントの処理を行う際は、このボイスデータへの参照情報ＶＬからボイスデータＶＤをたどり、発音すべきエレメントの情報を取得し、音源１８を設定する。
【００４３】
最後のノートオン時刻ＯＴは、ノートオンイベントを処理した際の時刻を保持する。最後のノートオン時刻ＯＴは、ノートオンイベントを処理する度に更新する。このデータは後続のノートオンイベントを処理する際にエレメントを選択するために使用される。
【００４４】
最後のノートオフ時刻ＦＴは、ノートオフイベントを処理した際の時刻を保持する。最後のノートオフ時刻ＦＴは、ノートオフイベントを処理する度に更新する。このデータは後続のノートオンイベントを処理する際にエレメントを選択するために使用される。
【００４５】
奏法スイッチ状態変数ＳＶは、奏法スイッチ（設定操作子）１２のＯＮ／ＯＦＦ状態を保持する。奏法スイッチオンイベントの処理により状態を「ＴＲＵＥ」に切り換え、奏法スイッチオフイベントの処理により状態を「ＦＡＬＳＥ」に切り換える。
【００４６】
シーケンスリストのインデックスＩＸは、ボイスデータＶＤ内のシーケンスリストＳＬに記憶されたエレメント情報を記録順に１つずつ順次選択するためのインデックスであり、原則としてノートンイベントが発生するたびに１つずつ進められる。
【００４７】
発音中ノートリストＮＬは、音源１８にて現在発音中のノート（楽音）に対応するノート情報ＮＩをリストにより管理する。発音中ノートリストＮＬの各エントリーであるノート情報ＮＩは、発音中のノート（楽音）を表し、ノート番号ＮＮ、リリース状態フラグＲＦ及び発音チャンネル管理情報ＣＭを含む。
【００４８】
ノートオンイベントの処理では、発音チャンネル８２（１つの波形データを再生して発音するのに必要な音源リソースの単位）を確保し、ノートオンイベントのノート番号ＮＮと確保した発音チャンネル８２の管理情報ＣＭと「ＦＡＬＳＥ」の値のリリース状態フラグＲＦをまとめて１つのエントリーとして発音中ノートリストＮＬに追加する。
【００４９】
ノートオフイベントの処理では、ノートオフイベントのノート番号から対応するエントリーを発音中ノートリストＮＬから検索し、当該エントリーのリリース状態フラグＲＦを「ＴＲＵＥ」にすると共に、発音チャンネル８２がノートオフ後のリリース中の発音をするように指示する。この時点では、当該エントリーはまだ発音中ノートリストＮＬから削除されない。エントリーの削除は、例えば、周期的処理でリリース中のエントリー（リリース状態フラグＲＦが「ＴＲＵＥ」のエントリー）を監視し、各リリース中の発音チャンネル８２の音量レベルを音源から取得し、音量が一定値以下になったら対応するエントリーを削除する。
【００５０】
ボイスデータ群は、複数のボイスデータＶＤを含み、例えば、図１のＲＯＭ８又は記憶装置１５に記憶されている。それぞれのボイスデータＶＤは、ボイスの名称ＶＮ、モード情報ＭＩ、シーケンスリストＳＬ、特殊発音用エレメントＳＥを含む。なお、図では、１つのボイスデータが選択されている状態を示す。ボイスデータＶＤは、楽音生成装置１００が発音可能な各ボイスについてのパラメータの一式である。ボイスデータＶＤは、プリセットとして多数がＲＯＭ８に記録されている。または、ユーザが作成したり各種メディアから取得したりして不揮発メモリ等の記憶装置１５にボイスデータＶＤを多数記録している。
【００５１】
ボイスの名称ＶＮは、例えば、「ＳｃａｔＶｏｉｃｅ」や「ＡｃｏｕｓｔｉｃＰｉａｎｏ１」というような、各ボイスをユーザが識別するための文字列である。また、ボイス名称ＶＮと合わせて、プログラムチェンジ番号等の当該ボイスデータを識別するための識別子（識別番号等）を記録するようにしてもよい。
【００５２】
モード情報ＭＩは、発音モード記録する。発音モードは従来からの通常の波形読み出しをするボイスであるか、又は、本実施例による「サイクル発音（ＷａｖｅＣｙｃｌｅ）」をするためのボイスであるかを表す。
【００５３】
シーケンスリストＳＬは、「サイクル発音」で用いる複数エレメントを発音させたい順に記録するリストであり、各エレメントに対応するエレメント情報ＥＬが発音順にリストされている。原則として、ノートオンのたびにサイクリックにエレメントが切り替えられて、記録順に発音される。すなわち、リストの先頭からノートオンのたびに１つのエレメントが発音され、順次、次に記録されたエレメントが発音される。例えば、エレメント１「Ｓｈｕ」、エレメント２「Ｂｅｅ」、エレメント３「Ｄｏｏ」、エレメント４「Ｂａｈ」と、４つのエレメントが記録されている場合、「Ｓｈｕ、Ｂｅｅ、Ｄｏｏ、Ｂａｈ、Ｓｈｕ、Ｂｅｅ…」と発音させることができる。
【００５４】
各エレメント情報ＥＬは、例えば、波形データへの参照情報と、ボイスパラメータからなる。波形データへの参照情報は、図２の波形メモリ８１に記録されている波形データを波形読出部１８１が読み出すための情報であり、例えば、波形読出部１８１から見た波形メモリ８１のアドレスである。ボイスパラメータは、音色フィルタ部１８２や、ＬＦＯ部１８４、ＥＧ部１８５に設定するパラメータ値である。
【００５５】
特殊発音用エレメントＳＥは、特定の発音条件に合致した場合に、シーケンスリストＳＬに記録されたエレメントとは異なるエレメントを発音させるための情報である。図に示す例では、特殊発音用エレメントＳＥに、シーケンスリストＳＬから特殊発音用エレメント（エレメント１）に切り換えるための条件となる発音条件ＰＮ１と、当該発音条件ＰＮ１を満たす場合に発音されるエレメント１のエレメント情報ＥＬ１と、エレメント１からエレメント２に切り換えるための追加条件となる発音条件ＰＮ２と、当該発音条件ＰＮ２を満たす場合に発音されるエレメント２のエレメント情報ＥＬ２の２つが特殊発音用エレメントＳＥに記録されている。なお、発音条件ＰＮ１及びＰＮ２は、特殊発音用エレメントＳＥにではなく、シーケンスリストＳＬ内や、ボイスデータＶＤのその他の場所に記録されていてもよい。
【００５６】
本実施例では、発音条件ＰＮ１として、「奏法スイッチがＯＮ（図４の奏法スイッチ状態変数が「ＴＲＵＥ」に設定されている状態）」が記録されており、当該発音条件ＰＮ１を満たす時に発音されるエレメント情報ＥＬ１が対応付けられて記録されている。また、発音条件２として、「特定のノート番号（例えば、ノート番号「１２７」）及び／又は特定のベロシティ値」が記録されており、発音条件ＰＮ１及び発音条件ＰＮ２を満たす時に発音されるエレメント情報ＥＬ２が発音条件ＰＮ２に対応付けられて記録されている。
【００５７】
図５は、本発明の第１の実施例によるメイン処理を表すフローチャートである。このメイン処理は、楽音生成装置１００の電源投入直後から実行される。なお、ステップＳＡ６のノートオン処理以外は、後述の第２〜４の実施例においても同様である。
【００５８】
ステップＳＡ１でメイン処理を開始し、ステップＳＡ２では、初期設定を行う。ここでは、ＲＡＭ７（図１）上の各種パラメータの状態を初期値に設定する。
【００５９】
ステップＳＡ３では、ユーザの操作に応じてボイスを切り換える（選択する）。ユーザの設定操作子１２（図１）を用いたボイス選択操作を検出し、当該ボイス選択操作に応じてボイスデータＶＤをボイスデータ群（図４）から選択する。
【００６０】
このボイスデータＶＤの選択処理により、発音を管理するＲＡＭ７上の発音管理データＭＤ（図４）は初期設定される。すなわち、発音中ノートリストＮＬを参照し、発音中のノートがあれば消音処理をする（例えば、リリース状態フラグＲＦを「ＴＲＵＥ」にする）。その後、当該ノートを発音中の発音チャンネル８２の音量レベルが一定値以下になったら当該ノートに対応する情報を発音中ノートリストＮＬから削除し、発音中のノートが無い状態とする。次に、ボイスデータへの参照情報ＶＬをステップＳＡ３で選択されたボイスデータＶＤの参照情報へと書き換える。その後、最後のノートオン時刻ＯＴと最後のノートオフ時刻ＦＴをクリアし、シーケンスリストのインデックスＩＸをシーケンスリストＳＬの先頭のエレメント情報ＥＬに設定する。
【００６１】
ステップＳＡ４では、ユーザの演奏操作子２２（図１）を用いた演奏操作等（通信Ｉ／Ｆ２１を介してＭＩＤＩインベントを受信した場合を含む）によるイベントの発生を検出する。その後、ステップＳＡ５では、ステップＳＡ４で検出したイベントに従い振分処理を行う。ステップＳＡ４で検出したイベントがノートオンイベントである場合は、Ａの矢印で示すステップＳＡ６に進み、ノートオフイベントである場合は、Ｂの矢印で示すステップＳＡ７に進み、奏法スイッチオンである場合は、Ｃの矢印で示すステップＳＡ８に進み、奏法スイッチオフである場合は、Ｄの矢印で示すステップＳＡ９に進み、上記イベントを検出しなかった場合（その他のイベントを検出した場合又はイベントを何も検出しなかった場合）は、Ｅの矢印で示すステップＳＡ１０に進む。
【００６２】
ステップＳＡ６では、図６に示すノートオンイベント処理を行う。例えば、ユーザが鍵盤（演奏操作子２２）を押鍵操作すると検出回路１１（図１）がそれを検出し、ノートオンイベントをＣＰＵ９に導入する。ＣＰＵ９は、それに応じて図６に示すノートオンイベント処理を実行する。なお、ノートオンイベントには、ノート番号とベロシティが含まれる。その後、ステップＳＡ３に戻る。
【００６３】
ステップＳＡ７では、図７に示すノートオフイベント処理を行う。例えば、ユーザが鍵盤（演奏操作子２２）を離鍵操作すると検出回路１１（図１）がそれを検出し、ノートオフイベントをＣＰＵ９に導入する。ＣＰＵ９は、それに応じて図７に示すノートオフイベント処理を実行する。なお、ノートオンイベントは、少なくともノート番号を含む。その後、ステップＳＡ３に戻る。
【００６４】
ステップＳＡ８では、図４に示すＲＡＭ７内の発音管理データＭＤの奏法スイッチ状態変数ＳＶを「ＴＲＵＥ」にする。例えば、ユーザが奏法スイッチ（設定操作子１２）をオン操作すると、奏法スイッチオンイベントがＣＰＵ９に導入され、ＣＰＵ９がＲＡＭ７内の発音管理データＭＤの奏法スイッチ状態変数ＳＶを「ＴＲＵＥ」にする。その後、ステップＳＡ３に戻る。
【００６５】
ステップＳＡ９では、図４に示すＲＡＭ７内の発音管理データＭＤの奏法スイッチ状態変数ＳＶを「ＦＡＬＳＥ」にする。例えば、ユーザが奏法スイッチ（設定操作子１２）をオフ操作すると、奏法スイッチオフイベントがＣＰＵ９に導入され、ＣＰＵ９がＲＡＭ７内の発音管理データＭＤの奏法スイッチ状態変数ＳＶを「ＦＡＬＳＥ」にする。その後、ステップＳＡ３に戻る。
【００６６】
ステップＳＡ１０では、発音チャンネル監視処理を実行する。発音チャンネル監視処理では、図４を参照して上述したように、発音中ノートリストＮＬからのエントリーの削除を行う。例えば、リリース状態フラグＲＦが「ＴＲＵＥ」のエントリーを発音中ノートリストＮＬから検索し、検出したエントリーの発音チャンネル管理情報ＣＭを参照して発音チャンネル８２を特定し、該特定した発音チャンネル８２の音量値（もしくは、音量を制御するＥＧ値）を取得する。取得した音量値等が所定値より小さい（ほぼ聞き取れない程度の音量）場合、当該エントリーを発音中ノートリストＮＬから削除する。その後、上記特定した発音チャンネルは他の楽音の発音に用いることができるようになる。
【００６７】
ステップＳＡ１１では、その他の処理を行う。ここでは、ユーザの操作に応じて様々な処理を実行する。例えば、生成中の楽音のリアルタイムモジュレーション処理、自動演奏の設定処理やその実行処理などである。その後、ステップＳＡ３に戻る。
【００６８】
なお、ステップＳＡ６〜ステップＳＡ９及びステップＳＡ１１の処理の後にステップＳＡ３に戻る際は、タイマ１０を使って所定の時間間隔をあけることが好ましい。
【００６９】
図６は、本発明の第１の実施例において、図５のステップＳＡ６で実行されるノートオン処理を表すフローチャートである。
【００７０】
ステップＳＢ１でノートオン処理を開始し、ステップＳＢ２では、タイマ１０（図１）から現在時刻を取得し、図１のＲＡＭ７内に記録されている図４の発音管理データＭＤ内の最後のノートオン時刻ＯＴを当該取得した現在時刻で更新する。
【００７１】
ステップＳＢ２では、図５のステップＳＡ４で検出したノートオンイベントからノート番号及びベロシティ値を抽出する。
【００７２】
ステップＳＢ４では、図５のステップＳＡ３で選択したボイスデータＶＤのモード情報ＭＩを参照して、サイクル発音「ＷａｖｅＣｙｃｌｅ」をすべきボイスか否かを判断する。サイクル発音するべきボイスである場合は、ＹＥＳの矢印で示すステップＳＢ６に進み、サイクル発音するべきボイスでない場合は、ＮＯの矢印で示すステップＳＢ５に進む。
【００７３】
ステップＳＢ５では、その他の発音モード（サイクル発音ではない通常の発音等）に応じたエレメントを選択して、ステップＳＢ１８に進む。
【００７４】
ステップＳＢ６では、発音条件１を満たすか否かを判断する。なお、発音条件１とは、例えば、図４の特殊発音用エレメントＳＥで規定されている発音条件ＰＮ１であり、第１の実施例では、「奏法スイッチがＯＮ（図４の奏法スイッチ状態変数ＳＶが「ＴＲＵＥ」に設定されている状態）」が発音条件１として設定されているものとする。発音条件１が満たされている場合、すなわち、奏法スイッチがＯＮ状態である場合は、ＹＥＳの矢印で示すステップＳＢ７に進む。発音条件１が満たされていない場合、すなわち、奏法スイッチがＯＦＦ状態である場合は、ＮＯの矢印で示すステップＳＢ１０に進む。
【００７５】
ステップＳＢ７では、発音条件２を満たすか否かを判断する。なお、発音条件２とは、例えば、図４の特殊発音用エレメントＳＥで規定されている発音条件ＰＮ２であり、第１の実施例では、「特定のノート番号（例えば、ノート番号「１２７」）及び／又は特定のベロシティ値」が発音条件２として設定されているものとする。発音条件２が満たされている場合、すなわち、発音条件１及び２の双方を満たす場合は、ＹＥＳの矢印で示すステップＳＢ８に進む。発音条件２が満たされていない場合、すなわち、発音条件１のみが満たされている場合は、ＮＯの矢印で示すステップＳＢ９に進む。
【００７６】
ステップＳＢ８では、特殊発音エレメント２を選択する。具体的には、図４の特殊発音用エレメントＳＥ内の特殊エレメント情報ＥＬ２で参照されている波形データを選択する。その後、ステップＳＢ１８に進む。
【００７７】
ステップＳＢ９では、特殊発音エレメント１を選択する。具体的には、図４の特殊発音用エレメントＳＥ内の特殊エレメント情報ＥＬ１で参照されている波形データを選択する。その後、ステップＳＢ１８に進む。
【００７８】
以上のステップＳＢ６〜ステップＳＢ９の処理により、奏法スイッチがＯＮの時（発音条件１が満たされる時）に、特定のベロシティ値もしくは音量値を有するノートオンイベントが発生する（発音条件２が満たされる）と特殊発音エレメント２を選択し、発音条件１のみを満たす場合には、特殊発音エレメント１を選択することができる。
【００７９】
ステップＳＢ１０では、奏法スイッチ状態変数が「ＴＲＵＥ」から「ＦＡＬＳＥ」に遷移したか否かを判断する。奏法スイッチ状態変数が「ＴＲＵＥ」から「ＦＡＬＳＥ」に遷移した場合は、ＹＥＳの矢印で示すステップＳＢ１１に進み、図４の発音管理データＭＤのシーケンスリストのインデックスＩＸをリセットし（インデックスを先頭に戻し）、ステップＳＢ１２に進む。その他の場合は、ＮＯの矢印で示すように、ステップＳＢ１１を飛ばしてステップＳＢ１２に進む。奏法スイッチＯＮ状態から奏法スイッチがＯＦＦ状態になり、一時的に選択されていた特殊発音エレメントから通常のシーケンスリストに戻る場合に、この処理によりインデックスがリセットされ、通常のシーケンスのエレメントを先頭から発音再開することが可能となる。なお、このステップＳＢ１０での処理を後述する第４の実施例におけるステップＳＢ４０１（図１６）と同様のものとして、リセット条件ＲＣを満たすか否かを判断するものとしてもよい。その場合には、図４のボイスデータＶＤ中にリセット条件ＲＣを記録するようにする。
【００８０】
ステップＳＢ１２では、図１のＲＡＭ７内に記録されている図４の発音管理データＭＤ内の最後のノートオフ時刻ＦＴからステップＳＢ２で取得した現在時刻までが所定時間（例えば、３５０ｍｓｅｃ）以上か否かを判断する。所定時間以上である場合は、ＹＥＳの矢印で示すステップＳＢ１３に進み、所定時間未満である場合は、ＮＯの矢印で示すステップＳＢ１５に進む。
【００８１】
ステップＳＢ１３では、図４の発音管理データＭＤ中の発音中ノートリストＮＬ内に記録されているノート情報ＮＩのリリース状態フラグＲＦが全て「ＴＲＵＥ」か否かを判断する。全て「ＴＲＵＥ」である場合には、ＹＥＳの矢印で示すステップＳＢ１４に進む。１つでも「ＦＡＬＳＥ」がある場合には、発音中の楽音があるものと判断して、ＮＯの矢印で示すステップＳＢ１５に進む。なお、発音中ノートリストＮＬ内にノート情報ＮＩが記録されていない場合は、発音中の楽音が無いので、ＹＥＳの矢印で示すステップＳＢ１４に進む。
【００８２】
ステップＳＢ１４では、図４の発音管理データＭＤのシーケンスリストのインデックスＩＸをリセットし（インデックスを先頭に戻し）、その後、ステップＳＢ１７に進む。
【００８３】
以上のステップＳＢ１２〜ＳＢ１４の処理により、最後のノートオフ時刻から一定時間が経過した後にノートンイベントがあった場合に、シーケンスのインデックスをリセットして、複数エレメントを先頭から発音再開することができる。
【００８４】
ステップＳＢ１５では、図１のＲＡＭ７内に記録されている図４の発音管理データＭＤ内の最後のノートオン時刻ＯＴからステップＳＢ２で取得した現在時刻までが所定時間（例えば、３０ｍｓｅｃ又は７０ｍｓｅｃ）未満か否かを判断する。所定時間未満である場合は、ＹＥＳの矢印で示すステップＳＢ１７に進み、所定時間以上である場合は、ＮＯの矢印で示すステップＳＢ１６に進む。
【００８５】
ステップＳＢ１６では、図４の発音管理データＭＤのシーケンスリストのインデックスＩＸを１つ進め、その後、ステップＳＢ１７に進む。なお、インデックスＩＸがシーケンスリストＳＬの最後尾のエレメント情報ＥＬを指し示している場合には、インデックスを先頭に戻す。
【００８６】
以上のステップＳＢ１５〜ＳＢ１６の処理により、最後のノートオン時刻から一定時間が経過していないうちにノートオンイベントがあった場合に、シーケンスのインデックスを進めずに、同一エレメントを再度発音させることができる。
【００８７】
ステップＳＢ１７では、図４の発音管理データＭＤのシーケンスリストのインデックスＩＸが指し示すエレメント（エレメント情報ＥＬ）を選択する。その後、ステップＳＢ１８に進む。
【００８８】
ステップＳＢ１８では、使用可能な発音チャンネル８２を確保し、ステップＳＢ８、ＳＢ９又はステップＳＢ１７で選択したエレメントを確保した発音チャンネル８２で発音させるように音源１８に指示する。具体的には、音源１８で現在使用していない発音チャンネル８２を選択し、発音すべき波形データへの参照情報をボイスデータＶＤから読み出し、音源レジスタ８４に書き込むことにより、発音を指示する。
【００８９】
ステップＳＢ１９では、ステップＳＢ１８で発音指示を行った楽音（ノート）の情報（エントリー）を図４の発音管理データＭＤ中の発音中ノートリストＮＬの最後尾に追加する。具体的には、図５のステップＳＡ４で検出したノートオンイベントのノート番号ＮＮとステップＳＢ１８で確保した発音チャンネル８２の管理情報ＣＭ（発音チャンネル８２を特定する情報を含む）と「ＦＡＬＳＥ」の値のリリース状態フラグＲＦをまとめて１つのエントリーとして発音中ノートリストＮＬに追加する。
【００９０】
ステップＳＢ２０では、図１のＲＡＭ７内に記録されている図４の発音管理データＭＤ内の最後のノートオン時刻ＯＴをステップＳＢ２で取得した現在時刻で更新する。その後、ステップＳＢ２１に進み、ノートオン処理を終了して図５のステップＳＡ３に戻る。
【００９１】
図７は、図５のステップＳＡ７で実行されるノートオフ処理を表すフローチャートである。なお、このノートオフ処理本発明の各実施例において共通の処理である。
【００９２】
ステップＳＣ１で、ノートオフ処理を開始し、ステップＳＣ２では、タイマ１０（図１）から現在時刻を取得し、図１のＲＡＭ７内に記録されている図４の発音管理データＭＤ内の最後のノートオフ時刻ＦＴを当該取得した現在時刻で更新する。
【００９３】
ステップＳＣ３では、図５のステップＳＡ４で検出したノートオフイベントからノート番号を抽出する。
【００９４】
ステップＳＣ４では、図１のＲＡＭ７内に記録されている図４の発音管理データＭＤ内の発音中ノートリストＮＩから、ステップＳＣ３で抽出したノート番号と同一のノート番号ＮＮを含むエントリー（ノート情報ＮＩ）を検索する。
【００９５】
ステップＳＣ５では、ステップＳＣ４で検出された全エントリー（ノート情報ＮＩ）のリリース状態フラグＲＦを「ＴＲＵＥ」に設定する。
【００９６】
ステップＳＣ６では、ステップＳＣ４で検出された全エントリー（ノート情報ＮＩ）の発音中ノート（楽音）について音源１８にリリースを指示する。その後、ステップＳＣ７に進みノートオフ処理を終了して図５のステップＳＡ３に戻る。ここでの音源１８へのリリースの指示は、例えば、検出されたノート情報ＮＩの発音チャンネル管理情報ＣＭから当該ノート情報ＮＩに対応する楽音を発音中の音源１８の発音チャンネル８２を特定し、以降、その発音チャンネル８２がリリースしながら楽音生成するように、音源レジスタ８４に設定を書き込むことにより行う。リリース中は、徐々に減衰するようにＥＧ部１８５からエンベロープデータが音量制御部１８３に供給される。
【００９７】
以上、本発明の第１の実施例によれば、キーオンイベントから次のキーオンイベントまでの間隔が一定時間未満の場合に、双方のキーオンイベントに対して同一のエレメント（波形データ）を用いて発音を行い、エレメントのシーケンスを進めないことができる。
【００９８】
また、キーオフイベントから次のキーオフイベントまでの間隔が一定時間以上である場合に、エレメントのシーケンスをリセットして先頭のエレメントから発音を再開することができる。
【００９９】
さらに、一定の発音条件を満たす状態でのキーオンイベントに対して、通常のシーケンスで用いられるエレメントとは異なるエレメントを用いて発音を行うことができる。これにより、ユーザは所望のタイミングで所望のエレメントの一時的に切り替えることができる。
【０１００】
なお、本発明の第１の実施例では、図６に示すノートオン処理において、ノートオンイベントのたびにステップＳＢ２０にて最後のノートオン時刻ＯＴを更新するようにしたが、それに替えて、ステップＳＢ１５にて所定時間未満であると判断された時には、ステップＳＢ２０にて最後のノートオン時刻ＯＴを更新せず、所定時間以上であると判断された場合のみにステップＳＢ２０にて最後のノートオン時刻ＯＴを更新するようにしてもよい。この場合、図３（Ａ）に示す例では、時刻ｔ１で「Ｓｈｕ」を発音する際に最後のノートオン時刻ＯＴは時刻ｔ１となるが、時刻ｔ２で「Ｓｈｕ」を発音する際には、最後のノートオン時刻ＯＴは時刻ｔ２に更新されず時刻ｔ１のままとなる。そして、時刻ｔ３で発音するエレメントは、時刻ｔ２からの経過時間が所定時間以上である場合に「Ｓｈｕ」の次の「Ｂｅｅ」が発音されるのではなく、時刻ｔ１からの経過時間が所定時間以上である場合に、「Ｓｈｕ」の次の「Ｂｅｅ」が発音されることとなる。
【０１０１】
次に、本発明の第２の実施例について説明する。第２の実施例は、複数のシーケンスリストを含むボイスデータを選択して、発音条件によりシーケンスリストを切り換えるものである。第２の実施例では、図１及び図２に示すハードウェア構成は第１の実施例と同様であり、また、図５に示すメイン処理及び図７に示すノートオフ処理も第１の実施例と同様である。以下、第１の実施例と異なる部分についてのみ説明する。
【０１０２】
図８（Ａ）及び（Ｂ）は、本発明の第２の実施例による楽音生成の例を表すタイムチャートである。なお、本発明の第２の実施例では、「Ｄｏｏ、Ｂｅｅ、Ｄｏｏ…」という一連の発音を行うためのシーケンスリストと、「Ｓｈｕ、Ｂｅｅ、Ｄａｈ、Ｂａｈ…」という一連の発音を行うためのシーケンスリストとを有するボイスデータＶＤが選択されている。
【０１０３】
図８（Ａ）は、奏法スイッチＯＮ操作（発音条件）により、第１のシーケンスの途中で、第２のシーケンスに切り換える例を表している。
【０１０４】
第１のシーケンスである「Ｄｏｏ、Ｂｅｅ、Ｄｏｏ…」を「Ｄｏｏ」、「Ｂｅｅ」、「Ｄｏｏ」と発音した後に、タイミングｔ１０にて奏法スイッチＯＮ操作がなされる。その後、シーケンスが第２のシーケンスに切り替わり、「Ｓｈｕ」、「Ｂｅｅ」、「Ｄａｈ」、「Ｂａｈ」と発音がなされる。なお、図示は省略するが、奏法スイッチＯＦＦ操作がなされるとシーケンスは第１のシーケンスに戻る。すなわち、この例では、奏法スイッチＯＦＦ状態では、第１のシーケンスのエレメントが選択され、奏法スイッチＯＮ状態では、第２のシーケンスのエレメントが選択される。
【０１０５】
図８（Ｂ）は、ノートオンイベントの音域（発音条件）により、第１のシーケンスと第２のシーケンスとを切り換える例を表している。
【０１０６】
この例では、ノートオンイベントのノート番号が所定値以上（高音域）であれば、第１のシーケンスのエレメントが選択され、所定値未満（低音域）であれば、第２のシーケンスのエレメントが選択される。
【０１０７】
図９は、本発明の第２の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【０１０８】
第１の実施例における発音管理データＭＤのシーケンスリストのインデックスＩＸが、第２の実施例では、シーケンスリストのインデックスＩＸ１と、ＩＸ２の独立した２系統になっている。その他の構成は、第１の実施例と同様である。また、シーケンスリストのインデックスＩＸ１と、ＩＸ２もそれぞれ第１の実施例におけるシーケンスリストのインデックスＩＸと同様の構成である。
【０１０９】
また、ボイスデータＶＤには、シーケンスリストのインデックスＩＸ１と、ＩＸ２にそれぞれ対応してシーケンスリストＳＬ１とＳＬ２が用意されており、特殊発音用エレメントＳＥが省略されている。その他の構成は、第１の実施例と同様である。また、シーケンスリストＳＬ１の構成も、第１の実施例によるシーケンスリストＳＬと同様である。なお、シーケンスリストＳＬ２には、シーケンスリストＳＬ１からＳＬ２に切り換えるための条件となる発音条件ＰＮが記録されている。奏法スイッチＯＮ状態で切り替えを行う場合は、この発音条件にその旨が記録され、音域で切り替えを行う場合は、切り換えるポイントとなるノート番号が記録される。なお、発音条件ＰＮは、シーケンスリストＳＬ２ではなくＳＬ１に記録するようにしてもよい。また、第２の実施例における発音条件ＰＮは、「奏法スイッチＯＮ」や「所定値以上のノート番号」に限らず、「所定値以上のベロシティ」等でもよい。また、ノート番号やベロシティ値の場合は、「所定範囲内のノート番号」や「所定範囲内のベロシティ値」を発音条件ＰＮとしてもよい。
【０１１０】
第２の実施例においては、ボイスデータＶＤは、独立した２つのシーケンスリストＳＬ１とＳＬ２を記録しており、発音管理データＭＤもそれに対応して２つのインデックスＩＸ１とＩＸ２とを保持している。これにより、発音条件に従い２つのシーケンスを切り換えることができる。
【０１１１】
図１０は、本発明の第２の実施例において、図５のステップＳＡ６で実行されるノートオン処理を表すフローチャートである。
【０１１２】
第２の実施例は、第１の実施例の図６に示すノートオン処理のうち、ステップＳＢ６〜ＳＢ１７を後述のステップＳＢ２０１〜ＳＢ２０８に差し替えることにより実現可能である。なお、ステップＳＢ１〜ＳＢ３及びＳＢ１８〜ＳＢ２１の処理は、第１の実施例と同様であるので、図示及びその説明を省略する。
【０１１３】
ステップＳＢ４では、図５のステップＳＡ３で選択したボイスデータＶＤのモード情報ＭＩを参照して、サイクル発音「ＷａｖｅＣｙｃｌｅ」をすべきボイスか否かを判断する。サイクル発音するべきボイスである場合は、ＹＥＳの矢印で示すステップＳＢ２０１に進み、サイクル発音するべきボイスでない場合は、ＮＯの矢印で示すステップＳＢ５に進む。なお、ステップＳＢ５では、その他の発音モード（サイクル発音ではない通常の発音等）に応じたエレメントを選択して、ステップＳＢ１８に進む。
【０１１４】
ステップＳＢ２０１では、図９の発音条件ＰＮを満たす状態から発音条件ＰＮを満たさない状態に遷移したか、もしくは、図９の発音条件ＰＮを満たさない状態から発音条件ＰＮを満たす状態に遷移したかを判断する。発音条件ＰＮを満たす状態から満たさない状態に遷移した場合は、Ａの矢印で示すステップＳＢ２０２に進み、逆に満たさない状態から満たす状態に遷移した場合は、Ｂの矢印で示すステップＳＢ２０３に進む。図９の発音条件ＰＮが「奏法スイッチＯＮ」である場合は、「奏法スイッチがＯＮ（図９の奏法スイッチ状態変数ＳＶが「ＴＲＵＥ」に設定されている状態）」から「奏法スイッチがＯＦＦ（図９の奏法スイッチ状態変数ＳＶが「ＦＡＬＳＥ」に設定されている状態）」に遷移したかもしくはその逆に遷移したかを判断する。これは、例えば、奏法スイッチＯＮ操作又はＯＦＦ操作を検出して判断する。図９の発音条件ＰＮが「所定値以上のノート番号」である場合は、図６のステップＳＢ２で抽出したノート番号が所定値未満から所定値以上に遷移したかもしくは所定値以上から所定値未満に遷移したかを判断する。また、図９の発音条件ＰＮが「所定値以上のベロシティ」である場合も「所定値以上のノート番号」である場合と同様である。
【０１１５】
ステップＳＢ２０２では、図９の発音管理データＭＤのシーケンスリストのインデックスＩＸ１をリセットする（インデックスを先頭に戻す）。その後、ステップＳＢ２０４に進む。
【０１１６】
ステップＳＢ２０３では、図９の発音管理データＭＤのシーケンスリストのインデックスＩＸ２をリセットする（インデックスを先頭に戻す）。その後、ステップＳＢ２０４に進む。
【０１１７】
なお、ステップＳＢ２０１〜ＳＢ２０３は、必須の処理ではなく、省略してもよい。その場合は、シーケンスリストを切り換えた後に、再度もとのシーケンスリストに復帰した場合に、従前のシーケンスの続きから発音がなされる。図８（Ｂ）に示す例では、このステップＳＢ２０１〜ＳＢ２０３の処理が省略されており、高音域の演奏後に低音域の演奏を行い、再度高音域の演奏を行っても、シーケンスリストのインデックスはリセットされない。なお、ステップＳＢ２０１〜ＳＢ２０３の処理を省略する場合は、図９の発音管理データＭＤのシーケンスリストのインデックスは、ＩＸ１とＩＸ２の二つが必要となるが、省略しない場合は、シーケンスリストを切り換えるたびにリセットするので、第１の実施例と同様に１つのインデックスのみを用いてもよい。
【０１１８】
ステップＳＢ２０４は、図９の発音条件ＰＮを満たすか否かを判断する。発音条件ＰＮを満たす場合は、ＹＥＳの矢印で示すステップＳＢ２０５に進み、図９の発音管理データＭＤのシーケンスリストのインデックスＩＸ１を１つ進め、その後、ステップＳＢ２０６に進む。なお、インデックスＩＸ１がシーケンスリストＳＬ１の最後尾のエレメント情報ＥＬを指し示している場合には、インデックスを先頭に戻す。発音条件ＰＮを満たさない場合は、ＮＯの矢印で示すステップＳＢ２０７に進み、図９の発音管理データＭＤのシーケンスリストのインデックスＩＸ２を１つ進め、その後、ステップＳＢ２０８に進む。なお、インデックスＩＸ２がシーケンスリストＳＬ１の最後尾のエレメント情報ＥＬを指し示している場合には、インデックスを先頭に戻す。
【０１１９】
ステップＳＢ２０４の処理において、図９の発音条件ＰＮが「奏法スイッチＯＮ」である場合は、「奏法スイッチがＯＮ（図９の奏法スイッチ状態変数ＳＶが「ＴＲＵＥ」に設定されている状態）」か否かを判断する。図９の発音条件ＰＮが「所定値以上のノート番号」である場合は、図６のステップＳＢ２で抽出したノート番号が所定値以上か否かを判断する。また、図９の発音条件ＰＮが「所定値以上のベロシティ」である場合も「所定値以上のノート番号」である場合と同様に、図６のステップＳＢ２で抽出したベロシティ値が所定値以上か否かを判断する。
【０１２０】
ステップＳＢ２０６では、図９の発音管理データＭＤのシーケンスリストのインデックスＩＸ１が指し示すエレメント（エレメント情報ＥＬ）を選択する。その後、図６のステップＳＢ１８に進む。
【０１２１】
ステップＳＢ２０８では、図９の発音管理データＭＤのシーケンスリストのインデックスＩＸ２が指し示すエレメント（エレメント情報ＥＬ）を選択する。その後、図６のステップＳＢ１８に進む。
【０１２２】
以上、本発明の第２の実施例によれば、発音条件に従い２つのシーケンスを切り換えることができる。
【０１２３】
次に、本発明の第３の実施例について説明する。第３の実施例は、発音条件により通常のシーケンスリストに従った発音と単一エレメントによる発音とを切り換えるものである。第３の実施例では、図１及び図２に示すハードウェア構成は第１の実施例と同様であり、また、図５に示すメイン処理及び図７に示すノートオフ処理も第１の実施例と同様である。以下、第１の実施例と異なる部分についてのみ説明する。
【０１２４】
図１１は、本発明の第３の実施例による楽音生成の例を表すタイムチャートである。ノートオンイベントの音域（発音条件）により、通常のシーケンスリストに従った発音と単一エレメントによる発音とを切り換える例を表している。
【０１２５】
この例では、ノートオンイベントのノート番号が所定値以上（高音域）であれば、通常のシーケンスのエレメント「Ｓｈｕ」、「Ｂｅｅ」、「Ｄｏｏ」、「Ｂａｈ」が順次選択され、所定値未満（低音域）であれば、単一エレメント「Ｂｏｏｍ」が常に選択される。
【０１２６】
図１２は、本発明の第３の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【０１２７】
発音管理データＭＤは、第１の実施例と同様である。ボイスデータＶＤは、特殊発音用エレメントＳＥに代えて、発音条件ＰＮを満たす場合に選択される単一エレメントを指定するエレメント指定情報ＥＡが記録されている。また、シーケンスリストＳＬには、シーケンスリストＳＬから単一エレメントに切り換えるための条件となる発音条件ＰＮが記録されている。本実施例では、音域により切り替えを行うので、発音条件ＰＮには、切り換えるポイントとなるノート番号が記録される（本実施例の場合は、発音条件は「所定値未満のノート番号」となる）。なお、発音条件ＰＮは、シーケンスリストＳＬではなくエレメント指定情報ＥＡに記録するようにしてもよい。その他の構成は、第１の実施例と同様である。なお、第２の実施例における発音条件ＰＮは、「所定値未満のノート番号」に限らず、「所定値以上のノート番号」、「奏法スイッチＯＮ」や「所定値以上（又は未満）のベロシティ」等でもよい。また、「所定範囲内のノート番号」や「所定範囲内のベロシティ値」を発音条件ＰＮとしてもよい。
【０１２８】
第３の実施例においては、ボイスデータＶＤは、シーケンスリストＳＬと単一エレメントを指定するエレメント指定情報ＥＡを記録している。これにより、発音条件に従い通常のシーケンスによる発音と、単一のエレメントのみを用いた発音とを切り換えることができる。
【０１２９】
図１３は、本発明の第３の実施例において、図５のステップＳＡ６で実行されるノートオン処理を表すフローチャートである。
【０１３０】
第３の実施例は、第１の実施例の図６に示すノートオン処理のうち、ステップＳＢ６〜ＳＢ１７を後述のステップＳＢ３０１〜ＳＢ３０６に差し替えることにより実現可能である。なお、ステップＳＢ１〜ＳＢ３及びＳＢ１８〜ＳＢ２１の処理は、第１の実施例と同様であるので、図示及びその説明を省略する。
【０１３１】
ステップＳＢ４では、図５のステップＳＡ３で選択したボイスデータＶＤのモード情報ＭＩを参照して、サイクル発音「ＷａｖｅＣｙｃｌｅ」をすべきボイスか否かを判断する。サイクル発音するべきボイスである場合は、ＹＥＳの矢印で示すステップＳＢ３０１に進み、サイクル発音するべきボイスでない場合は、ＮＯの矢印で示すステップＳＢ５に進む。なお、ステップＳＢ５では、その他の発音モード（サイクル発音ではない通常の発音等）に応じたエレメントを選択して、ステップＳＢ１８に進む。
【０１３２】
ステップＳＢ３０１では、リセット条件を満たすか否かを判断する。リセット条件を満たす場合は、ＹＥＳの矢印で示すステップＳＢ３０２に進み、図１２の発音管理データＭＤのシーケンスリストのインデックスＩＸをリセットし（インデックスを先頭に戻し）、ステップＳＢ３０３に進む。リセット条件を満たさない場合は、ＮＯの矢印で示すように、ステップＳＢ３０２を飛ばしてステップＳＢ３０３に進む。なお、本実施例におけるリセット条件は、「発音条件ＰＮを満たさない状態から満たす状態に遷移すること」である。もしくは「奏法スイッチＯＮ」をリセット条件とすることもできる。なお、このステップＳＢ３０１及びＳＢ３０２の処理は省略することができる。図１１に示した例では、ステップＳＢ３０１及びＳＢ３０２の処理は省略されている。
【０１３３】
ステップＳＢ３０３では、図１２の発音条件ＰＮを満たすか否かを判断する。発音条件ＰＮを満たす場合は、ＹＥＳの矢印で示すステップＳＢ３０４に進む。発音条件ＰＮを満たさない場合は、ＮＯの矢印で示すステップＳＢ３０５に進み、図１２の発音管理データＭＤのシーケンスリストのインデックスＩＸを１つ進め、その後、ステップＳＢ３０６に進む。なお、インデックスＩＸがシーケンスリストＳＬの最後尾のエレメント情報ＥＬを指し示している場合には、インデックスを先頭に戻す。
【０１３４】
ステップＳＢ３０３の処理において、図９の発音条件ＰＮが「所定値未満（又は以上）のノート番号」である場合は、図６のステップＳＢ２で抽出したノート番号が所定値未満（又は以上）か否かを判断する。また、図９の発音条件ＰＮが「所定値以上（又は未満）のベロシティ」である場合も「所定値以上のノート番号」である場合と同様に、図６のステップＳＢ２で抽出したベロシティ値が所定値以上（又は未満）か否かを判断する。また、図９の発音条件ＰＮが「奏法スイッチＯＮ」である場合は、「奏法スイッチがＯＮ（図９の奏法スイッチ状態変数ＳＶが「ＴＲＵＥ」に設定されている状態）」か否かを判断する。
【０１３５】
ステップＳＢ３０４では、図１２のエレメント指定情報ＥＡ中の単一エレメント（エレメント情報ＥＬ）を選択する。その後、図６のステップＳＢ１８に進む。
【０１３６】
ステップＳＢ３０６では、図１２の発音管理データＭＤのシーケンスリストのインデックスＩＸが指し示すエレメント（エレメント情報ＥＬ）を選択する。その後、図６のステップＳＢ１８に進む。
【０１３７】
以上、本発明の第３の実施例によれば、発音条件に従い通常のシーケンスによる発音と、単一のエレメントのみを用いた発音とを切り換えることができる。
【０１３８】
次に、本発明の第４の実施例について説明する。第４の実施例は、リセット条件を満たす場合にシーケンスリストのインデックスをリセット（先頭に戻す）ものである。第４の実施例では、図１及び図２に示すハードウェア構成は第１の実施例と同様であり、また、図５に示すメイン処理及び図７に示すノートオフ処理も第１の実施例と同様である。以下、第１の実施例と異なる部分についてのみ説明する。
【０１３９】
図１４は、本発明の第４の実施例による楽音生成の例を表すタイムチャートである。リセット条件（この例では、奏法スイッチ操作（ＯＮ又はＯＦＦ操作）の検出）を満たした場合に、シーケンスのインデックスを、ノートオン時刻及びノートオフ時刻等に関わらずリセットする。
【０１４０】
図１５は、本発明の第４の実施例による発音管理データ及びボイスデータの構成の一例を表す概念図である。
【０１４１】
発音管理データＭＤは、第１の実施例と同様である。ボイスデータＶＤは、特殊発音用エレメントＳＥを省略し、シーケンスリストＳＬにリセット条件ＲＣを追加している。リセット条件ＲＣは、奏法スイッチのＯＮ状態からＯＦＦ状態への遷移（ＯＦＦ操作の検出）、及びその逆の遷移（ＯＮ操作の検出）、その他の特定操作子の操作の検出等である。その他の構成は、第１の実施例と同様である。
【０１４２】
なお、本実施例では、「奏法スイッチ操作」をリセット条件ＲＣとしているが、リセット条件ＲＣは、これに限らず、例えば、「奏法スイッチＯＮ操作」のみ、又は「奏法スイッチＯＦＦ操作」のみ、「所定値以上（又は未満、もしくは所定範囲内）のノート番号（又はベロシティ値）」、所定操作子（設定操作子１２又は演奏操作子２２）の操作等とすることができる。すなわち、第４の実施例ではユーザの指示により所望のタイミングでシーケンスのリセットを可能とするものなので、リセット条件ＲＣは、ユーザがシーケンスのリセットタイミングを指示できるものであればよい。
【０１４３】
第４の実施例においては、ボイスデータＶＤは、シーケンスリストＳＬにリセット条件ＲＣを記録している。これにより、ユーザは所望のタイミングでリセット条件を満たす操作を行うことにより、シーケンスリストのインデックスをリセット（先頭に戻す）ことが可能となる。
【０１４４】
図１６は、本発明の第４の実施例において、図５のステップＳＡ６で実行されるノートオン処理を表すフローチャートである。
【０１４５】
第４の実施例は、第１の実施例の図６に示すノートオン処理のうち、ステップＳＢ６〜ＳＢ１７を後述のステップＳＢ４０１〜ＳＢ４０４に差し替えることにより実現可能である。なお、ステップＳＢ１〜ＳＢ３及びＳＢ１８〜ＳＢ２１の処理は、第１の実施例と同様であるので、図示及びその説明を省略する。
【０１４６】
ステップＳＢ４では、図５のステップＳＡ３で選択したボイスデータＶＤのモード情報ＭＩを参照して、サイクル発音「ＷａｖｅＣｙｃｌｅ」をすべきボイスか否かを判断する。サイクル発音するべきボイスである場合は、ＹＥＳの矢印で示すステップＳＢ４０１に進み、サイクル発音するべきボイスでない場合は、ＮＯの矢印で示すステップＳＢ５に進む。なお、ステップＳＢ５では、その他の発音モード（サイクル発音ではない通常の発音等）に応じたエレメントを選択して、ステップＳＢ１８に進む。
【０１４７】
ステップＳＢ４０１では、リセット条件を満たすか否かを判断する。リセット条件を満たす場合は、ＹＥＳの矢印で示すステップＳＢ４０２に進み、図１５の発音管理データＭＤのシーケンスリストのインデックスＩＸをリセットし（インデックスを先頭に戻し）、ステップＳＢ４０３に進む。リセット条件を満たさない場合は、ＮＯの矢印で示すように、ステップＳＢ４０２を飛ばしてステップＳＢ４０３に進む。なお、本実施例におけるリセット条件は、「奏法スイッチ状態変数が変化すること」、すなわち、奏法スイッチのＯＮ操作又はＯＦＦ操作の検出である。この処理により、所望のタイミングで、奏法スイッチを操作してインデックスをリセットし、シーケンスのエレメントを先頭から発音させることが可能となる。
【０１４８】
ステップＳＢ４０３では、図１５の発音管理データＭＤのシーケンスリストのインデックスＩＸを１つ進め、その後、ステップＳＢ４０４に進む。なお、インデックスＩＸがシーケンスリストＳＬの最後尾のエレメント情報ＥＬを指し示している場合には、インデックスを先頭に戻す。
【０１４９】
ステップＳＢ４０４では、図１５の発音管理データＭＤのシーケンスリストのインデックスＩＸが指し示すエレメント（エレメント情報ＥＬ）を選択する。その後、図６のステップＳＢ１８に進む。
【０１５０】
以上、本発明の第４の実施例によれば、ユーザは所望のタイミングでリセット条件を満たす操作を行うことにより、シーケンスリストのインデックスをリセット（先頭に戻す）ことが可能となる。
【０１５１】
なお、本発明の各実施例は、適宜組み合わせることが可能である。例えば、第１の実施例と第２の実施例とを組み合わせて、音域によりシーケンスリストを切り替えると共に、奏法スイッチＯＮ状態又は特定のベロシティでは、特殊発音用エレメントを選択するようにしてもよい。また、例えば、第１〜第３の実施例に対して、第４の実施例によるリセット条件を設定することも可能である。
【０１５２】
なお、本発明の各実施例は、電子楽器の形態に限らず実施例に対応するコンピュータプログラム等をインストールした市販のコンピュータ等によって、実施させるようにしてもよい。
【０１５３】
その場合には、各実施例に対応するコンピュータプログラム等を、ＣＤ−ＲＯＭ等のコンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。また、そのコンピュータ等が、ＬＡＮ、インターネット、電話回線等の通信ネットワークに接続されている場合には、通信ネットワークを介して、コンピュータプログラムや各種データ等をユーザに提供してもよい。
【０１５４】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。以下に、本発明の実施例に変形例を示す。
【符号の説明】
【０１５５】
６…バス、７…ＲＡＭ、８…ＲＯＭ、９…ＣＰＵ、１０…タイマ、１１…検出回路、１２…設定操作子、１３…表示回路、１４…ディスプレイ、１５…外部記憶装置、１８…波形メモリ音源、１９…サウンドシステム、２０…ＤＡＣ、２１…通信Ｉ／Ｆ、２２…演奏操作子、８１…波形メモリ、８２…発音チャンネル、８３…混合エフェクト処理部、８４…音源レジスタ、１８１…波形読出部、１８２…音色フィルタ部、１８３…音量制御部、１８４…ＬＦＯ部、１８５…ＥＧ部、１００…楽音生成装置
【図１】
2011203583.tif 000003
【図２】
2011203583.tif 000004
【図３】
2011203583.tif 000005
【図４】
2011203583.tif 000006
【図５】
2011203583.tif 000007
【図６】
2011203583.tif 000008
【図７】
2011203583.tif 000009
【図８】
2011203583.tif 000010
【図９】
2011203583.tif 000011
【図１０】
2011203583.tif 000012
【図１１】
2011203583.tif 000013
【図１２】
2011203583.tif 000014
【図１３】
2011203583.tif 000015
【図１４】
2011203583.tif 000016
【図１５】
2011203583.tif 000017
【図１６】
2011203583.tif 000018