(57)【特許請求の範囲】
【請求項１】
機器を操作するための複数のデバイスと、
当該複数のデバイスのいずれかが操作されると、当該操作されたデバイスに対応する数値が入力される第１のレジスタと、
前記機器の現在の状態に対応した数値が入力される第２のレジスタと、
前記機器の各状態及び前記各デバイスに対応したコマンドがマトリクス状に記憶された仕様テーブルと、
前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の現在の状態及び前記操作されたデバイスに対応するコマンドを読み出し、前記コマンドに対応する状態に前記機器を遷移させる制御部と、
を有する機器について、前記仕様テーブルに対応する仕様書を自動作成する装置であって、
前記第２のレジスタを初期値に設定した後、前記第１のレジスタの値を初期値から歩進させ、当該歩進された値が所定の値になる毎に初期値に戻すとともに前記第２のレジスタの値を歩進させる歩進手段と、
前記第２のレジスタの値が変更される毎に、当該第２のレジスタの値に対応する前記機器の状態を表わす言語の文字データを出力するとともに、前記第１のレジスタの値が変更される毎に、当該第１のレジスタの値に対応する前記デバイスを表わす言語の文字データを出力する第１のデータ出力手段と、
この歩進手段により前記第１及び第２のレジスタの値のいずれかが歩進される毎に、前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の状態及び操作されたデバイスに対応するコマンドを読み出す読み出し手段と、
この読み出し手段によって読み出されたコマンドを前記機器に関する仕様書を構成する言語の文字データに変換するデータ変換手段と、
このデータ変換手段によって変換された言語の文字データを出力する第２のデータ出力手段と、
を有する仕様書自動作成装置。
【請求項２】
前記データ変換手段は、楽音を発生する機器を動作させるコマンドをその機器に関する仕様書を構成する言語の文字データに変換することを特徴とする請求項１記載の仕様書自動作成装置。
【請求項３】
機器を操作するための複数のデバイスと、当該複数のデバイスのいずれかが操作されると、当該操作されたデバイスに対応する数値が入力される第１のレジスタと、前記機器の現在の状態に対応した数値が入力される第２のレジスタと、前記機器の各状態及び前記各デバイスに対応したコマンドがマトリクス状に記憶された仕様テーブルと、前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の現在の状態及び前記操作されたデバイスに対応するコマンドを読み出し、前記コマンドに対応する状態に前記機器を遷移させる制御部と、を有する機器について、前記仕様テーブルに対応する仕様書を自動作成する装置に適用されるコンピュータに、
前記第２のレジスタを初期値に設定した後、前記第１のレジスタの値を初期値から歩進させ、当該歩進された値が所定の値になる毎に初期値に戻すとともに前記第２のレジスタの値を歩進させる歩進ステップと、
前記第２のレジスタの値が変更される毎に、当該第２のレジスタの値に対応する前記機器の状態を表わす言語の文字データを出力するとともに、前記第１のレジスタの値が変更される毎に、当該第１のレジスタの値に対応する前記デバイスを表わす言語の文字データを出力する第１のデータ出力ステップと、
前記第１及び第２のレジスタの値のいずれかが歩進される毎に、前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の状態及び操作されたデバイスに対応するコマンドを読み出す読み出しステップと、
この読み出されたコマンドを前記機器に関する仕様書を構成する言語の文字データに変換するデータ変換ステップと、
この変換された言語の文字データを出力する第２のデータ出力ステップと、
を実行させる仕様書自動作成処理のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の機器のコマンドを変換して自動的に仕様書を作成する仕様書自動作成装置及び仕様書自動作成処理のプログラムに関する。
【０００２】
【従来の技術】
種々の制御機器、情報機器、電子機器等においては、ユーザがその機器を操作すると、その機器を制御する制御部がその操作を検出して、メモリに記憶されている仕様テーブルを参照し、そのときの機器の状態及び操作内容に応じてコマンドを仕様テーブルから読み出す。そして、読み出したコマンドに対応する状態に機器が遷移する。例えば、複写機やプリンタ等の制御機器においては、通常（アイドル）状態において印刷指令の操作をすると、制御部がその操作に応じて仕様テーブルを参照し、コマンドに応じて印刷状態に遷移する。また、パソコンや携帯情報端末等の情報機器においては、通常状態において通信指令の操作をすると、制御部がその操作に応じて仕様テーブルを参照し、コマンドに応じて通信網への接続状態に遷移する。また、電子回路又はソフトウェアによって楽音の波形データを発生する電子楽器等の機器においては、通常状態において例えば自動演奏の操作をすると、制御部がその操作に応じて仕様テーブルを参照し、コマンドに応じて自動演奏再生の状態に遷移する。
したがって、種々の制御機器、情報機器、電子機器等の開発において、開発者はもちろんのこと、製造関係及び営業関係等の関係者が各操作に応じた機器の状態遷移を確認するために、さらには、実際に使用するユーザが各操作に応じた機器の状態遷移を理解するために、仕様テーブルに対応する仕様書を作成する作業が重要となる。
【０００３】
【発明が解決しようとする課題】
しかしながら、仕様書の元となる仕様テーブルのコマンドがアルファベットの省略形や数字で構成されているのが普通であるため、たとえ開発者といえども各コマンドに対応する状態遷移を人間が解読できる言語に変換しながら仕様書を作成する作業には多くの時間を必要とし、開発期間が長くなるとともに開発コストの上昇を招く要因になる。
【０００４】
本発明の課題は、種々の制御機器、情報機器、電子機器等の開発において、仕様テーブルに対応する仕様書を誰にでも容易に理解できる記述で自動的に作成できるようにすることである。
【０００５】
【課題を解決するための手段】
請求項１に記載の仕様書自動作成装置は、機器を操作するための複数のデバイスと、当該複数のデバイスのいずれかが操作されると、当該操作されたデバイスに対応する数値が入力される第１のレジスタと、前記機器の現在の状態に対応した数値が入力される第２のレジスタと、前記機器の各状態及び前記各デバイスに対応したコマンドがマトリクス状に記憶された仕様テーブルと、前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の現在の状態及び前記操作されたデバイスに対応するコマンドを読み出し、前記コマンドに対応する状態に前記機器を遷移させる制御部と、
を有する機器について、前記仕様テーブルに対応する仕様書を自動作成する装置であって、前記第２のレジスタを初期値に設定した後、前記第１のレジスタの値を初期値から歩進させ、当該歩進された値が所定の値になる毎に初期値に戻すとともに前記第２のレジスタの値を歩進させる歩進手段と、前記第２のレジスタの値が変更される毎に、当該第２のレジスタの値に対応する前記機器の状態を表わす言語の文字データを出力するとともに、前記第１のレジスタの値が変更される毎に、当該第１のレジスタの値に対応する前記デバイスを表わす言語の文字データを出力する第１のデータ出力手段と、この歩進手段により前記第１及び第２のレジスタの値のいずれかが歩進される毎に、前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の状態及び操作されたデバイスに対応するコマンドを読み出す読み出し手段と、この読み出し手段によって読み出されたコマンドを前記機器に関する仕様書を構成する言語の文字データに変換するデータ変換手段と、このデータ変換手段によって変換された言語の文字データを出力する第２のデータ出力手段と、を有する構成になっている。
【０００６】
請求項３に記載のプログラムは、機器を操作するための複数のデバイスと、当該複数のデバイスのいずれかが操作されると、当該操作されたデバイスに対応する数値が入力される第１のレジスタと、前記機器の現在の状態に対応した数値が入力される第２のレジスタと、前記機器の各状態及び前記各デバイスに対応したコマンドがマトリクス状に記憶された仕様テーブルと、前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の現在の状態及び前記操作されたデバイスに対応するコマンドを読み出し、前記コマンドに対応する状態に前記機器を遷移させる制御部と、を有する機器について、前記仕様テーブルに対応する仕様書を自動作成する装置に適用されるコンピュータに、前記第２のレジスタを初期値に設定した後、前記第１のレジスタの値を初期値から歩進させ、当該歩進された値が所定の値になる毎に初期値に戻すとともに前記第２のレジスタの値を歩進させる歩進ステップと、前記第２のレジスタの値が変更される毎に、当該第２のレジスタの値に対応する前記機器の状態を表わす言語の文字データを出力するとともに、前記第１のレジスタの値が変更される毎に、当該第１のレジスタの値に対応する前記デバイスを表わす言語の文字データを出力する第１のデータ出力ステップと、前記第１及び第２のレジスタの値のいずれかが歩進される毎に、前記第１及び第２のレジスタに記憶された内容をアドレスとして前記仕様テーブルから前記機器の状態及び操作されたデバイスに対応するコマンドを読み出す読み出しステップと、この読み出されたコマンドを前記機器に関する仕様書を構成する言語の文字データに変換するデータ変換ステップと、この変換された言語の文字データを出力する第２のデータ出力ステップと、を実行させる。
【０００７】
請求項１又は請求項３に記載の発明によれば、所定の機器をある状態から他の状態に遷移させるための複数のコマンドを、その機器に関する仕様書を構成する言語の文字データに自動的に変換して出力する。
【０００８】
【発明の実施の形態】
以下、本発明による仕様書自動作成装置を適用した電子楽器の開発システムの実施形態について、図を参照して説明する。
図１は、実施形態における開発システムの構成を示すブロック図である。図において、鍵盤装置１は鍵盤、曲演奏に必要な各種のスイッチ、自動演奏データ及び自動伴奏データを記憶するメモリ、ＭＩＤＩ形式等でシーケンスデータの演奏パラメータを外部に出力するインターフェース等を備えている。音源装置２は、波形データメモリ又はソフトウェアによって波形データを生成するＤＳＰ、Ｄ／Ａコンバータ、アンプ、スピーカ等を備え、ＭＩＤＩ形式等で入力される楽音データの音源パラメータに応じて楽音を発生する。
パソコン３は、鍵盤装置１及び音源装置２に接続され、モードに応じて楽音制御装置又は仕様書自動作成装置として機能する。楽音制御装置の機能には、鍵盤装置１から入力されるシーケンスデータの演奏パラメータの設定や変更、音源装置２に出力する波形データの音源パラメータの設定や変更等がある。仕様書自動作成装置の機能については後述する。
【０００９】
図２は、パソコン３の内部構成を示すブロック図である。図において、ＣＰＵ１１はシステムバス１２を介してＲＯＭ１３、ＲＡＭ１４、スイッチ１５、エンコーダ１６、ＶＲＡＭ１７、鍵盤Ｉ／Ｆ（インターフェース）１８、音源Ｉ／Ｆ（インターフェース）１９に接続され、各部との間でデータの授受を行う。また、鍵盤Ｉ／Ｆ１８を介して鍵盤装置１のデータを受信し、音源Ｉ／Ｆ１９を介して音源装置２にデータを送信する。
ＲＯＭ１３は、書き換え可能なフラッシュメモリ等で構成されており、ＣＰＵ１１によって実行される制御プログラム、イニシャライズにおける初期データ、電子楽器の仕様テーブル等を記憶している。ＲＡＭ１４はＣＰＵ１１のワークエリアであり、各種のレジスタ、フラグ、ポインタのエリアが用意されている。ＶＲＡＭ１７はＣＰＵ１１の表示指令及び文字データや図形データ等に応じて、１画面の表示データを生成して表示装置（ＤＩＳＰ）２０に供給する。スイッチ１５及びエンコーダ１６は、実際はハードウェアとしてのデバイスではなく、表示装置２０の画面に表示されたアイコンをマウス（図示せず）によって操作することによって機能する仮想デバイスである。
【００１０】
図３は、表示装置２０の画面を示している。中央の表示領域５は楽器の状態に応じた画面を表示する部分である。表示領域５の両側のＳＷＬ１〜ＳＷＬ５及びＳＷＲ１〜ＳＷＲ５からなる部分６はマウスのクリックによってオンとなるアイコンスイッチであり、図２におけるスイッチ１５に相当する。また、表示領域５の下側の円形部分７はマウスのドラッグによって回転するエンコーダ（ＥＮＣ）であり、図２におけるエンコーダ１６に相当する。上記したように各アイコンスイッチ及びエンコーダは仮想デバイスであるが、実際のハードウェアとしてのデバイスと見なして説明する。
図４は、ＲＯＭ１３に記憶されている各デバイスであるＳＷＬ１〜ＳＷＬ５、ＳＷＲ１〜ＳＷＲ５、エンコーダ（ＥＮＣ）の番号、及び、楽器状態の内容（起動画面、自動演奏停止、自動演奏中、自動演奏待機、音源パラメータ変更、演奏パラメータ変更）を表す番号である。
【００１１】
図５〜図７は、ＲＯＭ１３に記憶されている仕様テーブルであり、図４における各デバイスをＸ（横）方向の引数とし、各楽器状態をＹ（縦）方向の引数とするマトリックス形式になっている。任意の楽器状態において任意のデバイスが操作（マウスのクリック又はドラッグ）されたときは、仕様テーブルにおけるそのデバイス及びその楽器状態に対応するコマンドである仕様データに応じた状態に遷移する。
【００１２】
図８〜図１３は、各楽器状態における表示装置１９の画面を示している。図８はＤＩＳＰ（ＭＡＩＮ）の仕様データによって状態遷移した起動画面を示している。図９はＤＩＳＰ（ＳＴＯＰ）の仕様データによって状態遷移した自動演奏停止画面を示している。図１０はＤＩＳＰ（ＳＴＡＲＴ）の仕様データによって状態遷移した自動演奏中画面を示している。図１１はＤＩＳＰ（ＷＡＩＴ）の仕様データによって状態遷移した自動演待機の画面を示している。図１２はＤＩＳＰ（ＰＡＲＡ  ＷＡＶ）の仕様データによって状態遷移した音源パラメータ変更画面を示している。図１３はＤＩＳＰ（ＰＡＲＡ  ＳＥＱ）の仕様データによって状態遷移した音源パラメータ変更画面を示している。
【００１３】
次に、楽音制御装置及び仕様書自動作成装置としてのパソコン３の動作について、ＣＰＵ１１の動作フローチャートに基づいて説明する。
図１４はメインフローであり、イニシャライズ処理(ステップＡ１)の後、モード切換がされたか否かを判別し(ステップＡ２)、モード切換がされたときはモードを変更する(ステップＡ３)。次に、現在のモードが通常モードであるか作成モードであるかを判別する(ステップＡ４)。通常モードであるときは通常処理を実行し(ステップＡ５)、作成モードであるときは仕様書作成処理を実行する(ステップＡ６)。いずれかの処理を実行した後は、ステップＡ２に移行してモード切換がされたか否かを判別する。
図１５はメインフローにおけるイニシャライズ処理のフローであり、起動画面を表示し(ステップＢ１)、楽器状態レジスタに「０」をストアして(ステップＢ２)、メインフローに戻る。
【００１４】
図１６は、メインフローにおける通常処理のフローである。このフローでは、スイッチ処理(ステップＣ１)、エンコーダ処理(ステップＣ２)、鍵盤処理(ステップＣ３)、自動演奏処理(ステップＣ４)、自動伴奏処理(ステップＣ５)を行って、イベント発生フラグが「１（イベント発生あり）」であるか否かを判別する(ステップＣ６)。このフラグが「０（イベント発生なし）」である場合にはこのフローを終了するが、このフラグが「１」である場合には、楽器状態レジスタの内容をＹレジスタにストアし(ステップＣ７)、入力イベントレジスタの内容をＸレジスタにストアする(ステップＣ８)。そして、図５〜図７の仕様テーブル（Ｘ，Ｙ）から仕様データを読み出し(ステップＣ９)、仕様データ処理を実行する(ステップＣ１０)。次に、イベント発生フラグを「０」に戻す(ステップＣ１１)。そして、メインフローに戻る。
【００１５】
図１７は図１６の通常処理におけるスイッチ処理のフローである。ＳＷＬ１〜５、ＳＷＲ１〜５のスイッチがオンされたか否かを判別し(ステップＤ１)、いずれのスイッチもオンでない場合にはこのフローを終了するが、いずれかのスイッチがオンされたときは、入力イベントレジスタにオンされたスイッチのデバイス番号をストアし(ステップＤ２)、イベント発生フラグを「１」にセットする(ステップＤ３)。そして、通常処理のフローに戻る。
【００１６】
図１８は通常処理におけるエンコーダ処理のフローであり、レジスタＶＡＬＵＥにエンコーダの出力値をストアし(ステップＥ１)、ＦＶＡＬＵＥにストアされているエンコーダの前回の出力値をＶＡＬＵＥにストアされた今回の出力値から減算して、その減算した差分をレジスタＳＡＢＵＮにストアする（ステップＥ２）。そして、ＳＡＢＵＮの差分の絶対値が所定値（最小値）よりも大きいか否かを判別する（ステップＥ３）。すなわち、エンコーダが操作されたか否かを判別する。差分の絶対値が所定値以下である場合にはこのフローを終了するが、差分の絶対値が所定値より大きい場合には、入力イベントレジスタに「１０」の値をストアする（ステップＥ４）。また、入力値イベントレジスタにＳＡＢＵＮの値をストアする（ステップＥ５）。次に、イベント発生フラグを「１（イベント発生あり）」にセットして（ステップＥ６）、ＶＡＬＵＥにストアされた出力値をＦＶＡＬＵＥにストアする（ステップＥ７）。そして、通常処理のフローに戻る。
【００１７】
図１９〜図２５は、通常処理における仕様データ処理のフローである。図１９において、仕様データの内容を示すコマンドがＤＩＳＰ（  ）であるか否かを判別する（ステップＦ１）。すなわち「（  ）の内容を表示」というコマンドであるか否かを判別する。コマンドがＤＩＳＰ（  ）である場合には、（  ）の内容に応じた処理を行う。
すなわち、（  ）の内容がＭＡＩＮであるか否かを判別し（ステップＦ２）、ＭＡＩＮである場合には起動画面を表示する（ステップＦ３）。図９〜図１３に示した起動画面以外のいずれかの画面において、「ＲＥＴＵＲＮ」の表示に対応するアイコンスイッチがオンされたときは図８の起動画面を表示する。例えば、図９の自動演奏停止画面において、ＳＷＲ５がオンされたときは図８の起動画面を表示する。
【００１８】
（  ）の内容がＭＡＩＮでない場合には（  ）の内容がＳＴＡＲＴであるか否かを判別し（ステップＦ４）、ＳＴＡＲＴである場合には自動演奏中画面を表示する（ステップＦ５）。すなわち、図８の起動画面、図９の自動演奏停止画面、又は、図１１の自動演奏待機画面において、ＳＷＬ２がオンされたときは、図５の仕様テーブルのコマンドにＤＩＳＰ（ＳＴＡＲＴ）があるので、図１０の自動演奏中画面を表示する。
（  ）の内容が上記いずれでもない場合には（  ）の内容がＳＴＯＰであるか否かを判別し（ステップＦ６）、ＳＴＯＰである場合には自動演奏停止画面を表示する（ステップＦ７）。すなわち、図１０の自動演奏中画面又は図１１の自動演奏待機画面において、ＳＷＬ１がオンされたときは、図５の仕様テーブルのコマンドにＤＩＳＰ（ＳＴＯＰ）があるので、図９の自動演奏停止画面を表示する。
（  ）の内容が上記いずれでもない場合には（  ）の内容がＷＡＩＴであるか否かを判別し（ステップＦ８）、ＷＡＩＴである場合には自動演奏待機画面を表示する（ステップＦ９）。すなわち、図１０の自動演奏中画面において、ＳＷＬ３がオンされたときは、図５の仕様テーブルのコマンドにＤＩＳＰ（ＷＡＩＴ）があるので、図１１の自動演奏待機画面を表示する。
【００１９】
（  ）の内容が上記いずれでもない場合には（  ）の内容がＷＡＶであるか否かを判別し（ステップＦ１０）、ＷＡＶである場合には音源パラメータ変更画面を表示する（ステップＦ１１）。すなわち、図８の起動画面又は図９の自動演奏停止画面において、ＳＷＬ４がオンされたときは、図５の仕様テーブルのコマンドにＤＩＳＰ（ＷＡＶ）があるので、図１２の音源パラメータ変更画面において、ＴＯＮＥ、ＰＩＴＣＨ、ＦＩＬＴＥＲ、ＥＮＶＥＬＯＰＥ、ＭＯＤＵＬＡＴＩＯＮからなる各音源パラメータの名称を表示する。
（  ）の内容が上記いずれでもない場合には（  ）の内容がＳＥＱであるか否かを判別し（ステップＦ１２）、ＳＥＱである場合には演奏パラメータ変更画面を表示する（ステップＦ１３）。すなわち、図８の起動画面又は図９の自動演奏停止画面において、ＳＷＬ５がオンされたときは、図５の仕様テーブルのコマンドにＤＩＳＰ（ＳＥＱ）があるので、図１３の演奏パラメータ変更画面において、ＳＯＮＧ、ＴＲＡＮＳＰＯＳＥ、ＡＣＣＯＭＰ、ＴＥＭＰＯ、ＶＯＬＵＭＥからなる演奏パラメータの名称を表示する。
【００２０】
（  ）の内容が上記いずれでもない場合には、（  ）の内容が「ＳＥＬ，ＰＡＲＡ」であるか否かを判別する（ステップＦ１４）。（  ）の内容が「ＳＥＬ，ＰＡＲＡ」でもない場合、又は、上記いずれかの（  ）の内容に応じて処理を行った後は、仕様テーブル（Ｘ，Ｙ）にまだコマンドがあるか否かを判別し（ステップＦ１５）、次のコマンドがある場合にはそのコマンドを見る（ステップＦ１６）。そして、ステップＦ１に移行してそのコマンドの内容を判別する。ステップＦ１５において仕様テーブル（Ｘ，Ｙ）にコマンドがない場合には、このフローを終了して通常処理のフローに戻る。
【００２１】
ステップＦ１４において（  ）の内容が「ＳＥＬ，ＰＡＲＡ」である場合には、図２０のフローにおいて、ＳＥＬの値を判別してその値に応じた処理を実行する。すなわち、ＳＥＬの値が「０」であるか否かを判別し（ステップＦ１７）、ＳＥＬの値が「０」である場合にはＴＯＮＥの値を表示する（ステップＦ１８）。ＳＥＬの値が「０」でない場合にはＳＥＬの値が「１」であるか否かを判別し（ステップＦ１９）、「１」である場合にはＰＩＴＣＨの値を表示する（ステップＦ２０）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「２」であるか否かを判別し（ステップＦ２１）、「２」である場合にはＦＩＬＴＥＲの値を表示する（ステップＦ２２）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「３」であるか否かを判別し（ステップＦ２３）、「３」である場合にはＥＮＶＥＬＯＰＥの値を表示する（ステップＦ２４）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「４」であるか否かを判別し（ステップＦ２５）、「４」である場合にはＭＯＤＵＬＡＴＥの値を表示する（ステップＦ２６）。
【００２２】
すなわち、図８の起動画面又は図９の自動演奏停止画面において、ＳＷＬ４がオンされたときは、ＤＩＳＰ（ＳＥＬ｛ｊ｝，ＰＡＲＡ）のコマンドが図５の仕様テーブルにある。｛ｊ｝は０〜４の配列を示している。これは、「ＳＥＬの値が「０」〜「４」の音源パラメータの値を表示」というコマンドであるので、図１２の音源パラメータ変更画面において、ＴＯＮＥ、ＰＩＴＣＨ、ＦＩＬＴＥＲ、ＥＮＶＥＬＯＰＥ、ＭＯＤＵＬＡＴＩＯＮの各音源パラメータの現在の値を表示する。
【００２３】
ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「５」であるか否かを判別し（ステップＦ２７）、「５」である場合にはＳＯＮＧの値を表示する（ステップＦ２８）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「６」であるか否かを判別し（ステップＦ２９）、「６」である場合にはＴＲＡＮＳＰＯＳＥの値を表示する（ステップＦ３０）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「７」であるか否かを判別し（ステップＦ３１）、「７」である場合にはＡＣＣＯＭＰの値を表示する（ステップＦ３２）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「８」であるか否かを判別し（ステップＦ３３）、「８」である場合にはＴＥＭＰＯの値を表示する（ステップＦ３４）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「９」であるか否かを判別し（ステップＦ３５）、「９」である場合にはＶＯＬＵＭＥの値を表示する（ステップＦ３６）。
【００２４】
すなわち、図８の起動画面又は図９の自動演奏停止画面において、ＳＷＬ５がオンされたときは、ＤＩＳＰ（ＳＥＬ｛ｋ｝，ＰＡＲＡ）のコマンドが図５の仕様テーブルにある。｛ｋ｝は５〜９の配列を示している。これは、「ＳＥＬの値が「５」〜「９」の演奏パラメータの値を表示」というコマンドであるので、図１３の演奏パラメータ変更画面において、ＳＯＮＧ、ＴＲＡＮＳＰＯＳＥ、ＡＣＣＯＭＰ、ＴＥＭＰＯ、ＶＯＬＵＭＥの各演奏パラメータの現在の値を表示する。
【００２５】
ＳＥＬの値に応じて処理を行った後、又は、ＳＥＬの値が上記いずれでもない場合には、仕様テーブル（Ｘ，Ｙ）にまだコマンドがあるか否かを判別し（ステップＦ３７）、次のコマンドがある場合にはそのコマンドを見る（ステップＦ３８）。そして、図１９のステップＦ１に移行してそのコマンドの内容を判別する。ステップＦ３７において仕様テーブル（Ｘ，Ｙ）にコマンドがない場合には、このフローを終了して通常処理のフローに戻る。
【００２６】
図１９のステップＦ１において、仕様テーブルから読み出したコマンドがＤＩＳＰ（  ）でない場合には、図２１のフローにおいて、そのコマンドがＳＥＴ（）であるか否かを判別する（ステップＦ３９）。すなわち、「（  ）の内容を設定」というコマンドであるか否かを判別する。コマンドがＳＥＴ（  ）である場合には、さらに（  ）の内容が「ＳＥＴ，ｎ」であるか否かを判別する（ステップＦ４０）。すなわち、「レジスタＳＥＴにｎの値をセット」というコマンドであるか否かを判別する。したがって、コマンドが「ＳＥＴ，ｎ」である場合には、レジスタＳＥＴにｎの値をセットする（ステップＦ４１）。
【００２７】
（  ）の内容が「ＳＥＴ，ｎ」でない場合には、（  ）の内容が「ＳＴＡＴＵＳ，ｎ」であるか否かを判別する（ステップＦ４２）。すなわち、「レジスタＳＴＡＴＵＳにｎの値をセット」というコマンドであるか否かを判別する。したがって、コマンドが「ＳＴＡＴＵＳ，ｎ」である場合には、楽器状態レジスタにｎの値をセットする（ステップＦ４３）。レジスタに値をセットした後は、仕様テーブル（Ｘ，Ｙ）にまだコマンドがあるか否かを判別し（ステップＦ４４）、次のコマンドがある場合にはそのコマンドを見る（ステップＦ４５）。そして、図１９のステップＦ１に移行してそのコマンドの内容を判別する。ステップＦ４４において仕様テーブル（Ｘ，Ｙ）にコマンドがない場合には、このフローを終了して通常処理のフローに戻る。
【００２８】
図２１のステップＦ３９においてコマンドがＳＥＴ（  ）でない場合には、図２２のフローにおいて、仕様テーブルから読み出したコマンドがＣＨＡＮＧ（ＳＥＬ，ＳＡＢＵＮ）であるか否かを判別する（ステップＦ４６）。すなわち、「レジスタＳＥＬにセットされているパラメータの値にＳＡＢＵＮにストアされている値を加算」というコマンドであるか否かを判別する。コマンドがＣＨＡＮＧ（ＳＥＬ，ＳＡＢＵＮ）である場合には、ＳＥＬの値に応じて以下の処理を行う。
【００２９】
ＳＥＬの値が「０」であるか否かを判別し（ステップＦ４７）、「０」である場合にはレジスタＴＯＮＥの値にレジスタＳＡＢＵＮの値を加算し（ステップＦ４８）、ＴＯＮＥに対応する音色データを選択する（ステップＦ４９）。ＳＥＬの値が「０」でない場合にはＳＥＬの値が「１」であるか否かを判別し（ステップＦ５０）、「１」である場合にはレジスタＰＩＴＣＨの値にレジスタＳＡＢＵＮの値を加算する（ステップＦ５１）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「２」であるか否かを判別し（ステップＦ５２）、「２」である場合にはレジスタＦＩＬＴＥＲの値にレジスタＳＡＢＵＮの値を加算する（ステップＦ５３）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「３」であるか否かを判別し（ステップＦ５４）、「３」である場合にはレジスタＥＮＶＥＬＯＰＥの値にレジスタＳＡＢＵＮの値を加算する（ステップＦ５５）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「４」であるか否かを判別し（ステップＦ５６）、「４」である場合にはレジスタＭＯＤＵＬＡＴＩＯＮの値にレジスタＳＡＢＵＮの値を加算する（ステップＦ５７）。
【００３０】
ステップＦ４９において音色データを選択した後、又は、ステップＦ５１、Ｆ５３、Ｆ５５、若しくはＦ５７において対応するレジスタにＳＡＢＵＮの値を加算した後は、ＳＥＬにセットしたパラメータを音源装置２に供給する（ステップＦ５８）。そして、仕様テーブル（Ｘ，Ｙ）にまだコマンドがあるか否かを判別し（ステップＦ５９）、次のコマンドがある場合にはそのコマンドを見る（ステップＦ６０）。そして、図１９のステップＦ１に移行してそのコマンドの内容を判別する。ステップＦ５９において仕様テーブル（Ｘ，Ｙ）にコマンドがない場合には、このフローを終了して通常処理のフローに戻る。
【００３１】
図２２において、ＳＥＬの値が「０」〜「４」のいずれでもない場合には、図２３のフローにおいて、ＳＥＬの値が「５」であるか否かを判別し（ステップＦ６１）、「５」である場合にはレジスタＳＡＢＵＮの値によりＳＯＮＧの値を変更する（ステップＦ６２）。ＳＥＬの値が「５」でない場合には、ＳＥＬの値が「６」であるか否かを判別し（ステップＦ６３）、「６」である場合にはレジスタＳＡＢＵＮの値によりＴＲＡＮＳＰＯＳＥの値を変更する（ステップＦ６４）。ＳＥＬの値が上記いずれでもない場合には、ＳＥＬの値が「７」であるか否かを判別し（ステップＦ６５）、「７」である場合にはレジスタＳＡＢＵＮの値によりＡＣＣＯＭＰの値を変更する（ステップＦ６６）。ＳＥＬの値が上記いずれでもない場合には、ＳＥＬの値が「８」であるか否かを判別し（ステップＦ６７）、「８」である場合にはレジスタＳＡＢＵＮの値によりＴＥＭＰＯの値を変更する（ステップＦ６８）。ＳＥＬの値が上記いずれでもない場合には、ＳＥＬの値が「９」であるか否かを判別し（ステップＦ６９）、「９」である場合にはレジスタＳＡＢＵＮの値によりＶＯＬＵＭＥの値を変更する（ステップＦ７０）。
【００３２】
ＳＥＬの値が「５」〜「９」のいずれかに応じてパラメータ値の変更処理を行った後は、仕様テーブル（Ｘ，Ｙ）にまだコマンドがあるか否かを判別し（ステップＦ７１）、次のコマンドがある場合にはそのコマンドを見る（ステップＦ７２）。そして、図１９のステップＦ１に移行してそのコマンドの内容を判別する。ステップＦ７１において仕様テーブル（Ｘ，Ｙ）にコマンドがない場合には、このフローを終了して通常処理のフローに戻る。
【００３３】
図２２のステップＦ４６においてコマンドがＣＨＡＮＧ（ＳＥＬ，ＳＡＢＵＮ）でない場合には、図２４のフローにおいて、コマンドがＢＬＫ（ＳＥＬ）であるか否かを判別する（ステップＦ７３）。すなわち、「（ＳＥＬ）のパラメータの表示を点滅」というコマンドであるか否かを判別する。コマンドがＢＬＫ（ＳＥＬ）である場合には、レジスタＳＥＬの値に応じて以下の処理を行う。
ＳＥＬの値が「０」であるか否かを判別し（ステップＦ７４）、「０」である場合にはＴＯＮＥの表示を点滅する（ステップＦ７５）。ＳＥＬの値が「０」でない場合にはＳＥＬの値が「１」であるか否かを判別し（ステップＦ７６）、「１」である場合にはＰＩＴＣＨの表示を点滅する（ステップＦ７７）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「２」であるか否かを判別し（ステップＦ７８）、「２」である場合にはＦＩＬＴＥＲの表示を点滅する（ステップＦ７９）。
ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「３」であるか否かを判別し（ステップＦ８１）、「３」である場合にはＥＮＶＥＬＯＰＥの表示を点滅する（ステップＦ８２）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「４」であるか否かを判別し（ステップＦ８２）、「４」である場合にはＭＯＤＵＬＡＴＩＯＮの表示を点滅する（ステップＦ８３）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「５」であるか否かを判別し（ステップＦ８４）、「５」である場合にはＳＯＮＧの表示を点滅する（ステップＦ８５）。
ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「６」であるか否かを判別し（ステップＦ８６）、「６」である場合にはＴＲＡＮＳＰＯＳＥの表示を点滅する（ステップＦ８７）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「７」であるか否かを判別し（ステップＦ８８）、「７」である場合にはＡＣＣＯＭＰの表示を点滅する（ステップＦ８９）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「８」であるか否かを判別し（ステップＦ９０）、「８」である場合にはＴＥＭＰＯの表示を点滅する（ステップＦ９１）。ＳＥＬの値が上記いずれでもない場合にはＳＥＬの値が「９」であるか否かを判別し（ステップＦ９２）、「９」である場合にはＶＯＬＵＭＥの表示を点滅する（ステップＦ９３）。
【００３４】
ＳＥＬの値に応じて対応するパラメータを点滅処理した後は、仕様テーブル（Ｘ，Ｙ）にまだコマンドがあるか否かを判別し（ステップＦ９４）、次のコマンドがある場合にはそのコマンドを見る（ステップＦ９５）。そして、図１９のステップＦ１に移行してそのコマンドの内容を判別する。ステップＦ９４において仕様テーブル（Ｘ，Ｙ）にコマンドがない場合には、このフローを終了して通常処理のフローに戻る。
【００３５】
図２４のステップＦ７３において、コマンドがＢＬＫ（ＳＥＬ）でない場合には、図２５のフローにおいて、コマンドがＳＴＡＲＴ（ＳＯＮＧ）であるか否かを判別し（ステップＦ９６）、ＳＴＡＲＴ（ＳＯＮＧ）である場合には、レジスタＳＯＮＧの曲を演奏開始する（ステップＦ９７）。コマンドがＳＴＡＲＴ（ＳＯＮＧ）でない場合には、コマンドがＳＴＯＰ（ＳＯＮＧ）であるか否かを判別し（ステップＦ９８）、ＳＴＯＰ（ＳＯＮＧ）である場合には、演奏中のＳＯＮＧの曲を演奏停止にする（ステップＦ９９）。コマンドがＳＴＡＲＴ（ＳＯＮＧ）及びＳＴＯＰ（ＳＯＮＧ）のいずれでもない場合には、コマンドがＷＡＩＴ（ＳＯＮＧ）であるか否かを判別し（ステップＦ１００）、ＷＡＩＴ（ＳＯＮＧ）である場合には、演奏待機に状態遷移する（ステップＦ１０１）。
【００３６】
上記いずれかのコマンドに応じた処理を行った後は、仕様テーブル（Ｘ，Ｙ）にまだコマンドがあるか否かを判別し（ステップＦ１０２）、次のコマンドがある場合にはそのコマンドを見る（ステップＦ１０３）。そして、図１９のステップＦ１に移行してそのコマンドの内容を判別する。ステップＦ１０３において仕様テーブル（Ｘ，Ｙ）にコマンドがない場合には、このフローを終了して通常処理のフローに戻る。
【００３７】
図２６〜図３５は、メインフローにおける仕様書作成処理のフローである。この仕様書作成処理においては、図５〜図７における仕様テーブルのアルファベットの省略形及び数字からなるコマンドを通常の言語の文字に変換して仕様書を作成し、その仕様書を図１の表示装置２０に出力して画面に表示する。このため、ＶＲＡＭ１７における１画面の記憶領域において、水平方向の座標レジスタＸを「０」から「１０」までのデバイスの総数「１１」の範囲に区分し、垂直方向の座標レジスタＹを「０」から「５」までの楽器状態の総数「６」の範囲に区分して、仕様テーブルの各コマンドに対応する座標レジスタＸ及びＹの範囲に文字データを展開する。
【００３８】
図２６において、座標レジスタＹに「０」をセットし（ステップＧ１）、Ｙの値をインクリメントしながらＹの値に応じて、文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
Ｙの値が「０」であるか否かを判別し（ステップＧ２）、「０」である場合には「［画面名］起動画面」の文字データを出力する（ステップＧ３）。Ｙの値が「１」であるか否かを判別し（ステップＧ４）、「１」である場合には「［画面名］自動演奏停止画面」の文字データを出力する（ステップＧ５）。Ｙの値が「２」であるか否かを判別し（ステップＧ６）、「２」である場合には「［画面名］自動演奏中画面」の文字データを出力する（ステップＧ７）。
Ｙの値が「３」であるか否かを判別し（ステップＧ８）、「３」である場合には「［画面名］自動演奏待機画面」の文字データを出力する（ステップＧ９）。Ｙの値が「４」であるか否かを判別し（ステップＧ１０）、「４」である場合には「［画面名］音源パラメータ変更画面」の文字データを出力する（ステップＧ１１）。Ｙの値が「５」であるか否かを判別し（ステップＧ１２）、「５」である場合には「［画面名］演奏パラメータ変更画面」の文字データを出力する（ステップＧ１３）。
【００３９】
いずれかの画面名の文字データを出力した後は、改行処理を行って（ステップＧ１４）、座標レジスタＸに「０」をセットし（ステップＧ１５）、図２７のフローにおいて、Ｘの値をインクリメントしながらＸの値に応じて、文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
Ｘの値が「０」であるか否かを判別し（ステップＧ１６）、「０」である場合には「［デバイス］ＳＷＬ１」の文字データを出力する（ステップＧ１７）。Ｘの値が「１」であるか否かを判別し（ステップＧ１８）、「１」である場合には「［デバイス］ＳＷＬ２」の文字データを出力する（ステップＧ１９）。Ｘの値が「２」であるか否かを判別し（ステップＧ２０）、「２」である場合には「［デバイス］ＳＷＬ３」の文字データを出力する（ステップＧ２１）。
Ｘの値が「３」であるか否かを判別し（ステップＧ２２）、「３」である場合には「［デバイス］ＳＷＬ４」の文字データを出力する（ステップＧ２３）。Ｘの値が「４」であるか否かを判別し（ステップＧ２４）、「４」である場合には「［デバイス］ＳＷＬ５」の文字データを出力する（ステップＧ２５）。
【００４０】
Ｘの値が「５」であるか否かを判別し（ステップＧ２６）、「５」である場合には「［デバイス］ＳＷＲ１」の文字データを出力する（ステップＧ２７）。Ｘの値が「６」であるか否かを判別し（ステップＧ２８）、「６」である場合には「［デバイス］ＳＷＲ２」の文字データを出力する（ステップＧ２９）。Ｘの値が「７」であるか否かを判別し（ステップＧ３０）、「７」である場合には「［デバイス］ＳＷＲ３」の文字データを出力する（ステップＧ３１）。
Ｘの値が「８」であるか否かを判別し（ステップＧ３２）、「８」である場合には「［デバイス］ＳＷＲ４」の文字データを出力する（ステップＧ３３）。Ｘの値が「９」であるか否かを判別し（ステップＧ３４）、「９」である場合には「［デバイス］ＳＷＲ５」の文字データを出力する（ステップＧ３５）。Ｘの値が「１０」であるか否かを判別し（ステップＧ３６）、「１０」である場合には「［デバイス］ＥＮＣＯＤＥＲ」の文字データを出力する（ステップＧ３７）。
【００４１】
いずれかの文字データを出力した後は、改行処理を行って（ステップＧ３８）、仕様テーブル（Ｘ，Ｙ）から仕様データすなわちコマンドを読出し（ステップＧ３９ａ）、そのコマンドがＮＯＰであるか否かを判別する（ステップＧ３９ｂ）。コマンドがＮＯＰである場合には「状態変化なし」という文字データを出力する（ステップＧ３９ｃ）。コマンドがＮＯＰでない場合には、図２８のフローにおいて、読出したコマンドがＤＩＳＰ（  ）であるか否かを判別し（ステップＧ４０）、ＤＩＳＰ（  ）である場合には、さらに（  ）の内容がＭＡＩＮであるか否かを判別し（ステップＧ４１）、ＭＡＩＮである場合には「起動画面を表示」という文字データを出力する（ステップＧ４２）。（  ）の内容がＭＡＩＮでない場合には、（  ）の内容がＳＴＡＲＴであるか否かを判別し（ステップＧ４３）、ＳＴＡＲＴである場合には「自動演奏中画面を表示」という文字データを出力する（ステップＧ４４）。
（  ）の内容が上記いずれでもない場合には、（  ）の内容がＳＴＯＰであるか否かを判別し（ステップＧ４５）、ＳＴＯＰである場合には「自動演奏停止画面を表示」という文字データを出力する（ステップＧ４６）。（  ）の内容が上記いずれでもない場合には、（  ）の内容がＷＡＩＴであるか否かを判別し（ステップＧ４７）、ＷＡＩＴである場合には「自動演奏待機画面を表示」という文字データを出力する（ステップＧ４８）。
（  ）の内容が上記いずれでもない場合には、（  ）の内容がＷＡＶであるか否かを判別し（ステップＧ４９）、ＷＡＶである場合には「音源パラメータ変更画面を表示」という文字データを出力する（ステップＧ５０）。（  ）の内容が上記いずれでもない場合には、（  ）の内容がＳＥＱであるか否かを判別し（ステップＧ５１）、ＳＥＱである場合には「演奏パラメータ変更画面を表示」という文字データを出力する（ステップＧ５２）。
【００４２】
（  ）の内容が上記いずれでもない場合には、（  ）の内容が「ＳＥＬ，ＰＡＲＡ」であるか否かを判別し（ステップＧ５３）、「ＳＥＬ，ＰＡＲＡ」である場合には、図２９のフローにおいて、レジスタＳＥＬの値に応じて、文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
ＳＥＬの値が「０」であるか否かを判別し（ステップＧ５４）、「０」である場合には「音色番号を表示」という文字データを出力する（ステップＧ５５）。ＳＥＬの値が「１」であるか否かを判別し（ステップＧ５６）、「１」である場合には「ピッチを表示」という文字データを出力する（ステップＧ５７）。ＳＥＬの値が「２」であるか否かを判別し（ステップＧ５８）、「２」である場合には「フィルタを表示」という文字データを出力する（ステップＧ５９）。
ＳＥＬの値が「３」であるか否かを判別し（ステップＧ６０）、「３」である場合には「エンベロープを表示」という文字データを出力する（ステップＧ６１）。ＳＥＬの値が「４」であるか否かを判別し（ステップＧ６２）、「４」である場合には「変調を表示」という文字データを出力する（ステップＧ６３）。ＳＥＬの値が「５」であるか否かを判別し（ステップＧ６４）、「５」である場合には「曲番号を表示」という文字データを出力する（ステップＧ６５）。
ＳＥＬの値が「６」であるか否かを判別し（ステップＧ６６）、「６」である場合には「移調を表示」という文字データを出力する（ステップＧ６７）。ＳＥＬの値が「７」であるか否かを判別し（ステップＧ６８）、「７」である場合には「伴奏番号を表示」という文字データを出力する（ステップＧ６９）。ＳＥＬの値が「８」であるか否かを判別し（ステップＧ７０）、「８」である場合には「テンポを表示」という文字データを出力する（ステップＧ７１）。ＳＥＬの値が「９」であるか否かを判別し（ステップＧ７２）、「９」である場合には「音量を表示」という文字データを出力する（ステップＧ７３）。
【００４３】
いずれかの文字データを出力した後は、図３０のフローにおいて、改行処理を行って（ステップＧ７４）、座標レジスタＸ及びＹで現在指定している仕様テーブルの領域に次のコマンドがないか否かを判別する（ステップＧ７５）。次のコマンドがある場合には、図２７のステップＧ３９に移行して、仕様テーブル（Ｘ，Ｙ）から仕様データ（次のコマンド）を読出して、そのコマンドに応じた文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
図３０のステップＧ７５において次のコマンドがない場合には、Ｘの値をインクリメントする（ステップＧ７６）。そして、そのＸの値が「１０」を超えたか否かを判別し（ステップＧ７７）、超えていない場合には、図２７のフローに移行して、インクリメントしたＸの値に応じた文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。インクリメントしたＸの値が「１０」を超えた場合には、Ｙの値をインクリメントする（ステップＧ７８）。そして、そのＹの値が「５」を超えたか否かを判別し（ステップＧ７９）、超えていない場合には、図２６のフローのステップＧ３に移行して、インクリメントしたＹの値に応じた文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
【００４４】
仕様テーブルから読出したコマンドが、図２８のステップＧ４０においてＤＩＳＰ（  ）でない場合には、図３１のフローにおいて、その読出したコマンドがＳＥＴ（ＳＥＬ，ｎ）であるか否かを判別する（ステップＧ８０）。コマンドがＳＥＴ（ＳＥＬ，ｎ）である場合には、ＳＥＬの値に応じた文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
ＳＥＬの値が「０」であるか否かを判別し（ステップＧ８１）、「０」である場合には「音色を選択」という文字データを出力する（ステップＧ８２）。ＳＥＬの値が「１」であるか否かを判別し（ステップＧ８３）、「１」である場合には「ピッチを選択」という文字データを出力する（ステップＧ８４）。ＳＥＬの値が「２」であるか否かを判別し（ステップＧ８５）、「２」である場合には「フィルタを選択」という文字データを出力する（ステップＧ８６）。
ＳＥＬの値が「３」であるか否かを判別し（ステップＧ８７）、「３」である場合には「エンベロープを選択」という文字データを出力する（ステップＧ８８）。ＳＥＬの値が「４」であるか否かを判別し（ステップＧ８９）、「４」である場合には「変調を選択」という文字データを出力する（ステップＧ９０）。ＳＥＬの値が「５」であるか否かを判別し（ステップＧ９１）、「５」である場合には「曲を選択」という文字データを出力する（ステップＧ９２）。
ＳＥＬの値が「６」であるか否かを判別し（ステップＧ９３）、「６」である場合には「移調を選択」という文字データを出力する（ステップＧ９４）。ＳＥＬの値が「７」であるか否かを判別し（ステップＧ９５）、「７」である場合には「伴奏を選択」という文字データを出力する（ステップＧ９６）。ＳＥＬの値が「８」であるか否かを判別し（ステップＧ９７）、「８」である場合には「テンポを選択」という文字データを出力する（ステップＧ９８）。ＳＥＬの値が「９」であるか否かを判別し（ステップＧ９９）、「９」である場合には「音量を選択」という文字データを出力する（ステップＧ１００）。
ＳＥＬの値に応じていずれかの文字データを出力した後は、図３０のフローに移行する。
【００４５】
ステップＧ８０において、コマンドがＳＥＴ（ＳＥＬ，ｎ）でない場合には、図３２のフローにおいて、コマンドがＳＥＴ（ＳＴＡＴＵＳ，ｎ）であるか否かを判別する（ステップＧ１０１）。コマンドがＳＥＴ（ＳＴＡＴＵＳ，ｎ）である場合には、ｎの値に応じた文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
ｎの値が「０」であるか否かを判別し（ステップＧ１０２）、「０」である場合には「楽器状態レジスタを０にする」という文字データを出力する（ステップＧ１０３）。ｎの値が「１」であるか否かを判別し（ステップＧ１０４）、「１」である場合には「楽器状態レジスタを１にする」という文字データを出力する（ステップＧ１０５）。ｎの値が「２」であるか否かを判別し（ステップＧ１０６）、「２」である場合には「楽器状態レジスタを２にする」という文字データを出力する（ステップＧ１０７）。
ｎの値が「３」であるか否かを判別し（ステップＧ１０８）、「３」である場合には「楽器状態レジスタを３にする」という文字データを出力する（ステップＧ１０９）。ｎの値が「４」であるか否かを判別し（ステップＧ１１０）、「４」である場合には「楽器状態レジスタを４にする」という文字データを出力する（ステップＧ１１１）。ｎの値が「５」であるか否かを判別し（ステップＧ１１２）、「５」である場合には「楽器状態レジスタを５にする」という文字データを出力する（ステップＧ１１３）。
ｎの値に応じていずれかの文字データを出力した後は、図３０のフローに移行する。
【００４６】
図３２においてコマンドがＳＥＴ（ＳＴＡＴＵＳ，ｎ）でない場合には、図３３のフローにおいて、コマンドがＣＨＡＮＧ（ＳＥＬ，ＳＡＢＵＮ）であるか否かを判別する（ステップＧ１１４）。コマンドがＣＨＡＮＧ（ＳＥＬ，ＳＡＢＵＮ）である場合には、ＳＥＬの値に応じた文字データをＶＲＡＭ１７に出力して表示装置２０の表示させる。
ＳＥＬの値が「０」であるか否かを判別し（ステップＧ１１５）、「０」である場合には「音色番号の値を変更」という文字データを出力する（ステップＧ１１６）。ＳＥＬの値が「１」であるか否かを判別し（ステップＧ１１７）、「１」である場合には「ピッチの値を変更」という文字データを出力する（ステップＧ１１８）。ＳＥＬの値が「２」であるか否かを判別し（ステップＧ１１９）、「２」である場合には「フィルタの値を変更」という文字データを出力する（ステップＧ１２０）。
ＳＥＬの値が「３」であるか否かを判別し（ステップＧ１２１）、「３」である場合には「エンベロープの値を変更」という文字データを出力する（ステップＧ１２２）。ＳＥＬの値が「４」であるか否かを判別し（ステップＧ１２３）、「４」である場合には「変調の値を変更」という文字データを出力する（ステップＧ１２４）。ＳＥＬの値が「５」であるか否かを判別し（ステップＧ１２５）、「５」である場合には「曲番号の値を変更」という文字データを出力する（ステップＧ１２６）。
ＳＥＬの値が「６」であるか否かを判別し（ステップＧ１２７）、「６」である場合には「移調の値を変更」という文字データを出力する（ステップＧ１２８）。ＳＥＬの値が「７」であるか否かを判別し（ステップＧ１２９）、「７」である場合には「伴奏番号の値を変更」という文字データを出力する（ステップＧ１３０）。ＳＥＬの値が「８」であるか否かを判別し（ステップＧ１３１）、「８」である場合には「テンポの値を変更」という文字データを出力する（ステップＧ１３２）。ＳＥＬの値が「９」であるか否かを判別し（ステップＧ１３３）、「９」である場合には「音量の値を変更」という文字データを出力する（ステップＧ１３４）。
ＳＥＬの値に応じていずれかの文字データを出力した後は、図３０のフローに移行する。
【００４７】
図３３のステップＧ１１４において、コマンドがＣＨＡＮＧ（ＳＥＬ，ＳＡＢＵＮ）でない場合には、図３４のフローにおいて、コマンドがＢＬＫ（ＳＥＬ）であるか否かを判別する（ステップＧ１３５）。コマンドがＢＬＫ（ＳＥＬ）である場合には、ＳＥＬの値に応じた文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。
ＳＥＬの値が「０」であるか否かを判別し（ステップＧ１３６）、「０」である場合には「音色番号の値表示点滅」という文字データを出力する（ステップＧ１３７）。ＳＥＬの値が「１」であるか否かを判別し（ステップＧ１３８）、「１」である場合には「ピッチの値表示点滅」という文字データを出力する（ステップＧ１３９）。ＳＥＬの値が「２」であるか否かを判別し（ステップＧ１４０）、「２」である場合には「フィルタの値表示点滅」という文字データを出力する（ステップＧ１４１）。
ＳＥＬの値が「３」であるか否かを判別し（ステップＧ１４２）、「３」である場合には「エンベロープの値表示点滅」という文字データを出力する（ステップＧ１４３）。ＳＥＬの値が「４」であるか否かを判別し（ステップＧ１４４）、「４」である場合には「変調の値表示点滅」という文字データを出力する（ステップＧ１４５）。ＳＥＬの値が「５」であるか否かを判別し（ステップＧ１４６）、「５」である場合には「曲番号の値表示点滅」という文字データを出力する（ステップＧ１４７）。
ＳＥＬの値が「６」であるか否かを判別し（ステップＧ１４８）、「６」である場合には「移調の値表示点滅」という文字データを出力する（ステップＧ１４９）。ＳＥＬの値が「７」であるか否かを判別し（ステップＧ１５０）、「７」である場合には「伴奏番号の値表示点滅」という文字データを出力する（ステップＧ１５１）。ＳＥＬの値が「８」であるか否かを判別し（ステップＧ１５２）、「８」である場合には「テンポの値表示点滅」という文字データを出力する（ステップＧ１５３）。ＳＥＬの値が「９」であるか否かを判別し（ステップＧ１５４）、「９」である場合には「音量の値表示点滅」という文字データを出力する（ステップＧ１５５）。
ＳＥＬの値に応じていずれかの文字データを出力した後は、図３０のフローに移行する。
【００４８】
図３４において、コマンドがＢＬＫ（ＳＥＬ）でない場合には、図３５のフローにおいて、以下のコマンドに応じた文字データをＶＲＡＭ１７に出力して表示装置２０に表示させる。コマンドがＳＴＡＲＴ（ＳＯＮＧ）であるか否かを判別し（ステップＧ１５６）、ＳＴＡＲＴ（ＳＯＮＧ）である場合には「自動演奏再生」という文字データを出力する（ステップＧ１５７）。コマンドがＳＴＯＰ（ＳＯＮＧ）であるか否かを判別し（ステップＧ１５８）、ＳＴＯＰ（ＳＯＮＧ）である場合には「自動演奏停止」という文字データを出力する（ステップＧ１５９）。コマンドがＷＡＩＴ（ＳＯＮＧ）であるか否かを判別し（ステップＧ１６０）、ＷＡＩＴ（ＳＯＮＧ）である場合には「自動演奏待機」という文字データを出力する（ステップＧ１６１）。
コマンドに応じていずれかの文字データを出力した後は、図３０のフローに移行する。
【００４９】
図３６は、仕様書作成処理によって作成された仕様書（一部）を示している。この図に示すように、アルファベットの省略形及び数字で記述された図５〜図７の仕様テーブルの各仕様データすなわち各コマンドが通常の言語で記述されている。したがって、電子楽器の開発システムにおいて、仕様テーブルに対応する仕様書を誰にでも容易に理解できる記述で自動的に作成できる。このため、開発者は容易に仕様変更等が可能になるとともに、製造関係及び営業関係等の関係者であっても、各操作に応じた電子楽器の状態遷移を容易に確認することができる。
【００５０】
なお、上記実施形態においては、電子楽器の開発システムに適用した仕様書自動作成装置について説明したが、他の種々の制御機器、情報機器、電子機器等の開発においても、本発明の仕様書自動作成装置を適用して、その機器の仕様テーブルに対応する仕様書を誰にでも容易に理解できる記述で自動的に作成できることは言うまでもない。
【００５１】
また、上記実施形態においては、仕様テーブルの各仕様データすなわち各コマンドの全てを読出して仕様書を作成する構成にしたが、楽器状態のグループごとに独立してその各コマンドに対応する仕様書を作成する構成にしてもよい。
【００５２】
また、上記実施形態においては、ＲＯＭ内に制御プログラムをあらかじめ記憶したハードウェアとしての仕様書自動作成装置について説明したが、仕様書自動作成処理のプログラムを記憶したＣＤやフロッピーディスク等の記憶媒体を図１のパソコン３に装着して、その記憶媒体から仕様書自動作成処理のプログラムを読出して実行するようにシステムを構成することができる。すなわち、プログラムの発明を実現することができる。
そのプログラムは、所定の機器をある状態から他の状態に遷移させるための複数種類のコマンドからなる仕様テーブルを記憶する記憶手段からコマンドを読み出す第１のステップと、読み出されたコマンドを機器に関する仕様書を構成する言語の文字データに変換する第２のステップと、変換された言語の文字データを出力する第３のステップとを有するものである。
【００５３】
【発明の効果】
本発明によれば、種々の制御機器、情報機器、電子機器等の開発において、その機器の仕様テーブルに対応する仕様書を誰にでも容易に理解できる記述で自動的に作成できる。このため、開発者は容易に仕様変更等が可能になるとともに、製造関係及び営業関係等の関係者であっても、各操作に応じた機器の状態遷移を容易に確認することができる。
【図面の簡単な説明】
【図１】本発明の仕様書自動作成装置を適用した電子楽器の開発システムを示すブロック図。
【図２】図１におけるパソコン３の構成を示すブロック図。
【図３】図２における表示装置の画面構成を示す図。
【図４】図２におけるＲＯＭに記憶されたデバイス及び楽器状態に対応する番号を示す図。
【図５】図２におけるＲＯＭに記憶された仕様テーブルの図。
【図６】図２におけるＲＯＭに記憶された仕様テーブルの図。
【図７】図２におけるＲＯＭに記憶された仕様テーブルの図。
【図８】図２における表示装置の起動画面を示す図。
【図９】図２における表示装置の自動演奏停止画面を示す図。
【図１０】図２における表示装置の自動演奏中画面を示す図。
【図１１】図２における表示装置の自動演奏待機画面を示す図。
【図１２】図２における表示装置の音源パラメータ変更画面を示す図。
【図１３】図２における表示装置の演奏パラメータ変更画面を示す図。
【図１４】図２におけるＣＰＵのメインフローチャート。
【図１５】図１４におけるイニシャライズ処理のフローチャート。
【図１６】図１４における通常処理のフローチャート。
【図１７】図１６におけるスイッチ処理のフローチャート。
【図１８】図１６におけるエンコーダ処理のフローチャート。
【図１９】図１６における仕様データ処理のフローチャート。
【図２０】図１９に続く仕様データ処理のフローチャート。
【図２１】図１９に続く仕様データ処理のフローチャート。
【図２２】図２１に続く仕様データ処理のフローチャート。
【図２３】図２２に続く仕様データ処理のフローチャート。
【図２４】図２２に続く仕様データ処理のフローチャート。
【図２５】図２４に続く仕様データ処理のフローチャート。
【図２６】図１４における仕様書作成処理のフローチャート。
【図２７】図２６に続く仕様書作成処理のフローチャート。
【図２８】図２７に続く仕様書作成処理のフローチャート。
【図２９】図２８に続く仕様書作成処理のフローチャート。
【図３０】図２８等に続く仕様書作成処理のフローチャート。
【図３１】図２８に続く仕様書作成処理のフローチャート。
【図３２】図３１に続く仕様書作成処理のフローチャート。
【図３３】図３２に続く仕様書作成処理のフローチャート。
【図３４】図３３に続く仕様書作成処理のフローチャート。
【図３５】図３４に続く仕様書作成処理のフローチャート。
【図３６】仕様書作成処理よって作成された仕様書を示す図。
【符号の説明】
１  鍵盤装置
２  音源装置
３  パソコン
１１  ＣＰＵ
１２  システムバス
１３  ＲＯＭ
１４  ＲＡＭ
１５  スイッチ
１６  エンコーダ
１７  ＶＲＡＭ
１８  鍵盤インターフェース
１９  音源インターフェース
２０  表示装置
【図１】
0004161552.tif 000002
【図２】
0004161552.tif 000003
【図３】
0004161552.tif 000004
【図４】
0004161552.tif 000005
【図５】
0004161552.tif 000006
【図６】
0004161552.tif 000007
【図７】
0004161552.tif 000008
【図８】
0004161552.tif 000009
【図９】
0004161552.tif 000010
【図１０】
0004161552.tif 000011
【図１１】
0004161552.tif 000012
【図１２】
0004161552.tif 000013
【図１３】
0004161552.tif 000014
【図１４】
0004161552.tif 000015
【図１５】
0004161552.tif 000016
【図１６】
0004161552.tif 000017
【図１７】
0004161552.tif 000018
【図１８】
0004161552.tif 000019
【図１９】
0004161552.tif 000020
【図２０】
0004161552.tif 000021
【図２１】
0004161552.tif 000022
【図２２】
0004161552.tif 000023
【図２３】
0004161552.tif 000024
【図２４】
0004161552.tif 000025
【図２５】
0004161552.tif 000026
【図２６】
0004161552.tif 000027
【図２７】
0004161552.tif 000028
【図２８】
0004161552.tif 000029
【図２９】
0004161552.tif 000030
【図３０】
0004161552.tif 000031
【図３１】
0004161552.tif 000032
【図３２】
0004161552.tif 000033
【図３３】
0004161552.tif 000034
【図３４】
0004161552.tif 000035
【図３５】
0004161552.tif 000036
【図３６】
0004161552.tif 000037