(57)【特許請求の範囲】
【請求項１】
演奏データシーケンスを記憶する記憶手段と、
該記憶手段に記憶された演奏データシーケンスを構成する複数の演奏データのうちの少なくとも一部をその発生タイミング順に表示する表示手段と、
該表示手段によって表示された演奏データのうち、その発生タイミングが完全に一致するものまたは所定の時間的近傍内にあるものが複数ある場合に、当該複数の演奏データの表示態様を他の演奏データの表示態様と異ならせて表示させるように前記表示手段を制御する制御手段と
を有し、
前記制御手段は、発生タイミングが完全に一致する複数の演奏データの表示態様と、発生タイミングが完全に一致しないものの、前記所定の時間的近傍内にある複数の演奏データの表示態様とをさらに異ならせて表示させることを特徴とする電子音楽装置。
【請求項２】
各演奏データが当該演奏データの種類を示す種類情報と当該演奏データのチャンネルを示すチャンネル情報を含む、複数の演奏データからなる演奏データシーケンスを記憶する記憶手段と、
該記憶手段に記憶された前記複数の演奏データのうちの少なくとも一部をその発生タイミング順に表示する表示手段と、
該表示手段によって表示された演奏データのうち、その発生タイミングが完全に一致または所定の時間的近傍内にあり、かつその種類情報および／またはチャンネル情報が一致するものが複数ある場合に、当該複数の演奏データの表示態様を他の演奏データの表示態様と異ならせて表示させるように前記表示手段を制御する制御手段と
を有することを特徴とする電子音楽装置。
【請求項３】
記憶手段に記憶された演奏データシーケンスを構成する複数の演奏データのうちの少なくとも一部をその発生タイミング順に表示手段上に表示させる表示手順と、
前記表示手段上に表示された演奏データのうち、その発生タイミングが完全に一致するものまたは所定の時間的近傍内にあるものが複数ある場合に、当該複数の演奏データの表示態様を他の演奏データの表示態様と異ならせて表示させるように前記表示手段を制御する制御手順と
をコンピュータに実行させるプログラムであって、
前記制御手順では、発生タイミングが完全に一致する複数の演奏データの表示態様と、発生タイミングが完全に一致しないものの、前記所定の時間的近傍内にある複数の演奏データの表示態様とをさらに異ならせて表示させることを特徴とするプログラム。
【請求項４】
各演奏データが当該演奏データの種類を示す種類情報と当該演奏データのチャンネルを示すチャンネル情報を含む、複数の演奏データからなる演奏データシーケンスを記憶する記憶手段に記憶された前記複数の演奏データのうちの少なくとも一部をその発生タイミング順に表示手段上に表示させる表示手順と、
前記表示手段上に表示された演奏データのうち、その発生タイミングが完全に一致または所定の時間的近傍内にあり、かつその種類情報および／またはチャンネル情報が一致するものが複数ある場合に、当該複数の演奏データの表示態様を他の演奏データの表示態様と異ならせて表示させるように前記表示手段を制御する制御手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏データシーケンスを表示できる電子音楽装置およびその制御方法を実現するプログラムに関する。
【背景技術】
【０００２】
演奏データシーケンスを表示できる電子音楽装置は、従来から知られている。
【０００３】
このような電子音楽装置として、自動演奏データを確認・編集するために、これをリスト形式で表示するようにしたものがある（たとえば、特許文献１参照）。
【特許文献１】特開平１０−１２４０４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、同じ発生タイミングに同じ種類の演奏データが数多く重なっていたり、近接した発生タイミングに演奏データが数多く存在していたりするような演奏データシーケンスをそのまま自動演奏すると、自動演奏装置に負荷がかかり過ぎたり、また、かかる負荷に比べて、発音される楽音は聴覚上の効果を上げていなかったりということがある。そこでユーザは、上記従来の電子音楽装置に備わっている編集機能を用いて、時間的な密度の濃い演奏データを適宜編集する（たとえば、間引く）ようにしている。
【０００５】
しかし、上記従来の電子音楽装置では、演奏データシーケンスを構成する演奏データの時間的な密度が密であっても粗であっても、ある範囲の演奏データがそのままリスト形式で表示されるだけであるので、ユーザは、編集したい（たとえば、間引きたい）演奏データを一目で確認できず、編集作業の効率が上がらない。
【０００６】
本発明は、この点に着目してなされたものであり、時間的な密度の濃い演奏データを含む演奏データシーケンスを編集するときに、編集効率をより向上させることが可能となる電子音楽装置およびその制御方法を実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に記載の電子音楽装置は、演奏データシーケンスを記憶する記憶手段と、該記憶手段に記憶された演奏データシーケンスを構成する複数の演奏データのうちの少なくとも一部をその発生タイミング順に表示する表示手段と、該表示手段によって表示された演奏データのうち、その発生タイミングが完全に一致するものまたは所定の時間的近傍内にあるものが複数ある場合に、当該複数の演奏データの表示態様を他の演奏データの表示態様と異ならせて表示させるように前記表示手段を制御する制御手段とを有し、前記制御手段は、発生タイミングが完全に一致する複数の演奏データの表示態様と、発生タイミングが完全に一致しないものの、前記所定の時間的近傍内にある複数の演奏データの表示態様とをさらに異ならせて表示させることを特徴とする。
【０００９】
上記目的を達成するため、請求項２に記載の電子音楽装置は、各演奏データが当該演奏データの種類を示す種類情報と当該演奏データのチャンネルを示すチャンネル情報を含む、複数の演奏データからなる演奏データシーケンスを記憶する記憶手段と、該記憶手段に記憶された前記複数の演奏データのうちの少なくとも一部をその発生タイミング順に表示する表示手段と、該表示手段によって表示された演奏データのうち、その発生タイミングが完全に一致または所定の時間的近傍内にあり、かつその種類情報および／またはチャンネル情報が一致するものが複数ある場合に、当該複数の演奏データの表示態様を他の演奏データの表示態様と異ならせて表示させるように前記表示手段を制御する制御手段とを有することを特徴とする。
【００１０】
上記目的を達成するため、請求項３および４に記載のプログラムはそれぞれ、請求項１および２と同様の技術的思想によって実現できる。
【発明の効果】
【００１１】
請求項１または３に記載の発明によれば、表示手段上に表示された演奏データのうち、その発生タイミングが完全に一致するものまたは所定の時間的近傍内にあるものが複数ある場合に、当該複数の演奏データの表示態様が他の演奏データの表示態様と異なって表示されるので、ユーザは、当該複数の演奏データ、つまり時間的な密度の濃い演奏データが存在する位置を一目で確認でき、これにより、時間的な密度の濃い演奏データを含む演奏データシーケンスを編集するときに、編集効率をより向上させることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１３】
図１は、本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【００１４】
同図に示すように、本実施の形態の電子音楽装置は、音高情報を含む演奏データを入力するための鍵盤を含む演奏操作子１と、各種情報を入力するための複数のスイッチやホイール、ジョイスティックを含むパネル操作子２と、演奏操作子１の操作状態を検出する検出回路３と、パネル操作子２の操作状態を検出する検出回路４と、装置全体の制御を司るＣＰＵ５と、該ＣＰＵ５が実行する制御プログラムや、各種テーブルデータ等を記憶するＲＯＭ６と、演奏データ、各種入力情報および演算結果等を一時的に記憶するＲＡＭ７と、タイマ割込み処理における割込み時間や各種時間を計時するタイマ８と、各種情報等を表示する、たとえば小型の液晶ディスプレイ（ＬＣＤ）および発光ダイオード（ＬＥＤ）等を備えた表示器９と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する外部記憶装置１０と、外部からのＭＩＤＩ（musical instrument digital interface）メッセージを入力したり、ＭＩＤＩメッセージを外部に出力したりするＭＩＤＩインターフェース（Ｉ／Ｆ）１１と、通信ネットワーク１０１を介して、たとえばサーバコンピュータ（以下、「サーバ」と略して言う）１０２とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）１２と、演奏操作子１から入力された演奏データや、前記外部記憶装置１０に記憶されたいずれかの楽曲データを再生して得られた演奏データ等を楽音信号に変換する音源回路１３と、該音源回路１３からの楽音信号に各種効果を付与するための効果回路１４と、該効果回路１４からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム１５とにより構成されている。
【００１５】
上記構成要素３〜１４は、バス１６を介して相互に接続され、ＣＰＵ５にはタイマ８が接続され、ＭＩＤＩＩ／Ｆ１１には他のＭＩＤＩ機器１００が接続され、通信Ｉ／Ｆ１２には通信ネットワーク１０１が接続され、音源回路１３には効果回路１４が接続され、効果回路１４にはサウンドシステム１５が接続されている。ここで、通信Ｉ／Ｆ１２および通信ネットワーク１０１は、有線方式のものに限らず、無線方式のものであってもよい。また、両方式のものを備えていてもよい。
【００１６】
外部記憶装置１０としては、たとえば、フレキシブルディスクドライブ（ＦＤＤ）、ハードディスクドライブ（ＨＤＤ）、ＣＤ−ＲＯＭドライブおよび光磁気ディスク（ＭＯ）ドライブ等を挙げることができる。そして、外部記憶装置１０には、前述のように、ＣＰＵ５が実行する制御プログラムも記憶でき、ＲＯＭ６に制御プログラムが記憶されていない場合には、この外部記憶装置１０に制御プログラムを記憶させておき、それをＲＡＭ７に読み込むことにより、ＲＯＭ６に制御プログラムを記憶している場合と同様の動作をＣＰＵ５にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
【００１７】
ＭＩＤＩＩ／Ｆ１１は、専用のものに限らず、ＲＳ−２３２ＣやＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインターフェースによって構成してもよい。この場合、ＭＩＤＩメッセージ以外のデータをも同時に送受信してもよい。
【００１８】
通信Ｉ／Ｆ１２は、上述のように、たとえばＬＡＮ（local area network）やインターネット、電話回線等の通信ネットワーク１０１に接続されており、該通信ネットワーク１０１を介して、サーバ１０２に接続される。外部記憶装置１０に上記各プログラムや各種パラメータが記憶されていない場合には、通信Ｉ／Ｆ１２は、サーバ１０２からプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽装置は、通信Ｉ／Ｆ１２および通信ネットワーク１０１を介してサーバ１０２へとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバ１０２は、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワーク１０１を介して電子音楽装置へと配信し、電子音楽装置が通信Ｉ／Ｆ１２を介して、これらプログラムやパラメータを受信して外部記憶装置１０に蓄積することにより、ダウンロードが完了する。
【００１９】
なお、本実施の形態では、電子音楽装置を電子鍵盤楽器上に構築するようにしたが、これに限らず、鍵盤を外部接続した汎用的なＰＣ上に構築してもよい。また、ミキサなどの音響機器上に構築するようにしてもよい。その場合には、楽音信号をミキシングするための信号処理回路やＡＤ／ＤＡ変換回路などは必須の構成要素であるが、音源回路は必須の構成要素ではない。
【００２０】
図２は、１つの楽曲データのデータフォーマットの一例を示す図である。なお、図示例では、ＳＭＦ（standard MIDI file）のフォーマットが採用されているが、フォーマットは、これに限られない。
【００２１】
同図に示すように、楽曲データは、ヘッダチャンク２１とトラックチャンク２２によって構成されている。
【００２２】
ヘッダチャンク２１には、図示しないが、フォーマット、トラック数およびタイムベースの各情報が記載されている。フォーマットとしては、ＳＭＦの３種類のフォーマットタイプ（フォーマット０〜２）からいずれかを選択して設定することができる。フォーマット０は、トラックチャンクを１つだけ持つタイプであり、フォーマット１および２は、トラックチャンクを複数持つことができるタイプである。トラック数は、当該楽曲データ内のトラックチャンクの数を示し、フォーマットとしてフォーマット０が設定されたときには、トラック数は必然的に“１”となり、フォーマット１または２が設定されたときには、“１”以上の任意の整数値を設定することができる。タイムベースは、４分音符長のティック（tick）数で表されている。なお、フォーマット１または２が設定されたときに、トラック数として“１”を設定すれば、フォーマット０が設定されたときと同様に、トラックチャンクの数を“１”とすることができるが、フォーマット１および２では、トラックチャンクに複数のチャンネルを含ませることができないと規定されている。図示例の楽曲データは、トラックチャンクを１つ持ち、そのトラックチャンク中には、後述のように、複数のチャンネルのＭＩＤＩイベントが含まれているので、フォーマット０の楽曲データであることが分かる。
【００２３】
トラックチャンク２２は、ヘッダ部２３とデータ部２４によって構成されている。ヘッダ部２３には、データ部２４全体の長さ（容量）を示す数値が記載される。データ部２４には、各種イベントデータとタイミングデータが記載される。各種イベントデータには、ＭＩＤＩチャンネルメッセージを示すＭＩＤＩイベントデータ、システム・エクスクルーシブメッセージを示すシステム・エクスクルーシブ・イベントデータ、および、これら以外のメッセージを示すメタイベントデータが含まれている。タイミングデータは、その直後に位置するイベントデータの発生タイミング（デルタタイム）を規定するものであり、前記ティックを単位とする整数値で表現される。図示例のデータ部２４には、先頭から拍子情報２５、テンポ情報２６（いずれも、メタイベントデータである）およびＭＩＤＩイベントデータ２７が記載され、それに続いて、タイミングデータ２８とＭＩＤＩイベントデータ２９の組が記載されている。
【００２４】
ＭＩＤＩイベントデータ２７は、ステータスバイト３０とデータバイト３１によって構成されている（ＭＩＤＩイベントデータ２９も、図示しないが、ＭＩＤＩイベントデータ２７と同様に構成されている）。ステータスバイト３０には、当該ＭＩＤＩイベントの種類を示す種類データ３２と、当該ＭＩＤＩイベントのチャンネルを示すチャンネルデータ３３が含まれている。なお、ＭＩＤＩイベントデータ２７のデータ長は可変長であるので、データバイト３１は、必要に応じた個数だけ採り得る。つまり、図示例のＭＩＤＩイベントデータ２７では、データバイト３１が２個描かれているが、これは例示に過ぎない。
【００２５】
以上のように構成された電子音楽装置が実行する制御処理を、まず図３および図４を参照してその概要を説明し、次に図５および図６を参照して詳細に説明する。
【００２６】
図３は、ある楽曲データの演奏データシーケンスの一部をリスト表示したときの一例を示す図であり、同図（ａ）は、当該一部の演奏データシーケンスのうち、所定の表示条件に一致したＭＩＤＩイベントの表示に装飾を加えたものを示し、同図（ｂ）は、同図（ａ）の表示条件と異なる表示条件を選択して設定したときの表示例を示している。ここで、演奏データシーケンスとは、当該楽曲データのトラックチャンク２２のデータ部２４に記載されている、各種イベントデータとタイミングデータの列のことである。
【００２７】
本実施の形態の電子音楽装置では、表示条件として、
（Ｃ１）ＭＩＤＩイベントの種類およびチャンネルに拘わらず、時間的に近いものを別態様表示
（Ｃ２）ＭＩＤＩイベントの種類に拘わらず、同じチャンネルで時間的に近いものを別態様表示
（Ｃ３）ＭＩＤＩイベントのチャンネルに拘わらず、同じ種類で時間的に近いものを別態様表示
（Ｃ４）ＭＩＤＩイベントの種類およびチャンネルの双方が同じで、時間的に近いものを別態様表示
のうちのいずれかを選択設定できるように構成されている。そして、時間的な近さとして、１６分音符長に相当する時間内に存在するイベント数の最小値（閾値）も設定できるようになっている。つまり、１６分音符長に相当する時間内に、設定された閾値以上の個数のＭＩＤＩイベントが存在するということは、ユーザにとって、その区間にＭＩＤＩイベントが密集している（時間的な密度の濃い状態で存在している）ことを意味している。なお、時間的な近さの設定方法としては、これに限らず、イベント間のティック数や、テンポ情報に基づいて算出されるイベント間の時間差（ｍｓｅｃ）などを用いて設定する方法を採用してもよい。
【００２８】
ユーザが、いずれか１つの楽曲データを選択し、たとえば、表示条件として前記（Ｃ１）を選択し、時間的な近さの閾値として“１０”イベントを設定した後、そのリスト表示を指示すると、まず前記ＣＰＵ５は、前記表示器９のＬＣＤ上にリスト表示可能なＭＩＤＩイベントを決定する（この決定されたＭＩＤＩイベントの集合を、以下「表示対象ＭＩＤＩイベント」という）。表示器９のＬＣＤは、前述のように小型のものを採用しているので、選択された楽曲データが短いとしても、その楽曲データに含まれるすべてのＭＩＤＩイベントを一度にＬＣＤ上に表示させることはできない。このため、表示対象ＭＩＤＩイベントを決定するようにしている。次にＣＰＵ５は、表示対象ＭＩＤＩイベントから、選択された表示条件に合致するＭＩＤＩイベントを検索し、検索されたＭＩＤＩイベントの個数を数える。そして、その個数が前記設定された閾値以上である場合には、ＣＰＵ５は、当該ＭＩＤＩイベントの表示態様を他のＭＩＤＩイベントの表示態様と異ならせてリスト表示する。図３（ａ）は、このような表示条件および閾値を採って、ある楽曲データをリスト表示したときの表示の一例を示しており、そのリスト表示中、「値２」欄が波線で囲まれたＭＩＤＩイベントが別態様表示されたものである。ここで、波線で囲まれた「値２」欄は、実際には、その背景色が他の欄の背景色と異なっていることを意味する。ＭＩＤＩイベントの別態様表示として、このような波線で囲むことを採用したのは、モノクロ図面では、背景色の変更を表現できないからである。もちろん、別態様表示は、背景色を変更する態様に限られないので、図面通り、「値２」欄を波線で囲む態様を採用してもよいし、その他、「値２」欄に記載される数値のフォントのタイプや色、点灯／点滅、表示濃度、ネガポジ反転などを変更する態様を採用してもよい。さらに、表示態様を変更する欄も、「値２」欄に限られず、他の欄であってもよいし、複数欄に亘って表示態様を変更してもよい。
【００２９】
また、選択された表示条件に合致し、かつ同じ発生位置に存在するＭＩＤＩイベントについては、その個数が閾値に達しなくても、「値２」欄内にアスタリスク（“＊”）を表示し、表示条件に合致したＭＩＤＩイベントが複数個、同じタイミングに存在することをユーザに一目で分からせるようにしている。このアスタリスク（“＊”）も、別の記号を採用しても構わないし、さらに、背景色やフォント色を変更するなど、他の表示態様を採用してもよい。
【００３０】
一方、ユーザが別の表示条件、たとえば前記（Ｃ４）を選択して、そのリスト表示を指示すると、ＣＰＵ５は、表示対象ＭＩＤＩイベントから、選択された表示条件に合致するＭＩＤＩイベントを検索した後、検索されたＭＩＤＩイベントの個数を数え、その個数が前記設定された閾値以上である場合には、当該ＭＩＤＩイベントの表示態様を他のＭＩＤＩイベントの表示態様と異ならせてリスト表示する。図３（ｂ）は、このような表示条件および閾値を採って、ある楽曲データをリスト表示したときの表示の一例を示している。さらに、選択された表示条件に合致し、かつ同じ発生位置に存在するＭＩＤＩイベントについては、その個数が閾値に達しなくても、「値２」欄内にアスタリスク（“＊”）を表示し、表示条件に合致したＭＩＤＩイベントが複数個、同じタイミングに存在することをユーザに一目で分からせるようにしている。
【００３１】
このように、本実施の形態では、演奏データシーケンスをリスト表示したときに、時間的に密度の濃い演奏データを別態様表示したので、ユーザは、時間的に密度の濃い演奏データを一目で確認することができる。したがって、時間的に密度の濃い演奏データを間引くなどの編集処理を行う際に、その編集効率をより向上させることができる。
【００３２】
図４は、リスト表示に代えて、縦軸をデータ値（値２）とし、横軸を発生位置（小節と拍）としたグラフ表示を採用したときの表示の一例を示す図であり、図３（ａ）に対応するものである。図４のグラフ中、黒丸および斜線の施された丸は、ＭＩＤＩイベントを示し、アスタリスク（“＊”）が付与された黒丸は、選択された表示条件に合致し、かつ同じ発生位置に存在するＭＩＤＩイベントが複数あることを示し、斜線の施された丸は、時間的な密度の濃いＭＩＤＩイベントがあることを示している。このように、本発明は、時間的な密度の濃い演奏データを別態様表示する点に特徴があり、その基礎となる表示（別態様表示を行う前の表示）は、リスト表示であっても、グラフ表示であっても、さらに他の表示であっても構わない。
【００３３】
次に、この制御処理を詳細に説明する。
【００３４】
図５は、本実施の形態の電子音楽装置、特にＣＰＵ５が実行するメインルーチンの手順を示すフローチャートであり、本メインルーチンは、ユーザによって前記パネル操作子２に含まれる電源スイッチ（図示せず）がオンされたときに、起動される。
【００３５】
本メインルーチンは、主として、
（１）初期設定処理（ステップＳ１）
（２）楽曲データロード処理（ステップＳ２）
（３）演奏データ入力処理（ステップＳ３）
（４）楽曲データ編集処理（ステップＳ４）
（５）楽曲データ再生／停止処理（ステップＳ５）
（６）表示条件設定処理（ステップＳ６）
（７）表示更新処理（ステップＳ７）
によって構成されている。本メインルーチンが起動されると、最初に上記（１）の初期設定処理が１回だけ実行され、その後、上記（２）〜（７）の処理が適宜繰り返し実行される。
【００３６】
前記（１）の初期設定処理では、ＣＰＵ５は、前記ＲＡＭ７をクリアしたり、各種パラメータの値をデフォルト値に設定したりする等の処理を行う（ステップＳ１）。
【００３７】
ユーザが、たとえば前記パネル操作子２を操作することで、所定の楽曲データのロードを指示すると、ＣＰＵ５は、処理を前記（２）の楽曲データロード処理に進める。この（２）楽曲データロード処理では、ＣＰＵ５は、指示された楽曲データを該楽曲データが記憶されている場所から読み出して、ＲＡＭ７の所定位置に確保された楽曲データ格納領域（図示せず）にロードする（ステップＳ２）。ここで、ロードを指示された楽曲データは、本実施の形態の電子音楽装置の外にある場合もあり、その場合には、ＣＰＵ５は、前記ＭＩＤＩＩ／Ｆ１１や通信Ｉ／Ｆ１２を介して、その楽曲データをそれが記憶されている場所から読み出して、前記楽曲データ格納領域にロードする。
【００３８】
また、ユーザがパネル操作子２を操作することで、演奏データ入力モードへの移行を指示すると、ＣＰＵ５は、動作モードを演奏データ入力モードへ移行させるとともに、処理を前記（３）の演奏データ入力処理に進める（ステップＳ３）。この（３）演奏データ入力処理では、ＣＰＵ５は、ユーザが前記演奏操作子１を用いて行った演奏に応じた演奏データを生成し、その演奏データをＲＡＭ７の所定位置に確保された演奏データ格納領域（図示せず）に記録する。そして、ユーザが演奏入力の終了を指示すると、演奏データ格納領域に格納された複数の演奏データを１つの楽曲データにまとめる。ここで、「１つの楽曲データにまとめる」とは、本実施の形態では、ヘッダチャンクやトラックチャンクのヘッダ部などを生成して、入力された演奏データに付加することにより、ＳＭＦのフォーマットに適合した楽曲データを生成することである。なお、演奏データの入力は、ユーザが演奏操作子１をリアルタイムに操作することによって入力する、いわゆるリアルタイム入力を用いて行ったが、これに限らず、ユーザが演奏データの基になる音高や音長、ベロシティなどを１つずつ指定して入力する、いわゆるステップ入力を用いて行ってもよい。また、リアルタイム入力またはステップ入力のいずれかを選択可能に構成し、ユーザが選択した方の入力方法を用いて、演奏データを入力するようにしてもよい。
【００３９】
本実施の形態の電子音楽装置は、楽曲データを編集する編集機能を備えている。この編集機能では、楽曲データを構成するデータのうち、トラックチャンク２２のデータ部２４に含まれるデータを編集、つまり変更、削除または追加することができる。これは、データ部２４以外の場所、つまりヘッダチャンク２１およびトラックチャンク２２のヘッダ部２３に含まれるデータには、ユーザによって自由に編集されると問題が生じる虞のあるものが多いからである。本実施の形態では、編集機能を使用するには、編集モードに移行させるようにしている。ユーザがパネル操作子２を操作することで、編集モードへの移行を指示すると、ＣＰＵ５は、動作モードを編集モードに移行させるとともに、処理を前記（４）の楽曲データ編集処理に進める（ステップＳ４）。この（４）楽曲データ編集処理では、ＣＰＵ５は、ユーザが編集対象として指定した楽曲データをそれが記憶されている場所から読み出して、ＲＡＭ７の所定位置に確保された楽曲データ編集領域（図示せず）に格納し、その楽曲データのうち、表示可能な一部の演奏データシーケンスを前記表示器９のＬＣＤ上にリスト表示する（前記図３参照）。リスト表示された演奏データシーケンス中の各演奏データは、それぞれ個別に編集することができる。本発明は、各演奏データの表示の仕方に特徴があり、各演奏データの編集の仕方に特徴がある訳ではないので、編集方法としては、周知の方法を用いればよい。ここでは、ある１つの演奏データを削除する場合についてのみ、具体的に説明する。ある演奏データとして、たとえば、図３（ａ）に示すリスト表示された演奏データのうち、小節：００５２；拍：０２；ティック：５９９の位置にある、種類：コントロールチェンジ（Control）；チャンネル：２；値１：エクスプレッション（Expression）；値２：１１８の演奏データを削除したい場合には、ユーザはパネル操作子２に含まれるポインティングデバイス（たとえば、前記ジョイスティック）を用いて、その演奏データの位置（当該演奏データの「小節」、「拍」、「ティック」、「種類」、「チャンネル」、「値１」、「値２」、「値３」、「値４」のいずれの欄でもよい）にカーソル（図示せず）を合わせた後、所定のスイッチを押して、プルダウンメニューを表示させる。このプルダウンメニューには、「変更」、「削除」、「追加」などの編集方法が記載されているので、前記カーソルを用いて「削除」の項目を選択すると、ＣＰＵ５は、その演奏データを楽曲データ編集領域から削除する。これにより、その演奏データはリスト表示中から削除される。
【００４０】
本実施の形態の電子音楽装置はさらに、楽曲データを再生したり、その再生を停止したりする再生／停止機能を備えている。ユーザがパネル操作子２を用いて、再生したい楽曲データを指定し、その再生を指示すると、ＣＰＵ５は、処理を前記（５）の楽曲データ再生／停止処理に進め（ステップＳ５）、指示された楽曲データを再生する。具体的には、ＣＰＵ５は、楽曲データのヘッダチャンク２１から前記タイムベースを読み出すとともに、トラックチャンク２２のデータ部２４から前記テンポ情報２６を読み出し、タイミングデータ２８の時間単位である１ティック（＝６０×１０００／テンポ／タイムベース（ｍｓｅｃ））を算出する。そしてＣＰＵ５は、１ティック毎にタイマ割込み信号が発生するように前記タイマ８を設定した後、タイマ割込みを許可する。これに応じてタイマ８は、１ティックを計時する度にタイマ割込み信号を発生するので、ＣＰＵ５は、タイマ割込み信号が発生する度に、ＲＡＭ７の所定位置に確保されたソフトウェアカウンタ（図示せず）のカウントを行う。そしてＣＰＵ５は、ソフトウェアカウンタのカウント値と現在再生対象となっているＭＩＤＩイベントデータ２９に付随するタイミングデータ２８の値とを比較し、両者が一致すると、当該ＭＩＤＩイベントデータ２９に記載された内容に応じた処理を行う。たとえば、図３（ａ）に示すリスト表示された演奏データのうち、小節：００５２；拍：０２；ティック：６０１の位置にある、種類：プログラムチェンジ（Program）；チャンネル：１；値１：グランドピアノ（Grand Piano）の演奏データを再生する場合、前記ソフトウェアカウンタの値が小節“００５２”の拍“０２”の先頭から“６０１”になると、ＣＰＵ５は、当該演奏データを読み出して、その指示通りの設定、つまり、チャンネル１の音色を「グランドピアノ」音色に変更する設定を前記音源回路１３に対して行う。このようにして楽曲データが再生されているときに、ユーザがパネル操作子２を用いて、その再生の停止を指示すると、ＣＰＵ５は、その再生処理を停止する。
【００４１】
ユーザがパネル操作子２を操作することで、表示条件設定モードへの移行を指示すると、ＣＰＵ５は、動作モードを表示条件設定モードに移行させるとともに、処理を前記（６）の表示条件設定処理に進める（ステップＳ６）。この（６）表示条件設定処理では、まずＣＰＵ５は、前記ＬＣＤ上に（Ｃ１）〜（Ｃ４）の表示条件を一覧表示する。ユーザがパネル操作子２を用いて、一覧表示された表示条件の中からいずれか１つの条件を選択すると、ＣＰＵ５は、選択された表示条件を示す情報をＲＡＭ７のワークエリア（図示せず）内に一時記憶する。次にＣＰＵ５は、処理を前記（７）の表示更新処理に進める（ステップＳ７）。
【００４２】
図６は、この（７）表示更新処理の詳細な手順を示すフローチャートである。この（７）表示更新処理では、ＣＰＵ５は、主として、
（１１）準備処理（ステップＳ１１）
（１２）表示対象ＭＩＤＩイベントのリスト表示処理（ステップＳ１２〜Ｓ１４）
（１３）第１の装飾条件に一致したＭＩＤＩイベントを第１の装飾態様で装飾する第１の装飾処理（ステップＳ１６）
（１４）第２の装飾条件に一致したＭＩＤＩイベントを第２の装飾態様で装飾する第２の装飾処理（ステップＳ１９）
の各処理を行う。そして、上記（１２）〜（１４）の処理は、表示対象ＭＩＤＩイベントの終端に達するまで、あるいは、演奏データシーケンスの終端に達するまで、繰り返し実行される（ステップＳ２０）。
【００４３】
前記（１１）の準備処理では、ＣＰＵ５は、表示対象ＭＩＤＩイベントの範囲を決定する処理、つまり、表示すべき先頭のＭＩＤＩイベントの時間的位置（表示対象ＭＩＤＩイベントの先頭のＭＩＤＩイベントの時間的位置に相当する）と表示行数（表示対象ＭＩＤＩイベントに含まれるＭＩＤＩイベントの数に相当する）を決定する処理を行う（ステップＳ１１）。
【００４４】
前記（１２）の表示対象ＭＩＤＩイベントのリスト表示処理では、まずＣＰＵ５は、演奏データシーケンス中、表示すべき先頭のＭＩＤＩイベント（前記（１１）の準備処理で決定されたもの）から表示行数（これも、前記（１１）の準備処理で決定されたもの）分のＭＩＤＩイベントを、当該演奏データシーケンスの末尾方向にたどって、表示対象ＭＩＤＩイベントを決定する（ステップＳ１２）。
【００４５】
次にＣＰＵ５は、表示対象ＭＩＤＩイベントに属する各ＭＩＤＩイベントに付随するタイミングデータの値（時間情報）に基づいて、当該各ＭＩＤＩイベントが属する小節、拍およびティックを算出する（ステップＳ１３）。タイミングデータには、前述のように、イベント間の時間を示すデルタタイムが記載されるので、演奏データシーケンス中、目的のＭＩＤＩイベントの時間的位置（当該演奏データシーケンスの先端からの経過時間）は、そのＭＩＤＩイベントに付随するタイミングデータのみによって算出することはできず、当該演奏データシーケンスの先頭のタイミングデータからそのＭＩＤＩイベントに付随するタイミングデータまでのすべてのタイミングデータの値を合算することによって算出する。このようにして、目的のＭＩＤＩイベントの時間的位置が算出されると、その算出値から、目的のＭＩＤＩイベントの属する小節および拍は、簡単に算出することができる。また、ＭＩＤＩイベントのティック数は、各拍の先頭位置を“０”として算出するので、目的のＭＩＤＩイベントのティック数は、そのＭＩＤＩイベントの属する拍の先頭のタイミングデータからそのＭＩＤＩイベントに付随するタイミングデータまでのすべてのタイミングデータの値を加算することによって算出する。なお、タイミングデータは、前述のように、隣接するＭＩＤＩイベント間の時間間隔を示すので、いずれかのＭＩＤＩイベントが拍位置にない限り、拍の先頭のタイミングデータは拍位置からの経過時間を表さない。この場合には、拍の先頭のタイミングデータから目的のＭＩＤＩイベントに付随するタイミングデータまでのすべてのタイミングデータを加算したとしても、目的のＭＩＤＩイベントのティック数を算出することができない。しかし、拍位置のティック数は簡単に算出することができ、これにより、その拍位置からその拍の先頭のタイミングデータに対応するＭＩＤＩイベントまでのティック数は簡単に算出できるので、その拍の先頭のタイミングデータの値に代えて、この算出値を用いることで、目的のＭＩＤＩイベントのティック数を算出することができる。
【００４６】
さらにＣＰＵ５は、表示対象ＭＩＤＩイベントを装飾なしでリスト表示する（ステップＳ１４）。これにより、表示器９のＬＣＤ上には、図３（ａ），（ｂ）に示すように、表示対象ＭＩＤＩイベントがリスト表示される。ただし、図３（ａ），（ｂ）は、前記（１２）および（１３）の第１および第２の装飾処理を施した後のリスト表示を示しているので、ステップＳ１４の処理によるリスト表示とは、若干異なっている。
【００４７】
次にＣＰＵ５は、表示対象ＭＩＤＩイベント中に、第１の装飾条件に一致するＭＩＤＩイベントがあるかどうかを判別する（ステップＳ１５）。ここで、第１の装飾条件とは、同じタイミングで発生し、かつ前記選択された表示条件を満たすという条件である。ユーザが、前記（６）の表示条件設定処理によって、前記（Ｃ１）の表示条件を選択設定したときには、図３（ａ）のリスト表示中、小節：００５２；拍：０１；ティック：１１６に位置する５つのＭＩＤＩイベントがこの第１の装飾条件に一致する。また、ユーザが前記（Ｃ４）の表示条件を選択設定したときには、上記５つのＭＩＤＩイベントのうち、最初の２つのＭＩＤＩイベントがこの第１の装飾条件に一致する。前記ステップＳ１５の判別で、第１の装飾条件に一致するＭＩＤＩイベントがあったときには、ＣＰＵ５は、処理を前記（１３）の第１の装飾処理に進め、当該ＭＩＤＩイベントの表示を第１の装飾態様で装飾する。本実施の形態では、第１の装飾態様として、「値２」欄内にアスタリスク（“＊”）付ける態様を採用している。したがって、前記（Ｃ１）の表示条件が選択設定されたときには、図３（ａ）に示すように、前記５つのＭＩＤＩイベントの「値２」欄内にアスタリスク（“＊”）が付けられ、前記（Ｃ４）の表示条件が選択設定されたときには、図３（ｂ）に示すように、前記５つのＭＩＤＩイベントのうち、最初の２つのＭＩＤＩイベントの「値２」欄内にアスタリスク（“＊”）が付けられる。
【００４８】
次にＣＰＵ５は、表示対象ＭＩＤＩイベント中に、第２の装飾条件に一致するＭＩＤＩイベントがあるかどうかを判別する（ステップＳ１７，Ｓ１８）。ここで、第２の装飾条件とは、同じ１６分音符長内にあり、かつ前記選択された表示条件を満たすＭＩＤＩイベントの個数が所定の閾値（たとえば、１０個）に達するという条件である。この第２の装飾条件に一致するＭＩＤＩイベントがあるかどうかを判別するために、まずＣＰＵ５は、表示対象ＭＩＤＩイベントに属するすべてのＭＩＤＩイベントから、同じ１６分音符長内にあり、かつ前記選択された表示条件を満たすＭＩＤＩイベントの個数を算出する（ステップＳ１７）。そしてＣＰＵ５は、算出されたＭＩＤＩイベントの個数が所定の閾値に達したかどうかを判別する（ステップＳ１８）。ユーザが、前記（６）の表示条件設定処理によって、前記（Ｃ１）の表示条件を選択設定したときには、図３（ａ）のリスト表示中、小節：００５２；拍：０２；ティック：５９７〜小節：００５２；拍：０２；ティック：６０９に位置する１３個のＭＩＤＩイベントがこの第２の装飾条件に一致する。また、ユーザが前記（Ｃ４）の表示条件を選択設定したときには、上記１３個のＭＩＤＩイベントのうち、中間の３つ（ティック：５９９〜ティック：６０１）を除いた１０個のＭＩＤＩイベントがこの第２の装飾条件に一致する。前記ステップＳ１７，Ｓ１８の判別で、第２の装飾条件に一致するＭＩＤＩイベントがあったときには、ＣＰＵ５は、処理を前記（１４）の第２の装飾処理に進め、当該ＭＩＤＩイベントの表示を第２の装飾態様で装飾する。本実施の形態では、第２の装飾態様として、「値２」欄の背景色を変更する態様を採用している。したがって、前記（Ｃ１）の表示条件が選択設定されたときには、図３（ａ）に示すように、前記１３個のＭＩＤＩイベントの「値２」欄の背景色が変更されて表示され、前記（Ｃ４）の表示条件が選択設定されたときには、図３（ｂ）に示すように、前記１３個のＭＩＤＩイベントのうち、中間の３つを除く前記１０個のＭＩＤＩイベントの「値２」欄の背景色が変更されて表示される。ただし、モノクロ図面では、欄の色を変更することができないので、図３では、色を変更する代わりに、当該ＭＩＤＩイベントの「値２」欄を波線で囲むようにしている。
【００４９】
なお、本実施の形態では、第１の装飾態様も第２の装飾態様も、ユーザの選択の余地はなく、予め固定的に設定されていたが、これに限らず、ユーザが選択可能に構成してもよい。また、第１および第２の装飾態様はそれぞれ、ユーザが第１および第２の装飾条件を決定したことに応じて一意的に決定されるように構成してもよい。
【００５０】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００５１】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５２】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００５３】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００５４】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
【図２】１つの楽曲データのデータフォーマットの一例を示す図である。
【図３】ある楽曲データの演奏データシーケンスの一部をリスト表示したときの一例を示す図である。
【図４】図３のリスト表示に代えて、グラフ表示を採用したときの表示の一例を示す図である。
【図５】図１の電子音楽装置、特にＣＰＵが実行するメインルーチンの手順を示すフローチャートである。
【図６】図５中の表示更新処理の詳細な手順を示すフローチャートである。
【符号の説明】
【００５６】
５…ＣＰＵ（制御手段），７…ＲＡＭ（記憶手段），９…表示器（表示手段）
【図１】
0005272435.tif 000002
【図２】
0005272435.tif 000003
【図３】
0005272435.tif 000004
【図４】
0005272435.tif 000005
【図５】
0005272435.tif 000006
【図６】
0005272435.tif 000007