(57)【要約】【課題】少ない容量で大量のコード進行データを記憶し有効に利用すること。【解決手段】このコード進行データ処理システムで使用されるコード進行データは、２種のフォーマットに大別される。第１フォーマットのコード進行データＣｓ１は、調Ｋｙを指定する調指定情報Ｋｄと指定された調Ｋｄの主音からの度数を表わす度数情報Ｄｇを含み、両情報Ｋｄ，Ｄｇの組み合わせによってコード進行の各コード根音を表現する。また、第２フォーマットのコード進行データＣｓ２ａ，Ｃｓ２ｂは、調Ｋｙを指定する調指定情報Ｋｄと、他のコード進行データ（フォーマットは任意）からの引用を表わす引用情報Ｒｆを含み、引用情報Ｒｆは、データ再生の際に、当該引用情報に基づいて指定される他のコード進行データの度数情報Ｄｇに置換され、置換された度数情報Ｄｇと調指定情報Ｋｄとの組み合わせによって、コード進行の各コード根音を表現することができる。【選択図】図２
2005091657.tif 000002
【特許請求の範囲】
【請求項１】
調を指定する調指定情報及び指定された調の主音からの度数を表わす度数情報を含む第１のコード進行データ、並びに、調を指定する調指定情報及び他のコード進行データからの引用を表わす引用情報を含む第２のコード進行データを記憶する記憶手段と、
第２のコード進行データの引用情報を、当該引用情報に基づいて指定される他のコード進行データの度数情報に置換する置換手段と、
第１のコード進行データにおける調指定情報と度数情報との組み合わせ、或いは、第２のコード進行データの調指定情報と置換された度数情報との組み合わせに従って根音が表わされるコードを再生する再生手段と
を具備することを特徴とするコード進行データ処理装置。
【請求項２】
前記置換手段は、前記引用情報で指定される他のコード進行データに含まれる調指定情報を無効にすることを特徴とする請求項１に記載のコード進行データ処理装置。
【請求項３】
調を指定する調指定情報及び指定された調の主音からの度数を表わす度数情報を含む第１のコード進行データ、並びに、調を指定する調指定情報及び他のコード進行データからの引用を表わす引用情報を含む第２のコード進行データを記憶する記憶手段を備える情報処理装置に対して、
第２のコード進行データの引用情報を、当該引用情報に基づいて指定される他のコード進行データの度数情報に置換するステップと、
第１のコード進行データにおける調指定情報と度数情報との組み合わせ、或いは、第２のコード進行データの調指定情報と置換された度数情報との組み合わせに従って根音が表わされるコードを再生するステップと
から成る手順を実行させるコード進行データ処理プログラム。
【請求項４】
調を指定する調指定情報及び指定された調の主音からの度数を表わす度数情報を含み、両情報の組み合わせによってコード進行の各コード根音を表現する第１のコード進行データと、
調を指定する調指定情報及び他のコード進行データからの引用を表わす引用情報を含み、当該調指定情報と該引用情報に基づいて指定される他のコード進行データの度数情報との組み合わせによってコード進行の各コード根音を表現する第２のコード進行データと
を記録している情報処理装置読取り可能なコード進行データ記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、少ない容量で大量のコード（ｃｈｏｒｄ）進行データを記憶することができるようにしたコード進行データ処理システムに関する。
【背景技術】
【０００２】
従来より、例えば、特許文献１に示されるように、大量のコード進行データを記憶したコード進行データベースが知られている。
【特許文献１】特開２０００−２２７７９５号公報
【０００３】
このようなコード進行データベース内において、各コード進行データは、それぞれが独立したデータを記憶している。例えば、度数進行としては同じであるが調が異なるような複数のコード進行があった場合に、それぞれ独立したデータを持つため、記憶容量を無駄に消費することなる。また、典型的なコード進行が複数のコード進行データ内で使われている場合にも、それぞれ独立したデータを持つため、記憶容量が無駄に消費される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は、このような事情に鑑み、少ない容量で大量のコード進行データを記憶し有効に利用することができるコード進行データ処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明の主たる特徴に従うと、調（Ｋｙ）を指定する調指定情報（Ｋｄ）及び指定された調（Ｋｙ）の主音からの度数を表わす度数情報（Ｄｇ）を含む第１のコード進行データ（Ｃｓ１）、並びに、調（Ｋｙ）を指定する調指定情報（Ｋｄ）及び他のコード進行データ（Ｃｓ１，Ｃｓ２）からの引用を表わす引用情報を含む第２のコード進行データ（Ｃｓ２）を記憶する記憶手段（３，４）と、第２のコード進行データ（Ｃｓ２）の引用情報（Ｒｆ）を、当該引用情報（Ｒｆ）に基づいて指定される他のコード進行データの度数情報（Ｄｇ）に置換する置換手段（Ｓ１２〜Ｓ１３）と、第１のコード進行データ（Ｃｓ１）における調指定情報（Ｋｄ）と度数情報（Ｄｇ）との組み合わせ、或いは、第２のコード進行データの調指定情報（Ｋｄ）と置換された度数情報（Ｄｇ）との組み合わせに従って根音が表わされるコードを再生する再生手段（Ｓ７〜Ｓ１０）とを具備するコード進行データ処理装置〔請求項１〕、並びに、調（Ｋｙ）を指定する調指定情報（Ｋｄ）及び指定された調（Ｋｙ）の主音からの度数を表わす度数情報（Ｄｇ）を含む第１のコード進行データ（Ｃｓ１）、並びに、調（Ｋｙ）を指定する調指定情報（Ｋｄ）及び他のコード進行データ（Ｃｓ１，Ｃｓ２）からの引用を表わす引用情報（Ｒｆ）を含む第２のコード進行データ（Ｃｓ２）を記憶する記憶手段（３，４）を備える情報処理装置に対して、第２のコード進行データ（Ｃｓ２）の引用情報（Ｒｆ）を、当該引用情報（Ｒｆ）に基づいて指定される他のコード進行データの度数情報（Ｄｇ）に置換するステップ（Ｓ１２〜Ｓ１３）と、第１のコード進行データ（Ｃｓ１）における調指定情報（Ｋｄ）と度数情報（Ｄｇ）との組み合わせ、或いは、第２のコード進行データ（Ｃｓ２）の調指定情報（Ｋｄ）と置換された度数情報（Ｄｇ）との組み合わせに従って根音が表わされるコードを再生するステップ（Ｓ７〜Ｓ１０）とから成る手順を実行させるコード進行データ処理プログラム〔請求項３〕が提供される。なお、括弧書きは、実施例における参照記号を表わす。
【０００６】
また、この発明によると、調（Ｋｙ）を指定する調指定情報（Ｋｄ）及び指定された調（Ｋｄ）の主音からの度数を表わす度数情報（Ｄｇ）を含み、両情報（Ｋｄ，Ｄｇ）の組み合わせによってコード進行の各コード根音を表現する第１のコード進行データ（Ｃｓ１）と、調（Ｋｙ）を指定する調指定情報（Ｋｄ）及び他のコード進行データ（Ｃｓ１，Ｃｓ２）からの引用を表わす引用情報（Ｒｆ）を含み、当該調指定情報（Ｋｄ）と該引用情報（Ｒｆ）に基づいて指定される他のコード進行データ（Ｃｓ１，Ｃｓ２）の度数情報（Ｄｇ）との組み合わせによってコード進行の各コード根音を表現する第２のコード進行データ（Ｃｓ２）とを記録している情報処理装置読取り可能なコード進行データ記録媒体〔請求項４〕が提供される。
【０００７】
さらに、この発明によるコード進行データ処理装置の置換手段は、引用情報（Ｒｆ）で指定される他のコード進行データ（Ｃｓ１，Ｃｓ２）に含まれる調指定情報（Ｋｄ）を無効にする〔請求項２〕ように構成することができる。
【発明の効果】
【０００８】
この発明によるコード進行データ処理システムでは、調指定情報（Ｋｄ）及び度数情報（Ｄｇ）を含む第１のコード進行データ（Ｃｓ１）により、コード進行を「度数（Ｄｇ）＋調（Ｋｙ）」で表記し、第２のコード進行データ（Ｃｓ２）に引用情報（Ｒｆ）を含ませて、或るコード進行内で他のコード進行を引用できるように構成している。従って、例えば、度数進行（Ｄｇ）が同じであるが調（Ｋｙ）が異なるような複数のコード進行データを必要とする場合、第１のコード進行データ（Ｃｓ１）とこのコード進行データを引用する第２のコード進行データ（Ｃｓ２）とを用いることにより、度数進行が同一のコード進行データに対する記憶容量を削減することができる。また、よく利用される典型的なコード進行データ（Ｃｓ１）がある場合も、これを新たなコード進行データ（Ｃｓ２）で引用することにより、新たなコード進行データ（Ｃｓ２）に対する記憶容量を削減しつつ、典型的なコード進行データ（Ｃｓ１）を有効に利用することができる。
【０００９】
また、他のコード進行データ（Ｃｓ１，Ｃｓ２）を引用する際には、引用元になる他のコード進行データの調指定情報（Ｋｄ’）を無効にする。これにより、引用先である第２のコード進行データ（Ｃｓ２）において、自由に調（Ｋｙ）を設定することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しつつこの発明の好適な実施の一形態について説明する。しかしながら、これは単なる一例であって、この発明は、発明の精神を逸脱しない範囲で種々の変更が可能である。
【００１１】
〔システムの概要〕
図１は、この発明の一実施例によるコード進行データ処理システムのハードウエア構成ブロック図を示す。このコード進行データ処理システムの装置には、電子楽器又はパーソナルコンピュータ（ＰＣ）が用いられ、このようなコード進行データ処理装置は、中央処理装置（ＣＰＵ）１、ランダムアクセスメモリ（ＲＡＭ）２、読出専用メモリ（ＲＯＭ）３、外部記憶装置４、演奏操作検出回路５、設定操作検出回路６、表示回路７、音源回路８、効果回路９、ＭＩＤＩインターフェース（Ｉ／Ｆ）１０、通信インターフェース（Ｉ／Ｆ）１１などを備え、これらの装置１〜１１はバス１２を介して互いに接続される。
【００１２】
ＣＰＵ１は、所定の制御プログラムに従い、タイマ１３によるクロックを利用して、コード進行データ処理を含む種々の音楽データ処理を実行する。ＲＡＭ２は、これらの処理に際して必要な各種データを一時記憶するためにのワーク領域として用いられる。例えば、コード進行データ処理時には、コード進行データの作業領域が確保され、また、コード進行データの調性情報や時間情報を格納するための調性レジスタＴｏｎａｌｉｔｙや時間長レジスタＬｅｎｇｔｈ等が設けられる。また、ＲＯＭ３には、これらの処理を実行するために、コード進行データ処理プログラムを含む各種制御プログラムや各種データ、パラメータ等が予め記憶される。
【００１３】
外部記憶装置４は、ハードディスク（ＨＤ）等の内蔵記憶媒体の外に、コンパクトディスク・リード・オンリィ・メモリ（ＣＤ−ＲＯＭ）、フレキシブルディスク（ＦＤ）、光磁気（ＭＯ）ディスク、ディジタル多目的ディスク（ＤＶＤ）、スマートメディア（登録商標）等の小型メモリカード、等々、種々の可搬性の外部記憶媒体を含む。ＲＯＭ３や外部記憶装置４にはコード進行データベースを構築し、多数のコード進行データのファイルを蓄積しておくことができる。
【００１４】
演奏操作検出回路５は、鍵盤やホイール等の演奏操作子１４の演奏操作内容を検出し、設定操作検出回路６は、数字／カーソルキーやパネルスイッチ等の設定操作子１５の設定操作内容を検出し、それぞれ、検出内容に対応する情報をシステム本体に導入する。表示回路７は、各種画面を表示するディスプレイや各種インジケータ（ランプ）を備え、これらの表示／点灯内容をＣＰＵ１からの指令に従って制御し、各操作子１４，１５の操作に対する表示援助を行う。
【００１５】
音源回路８は、演奏操作子１４や記憶手段３，５からの演奏データを処理して得られる楽音データに対応する楽音信号を生成する。効果付与ＤＳＰを有する効果回路９は、楽音信号に所定の効果を付与し、効果回路９に接続されるサウンドシステム１７は、Ｄ／Ａ変換部やアンプ、スピーカを備え、効果が付与された楽音信号に基づく楽音を発生する。
【００１６】
また、ＭＩＤＩＩ／Ｆ１０には他の電子楽器（ＭＩＤＩ機器）ＭＤが接続され、このコード進行データ処理装置と他の電子楽器ＭＤとの間で、コード進行を含む演奏データを授受し、このシステムで利用することができる。また、通信Ｉ／Ｆ１１には、インターネットやローカルエリアネットワーク（ＬＡＮ）などの通信ネットワークＣＮが接続され、外部のサーバコンピュータＳＶなどから、制御プログラムや演奏データ等の各種情報をダウンロードして外部記憶装置４に保存し、このシステムで利用することができる。
【００１７】
〔コード進行データフォーマット〕
この発明の一実施例によるコード進行データ処理システムにおいては、コード進行を「度数＋調」で表記し、或るコード進行内において他のコード進行を引用できるようにした所定形式のコード進行データを取り扱うことができる。図２は、この発明の一実施例によるコード進行データ処理システムにおいて利用されるコード進行データのフォーマットを説明するための図である。
【００１８】
ここで、図２を用いてこのコード進行データ処理システムの機能の概要を極く簡単に説明しておく。このシステムで使用されるコード進行データは、２種のフォーマットに大別される。第１フォーマットのコード進行データＣｓ１は、調Ｋｙ（Ｋｙａ，Ｋｙｂ）を指定する調指定情報Ｋｄ（Ｋｄａ，Ｋｄｂ）と指定された調Ｋｄの主音からの度数を表わす度数情報Ｄｇを含み、両情報Ｋｄ，Ｄｇの組み合わせによってコード進行の各コード根音を表現する。また、第２フォーマットのコード進行データＣｓ２（Ｃｓ２ａ，Ｃｓ２ｂ）は、調Ｋｙを指定する調指定情報Ｋｄと、任意フォーマット（第１及び第２フォーマットＣｓ１，Ｃｓ２の何れでもよい）の他のコード進行データからの引用を表わす引用情報Ｒｆを含み、引用情報Ｒｆは、データ再生の際に、当該引用情報に基づいて指定される他のコード進行データの度数情報Ｄｇに置換され、置換された度数情報Ｄｇと調指定情報Ｋｄとの組み合わせによって、コード進行の各コード根音を表現することができる。
【００１９】
以下、図２について詳しく説明する。図２（１）には、特に他のコード進行を引用することがなく、自身のデータのみで独立してコード進行を表現することができる第１フォーマットのコード進行データＣｓ１を記録したファイル“ｃｈｏｒｄ１．ｔｘｔ”が例示され、図２（２ａ），（２ｂ）には、他のコード進行を引用し、引用した他のコード進行を参照しつつコード進行を表現することができる第２フォーマットのコード進行データＣｓ２ａ，Ｃｓ２ｂ（代表的に記号“Ｃｓ２”で表わす）を記録したファイル“ｃｈｏｒｄ２．ｔｘｔ”，“ｃｈｏｒｄ３．ｔｘｔ”が例示されている。
【００２０】
このシステムで用いられるコード進行データは、図２（３）に示すように、調情報Ｋｙａ，Ｋｙｂ（代表的に記号“Ｋｙ”で表わす）を主要素とする調指定ブロック（「調指定情報」ともいう）Ｋｄａ，Ｋｄｂ（代表的に記号“Ｋｄ”で表わす）と、度数、コード種類及び時間情報Ｄｇ，Ｔｙ，Ｔｍから成るコード進行指定ブロックＣｈ、及び／又は、引用元ファイル情報Ｆｎを主要素とする引用ブロック（「引用情報」ともいう）Ｒｆと、から構成され、エンド符号Ｅｄで終了する。
【００２１】
調指定ブロックＫｄ（Ｋｄａ，Ｋｄｂ）は、この例では、調Ｋｙ（Ｋｙａ，Ｋｙｂ）の指定を表わす小括弧“（  ）”内に文字“Ａ”〜“Ｇ”等の調情報Ｋｙを挿入して構成され、当該調指定ブロックＫｄの後に現われるコード進行指定ブロックＣｈ（特に、度数情報Ｄｇ）乃至引用ブロックＲｆに対して、調情報Ｋｙ（Ｋｙａ，Ｋｙｂ）が表わす調（「指定調」と呼ばれ、調情報と同一の参照記号を使用する）を指定し、指定調Ｋｙにて各ブロックＣｈ，Ｒｆのコード根音をシフトさせる機能を有し、このような調指定機能は、新たな調指定ブロックＫｄの出現により消滅する。つまり、調指定ブロックＫｄは、先頭（Ｋｄａ）のみならず、コード進行データの途中（Ｋｄｂ）に記述してもよく、途中に調指定ブロックＫｄｂが現われた場合、これ以降のブロックＣｈ，Ｒｆのコード根音は、当該調指定ブロックＫｄｂによる指定調Ｋｙｂでシフトされる。
【００２２】
調指定ブロックＫｄに続いて順次配列されるコード進行指定ブロックＣｈは指定調Ｋｙに基づくコードの進行を表わす。各コード進行指定ブロックＣｈの最初の構成データである度数情報Ｄｇは、各コード進行指定ブロックＣｈが表わすコードの根音を度数で指定するものであり、この例では、指定調Ｋｙの主音を１度として、７段階のローマ数字“Ｉ”（１）〜“ＶＩＩ”（７）及びこれらに♯や♭が付与されたものにより音階の度数で表記したものが用いられる。
【００２３】
度数情報Ｄｇに続くコード種類（タイプ）情報Ｔｙは、当該コードの種類（タイプ）を指定し、例えば、“ｍ７”は「マイナー７ｔｈ」を、“７”は「７ｔｈ」を表わし、メジャー（Ｍ）については省略される。度数情報Ｄｇ及びコード種類情報Ｔｙは、度数情報Ｄｇにより度数表記されたコード名を表わすコード指定情報として機能する。コード進行の再生に当って、この度数表記コード名は指定調Ｋｙでシフトされて実用上のコードに変換される。例えば、“（Ｆ）”の後の“ＩＩｍ７”は、指定調Ｋｙ＝“Ｆ”の主音から２度の音程にある「Ｇ」の「マイナー７ｔｈ」、つまり、「Ｇｍ７」を表わす。また、コード指定情報Ｄｇ，Ｔｙに続く時間情報Ｔｍは、時間記号“Ｔ”と“アラビア数字”などの数値データにより、当該コードの時間長（例えば、拍数）を表わす。例えば、時間情報Ｔｍ＝“Ｔ４”は当該コードを４拍分の時間だけ再生することを表わす。
【００２４】
引用ブロックＲｆは、引用元になるコード進行データを指示するための情報であり、この例では、引用を表わす大括弧“［  ］”内に引用元ファイル情報（例えば、ファイル名）Ｆｎを挿入して構成される。このブロックＲｆは、引用元ファイル情報Ｆｎにより指示されるコード進行データを参照し、直前の調指定ブロックＫｄによる指定調Ｋｙに従って再生される〔引用元コード進行データの（先頭の）指定調Ｋｙ’は無視される〕ことを表わし、コード進行再生の際、引用元ファイル情報Ｆｎにより指示されるコード進行データのコード進行を直前の調指定ブロックＫｄによる指定調Ｋｙでシフトされる。なお、以下においては、引用元ファイル及び更なる引用元ファイルにおける情報の参照記号には、主体となるファイルの情報との混同を避けるため、それぞれ、「’」及び「”」を付ける。
【００２５】
次に、各フォーマットのコード進行データＣｓ１，Ｃｓ２の具体例を紹介する。第１フォーマットＣｓ１のコード進行ファイルｃｈｏｒｄ１．ｔｘｔは、調指定ブロックＫｄとコード進行指定ブロックＣｈから成り、例えば、図２（１）右側上段に示すように、
（Ｃ）ＩＴ４ＶＩｍＴ４ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…              ……（１Ａ）
と記述される。この例では、調指定ブロックＫｄ＝“（Ｃ）”により指定調Ｋｙ＝“Ｃ”調（ハ調）を指定する。最初のコード進行指定ブロックＣｈ＝“ＩＴ４”は、指定調Ｋｙ＝Ｃで１度のメジャーコードをシフトしたもの即ちコード「Ｃ」（Ｃメジャー）が、４拍分（Ｔｍ＝Ｔ４）継続することを表わす。以下、同様にして、“ＶＩｍＴ４”はコード「Ａｍ」（Ａマイナー）・４拍を表わし、“ＩＩｍ７Ｔ２”はコード「Ｄｍ７」（Ｄマイナー７ｔｈ）・２拍を表わし、“Ｖ７Ｔ２”はコード「Ｇ７」（Ｇ７ｔｈ）・２拍を表わし、“ＩＴ４”はコード「Ｃ」（Ｃメジャー）・４拍を表わす。従って、例示の記述（１Ａ）は、図２（ａ）右側下段に示されるコード進行を表わす。
【００２６】
他のコード進行を全面的に引用する第２フォーマットＣｓ２ａのコード進行ファイル“ｃｈｏｒｄ２．ｔｘｔ”は、調指定ブロックＫｄと引用ブロックＰＦから成り、例えば、図２（２ａ）右側上段に示すように、
（Ｇ）［ｃｈｏｒｄ１．ｔｘｔ］                                  ……（２Ａ）
と、ファイル名Ｆｎを引用するだけの簡単な記述になる。この例では、調指定ブロックＫｄ＝“（Ｇ）”に引用ブロックＲｆ＝“ｃｈｏｒｄ１．ｔｘｔ”が後続して、第１フォーマットＣｓ１のコード進行ファイルｃｈｏｒｄ１．ｔｘｔを引用することを示しており、引用元ファイルｃｈｏｒｄ１．ｔｘｔが表わすコード進行を指定調Ｋｙ＝Ｇでシフトする（引用元の指定調Ｋｙ’＝Ｃは無視される）ことを表わす。
【００２７】
つまり、第２フォーマットＣｓ２ｂによる記述（２Ａ）は、引用元ファイルｃｈｏｒｄ１．ｔｘｔの記述（１Ａ）における調指定ブロックＫｄ’を“（Ｃ）”から“（Ｇ）”に変更して、コード進行指定ブロックＣｈ’をそのまま展開した
（Ｇ）ＩＴ４ＶＩｍＴ４ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…              ……（１Ｂ）
と等価であり、具体的には、図２（２ａ）右側下段に示されるコード進行を表わす。
【００２８】
部分的に他のコード進行を引用する第２フォーマットＣｓ２ｂのコード進行ファイル“ｃｈｏｒｄ３．ｔｘｔ”は、調指定ブロックＫｄと、コード進行指定ブロックＣｈ及び引用ブロックＰＦから成り、例えば、図２（２ｂ）右側上段に示すように、
（Ｆ）ＩＩｍ７Ｔ４Ｖ７Ｔ４Ｉｍ７Ｔ４ＩＶ７Ｔ４（Ｆ♯）［ｃｈｏｒｄ１．
ｔｘｔ］…                                                    ……（２Ｂ）
と記述される。この例では、独立形式のコード進行の途中で他のコード進行ファイルｃｈｏｒｄ１．ｔｘｔを引用しており、記述（１Ａ）の独立的な記述形式と記述（２Ａ）の引用形式とが混在する。
【００２９】
前段部の“（Ｆ）ＩＩｍ７Ｔ４Ｖ７Ｔ４Ｉｍ７Ｔ４ＩＶ７Ｔ４”の部分は、先頭の調指定ブロックＫｄａ＝“（Ｆ）”の指定調Ｋｙａ＝Ｆにより、記述（１Ａ）と同様に、各コード進行指定ブロックＣｈの度数表記コード名（ＩＩｍ７，Ｖ７，Ｉｍ７，ＩＶ７）をシフトしたコード進行を表わす。つまり、途中までは、Ｇｍ７・４拍〔（Ｆ）ＩＩｍ７Ｔ４〕→Ｃ７・４拍〔（Ｆ）Ｖ７Ｔ４〕→Ｆｍ７・４拍〔（Ｆ）Ｉｍ７Ｔ４〕→Ａ♯７・４拍〔（Ｆ）ＩＶ７Ｔ４〕というコード進行となる。
【００３０】
次の“（Ｆ♯）［ｃｈｏｒｄ１．ｔｘｔ］”の部分は、引用元ファイルｃｈｏｒｄ１．ｔｘｔの記述（１Ａ）における調指定ブロックＫｄを“（Ｃ）”から“（Ｆ♯）”に変更して、コード進行指定ブロックＣｈをそのまま展開した
（Ｆ♯）ＩＴ４ＶＩｍＴ４ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…            ……（１Ｃ）
と等価である。従って、引用元ファイルｃｈｏｒｄ１．ｔｘｔが示すコード進行を、記述（２Ａ）と同様に、途中の調指定ブロックＫｄｂ＝“（Ｆ♯）”による指定調Ｋｙｂ＝Ｆ♯でシフトしたもの、つまり、Ｆ♯・４拍〔（Ｆ♯）ＩＴ４〕→Ｄ♯ｍ・４拍〔（Ｆ♯）ＶＩｍＴ４〕→…（以下、省略）というコード進行を表わす。この場合も、引用元ファイルｃｈｏｒｄ１．ｔｘｔの指定調Ｋｙ’＝「Ｃ」は無視される。
【００３１】
以上のことから、第２フォーマットＣｓ２ｂによる記述（２Ｂ）は、第２フォーマットＣｓ１による記述
（Ｆ）ＩＩｍ７Ｔ４Ｖ７Ｔ４Ｉｍ７Ｔ４ＩＶ７Ｔ４（Ｆ♯）ＩＴ４ＶＩｍＴ４
ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…                                    ……（１Ｄ）
と等価な機能を有することが分かる。
【００３２】
なお、図２（２ａ），（２ｂ）の記述例では、第１フォーマットＣｓ１のコード進行ファイルを引用する場合を示したが、引用元ファイルが当該ファイル自身を参照する関係になければ、第２フォーマットＣｓ２（特に、独立及び引用混在形式型の第２フォーマットＣｓ２ｂ）の別のコード進行ファイルを引用してもよい。
【００３３】
〔処理フロー例〕
図３は、この発明の一実施例によるコード進行データ処理の一例を表わすフローチャートである。所定の設定操作子１５の操作により「コード進行再生処理」と呼ばれるコード進行データ処理が開始する。まず、ディスプレイ１６の案内表示されたファイルリストに対するユーザによる所望ファイルの選択操作があると、ＣＰＵ１は、ＲＯＭ３又は外部記憶装置４内に蓄積されているコード進行データベースから当該コード進行ファイルを選択し（ステップＳ１）、選択されたコード進行ファイルの内容を、処理すべきコード進行データとしてＲＡＭ２上の作業領域に読み出す。なお、以下においては、“Ｓ…”等のステップ参照記号単独で該当ステップを表わす。
【００３４】
次いで、ＣＰＵ１は、当該ファイルデータの先頭にある調指定ブロックＫｄａ＝“（
）”内の文字情報Ｋｙａを読み取って、当該文字情報が表わす調ＫｙａをＲＡＭ２上の調性レジスタＴｏｎａｌｉｔｙに指定調として設定し（Ｓ２）、次情報読込みステップ（ステップＳ３）に進む。
【００３５】
次情報読込みステップ（Ｓ３）では次の文字情報を読み込み（Ｓ３）、次いで、読み込まれた文字情報がエンド符号Ｅｄであるか否かを判別する（Ｓ４：図４）。ここで、当該文字情報がエンド符号Ｅｄでないときは（Ｓ４→ＮＯ）、さらに、当該文字情報が、データの途中に挿入された調指定ブロックＫｄｂの先頭を表わす調指定先頭情報“（”であるか否かを判別する（Ｓ５）。
【００３６】
調指定判別ステップ（Ｓ５）で、読み込まれた文字情報が調指定先頭情報でないと判別されたときは（Ｓ５→ＮＯ）、当該文字情報が、引用ブロックＲｆの先頭を表わす引用先頭情報“［”であるか否かを判別する（Ｓ６）。ここで、当該文字情報が引用先頭情報でないときは（Ｓ６→ＮＯ）、さらに、当該文字情報が度数情報Ｄｇ（“Ｉ”〜“ＶＩＩ”）であるか否かを判別する（Ｓ７）。
【００３７】
そして、度数判別ステップ（Ｓ７）において、読み込まれた文字情報が度数情報Ｄｇであると判別されたときは（Ｓ７→ＹＥＳ）、当該度数情報Ｄｇを含むコード指定情報（度数表記コード名）Ｄｇ，Ｔｙに従ってコード再生処理（Ｓ８）を行う。コード再生処理（Ｓ８）では、レジスタＴｏｎａｌｉｔｙに格納されている指定調Ｋｙ（Ｋｙａ，Ｋｙｂ）に基づき度数情報Ｄｇの内容をシフトすることにより、コード指定情報（Ｄｇ＋Ｔｙ）を、実用されている実コード情報に変換して再生する。このような実コード情報の再生は、例えば、コード名表示、自動伴奏、演奏補助、自動作曲などに利用される。そして、コード再生処理の後、次情報読込みステップ（Ｓ３）に戻り、コード指定情報Ｄｇ，Ｔｙに続く次の文字情報を読み取る。
【００３８】
一方、コード指定判別ステップ（Ｓ７）で、読み込まれた文字情報が度数情報Ｄｇではなく時間情報Ｔｍであると判別されたときには（Ｓ７→ＮＯ）、当該時間情報Ｔｍが表わす時間長ＴｍをレジスタＬｅｎｇｔｈに設定して、時間経過判定ステップ（Ｓ１０）に進む。そして、時間経過判定ステップ（Ｓ１０）で、タイマ１３に従って、レジスタＬｅｎｇｔｈに設定されている時間長Ｔｍの経過を待ち（Ｓ１０→ＮＯ→Ｓ１０）、この時間長Ｔｍが経過すると（Ｓ１０→ＹＥＳ）、次情報読込みステップ（Ｓ３）に戻る。
【００３９】
また、調指定判別ステップ（Ｓ５）において、読み込まれた文字情報が調指定ブロックＫｄｂの調指定先頭情報であると判別されたときには（Ｓ５→ＹＥＳ）、当該調指定先頭情報に続く調情報Ｋｙｂにより表わされる調をレジスタＴｏｎａｌｉｔｙに指定調として設定する（Ｓ１１）。その後、次情報読込みステップ（Ｓ３）に戻り、調指定ブロックＫｄｂに続く次の文字を読む。
【００４０】
さらに、引用判別ステップ（Ｓ６）において、読み込まれた文字情報が引用ブロックＲｆの引用先頭情報“［”であるときには（Ｓ６→ＹＥＳ）、当該引用ブロックＲｆ内の引用元ファイル情報（ファイル名）Ｆｎに従って、引用元となるコード進行ファイルをコード進行データベースから探し出し、これを参照する（Ｓ１２）。次いで、参照したコード進行ファイルの内容に従ってコード進行を展開する（Ｓ１３）。
【００４１】
このコード進行展開処理（Ｓ１３）では、引用元コード進行ファイル内に記述されている調指定ブロックＫｄ’（Ｋｄａ’，Ｋｄｂ’）については、ファイル先頭の調指定ブロックＫｄａ’を無視し、更に途中に調指定ブロックＫｄｂ’があるときは当該途中ブロックの指定調Ｋｙｂ’を先頭ブロックＫｄａ’の指定調Ｋｙａ’との差分に相当する調に変更して、参照した引用元ファイル内におけるコード進行指定ブロックＣｈ’の文字列（上述のように指定調が変更された途中の調指定ブロックＫｄｂ’を含む）を現在処理中のコード進行ファイルに挿入する（Ｓ１３）。このように、引用ブロックＲｆに代えて当該文字列を展開した後、次情報読込みステップ（Ｓ３）に戻り、当該引用ブロック“［  ］”に対応してコード進行展開処理（Ｓ１３）で展開された文字列を順次読み取っていく。
【００４２】
そして、エンド符号判別ステップ（Ｓ４）にて、読み込まれた文字情報がエンド符号Ｅｄであると判別されたときは（Ｓ４→ＹＥＳ）、このコード進行再生処理を終了する。
【００４３】
ここで、図２で例示したコード進行データの再生について補足的に説明する。
（ａ）第１フォーマットＣｓ１のケース
ファイル選択ステップ〔Ｓ１〕で、記述（１Ａ）で表わされる第１フォーマットＣｓ１のコード進行ファイルｃｈｏｒｄ１．ｔｘｔ〔図２（１）〕が選択されるケースでは、まず、調指定ブロックＫｄａ＝“ (Ｃ）”によりレジスタＴｏｎａｌｉｔｙに指定調Ｋｙａ＝「Ｃ」が設定される〔Ｓ２〕。次いで、コード進行指定ブロックＣｈ＝“ＩＴ４”中の度数情報Ｄｇ＝“Ｉ”が読み取られ、レジスタＴｏｎａｌｉｔｙの指定調＝「Ｃ」に基づいて実コード名「Ｃメジャー」に変換され、対応するコードが再生される〔Ｓ３→Ｓ４・Ｓ５・Ｓ６（ＮＯ）→Ｓ７（ＹＥＳ）→Ｓ８〕。さらに、時間情報Ｔｍ＝“Ｔ４”の読取りによりレジスタＬｅｎｇｔｈに設定された時間長＝「４拍」が経過すると当該コード「Ｃ」の再生が終了する〔Ｓ３→Ｓ４・Ｓ５・Ｓ６・Ｓ７（ＮＯ）→Ｓ９→Ｓ１０（ＹＥＳ）〕。同様にして、順次、ブロックＣｈ＝“ＶＩｍＴ４”，“ＩＩｍ７Ｔ２”，…に従って、指定調Ｋｙａ＝「Ｃ」に基づくコード「Ａｍ」，「Ｄｍ７」，…が、「４拍」，「２拍」，…分の時間再生されていく〔Ｓ３→Ｓ４・Ｓ５・Ｓ６（ＮＯ）→Ｓ７〜Ｓ１０〕。そして、最後のコード進行指定ブロックＣｈの再生が終了すると、エンド符号Ｅｄの読取りで当該ファイルｃｈｏｒｄ１．ｔｘｔのコード進行再生処理を終了する〔Ｓ３→Ｓ４（ＹＥＳ）→Ｓ５〕。
【００４４】
（ｂ）第２フォーマットＣｓ２ａのケース
記述（２Ａ）で表わされる第２フォーマットＣｓ２ａのコード進行ファイルｃｈｏｒｄ２．ｔｘｔ〔図２（２ａ）〕が選択され〔Ｓ１〕処理されるケースでは、まず、調指定ブロックＫｄａ＝“ (Ｇ）”により指定調Ｋｙａ＝「Ｇ」がＴｏｎａｌｉｔｙに設定され〔Ｓ２〕、次に、引用先頭情報“［”の読取りにより、引用ブロックＲｆ＝“［ｃｈｏｒｄ１．ｔｘｔ］”で指示される引用元ファイル「ｃｈｏｒｄ１．ｔｘｔ」が参照され、同引用ブロックは、同引用ファイル内のコード進行指定ブロックＣｈ’の文字列「ＩＴ４ＶＩｍＴ４ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…」〔調指定ブロックＫｄａ’＝“ (Ｃ）”及びエンド符号Ｅｄ’を除いたもの〕に置換される〔Ｓ３→Ｓ４・Ｓ５（ＮＯ）→Ｓ６（ＹＥＳ）→Ｓ１２→Ｓ１３〕。次いで、置換された文字列の各コード進行指定ブロックＣｈ＝「ＩＴ４」，「ＶＩｍＴ４」，…が順次読み取られ、ケース（ａ）と同様に、指定調「Ｇ」に基づく各コード＝「Ｇ」，「Ｅｍ」，…が、「４拍」，「４拍」，…の時間、再生されていく〔Ｓ３→Ｓ４・Ｓ５・Ｓ６（ＮＯ）→Ｓ７〜Ｓ１０〕。
【００４５】
（ｃ）別の第２フォーマットＣｓ２ｂのケース
記述（２Ｂ）で表わされる第２フォーマットＣｓ２ｂのコード進行ファイルｃｈｏｒｄ３．ｔｘｔ〔図２（２ｂ）〕が処理されるケースでは、まず、調指定ブロックＫｄａ＝“ (Ｆ）”により指定調Ｋｙａ＝「Ｆ」がＴｏｎａｌｉｔｙに設定され〔Ｓ２〕、次に、コード・セット列「ＩＩｍ７Ｔ４Ｖ７Ｔ４Ｉｍ７Ｔ４ＩＶ７Ｔ４」の各コード・セット「ＩＩｍ７Ｔ４」，「Ｖ７Ｔ４」，…が順次読み取られ、ケース（ａ）と同様に、順次、レジスタＴｏｎａｌｉｔｙの指定調Ｋｙａ＝「Ｆ」に基づくコード＝「Ｇｍ７」，「Ｃ７」，…が、Ｌｅｎｇｔｈ＝「４拍」，「４拍」，…だけ再生されれる〔Ｓ３→Ｓ４・Ｓ５・Ｓ６（ＮＯ）→Ｓ７〜Ｓ１０〕。
【００４６】
この後、調指定先頭情報“ (  ”を読み込むと、Ｔｏｎａｌｉｔｙに設定される調性は、途中の調指定ブロックＫｄｂ＝“ (Ｆ♯）”により指定調Ｋｙｂ＝「Ｆ♯」に書き換えられる〔Ｓ３→Ｓ４（ＮＯ）→Ｓ５（ＹＥＳ）→Ｓ１１〕。続いて、引用先頭情報“［”の読込みにより、ケース（ｂ）と同様に、引用ブロックＲｆ＝“［ｃｈｏｒｄ１．ｔｘｔ］”で指示される引用元ファイル「ｃｈｏｒｄ１．ｔｘｔ」が参照され、同引用ブロックが、引用元ファイル内のコード進行指定ブロックＣｈの文字列に置換される〔Ｓ３→Ｓ４・Ｓ５（ＮＯ）→Ｓ６（ＹＥＳ）→Ｓ１２→Ｓ１３〕。そして、置換された文字列の各コード進行指定ブロックＣｈの内容が順次読み取られ、各内容及び指定調Ｋｙｂ＝「Ｆ♯」に基づく各コードが、各内容に対応する時間ずつ、再生されていく〔Ｓ３→Ｓ４・Ｓ５・Ｓ６（ＮＯ）→Ｓ７〜Ｓ１０〕。
【００４７】
（ｄ）途中で指定調が変更されるファイルを引用する第２フォーマットのケース
図２（２ａ），（２ｂ）に示す第２フォーマットＣｓ２（Ｃｓ２ａ，Ｃｓ２ｂ）のコード進行ファイルにおいて、調指定ブロックＫｄｂ’がコード進行の途中に存在し指定調Ｋｙ’が途中で変更される（Ｋｙａ’→Ｋｙｂ’）ようなコード進行ファイルを引用する場合には、コード進行展開処理〔Ｓ１３〕において、当該引用ファイル内の途中の指定調Ｋｙｂ’は、引用ファイル先頭の指定調Ｋｙａ’との差分だけ、当該コード進行ファイルで指定されている調に対してシフトした調に変換し、これを展開後の指定調Ｋｙｂとする。
【００４８】
一例として、図２（２ａ）の第２フォーマットＣｓ２ａのコード進行ファイルが、途中に調指定ブロックＫｄｂ’＝“（Ｆ♯）”が存在するコード進行ファイルｃｈｏｒｄ３．ｔｘｔを引用しているケース、すなわち、
（Ｇ）［ｃｈｏｒｄ３．ｔｘｔ］                                  ……（２Ｃ）
で表わされる第２フォーマットＣｓ２ａのコード進行ファイル“ｃｈｏｒｄ２ｂ．ｔｘｔ”を再生処理する場合について、以下、説明する。
【００４９】
この記述（２Ｃ）で表わされる第２フォーマットＣｓ２ｂのコード進行ファイルｃｈｏｒｄ２ｂ．ｔｘｔが選択されると〔Ｓ１〕、まず、調指定ブロックＫｄａ＝“ (Ｇ）”により指定調Ｋｙａ＝「Ｇ」がＴｏｎａｌｉｔｙに設定され〔Ｓ２〕、次に、引用先頭情報“［”が読み取られて、引用ブロックＲｆ＝“［ｃｈｏｒｄ３．ｔｘｔ］”が指示する引用元ファイル「ｃｈｏｒｄ３．ｔｘｔ」を参照してコード進行展開処理を実行する〔Ｓ３→Ｓ４・Ｓ５（ＮＯ）→Ｓ６（ＹＥＳ）→Ｓ１２→Ｓ１３〕〕。
【００５０】
コード進行展開処理〔Ｓ１３〕では、引用元ファイルｃｈｏｒｄ３．ｔｘｔにおける先頭の指定調Ｋｙａ’＝「Ｆ」を無視し、後続するコード進行指定ブロックＣｈの文字列「ＩＩｍ７Ｔ４Ｖ７Ｔ４Ｉｍ７Ｔ４ＩＶ７Ｔ４」を抽出する。次いで、途中の調指定ブロックＫｄｂ’＝“（Ｆ♯）”による指定調Ｋｙｂ’＝「Ｆ♯」を、先頭の指定調Ｋｙａ’＝「Ｆ」との差分（＋１半音）だけ、レジスタＴｏｎａｌｉｔｙの指定調Ｋｙａ＝「Ｇ」に対してシフトした調Ｋｙｂ＝「Ｇ♯」に変換し、調指定ブロックＫｄｂ＝“（Ｇ♯）”を作成する。さらに、引用元ファイルの調指定ブロックＫｄｂ’＝“（Ｆ♯）”に後続する引用ブロックＲｆ’＝“［ｃｈｏｒｄ１．ｔｘｔ］”に基づいて、更なる引用元ファイルｃｈｏｒｄ１．ｔｘｔを参照して、そのコード進行指定ブロックＣｈ”の文字列「ＩＴ４ＶＩｍＴ４ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…」を抽出する。そして、引用ブロック“［ｃｈｏｒｄ３．ｔｘｔ］”に代えて、抽出された両文字列の途中に調指定ブロックＫｄｂ＝“（Ｇ♯）”が挿入された文字列「ＩＩｍ７Ｔ４Ｖ７Ｔ４Ｉｍ７Ｔ４ＩＶ７Ｔ４（Ｇ♯）ＩＴ４ＶＩｍＴ４ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…」を挿入する。
【００５１】
次に、情報読込みステップ（Ｓ３）に戻って、挿入された前半の文字列「ＩＩｍ７Ｔ４Ｖ７Ｔ４Ｉｍ７Ｔ４ＩＶ７Ｔ４」の各コード進行指定ブロックＣｈ＝「ＩＩｍ７Ｔ４」，「Ｖ７Ｔ４」，…を順次読み取り、レジスタＴｏｎａｌｉｔｙの指定調Ｋｙａ＝「Ｇ」に基づく度数情報Ｄｇのシフトに従って、コード再生を行う〔Ｓ３→Ｓ４・Ｓ５・Ｓ６（ＮＯ）→Ｓ７〜Ｓ１０〕。この後、調指定ブロックＫｄｂ＝“ (Ｇ♯）”により、レジスタＴｏｎａｌｉｔｙに設定される指定調は、指定調Ｋｙｂ＝「Ｇ♯」に書き換えられる〔Ｓ３→Ｓ４（ＮＯ）→Ｓ５（ＹＥＳ）→Ｓ１１〕。さらに、後半の文字列「ＩＴ４ＶＩｍＴ４ＩＩｍ７Ｔ２Ｖ７Ｔ２ＩＴ４…」の各コード進行指定ブロックＣｈ＝「ＩＴ４」，「ＶＩｍＴ４」，…が順次読み取られ、レジスタＴｏｎａｌｉｔｙの指定調Ｋｙｂ＝「Ｇ♯」に基づく度数情報Ｄｇのシフトに従って、コード再生を行う〔Ｓ３→Ｓ４・Ｓ５・Ｓ６（ＮＯ）→Ｓ７〜Ｓ１０〕。
【００５２】
なお、引用元ファイルは、途中で指定調が変更されるものであればよく、フォーマットを問わない。例えば、ファイルｃｈｏｒｄ３．ｔｘｔと等価な記述（１Ｄ）で表わされる第１フォーマットＣＳ１のコード進行ファイルが記述（２Ｃ）のように引用された場合も、上述の動作と同じ再生処理動作（更なる引用元ファイルの展開がないだけ）となる。
【００５３】
〔種々の実施態様〕
以上、この発明の一実施例について説明したが、種々の変更が可能であり種々の態様で実施することができる。例えば、コード進行データのフォーマットは例示したものに限らない。例えば、テキストファイルの形式でなくてもよい。また、テキストで度数表記コード名を記述したが、各度数コード名に番号や記号を対応付けておき、この番号や記号でコード名を記述しても良い。また、時間データは、コード長が基準の長さ（例えば１拍）のときは省略できるようにしてもよい。調を指定するための“（  ）”や、引用元ファイルを指定するための“［  ］”等の記号は、他の記号としてもよい。
【００５４】
テキストで記述されているコード進行データを直接再生するものに限らず、一旦電子楽器等で通常扱っているデータ形式（例えばＳＭＦ等）に変換し、変換されたデータを再生するようにしてもよい。
【００５５】
さらに、１つのコード進行データ内で複数の他のコード進行データを引用してもよい。
【図面の簡単な説明】
【００５６】
【図１】この発明の一実施例によるコード進行データ処理システムのハードウエア構成ブロック図である。
【図２】この発明の一実施例によるコード進行データ処理システムで用いられるコード進行データフォーマットを説明するための図である。
【図３】この発明の一実施例によるコード進行データ処理の一例を表わすフローチャートの一部である。
【図４】この発明の一実施例によるコード進行データ処理の一例を表わすフローチャートの他部である。
【符号の説明】
【００５７】
Ｃｓ１  第１フォーマット（独立形式）のコード進行データ、
Ｃｓ２：Ｃｓ２ａ，Ｃｓ２ｂ  第２フォーマット（引用形式）のコード進行データ、
Ｋｄ：Ｋｄａ，Ｋｄｂ  指定調Ｋｙ：Ｋｙａ，Ｋｙｂを指定する調指定ブロック（調指定情報）、
Ｄｇ  指定調Ｋｙの主音からの度数を表わす度数情報、
Ｃｈ  度数、種類及び時間情報Ｄｇ，Ｔｙ，Ｔｍから成るコード進行指定ブロック、
Ｒｆ  引用元ファイル名Ｆｎを含む引用ブロック（引用情報）。
【図１】
2005091657.tif 000003
【図２】
2005091657.tif 000004
【図３】
2005091657.tif 000005
【図４】
2005091657.tif 000006