(57)【特許請求の範囲】
【請求項１】
一連のコードをそれぞれ表す複数のコード情報を記憶するコード情報記憶手段と、前記コード情報記憶手段に記憶されているコード情報を読み出して同コード情報により表されるコードをユーザに提示するコード提示手段とを備えたコード提示装置において、
特定の演奏し難いコードを他の特定の演奏し易いコードに変換するための変換情報を記憶したコード変換テーブルと、
演奏の難易度に対応した変換されるべきコードのレベルを入力するレベル入力手段と、
前記コード情報記憶手段に記憶されている複数のコード情報によってそれぞれ表される複数のコードの中から前記入力されたレベルに応じて変換されるべきコードを検出し、同検出されたコードを表すコード情報を、前記コード変換テーブルに記憶されている変換情報に従って変換して前記コード提示手段に供給するコード変換手段と
を設けたことを特徴とするコード提示装置。
【請求項２】
一連のコードをそれぞれ表す複数のコード情報を記憶するコード情報記憶手段と、前記コード情報記憶手段に記憶されているコード情報を読み出して同コード情報により表されるコードをユーザに提示するコード提示手段とを備えたコード提示装置において、
特定の演奏し難いコード進行を他の特定の演奏し易いコード進行に変換するための変換情報を記憶したコード変換テーブルと、
前記コード情報記憶手段に記憶されている複数のコード情報の中から特定の演奏し難いコード進行を表す複数のコード情報を検出し、同検出されたコード進行を表す複数のコード情報のうちでいずれかのコード情報を、前記コード変換テーブルに記憶されている変換情報に従って変換して前記コード提示手段に供給するコード変換手段と
を設けたことを特徴とするコード提示装置。
【請求項３】
コンピュータに、コード情報メモリに記憶されていて一連のコードをそれぞれ表す複数のコード情報を読み出させて、同読み出させたコード情報により表されるコードをユーザに提示させるためのコンピュータプログラムにおいて、
演奏の難易度に対応した変換されるべきコードのレベルを入力するステップと、
前記コード情報記憶手段に記憶されている複数のコード情報によってそれぞれ表される複数のコードの中から前記入力されたレベルに応じて変換されるべきコードを検出するステップと、
前記検出されたコードを表すコード情報を、コード変換テーブルに記憶されていて特定の演奏し難いコードを他の特定の演奏し易いコードに変換するための変換情報に従って変換するステップと
をコンピュータに実行させるようにしたことを特徴とするコード提示用コンピュータプログラム。
【請求項４】
コンピュータに、コード情報メモリに記憶されていて一連のコードをそれぞれ表す複数のコード情報を読み出させて、同読み出させたコード情報により表されるコードをユーザに提示させるためのコンピュータプログラムにおいて、
前記コード情報メモリに記憶されている複数のコード情報の中から特定の演奏し難いコード進行を表す複数のコード情報を検出するステップと、
前記検出された特定のコード進行を表す複数のコード情報のうちでいずれかのコード情報を、コード変換テーブルに記憶されていて特定の演奏し難いコード進行を他の特定の演奏し易いコード進行に変換するための変換情報に従って変換するステップと
をコンピュータに実行させるようにしたことを特徴とするコード提示用コンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コード情報メモリに記憶されていて一連のコードをそれぞれ表す複数のコード情報を読み出して、同コード情報により表されるコードをユーザに提示するコード提示装置およびコード提示用コンピュータプログラムに関する。
【０００２】
【従来の技術】
従来から、例えば特開平０６−３０８９９１号公報に示されているように、カラオケ装置において、歌詞と共にコード名を楽曲の進行に従って表示し、ユーザによる歌声に、ギターなどの楽器を用いたユーザによる伴奏演奏音を付加することはなされている。
【０００３】
【発明が解決しようとする課題】
しかし、上記従来の装置においては、表示されるコード名が初級者にとっては演奏しにくい難しいコードである場合もあり、このような場合には、ユーザがコード演奏をスムーズに行うことができず、良好な伴奏音が得られない。
【０００４】
【発明の概要】
本発明は、上記問題に対処するためになされたもので、その目的は、ユーザにコードを提示する場合において、ユーザがコード演奏を常にスムーズに行うことができるようにしたコード提示装置およびコード提示用コンピュータプログラムを提供することにある。
【０００５】
上記目的を達成するために、本発明の特徴は、コード情報記憶手段（またはコード情報メモリ）に記憶されていて一連のコードをそれぞれ表す複数のコード情報を読み出して、同コード情報により表されるコードをユーザに提示するコード提示装置およびコンピュータ提示用コンピュータプログラムにおいて、次のようにしたことにある。
【０００９】
まず、第１の特徴は、特定の演奏し難いコードを他の特定の演奏し易いコードに変換するための変換情報を記憶したコード変換テーブルを用意しておき、演奏難易度に対応した変換されるべきコードのレベルを入力し、コード情報記憶手段に記憶されている複数のコード情報によってそれぞれ表される複数のコードの中から前記入力されたレベルに応じて変換されるべきコードを検出し、かつ前記検出されたコードを表すコード情報をコード変換テーブルに記憶されている変換情報に従って変換するようにしたことにある。
【００１０】
この場合、コード変換テーブルは、例えば変換前のコードを表すコード情報と、同変換前のコードを変換するための変換情報と、演奏の難易度に対応したレベルを表すレベル情報とを対応させて記憶しておくようにするとよい。この変換情報としては、変換前のコードを表すコード情報に対応させて変換後のコードを表すコード情報を記憶しておくようにすることができる。また、このとき変換前のコード演奏のし難さに対応したレベルを表すレベル情報を記憶しておくとよい。
【００１１】
これによれば、ユーザは自分の演奏レベルに応じてレベル情報を入力すれば、コード情報記憶手段に記憶されている複数のコード情報によって表されるコードが、ユーザの演奏レベルに応じて変換されるようになる。したがって、ユーザが初級者、中級者および上級者のいずれに属してもいても、同ユーザに適したコードが提示されるようになる。その結果、ユーザが初級者であってもスムーズなコード演奏を行うことができるようになるとともに、またユーザが上級者データあれば、豊かな表現力を有するコード演奏を行なうことができるようになる。
【００１５】
また、第２の特徴は、特定の演奏し難いコード進行を他の特定の演奏し易いコード進行に変換するための変換情報を記憶したコード変換テーブルを用意しておき、コード情報記憶手段に記憶されている複数のコード情報の中から特定の演奏し難いコード進行を表す複数のコードを検出し、同検出されたコード進行を表す複数のコード情報のうちでいずれかのコード情報を、コード変換テーブルに記憶されている変換情報に従って変換するようにしたことにある。
【００１６】
この場合、コード変換テーブルは、例えば変換前のコード進行を表す複数のコード情報と、同変換前のコード進行を変換するための変換情報を記憶しておくようにするとよい。この変換情報としては、変換前のコード進行を表す複数のコード情報に対応させた変換後のコード進行を表す複数のコード情報を採用することができる。そして、コード変換テーブルに記憶されている変換前のコード進行を、コード情報記憶手段に記憶されている複数のコード情報によって表された複数のコード進行中からサーチすることにより、変換されるべき特定のコード進行を検出し、同検出したコード進行に対応した変換後のコード進行を表す複数のコード情報を変換出力とすればよい。また、このコード進行の変換としては、変換前の一つまたは複数のコードを他のコードに変換するコード進行の変換も考えられるし、変換前の一つまたは複数のコードを省略してその前のコードが連続するようにするコード進行の変換も考えられる。
【００１７】
これによれば、コード情報記憶手段に記憶されている複数のコード情報によって表されるコード進行が演奏し難いコード進行であっても、ユーザには演奏し易いコード進行が提示されることになる。その結果、ユーザはスムーズなコード演奏を行うことができるようになる。
【００１８】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて説明すると、図１は、同実施形態に係る電子楽器をブロック図により示している。
【００１９】
この電子楽器は、鍵盤１０および操作パネル２０を備えている。鍵盤１０は演奏操作子としての複数の鍵からなり、各鍵の押離鍵により、同各鍵にそれぞれ対応して設けられた鍵スイッチ１１がオン・オフするようになっている。鍵スイッチ１１のオン・オフは、バス１２に接続された検出回路１３により検出されるようになっている。また、鍵盤１０の手前側または後方には、図示しないパネルに鍵盤１０の各鍵にそれぞれ対応させて複数の押鍵ランプ１４が配置されている。これらの押鍵ランプ１４は、点灯によりユーザが押鍵すべき鍵を指定するために利用されるもので、バス１２に接続された押鍵位置表示制御回路１５によって点灯制御されるようになっている。なお、本実施形態においては、これらの押鍵ランプ１４は、コードをユーザに提示するため、特にコード構成音に対応した複数の鍵が同時に押鍵されるように複数同時に点灯制御される。また、各鍵が半透明な素材で形成されている場合は、各鍵の下方に押鍵ランプ１４を設けるようにしてもよい。
【００２０】
操作パネル２０には、ディスプレイ２１および多数の制御操作子２２が配置されている。ディスプレイ２１は、液晶表示器またはブラウン管装置などで構成されており、発生される楽音信号の音色、音量、効果などの楽音要素の設定を含む本電子楽器の各種モードを設定するための画面を表示可能であるとともに、歌詞または楽譜を表す歌詞画面または楽譜画面を表示可能に構成されている。特に、このディスプレイ２１は、本実施形態では、歌詞または楽譜と共に、コード名を表示してユーザに提示するコード提示手段としても機能する。ディスプレイ２１は、バス１２に接続された表示制御回路２３により表示制御されるようになっている。
【００２１】
制御操作子２２は、本電子楽器の動作を制御するもので、各操作により、各制御操作子２２にそれぞれ対応した操作子スイッチ２４がオン・オフされるようになっている。操作子スイッチ２４のオン・オフは、バス１２に接続された検出回路２５により検出されるようになっている。
【００２２】
バス１２には、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、外部記憶装置３４、タイマ３５および音源回路４０が接続されている。ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３およびタイマ３５は、マイクロコンピュータ本体部を構成するもので、本電子楽器の各種動作をプログラムの実行により制御する。外部記憶装置３４は、本電子楽器に予め組み込まれているハードディスクＨＤ、同電子楽器に装着可能なコンパクトディスクＣＤ、フレキシブルディスクＦＤなどの種々の記録媒体と、同各記録媒体に対するドライブユニットを含むものであり、大量のデータおよびプログラムを記憶および読み出し可能にしている。
【００２３】
本実施形態の場合、ハードディスクＨＤには、図２に示す複数の楽曲データ、図３の楽曲データ提示プログラム（図４のコード変換ルーチンを含む）および図５のコード変換テーブルが記憶されている。これらの楽曲データ、楽曲データ提示プログラムおよびコード変換テーブルは、コンパクトディスクＣＤ、フレキシブルディスクＦＤからハードディスクＨＤに供給されたり、後述する外部音楽機器６３または通信ネットワーク６４を介した外部からハードディスクＨＤに供給されるものである。
【００２４】
各楽曲データは、図２に示すように、自動演奏データ、楽譜表示データおよび歌詞表示データを備えている。自動演奏データは、音源回路４０または外部音楽機器６３に供給されて楽音の発生に利用されたり、押鍵位置表示制御回路１５に供給されて押鍵ランプ１４による押鍵されるべき鍵の表示に利用される。この自動演奏データは、発生される楽音信号の音色、楽曲の再生テンポなどを決定する初期データ、一連の演奏イベントデータ、一連のタイミグデータおよびエンドデータなどからなる。演奏イベントデータは、楽曲の進行に従った楽器の演奏イベントを表すもので、例えば鍵の押鍵または離鍵を表すキーオンまたはキーオフデータ、同押鍵または離鍵された鍵（音高）を表すノート番号データ、押鍵の速さ（音量）を表すベロシティデータからなる。タイミングデータは、各演奏イベント間の時間を表す。エンドデータは、楽曲の終了を表す。
【００２５】
また、この演奏データ中には、楽曲の進行に従った複数のコードをそれぞれ表す複数のコードデータも演奏イベントとして含まれている。この場合、コードデータは、コードを構成する複数の構成音をそれぞれ表す複数のノート番号データでも、コード名そのものを表すコード名データでもよい。なお、コード名データをコード音の発生および押鍵表示に利用する場合には、コード名データは同データによって表されたコードの各構成音にそれぞれ変換して利用される。
【００２６】
楽譜表示データおよび歌詞表示データは、ディスプレイ２１または後述する外部表示器５３にて、一楽曲の進行に従って楽譜および歌詞をそれぞれ表示するためのものである。この場合も、コード名そのものを表すコード名データが前記楽譜表示データおよび歌詞表示データ中にそれぞれ含められており、前記楽譜および歌詞表示においても、楽譜および歌詞にそれぞれ加えてコード名も表示される。
【００２７】
図３の楽曲データ提示プログラムは、本発明に係るコードをユーザに提示するためのプログラムの総称であり、例えば自動演奏プログラム、押鍵位置表示プログラム、楽譜表示プログラム、歌詞表示プログラムなどで構成されている。
【００２８】
図５のコード変換テーブルは、変換されるべき複数の変換前のコードと、各変換前のコードに対応させた変換後のコードとを記憶している。この場合、変換前のコードは初級者には演奏し難い（理解し難いもしくは見慣れないことも含む）難易度の高いコードであり、変換後のコードは初級者であっても演奏し易い（理解し易いもしくは見慣れていることも含む）難易度の低いコードである。
【００２９】
この変換前後のコードを決定するルールについて紹介しておくと、例えばテンション有りのコード（例えば、Ｃ9）は、テンション無しのコード（例えば、Ｃ）に変換される。オンベース有りのコード（例えば、ＣonＧ）は、オンベース無しのコード（例えば、Ｃ）に変換される。理解し難いまたは見慣れないコード（例えば、Ｃ6）は、構成音の同じ理解し易いまたは見慣れた他のコード（例えば、Ａm7）に変換される。理解し難いまたは見慣れないコード（例えば、Ｃ7sus4）は、近い構成音からなる理解し易いまたは見慣れた他のコード（例えば、Ｇm7）に変換される。理解し難いまたは見慣れないコード（例えば、ＣM7）は、同じ機能（トニックＴ、ドミナントＤ、サブドミナントＳ）を持つ理解し易いまたは見慣れた他のコード（例えば、Ｅm7）に変換される。付加音付きコード（Ｃadd9）は、付加音無しのコード（Ｃ）に変換される。
【００３０】
音源回路４０は、ＣＰＵ３１からの演奏情報（キーオン信号、キーオフ信号、ノート番号、ベロシティなど）に基づいて楽音信号を形成する。この楽音信号の形成においては、音源回路４０は、ＣＰＵ３１からの音色、音量（振幅エンベロープ）、効果などの楽音要素を制御するための楽音要素制御データに基づいて、楽音信号の楽音要素も制御する。音源回路４０にて形成された楽音信号は、サウンドシステム４１に出力される。サウンドシステム４１は、アンプ、スピーカなどからなり、前記出力された楽音信号に対応した楽音を発音する。
【００３１】
また、バス１２には、画像データ出力回路５１、ミディー（ＭＩＤＩ）インターフェース回路６１および通信インターフェース回路６２も接続されている。画像データ出力回路５１は、その出力端子５２を介して外部表示器５３に、歌詞表示データ、楽譜表示データなどを出力する。外部表示器５３は、前記ディスプレイ２１に比べて大型のＣＲＴディスプレイ、液晶表示器などで構成され、同ディスプレイ２１と同様に歌詞または楽譜を表示する。
【００３２】
ミディーインターフェース回路６１は、前述した自動演奏データ、歌詞表示データ、楽譜表示データなどの音楽に関するデータを、同インターフェース回路６１に接続された外部音楽機器６３と交信し合うためのものである。通信インターフェース回路６２は、通信ネットワーク６４を介して外部と接続可能となっていて、この電子楽器が外部と各種プログラムおよびデータを交信可能となっている。
【００３３】
次に、上記のように構成した実施形態の動作を説明する。まず、ユーザは、電子楽器の電源スイッチ（図示しない）の投入後に、制御操作子２２のいずれかを操作することにより、楽曲データ提示プログラムの実行を指示する。これにより、ＣＰＵ３１は、ＲＯＭ３２に記憶された図示しないプログラムの実行により、図３の楽曲データ提示プログラム（図４のコード変換ルーチンを含む）および図５のコード変換テーブルを外部記憶装置３４のハードディスクＨＤから読み出してＲＡＭ３３に記憶させる。
【００３４】
なお、前記楽曲データ提示プログラムおよびコード変換テーブルがハードディスクＨＤに記憶されていない場合には、コンパクトディスクＣＤ、フレキシブルディスクＦＤなどに記憶されている楽曲データ提示プログラムおよびコード変換テーブルをハードディスクＨＤに記憶させた後、または外部音楽機器６３または通信ネットワーク６４を介した外部から前記楽曲データ提示プログラムおよびコード変換テーブルをハードディスクＨＤにダウンロードした後、前記楽曲データ提示プログラムをＲＡＭ３３に転送して起動する。また、前記楽曲データ提示プログラムおよびコード変換テーブルのうちの一部を、前記ＲＡＭ３３に記憶させないで、必要に応じてハードディスクＨＤまたはその他の記録媒体に記憶させたままにしてもよい。
【００３５】
前記楽曲データ提示プログラムは図３のステップ１００にて開始される。このプログラムの開始後、ＣＰＵ３１は、ステップ１０２にて、表示制御回路２３を制御してディスプレイ２１に楽曲を選択する旨を表示することにより、楽曲の選択をユーザに促す。ユーザが制御操作子２２を操作して所望の楽曲を選択すると、ＣＰＵ３１は同選択された楽曲データを外部記憶装置３４のハードディスクから読み出してＲＡＭ３３に書き込む。この場合も、所望とする楽曲データがハードディスクＨＤに記憶されていない場合には、コンパクトディスクＣＤ、フレキシブルディスクＦＤなどに記憶されている楽曲データをハードディスクＨＤに記憶させた後、または外部音楽機器６３または通信ネットワーク６４を介した外部から楽曲データをハードディスクＨＤにダウンロードした後、前記楽曲データをＲＡＭ３３に転送する。なお、ＲＡＭ３３に書き込む楽曲データに関しては、その利用目的に応じて、自動演奏データ、楽譜表示データおよび歌詞表示データの全種類のデータでなくても、いずれかの種類のデータだけであってもよい。
【００３６】
前記ステップ１０２の処理後、ＣＰＵ３１はステップ１０４にてコード変換ルーチンを実行する。このコード変換ルーチンは図４に詳細に示されており、ステップ２００にて開始される。このコード変換ルーチンの実行開始後、ステップ２０２にて、前記ＲＡＭ３３に転送した楽曲データの先頭アドレス位置からアドレスポインタを進めて、同楽曲データ中の最初のコードデータを探し出し、同最初のコードデータのアドレス位置にアドレスポインタをセットする。次に、ステップ２０４にて、アドレスポインタにより指定されているコードデータを、前記ＲＡＭ３３に転送したコード変換テーブル中の変換前のコードデータの中からサーチする。そして、ステップ２０６において、アドレスポインタにより指定されているコードデータと一致するコードデータが、コード変換テーブル中の変換前のコードデータ中にあったか否かを判定する。
【００３７】
このステップ２０６において、「ＹＥＳ」すなわち一致するコードデータがコード変換テーブルの変換前のコードデータ中にあると判定されると、ステップ２０８に進む。ステップ２０８においては、コード変換テーブルに記憶されていて前記一致した変換前のコードデータに対応した変換後のコードデータを読み出す。そして、アドレスポインタが示している楽曲データ中のコードデータを、前記コード変換テーブルから読み出した変換後のコードデータに変更する。次に、ステップ２１０にてアドレスポインタをさらに進めて、同楽曲データ中の次のコードデータを探し出し、同次のコードデータのアドレス位置にアドレスポインタをセットする。
【００３８】
一方、ステップ２０６において、「ＮＯ」すなわち一致するコードデータがコード変換テーブルの変換前のコードデータ中にないと判定されると、ステップ２０８の処理を実行しないでステップ２１０に直接進む。したがって、この場合には、楽曲データ中のコードデータが変更されることはない。
【００３９】
前記ステップ２１０の処理後、ステップ２１２にてアドレスポインタが楽曲データの最後のデータ位置まで達したか否かを判定する。アドレスポインタが楽曲データの最後まで達していなければ、ステップ２１２にて「ＮＯ」と判定して、ステップ２０４に戻る。この場合、前記ステップ２０４〜２１０の処理がふたたび実行されて、アドレスポインタにより指定されているコードデータと一致するコードデータがコード変換テーブルの変換前のコードデータ中にあれば、アドレスポインタにより指定されているコードデータがコード変換テーブル中の変換前のコードデータに対応した変換後のコードデータに変更される。
【００４０】
このようなステップ２０４〜２１２の繰り返し処理により、アドレスポインタが楽曲データの最後まで達すると、ステップ２１２にて「ＹＥＳ」と判定して、ステップ２１４にてこのコード変換ルーチンの実行が終了される。
【００４１】
ふたたび、図３の楽曲データ提示プログラムの説明に戻ると、ＣＰＵ３１は、前記ステップ１０４のコード変換ルーチンの実行後、ステップ１０６の処理を実行する。このステップ１０６においては、楽曲データがユーザに提示、すなわち前記変換されたコードデータにより表されたコードを含む楽曲データにより表された演奏情報がユーザに提示される。そして、楽曲データのユーザに対する提示が終了すると、ステップ１０８にて楽曲データ提示プログラムの実行が終了される。
【００４２】
この楽曲データの提示について、具体的に説明しておく。図３の楽曲データ提示プログラムが、前述した自動演奏プログラムであれば、前記変換されたコードデータを含む一連の演奏イベントデータが、タイミングデータにより指定される時間ごとに音源回路４０または外部音楽機器６３に供給される。音源回路４０まては外部音楽機器６３は、別途転送された音色を制御するデータなどにより指定される音色で、前記変換されたコードデータを含む一連の演奏イベントデータに対応した楽音（コード音を含む）を発生する。したがって、この場合には、コードの提示を含む楽曲データの提示とは、コード音を含む自動演奏音のユーザに対する聴覚的な提示を意味する。
【００４３】
また、図３の楽曲データ提示プログラムが、前述した押鍵位置表示プログラムであれば、前記変換されたコードデータを含む一連の演奏イベントデータが、タイミングデータにより指定される時間ごとに押鍵位置表示制御回路１５に供給される。押鍵位置表示制御回路１５は、前記変換されたコードデータを含む一連の演奏イベントデータにより表される音高に対応した鍵位置に配置されている押鍵ランプ１４を点灯制御する。この場合、コードデータに関しては、コードデータにより表されるコードの構成音の各音高に対応した鍵位置に配置されている押鍵ランプ１４が点灯される。したがって、この場合には、コードのユーザに対する提示とは、コードを構成する音高位置をユーザに対して順次視覚的に提示することを意味する。
【００４４】
また、図３の楽曲データ提示プログラムが、楽譜表示プログラムまたは歌詞表示プログラムであれば、楽曲データとして楽譜表示データまたは歌詞表示データが表示制御回路２３または画像データ出力回路５１に供給される。表示制御回路２３または画像データ出力回路５１は、供給された楽譜表示データまたは歌詞表示データに基づいて、ディスプレイ２１または外部表示器５３上に前記楽譜表示データまたは歌詞表示データにより表された楽譜または歌詞を表示する。この場合、表示される楽譜または歌詞は、１曲分全部を表示してもよいし、１コーラス分でも、１フレーズ分または所定小節分などの一部分のみを表示するようにしてもよい。なお、一部分のみを表示する場合には、楽曲の進行に応じて表示部分を変化させていくとよい。
【００４５】
この場合、楽譜表示データまたは歌詞表示データ中にはコードデータも含まれているとともに、このコードデータも前記コード変換によりコード変換テーブルの変換情報に従って変換されている。そして、一般的には、コードデータによって表されたコード名が楽譜または歌詞の進行に対応させて表示される。したがって、この場合には、コードのユーザに対する提示とは、コード名をユーザに対して視覚的に提示することを意味する。また、楽譜を表示する場合には、コード名でなくて、楽譜上に複数の音符でコードを表示することにより、ユーザに対してコードを提示するようにしてもよい。
【００４６】
上記作動説明からも解るように、これによれば、楽曲データ（自動演奏データ、楽譜表示データおよび歌詞表示データ）中に、高い難易度のコードを表すコードデータが含まれていても、コード変換テーブルを用いて、同コードデータは難易度の低いコードを表すコードデータに変換されてユーザに提示される。その結果、ユーザはスムーズなコード演奏を行うことができるようになる。
【００４７】
また、上記実施形態においては、楽曲データ中のコードデータにより表された複数のコードのうちで、コード変換テーブルに変換前のコードとして登録されているコードは必ず全て低い難易度のコードに変換される。しかし、これに代えて、コード変換テーブルを用いてコード変換するか否かを選択できるようにすることも可能である。この場合、図３の楽曲データ提示プログラムにおいて、ステップ１０２とステップ１０４との間に、ステップ１０４のコード変換ルーチンを実行するか否かをユーザが選択する処理を挿入し、ユーザが希望する場合のみ同コード変換ルーチンを実行して、それ以外の場合には同コード変換ルーチンを実行しないようにすればよい。これによれば、ユーザが高い難易度のコードも演奏できる上級者である場合のように、ユーザが提示された全てのコードを演奏することを希望する場合には、楽曲データ中に含まれるコードデータにより表された全てのコードがユーザによって演奏されることになる。その結果、この変形例によれば、高い難易度のコードを含む楽音が発生されて、豊かな演奏表現力を有する楽曲を楽しむことができる。
【００４８】
また、前記のようにコード変換テーブルを複数種類用意しておき、同複数種類のコード変換テーブルをユーザの選択に応じて利用するようにしてもよい。この場合、複数種類のコード変換テーブルとして、変換前のコードが演奏レベルに応じて登録されているものが用意される。例えば、中程度よりも低い難易度のコードをも変換前のコードとして登録したコード変換テーブル、中程度以上の難易度のコードを変換前のコードとして登録したコード変換テーブル、また極めて高い難易度のコードのみを変換前のコードとして登録したコード変換テーブルを用意するようにする。そして、図３の楽曲データ提示プログラムにおいて、ステップ１０２とステップ１０４との間に、ステップ１０４にて初級、中級、上級などを表す情報を入力して、この入力された情報によりコード変換ルーチンにて利用されるコード変換テーブルが選択され、またコード変換しないことも選択されるようにすればよい。
【００４９】
次に、上記実施形態のコード変換の方法を変更した第１〜第３変形例について順次説明する。
【００５０】
ａ．第１変形例
この第１変形例においては、図４のコード変換ルーチンが図６のように変形されているとともに、図５のコード変換テーブルが図７に示すように変更されている。このコード変換テーブルは、変換前のコード進行と変換後のコード進行とを対応させて記憶している。コード進行は、２小節等の所定区間分、または４個等の所定個数の短コード進行である。この場合も、変換前のコード進行は初級者には演奏し難い（理解し難いもしくは見慣れないことも含む）難易度の高いコードからなり、変換後のコード進行は初級者であっても演奏し易い（理解し易いもしくは見慣れていることも含む）難易度の低いコードからなる。変換前のコード進行は、例えばＣ−Ｄm7−Ｆ−Ｇ7であり、変換後のコード進行はＣ−(Ｙ)−Ｆ−Ｇ7である。そして、(Ｙ)は前のコードと同じコード（コードＣ）でもよいし、他のコードであってもよい。要は、変換前のコードと変換後のコードとが、一部において異なっていればよい。他の構成については、上記実施形態の場合と同じである。
【００５１】
このように構成した第１変形例においては、上記実施形態における図３のステップ１０４にて、図６に示すコード変換ルーチンが実行される。このコード変換ルーチンにおいては、上記実施形態と同様なステップ２００，２０２の処理後、ステップ２２０にて、楽曲データの中でアドレスポインタにより指定されているコードデータから所定区間分（または所定個数）の複数のコードデータを読出し、同複数のコードデータからなるコード進行をコード変換テーブルの変換前のコード進行データの中からサーチする。そして、ステップ２２２において、前記楽曲データ中のコード進行と一致するコード進行が、コード変換テーブルの変換前のコード進行データ中にあったか否かを判定する。
【００５２】
このステップ２２２において、「ＹＥＳ」すなわち一致するコード進行がコード変換テーブルの変換前のコード進行データ中にあると判定されると、ステップ２２４に進む。ステップ２２４においては、コード変換テーブルに記憶されていて前記一致した変換前のコード進行に対応した変換後のコード進行を表す複数のコードデータを読み出す。そして、前記一致したコード進行に対応する楽曲データ中の複数のコードを前記コード変換テーブルから読み出した変換後のコード進行を表す複数のコードデータに変更する。一方、ステップ２２２において、「ＮＯ」すなわち一致するコード進行がコード変換テーブル中の変換前のコード進行データ中にないと判定されると、ステップ２２４の処理を実行しないでステップ２１０に直接進む。したがって、この場合には、楽曲データ中のコード進行データすなわち複数のコードデータが変更されることはない。
【００５３】
ステップ２１０以降の処理は上記実施形態と同じであり、前記ステップ２２２または２２４の処理後、ステップ２１０にてアドレスポインタを楽曲データ中の次のコードデータのアドレス位置に変更して、上記実施形態と同様なステップ２１２の判定処理、すなわちアドレスポインタが楽曲データの最後のデータ位置まで達したか否かの判定がなされる。そして、アドレスポインタが楽曲データの最後まで達していなければ、ステップ２１２にて「ＮＯ」と判定して、ステップ２２０に戻ってステップ２２０〜２１２からなる循環処理を実行する。アドレスポインタが楽曲データの最後のデータ位置まで達していれば、ステップ２１２にて「ＹＥＳ」と判定して、ステップ２１４にこの変換ルーチンの実行を一旦終了する。
【００５４】
したがって、この変形例によれば、楽曲データ（自動演奏データ、楽譜表示データおよび歌詞表示データ）中に、高い難易度のコード進行を表すコードデータが含まれていても、コード変換テーブルを用いて、同コードデータは難易度の低いコード進行を表すコードデータに変換されてユーザに提示される。その結果、ユーザはスムーズなコード演奏を行うことができるようになる。
【００５５】
また、上記実施形態においては、楽曲データ中における複数のコードデータによりそれぞれ表された複数のコード進行のうちで、コード変換テーブルに変換前のコード進行として登録されているコード進行は必ず全て低い難易度のコード進行に変換される。しかし、これに代えて、コード変換テーブルを用いてコード変換するか否かを選択できるようにすることも可能である。この場合も、図３の楽曲データ提示プログラムにおいて、ステップ１０２とステップ１０４との間に、ステップ１０４のコード変換ルーチンを実行するか否かをユーザが選択する処理を挿入し、ユーザが希望する場合のみ同コード変換ルーチンを実行して、それ以外の場合には同コード変換ルーチンを実行しないようにすればよい。これによれば、ユーザが高い難易度のコード進行も演奏できる上級者である場合のように、ユーザが提示された全てのコード進行を演奏することを希望する場合には、楽曲データ中に含まれるコードデータにより表された全てのコード進行がユーザによって演奏されることになる。その結果、この変形例によれば、高い難易度のコード進行を含む楽音が発生されて、豊かな演奏表現力を有する楽曲を楽しむことができる。
【００５６】
また、前記のようにコード変換テーブルを複数種類用意しておき、同複数種類のコード変換テーブルをユーザの選択に応じて利用するようにしてもよい。この場合、複数種類のコード変換テーブルとして、変換前のコード進行が演奏レベルに応じて登録されているものが用意される。例えば、中程度よりも低い難易度のコード進行をも変換前のコード進行として登録したコード変換テーブル、中程度以上の難易度のコード進行を変換前のコード進行として登録したコード変換テーブル、また極めて高い難易度のコード進行のみを変換前のコード進行として登録したコード変換テーブルとして用意するようにする。そして、この場合も、図３の楽曲データ提示プログラムにおいて、ステップ１０２とステップ１０４との間に、ステップ１０４にて初級、中級、上級などを表す情報を入力して、この入力された情報によりコード変換ルーチンにて利用されるコード変換テーブルが選択され、またコード変換しないことが選択されるようにすればよい。
【００５７】
ｂ．第２変形例
次に、第２変形例について説明すると、同変形例においては、図４のコード変換ルーチンが図８のように変形されているとともに、図５のコード変換テーブルが図９に示すように変形されている。このコード変換テーブルは、図４の各変換前コードおよび変換後コードに対応させて、各コードの難易度（例えば、レベル１，２，３）を表すレベルデータを記憶している。
【００５８】
このように構成した第２変形例においては、上記実施形態における図３のステップ１０４にて、図８に示すコード変換ルーチンが実行される。このコード変換ルーチンにおいては、ステップ２００の開始後、ステップ２３０にて変換すべきコードの難易度を表すレベルデータを選択する旨をディスプレイ２１に表示することにより、同難易度を表すレベルデータを入力することをユーザに促す。これに応答して、ユーザが制御操作子２２を用いて変換すべきコードの難易度を表すレベルデータを入力すると、ＣＰＵ３１は同入力されたレベルデータを取り込む。そして、ステップ２０２にて上記実施形態と同様にアドレスポインタを楽曲データ中の最初のコードデータのアドレス位置にセットした後、ステップ２０４〜２１２の循環処理を実行する。
【００５９】
この循環処理においては、ステップ２０６とステップ２０８との間に、ステップ２３２の判定処理を挿入している点において上記実施形態の場合と異なり、他の点においては一致している。このステップ２３２においては、ステップ２０６にて「ＹＥＳ」すなわちアドレスポインタが示すコードデータに対応するコードデータが変換テーブルに存在している場合に、同コードデータに対応して変換テーブルに記憶されているレベルデータが前記ユーザにより指定されたレベル以上であるか否かを判定する。そして、変換テーブルのレベルデータが前記ユーザにより入力されたレベルデータにより表されたレベル以上であれば、同ステップ２３２にて「ＹＥＳ」と判定して、ステップ２０８にてアドレスポインタが示すコードデータをコード変換テーブル中の変換後のコードデータに変更する。一方、変換テーブルのレベルデータが前記ユーザにより入力されたレベルデータにより表されたレベル未満であれば、同ステップ２３２にて「ＮＯ」と判定して、ステップ２１０のアドレスポインタを進める処理を実行する。
【００６０】
したがって、この第２変形例によれば、ユーザは自分の演奏レベルに応じてレベル情報を入力すれば、楽曲データ中のコードデータによって表されるコードが、ユーザの演奏レベルに応じて変換されるようになる。したがって、ユーザが初級者、中級者および上級者のいずれに属してもいても、同ユーザに適したコードが提示されるようになる。その結果、ユーザが初級者であってもスムーズなコード演奏を行うことができるようになるとともに、またユーザが上級者であれば、豊かな表現力を有するコード演奏を行なうことができるようになる。
【００６１】
また、この第２変形例においても、図３の楽曲データ提示プログラムにおいて、ステップ１０２とステップ１０４との間に、ステップ１０４のコード変換ルーチンを実行するか否かをユーザが選択する処理を挿入し、ユーザが希望する場合のみ同コード変換ルーチンを実行して、それ以外の場合には同コード変換ルーチンを実行しないようにしてもよい。これによれば、ユーザが高い難易度のコードも演奏できる上級者である場合のように、ユーザが提示された全てのコードを演奏することを希望する場合には、楽曲データ中に含まれるコードデータにより表された全てのコードがユーザによって演奏されることになる。
【００６２】
ｃ．第３変形例
次に、第３変形例について説明すると、同変形例においては、図４のコード変換ルーチンが図１０のように変形されている。
【００６３】
この第３変形例においては、上記実施形態における図３のステップ１０４にて、図１０に示すコード変換ルーチンが実行される。このコード変換ルーチンにおいては、ステップ２００の開始後、ステップ２４０にて選択されている楽曲データ中から全てのコードデータを読み出して、同コードデータにより表されたコードをディスプレイ２１に表示する。この場合のコード表示は、コード名を表示してもよいし、コード構成音を楽譜上の複数の音符によって表示してもよい。この表示に応答して、ユーザが変換を希望するコードを指定すなわち入力すると、ＣＰＵ３１は、ステップ２４２にて同指定されたコードを取得してＲＡＭ３３に記憶しておく。そして、上記実施形態と同様なステップ２０２にて、アドレスポインタを楽曲データの最初のコードデータのアドレス位置に設定して、ステップ２４４〜２１２からなる循環処理を繰返し実行する。
【００６４】
この循環処理においては、ステップ２４４の処理を上記実施形態と同様なステップ２０４〜２１２の処理に付加した点で上記実施形態とは異なり、他の点では上記実施形態と同じである。このステップ２４４においては、前記ステップ２４２の処理によりＲＡＭ３３に記憶しておいたコードデータ中に、アドレスポインタが示すアドレス位置のコードデータと一致するコードデータが存在するか否かを判定するものである。一致するコードデータがなければ、同ステップ２４４にて「ＮＯ」と判定し、ステップ２１０に進み、アドレスポインタを次のコードデータのアドレス位置に進める。一方、一致するコードデータが存在すれば、同ステップ２４４にて「ＹＥＳ」と判定して、上記実施形態と同様なステップＳ２０４〜２０８の処理により、アドレスポインタが示すコードデータをコード変換テーブルの記憶内容に従って他のコードデータに変換したり、変換しなかったりする。
【００６５】
このようなステップ２４４〜２１２からなる循環処理により、楽曲データ中の全てのコードデータに関する変換処理が終了すると、ステップ２１２にて「ＹＥＳ」すなわちアドレスポインタは楽曲データの最後まで達したと判定して、ステップ２１４にてこのコード変換ルーチンの実行が終了する。
【００６６】
したがって、この第３変形例によれば、ユーザ自身が変換されるコードを指定できるので、ユーザが不得手とするコードを指定すれば、楽曲データ中のコードデータによって表されるコードがユーザにとって演奏し難いコードであっても、ユーザには演奏し易いコードが提示されることになる。その結果、ユーザはスムーズなコード演奏を行うことができるようになる。
【００６７】
なお、この第３変形例においては、コード変換テーブルとして上記実施形態と同じテーブルを利用することができるが、ユーザによって変換を希望するコードの種類が異なることが予想されるので、変換前のコードとして多種類のコードをコード変換テーブルに記憶しておくようにするとよい。
【００６８】
また、この第３変形例においても、コード変換を行うか否かを選択可能にしてもよい。この場合も、図３の楽曲データ提示プログラムにおいて、ステップ１０２とステップ１０４との間に、ステップ１０４のコード変換ルーチンを実行するか否かをユーザが選択する処理を挿入し、ユーザが希望する場合のみ同コード変換ルーチンを実行して、それ以外の場合には同コード変換ルーチンを実行しないようにすればよい。これによれば、コード変換を希望しないユーザは、コード変換のための不必要な手続きを行わなくても済む。
【００６９】
ｄ．その他の変形例
上記第２変形例においてはユーザが変換されるコードのレベルを指定するようにし、また上記第３変形例ではユーザが変換を希望するコード自体を指定するようにした。しかし、前記コードのレベル指定を、上記第１変形例に係るコード進行の変換にも適用できる。この場合、図６のコード変換ルーチンに、図８のコード変換ルーチンのステップ２３０，２３２の処理のように、コード進行のレベルを指定するとともに指定レベルに対応したコード進行の一致を判定する処理を付加して、図７のコード進行を変換するためのコード変換テーブルを用いて、ユーザのレベルに対応したコード進行を演奏し易いコード進行に変更するようにすればよい。
【００７０】
これによれば、ユーザは自分の演奏レベルに応じてレベル情報を入力すれば、楽曲データ中に現われるコード進行が、ユーザの演奏レベルに応じて変換されるようになる。したがって、ユーザが初級者、中級者および上級者のいずれに属してもいても、同ユーザに適したコード進行が提示されるようになる。
【００７１】
また、前記コード自体の指定を上記第１変形例に係るコード進行の変換にも適用できる。この場合、図６のコード変換ルーチンに、図１０のコード変換ルーチンのステップ２４０〜２４４の処理のように、ユーザが変換を希望するコード進行を指定するとともに同指定されたコード進行の一致を判定する処理を付加して、図７のコード進行を変換するためのコード変換テーブルを用いて、ユーザにより指定された特定のコード進行を他の演奏し易いコード進行に変更するようにすればよい。
【００７２】
これによれば、ユーザは変換を希望するコード進行を入力することにより、楽曲データ中に現われる前記入力したコード進行が、演奏し易いコード進行に変換されるようになる。したがって、ユーザの希望により、ユーザに適したコード進行が提示されるようになる。その結果、これらの変形例によっても、ユーザが初級者であってもスムーズなコード演奏を行うことができるようになるとともに、またユーザが上級者データあれば、豊かな表現力を有するコード演奏を行うことができるようになる。
【００７３】
また、上記図５および図９のコード変換テーブルには、コード変換情報として変換後のコード名を記憶しておくようにしたが、変換後のコードに関しては、根音が同じであれば、コードタイプのみを記憶したりするなど、変換前のコードに関する情報を用いて変換後のコードが確定できる情報であれば、それをコード変換情報として記憶しておくようにしてもよい。また、図７に示すようなコード進行を示すコード変換テーブルにおいては、変換前のコード列の中で変換される変換前のコードと、同コードの変換後のコードを示す情報であれば、どのような情報でもコード変換情報として採用できる。また、上記実施形態においては、楽曲データ中の各コードやコード変換テーブル中の各コードを、コード根音とコードタイプとで表記したが、調が分かっている場合には度数（例えば、ＣはＩ、ＡmはIIm等）で各コードを表記してもよい。
【００７４】
また、上記実施形態および各種変形例においては、自動演奏データ、楽譜表示データまたは歌詞表示データからなる楽曲データの一部としてコードデータを含むものについて説明したが、複数のコードデータのみを記憶したものにも本発明は適用できる。
【００７５】
また、上記実施形態においては、本発明を演奏操作子としての鍵盤１０を有する電子楽器に適用した例について説明したが、本発明は、タッチプレート、押しボタン、弦などを演奏操作子として有する種々の楽器にも適用できるものである。また、電子楽器以外でも、コード音信号を発生する装置、コード名、楽譜などを表示できる表示器などのコードをユーザに提示可能な装置を備えていれば、コンピュータ装置などの各種電子機器にも適用可能である。
【００７６】
さらに、本発明の実施にあたっては、上記実施形態およびその変形例に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形も可能である。
【図面の簡単な説明】
【図１】  本発明の一実施形態に係る電子楽器の概略ブロック図である。
【図２】  図１の外部記憶装置などに記憶されている楽曲データのフォーマット図である。
【図３】  図１のＣＰＵで実行される楽曲データ提示プログラムのフローチャートである。
【図４】  図３のコード変換ルーチンの詳細を示すフローチャートである。
【図５】  図１の外部記憶装置などに記憶されているコード変換テーブルのフォーマット図である。
【図６】  前記実施形態の第１変形例に係るコード変換ルーチンの詳細を示すフローチャートである。
【図７】  前記第１変形例に係るコード変換テーブルのフォーマット図である。
【図８】  前記実施形態の第２変形例に係るコード変換ルーチンの詳細を示すフローチャートである。
【図９】  前記第２変形例に係るコード変換テーブルのフォーマット図である。
【図１０】  前記実施形態の第３変形例に係るコード変換ルーチンの詳細を示すフローチャートである。
【符号の説明】
１０…鍵盤、１４…押鍵ランプ、２０…操作パネル、２１…ディスプレイ、２２…制御操作子、３１…ＣＰＵ，３３…ＲＡＭ、３４…外部記憶装置、４０…音源回路、５３…外部表示器、６３…外部音楽機器。
【図１】
0003807275.tif 000002
【図２】
0003807275.tif 000003
【図３】
0003807275.tif 000004
【図４】
0003807275.tif 000005
【図５】
0003807275.tif 000006
【図６】
0003807275.tif 000007
【図７】
0003807275.tif 000008
【図８】
0003807275.tif 000009
【図９】
0003807275.tif 000010
【図１０】
0003807275.tif 000011