(57)【要約】【課題】演奏データを読み出して再生する際にフェルマータ演奏を可能にすることを課題とする。【解決手段】フェルマータを指示するためのフェルマータ操作子と、演奏データを読み出して再生処理を行う際に、フェルマータ操作子の操作によりフェルマータが指示されているときには次の演奏データの読み出しを待機し、現在発音処理中の音があればその音を消音処理しない再生手段とを有する電子楽器が提供される。【選択図】        図２
2004240256.tif 000002
【特許請求の範囲】
【請求項１】
フェルマータを指示するためのフェルマータ操作子と、
演奏データを読み出して再生処理を行う際に、前記フェルマータ操作子の操作によりフェルマータが指示されているときには次の演奏データの読み出しを待機し、現在発音処理中の音があればその音を消音処理しない再生手段とを有する電子楽器。
【請求項２】
前記演奏データは時間情報を有し、
前記再生手段は、前記フェルマータ操作子の操作によりフェルマータが指示されていないときには、前記演奏データ内の時間情報に応じて演奏を進行させる請求項１記載の電子楽器。
【請求項３】
前記再生手段は、前記フェルマータ操作子の操作によりフェルマータが指示された後にその指示が解除されると、待機していた次の演奏データを読み出して再生処理を行う請求項１又は２記載の電子楽器。
【請求項４】
前記演奏データは、ノートオンイベント及びノートオフイベントを含み、
前記再生手段は、読み出した演奏データがノートオンイベントであれば発音処理を行い、読み出した演奏データがノートオフイベントであれが消音処理を行う請求項１〜３のいずれか１項に記載の電子楽器。
【請求項５】
前記再生手段は、持続音の発音中に前記フェルマータが指示されると、その発音中の音をのばして発音処理する請求項１〜４のいずれか１項に記載の電子楽器。
【請求項６】
前記再生手段は、減衰音の発音中に前記フェルマータが指示されても、その発音中の音をのばさないで発音処理する請求項１〜４のいずれか１項に記載の電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器に関し、特に演奏データの再生を行う電子楽器に関する。
【０００２】
【従来の技術】
電子楽器には、演奏データを順次読み出して再生する自動演奏機能を有するものがある。また、楽譜上の記号として、フェルマータがある。フェルマータは、音符や休符を任意の長さにのばすものである。自動演奏は、演奏データに応じて進行する。したがって、自動演奏においてユーザがリアルタイムにフェルマータを指示することができない。
また、下記の特許文献１が公開されている。
【０００３】
【特許文献１】
特開平４−１５６５９２号公報
【０００４】
【発明が解決しようとする課題】
本発明の目的は、演奏データを読み出して再生する際にフェルマータ演奏を可能にすることである。
【０００５】
【課題を解決するための手段】
本発明の一観点によれば、フェルマータを指示するためのフェルマータ操作子と、演奏データを読み出して再生処理を行う際に、前記フェルマータ操作子の操作によりフェルマータが指示されているときには次の演奏データの読み出しを待機し、現在発音処理中の音があればその音を消音処理しない再生手段とを有する電子楽器が提供される。
【０００６】
本発明によれば、フェルマータ操作子の操作によりフェルマータを指示することができる。すなわち、演奏データを読み出して再生処理する際に、フェルマータを指示すれば、音符又は休符のフェルマータ効果をリアルタイムで得ることができる。
【０００７】
【発明の実施の形態】
図１は、本発明の実施形態による電子楽器のパネルスイッチ１００の構成を示す。この電子楽器は、自動演奏機能を有する。自動演奏は、演奏データを順次読み出して再生する処理である。パネルスイッチ１００は、フェルマータスイッチ１０１、スタートスイッチ１０２、ストップスイッチ１０３、巻戻しスイッチ１０４及び早送りスイッチ１０５を有する。フェルマータスイッチ１０１は、自動演奏中に任意の箇所でフェルマータを指示するためのスイッチである。例えば、操作者がフェルマータスイッチ１０１を押している間がフェルマータ指示になる。フェルマータにより、所望の音符又は休符を任意の長さにのばすことができる。スタートスイッチ１０２は、自動演奏を開始させるためのスイッチである。ストップスイッチ１０２は、自動演奏を停止させるためのスイッチである。巻戻しスイッチ１０４は、自動演奏の再生位置を巻戻すためのスイッチである。早送りスイッチ１０５は、自動演奏の再生位置を早送りするためのスイッチである。
【０００８】
図２（Ａ）は、通常の自動演奏処理を示す。拍クロックＣＬＫは、拍単位のクロックである。クロックＴ＿Ｃｌｏｃｋは、時間に応じて順次インクリメントされるタイマ値であり、１拍ごとにクリアされる。ノートイベントＮｏｔｅＥｖｅｎｔは、立ち上がりがノートオンイベント（押鍵イベント）、立ち下がりがノートオフイベント（離鍵イベント）を示す。減衰音ＳＡは、例えばピアノの音色であり、ノートイベントＮｏｔｅＥｖｅｎｔに応じた減衰音のエンベロープ波形を示す。持続音ＳＢは、例えばオルガンの音色であり、ノートイベントＮｏｔｅＥｖｅｎｔに応じた持続音のエンベロープ波形を示す。エンベロープ波形は、音量の波形に相当する。操作者は、音色を選択することができる。音色に応じて、減衰音又は持続音になる。
【０００９】
まず、減衰音ＳＡについて説明する。タイミングｔ１においてノートオンイベントが読み出されると、発音処理を行う。すると、エンベロープ波形が立ち上がり、その後、減衰していく。減衰音ＳＡのエンベロープは、ノートオンイベントに依存し、ノートオフイベントに依存しない。
【００１０】
次に、持続音ＳＢについて説明する。タイミングｔ１においてノートオンイベントが読み出されると、発音処理を行う。すなわち、エンベロープ波形が立ち上がり、その後、エンベロープ波形は所定のレベルを維持する。次に、タイミングｔ２において、ノートオフイベントが読み出されると、消音処理を行う。すなわち、エンベロープ波形は減衰していく。持続音ＳＢのエンベロープは、ノートオンイベント及びノートオフイベントに依存する。
【００１１】
図２（Ｂ）は、フェルマータの自動演奏処理を示す。フェルマータフラグＦｅｒｍａｔａ＿Ｆは、フェルマータスイッチ１０１が押された状態がハイレベルであり、フェルマータスイッチ１０１が押されていない状態がローレベルである。
【００１２】
タイミングｔ１において、ノートオンイベントが読み出されると、上記と同様に、減衰音ＳＡ及び持続音ＳＢのエンベロープ波形は立ち上がる。次に、タイミングｔ２において、フェルマータスイッチ１０１を押し、その後、押した状態を維持する。次に、タイミングｔ３において、フェルマータスイッチ１０１を開放する。フェルマータスイッチ１０１が押されている期間ｔ２〜ｔ３はフェルマータが指示されていることになる。
【００１３】
フェルマータが指示されているときには、次の演奏データの読み出しを待機し、現在発音処理中の音があればその音を消音処理しないようにする。減衰音ＳＡの発音中にフェルマータが指示されても、その発音中の音はのびない。すなわち、減衰音ＳＡは、図２（Ａ）のフェルマータが指示されない場合のエンベロープと、図２（Ｂ）のフェルマータが指示された場合のエンベロープとが同じである。
【００１４】
一方、持続音ＳＢの発音中にフェルマータが指示されると、その発音中の音はのびる。すなわち、持続音ＳＢは、図２（Ｂ）のフェルマータが指示された場合のエンベロープが、図２（Ａ）のフェルマータが指示されない場合のエンベロープよりものびる。例えば、ｎ拍目の音符がのびる。
【００１５】
フェルマータ指示中の期間ｔ２〜ｔ３では、拍クロックＣＬＫが中断し、クロックＴ＿Ｃｌｏｃｋのインクリメントも中断する。タイミングｔ３において、フェルマータ指示が解除されると、拍クロックＣＬＫが再開し、クロックＴ＿Ｃｌｏｃｋのインクリメントも再開する。この際、拍クロックＣＬＫは、続きのｎ＋１拍目から再開する。
【００１６】
その後、タイミングｔ４において、ノートオフイベントが読み出されると、消音処理が行われる。これにより、持続音ＳＢは減衰する。フェルマータ指示が解除されると、例えば待機していた次のｎ＋１拍目以降の演奏データを読み出して再生処理する。
【００１７】
演奏データは、時間情報を有する。フェルマータが指示されていないときには、演奏データ内の時間情報に応じて演奏を進行させる。フェルマータが指示されると、音符又は休符がのびる。フェルマータ指示が解除されると、フェルマータ指示時の続きから演奏データの再生処理が再開される。
【００１８】
図３（Ａ）は、演奏データの構成を示す。演奏データは、複数の演奏データ３００が順番に並ぶ。各演奏データ３００は、時間情報３０１及びイベント３０２を有する。時間情報３０１は、前のイベント３０２から自己のイベント３０２までの時間（クロック数）を示す。イベント３０２は、ノートイベント等を含む。
ノートイベントは、ノートオンイベント及びノートオフイベントを含む。
【００１９】
図３（Ｂ）は、ノートイベント３１０の構成を示す。ノートイベント３１０は、ノートコマンド３１１、ノートナンバ３１２及びベロシティ３１３を有する。
ノートコマンド３１１は、ノートイベントであることを示すコマンドである。ノートナンバ３１２は、音高である。ベロシティ３１３は、強さであり、音量などに相当する。ベロシティ３１３の値が１〜１２７であるときにはこのノートイベント３１０がノートオンイベントであることを示し、０であるときにはこのノートイベント３１０がノートオフイベントであることを示す。
【００２０】
図４は、本実施形態による電子楽器のハードウエア構成を示すブロック図である。バス４００には、ＣＰＵ４０１、ＲＯＭ４０２、ＲＡＭ４０３、フレキシブルディスクコントローラ４０４、パネルスキャン回路４０８、及び音源（楽音生成部）４１０が接続されている。
【００２１】
パネルスイッチ４０９は、図１のパネルスイッチ１００に相当し、フェルマータスイッチ１０１及びその他のスイッチ１０２〜１０５を有する。パネルスキャン回路４０８は、パネルスイッチ４０９の操作に応じて操作情報をバス４００に供給する。フレキシブルディスクドライブ４０５は、複数の曲の演奏データを記憶する。フレキシブルディスクコントローラ４０４は、フレキシブルディスクドライブ４０５の演奏データをバス４００に供給する。なお、演奏データはＲＯＭ４０２に記憶させてもよい。
【００２２】
ＣＰＵ４０１は、スタートスイッチ１０２により自動演奏の開始が指示されると、演奏データを読み出し、音源４１０に楽音パラメータを出力する。この際、ＣＰＵ４０１は、フェルマータが指示されると再生処理を中断し、フェルマータ指示が解除されると再生処理を再開する。音源４１０は、楽音パラメータを基に楽音信号を生成し、Ｄ／Ａ変換部４１１に出力する。Ｄ／Ａ変換部４１１は、楽音信号をデジタル形式からアナログ形式に変換して、アンプ４１２に出力する。
アンプ４１２は、楽音信号を増幅し、スピーカ４１３に出力する。スピーカ４１３からは楽音が発音される。
【００２３】
ＲＯＭ４０２は、演奏データ及びコンピュータプログラム等を記憶する。ＣＰＵ４０１は、そのコンピュータプログラムに応じて、後に説明する図５〜図９の処理等を行う。また、ＣＰＵ４０１は、タイマ４１４の時間情報に応じて、後に説明する図６のタイマ割り込み処理を行う。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリア等を有する。
【００２４】
図５は、本実施形態による電子楽器が行う処理のメインルーチンを示すフローチャートである。電子楽器の電源がオンされると、以下の処理を行う。まず、ステップＳ５０１では、後に示すステップＳ５０２〜Ｓ５０４以外の他の処理を行う。次に、ステップＳ５０２では、パネルスイッチ４０９の操作に応じたパネルスイッチ処理を行う。この処理の詳細は、後に図７を参照しながら説明する。次に、ステップＳ５０３では、エンベロープ処理を行う。この処理の詳細は、後に図８を参照しながら説明する。次に、ステップＳ５０４では、シーケンサ再生処理を行う。この処理の詳細は、後に図９を参照しながら説明する。その後、ステップＳ５０１に戻り、処理を繰り返す。
【００２５】
図６は、タイマ割り込みルーチンを示すフローチャートである。この処理は、タイマ４１４の割り込みにより、所定時間（例えば１０ｍｓ）間隔で定期的に行われる。まず、ステップＳ６０１では、後に示すステップＳ６０２及びＳ６０３以外の他の処理を行う。
【００２６】
次に、ステップＳ６０２では、フェルマータフラグＦｅｒｍａｔａ＿Ｆがオンか否かをチェックする。フェルマータフラグＦｅｒｍａｔａ＿Ｆは、フェルマータスイッチ１０１が押されている状態のときにオンになり、押されていない状態のときにオフになる。その詳細は、後に図７を参照しながら説明する。フェルマータフラグＦｅｒｍａｔａ＿ＦがオフであればステップＳ６０３へ進み、オンであれば処理を終了する。
【００２７】
ステップＳ６０３では、クロックＴ＿Ｃｌｏｃｋをインクリメントする。クロックＴ＿Ｃｌｏｃｋは、定時増加するクロックであり、クロック最小単位である。その後、処理を終了する。
【００２８】
図２（Ｂ）に示すように、フェルマータが指示されていないときにはクロックＴ＿Ｃｌｏｃｋがインクリメントされ、フェルマータ指示中はクロックＴ＿Ｃｌｏｃｋがインクリメントされない。
【００２９】
図７は、図５のステップＳ５０２のパネルスイッチ処理の詳細を示すフローチャートである。まず、ステップＳ７０１では、後に示すステップＳ７０２〜Ｓ７０５以外の他の処理を行う。例えば、スイッチ１０２〜１０５の操作に応じて、上記で説明した処理を行う。
【００３０】
次に、ステップＳ７０２では、フェルマータスイッチ１０１の押下操作によりフェルマータスイッチオンイベントが発生したか否かをチェックする。オンイベントが発生していればステップＳ７０３へ進み、オンイベントが発生していなければステップＳ７０４へ進む。ステップＳ７０３では、フェルマータフラグＦｅｒｍａｔａ＿Ｆに１をセットする。その後、ステップＳ７０４へ進む。
【００３１】
ステップＳ７０４では、フェルマータスイッチ１０１の開放操作によりフェルマータスイッチオフイベントが発生したか否かをチェックする。オフイベントが発生していればステップＳ７０５へ進み、オフイベントが発生していなければ処理を終了する。ステップＳ７０５では、フェルマータフラグＦｅｒｍａｔａ＿Ｆに０をセットする。その後、処理を終了する。
【００３２】
図８は、図５のステップＳ５０３のエンベロープ処理の詳細を示すフローチャートである。ステップＳ８０１では、起動されている各チャンネルのエンベロープ波形を作成する。例えば、図２（Ａ）及び（Ｂ）に示す減衰音ＳＡ又は持続音ＳＢのエンベロープ（音量）波形を作成する。その後、処理を終了する。
【００３３】
図９は、図５のステップＳ５０４のシーケンサ再生処理の詳細を示すフローチャートである。まず、ステップＳ９０１では、後に示すステップＳ９０２〜Ｓ９０５以外の他の処理を行う。
【００３４】
次に、ステップＳ９０２では、クロックＴ＿ＣｌｏｃｋがクロックＣｌｏｃｋ以上か否かをチェックする。クロックＣｌｏｃｋは、シーケンサ再生処理に使用するクロックであり、イベントを処理すると、そのイベントクロック数（時間）だけ増加するものである。クロックＴ＿ＣｌｏｃｋがクロックＣｌｏｃｋ以上であればステップＳ９０３へ進み、未満であれば処理を終了する。
【００３５】
ステップＳ９０３では、クロックＴ＿ＣｌｏｃｋとクロックＣｌｏｃｋとの間に演奏データのイベントがあるか否かをチェックする。イベントがあればステップＳ９０４へ進み、なければ処理を終了する。
【００３６】
ステップＳ９０４では、上記のイベントの処理を行う。ノートオンイベントがあればそのノートオンイベントを読み出して発音処理を行う。ノートオフイベントがあればそのノートオフイベントを読み出して消音処理を行う。
【００３７】
次に、ステップＳ９０５では、クロックＣｌｏｃｋにクロックＣｌｏｃｋ＿ｅｖｅｎｔを加算する。クロックＣｌｏｃｋ＿ｅｖｅｎｔは、イベント毎に持っている値であり、一つ前のイベントからのクロック数（相対時間）である。その後、ステップＳ９０３へ戻り、処理を繰り返す。
【００３８】
図６に示したように、クロックＴ＿Ｃｌｏｃｋはフェルマータ指示中には増加しない。そのため、ステップＳ９０２の条件式を満たさず、処理を終了してしまう。その結果、次の演奏データの処理を待機することになる。フェルマータ指示が解除されると、クロックＴ＿Ｃｌｏｃｋの増加が再開され、次の演奏データの処理が再開される。
【００３９】
なお、上記ではフェルマータスイッチの例を説明したが、その他のフェルマータ操作子を用いてもよい。例えば、フットスイッチ又はニースイッチ等のフェルマータ操作子を設けてもよい。
【００４０】
以上のように、本実施形態によれば、演奏データを読み出して再生処理を行う際に、フェルマータ操作子の操作によりフェルマータが指示されているときには次の演奏データの読み出しを待機し、現在発音処理中の音があればその音を消音処理しない。
【００４１】
これにより、フェルマータ操作子の操作によりフェルマータを指示することができる。すなわち、演奏データを読み出して再生処理する際に、フェルマータを指示すれば、音符又は休符のフェルマータ効果をリアルタイムで得ることができる。
【００４２】
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００４３】
【発明の効果】
以上説明したように、フェルマータ操作子の操作によりフェルマータを指示することができる。すなわち、演奏データを読み出して再生処理する際に、フェルマータを指示すれば、音符又は休符のフェルマータ効果をリアルタイムで得ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態による電子楽器のパネルスイッチの構成を示す図である。
【図２】図２（Ａ）は通常の自動演奏処理を示す図であり、図２（Ｂ）はフェルマータの自動演奏処理を示す図である。
【図３】図３（Ａ）は演奏データの構成を示す図であり、図３（Ｂ）はノートイベントの構成を示す図である。
【図４】本実施形態による電子楽器のハードウエア構成を示すブロック図である。
【図５】本実施形態による電子楽器が行う処理のメインルーチンを示すフローチャートである。
【図６】タイマ割り込みルーチンを示すフローチャートである。
【図７】パネルスイッチ処理の詳細を示すフローチャートである。
【図８】エンベロープ処理の詳細を示すフローチャートである。
【図９】シーケンサ再生処理の詳細を示すフローチャートである。
【符号の説明】
１００  パネルスイッチ
１０１  フェルマータスイッチ
１０２  スタートスイッチ
１０３  ストップスイッチ
１０４  巻戻しスイッチ
１０５  早送りスイッチ
４００  バス
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０４  フレキシブルディスクコントローラ
４０５  フレキシブルディスクドライブ
４０８  パネルスキャン回路
４０９  パネルスイッチ
４１０  音源
４１１  Ｄ／Ａ変換部
４１２  アンプ
４１３  スピーカ
４１４  タイマ
【図１】
2004240256.tif 000003
【図２】
2004240256.tif 000004
【図３】
2004240256.tif 000005
【図４】
2004240256.tif 000006
【図５】
2004240256.tif 000007
【図６】
2004240256.tif 000008
【図７】
2004240256.tif 000009
【図８】
2004240256.tif 000010
【図９】
2004240256.tif 000011