(57)【特許請求の範囲】
【請求項１】
音楽進行に従った一連の演奏データを、前記音楽進行に従っていて与えられる一連の和音を表す和音情報、および与えられるスケールを用いて修正する音高自動修正装置において、
音楽進行上の位置が強拍位置にある演奏データに関し、前記強拍位置にある演奏データが前記スケール上の音高を表しかつ音楽進行上の位置に対応した和音情報により表された和音の構成音以外の音高を表しているかの倚音判定を行って、前記倚音判定の結果が肯定的であるとき前記強拍位置にある演奏データにより表された音高を倚音候補として登録し、前記倚音判定の結果が否定的であるとき前記スケール上の音高であって前記和音の構成音以外の音高のうちで前記強拍位置にある演奏データにより表された音高に最も近い１つまたは複数の音高を倚音候補として登録する倚音候補登録手段と、
前記強拍位置にある演奏データの次の位置の演奏データに関し、前記次の位置の演奏データが音楽進行上の位置に対応した和音情報により表された和音の構成音の音高を表しているかの和音構成音判定を行い、前記和音構成音判定の結果が肯定的であるとき前記次の位置の演奏データを倚音解決音候補として登録し、前記和音構成音判定の結果が否定的であるとき前記和音の構成音のうちで前記次の位置の演奏データにより表された音高に最も近い１つまたは複数の音高を倚音解決音候補として登録する倚音解決音候補登録手段と、
前記倚音候補登録手段により登録された倚音候補と前記倚音解決音候補登録手段により登録された倚音解決音候補との１つまたは複数の組み合わせのうちのいずれかの組み合わせが上方向又は下方向に２度の進行関係にあるとき、前記１つまたは複数の組み合わせのうちの前記進行関係にある1組の組み合わせに係る倚音候補および倚音解決音候補を前記強拍位置にある演奏データおよび前記次の位置の演奏データとして設定する倚音及び倚音解決音設定手段とを備えたことを特徴とする音高自動修正装置。
【請求項２】
前記請求項１に記載した音高自動修正装置において、
前記倚音及び倚音解決音設定手段は、前記進行関係にある倚音候補および倚音解決音候補の組が複数ある場合、前記強拍位置にある演奏データの直前の位置の演奏データにより表される音高から前記倚音候補の音高までの変化が上方向または下方向に短３度から完全５度までの範囲内の、前記進行関係にある倚音候補および倚音解決音候補の組を優先して前記強拍位置にある演奏データおよび前記次の位置の演奏データとして設定する進行ルール優先手段を備えていることを特徴とする音高自動修正装置。
【請求項３】
前記請求項１または２に記載した音高自動修正装置において、さらに、
前記倚音及び倚音解決音設定手段によって設定される演奏データ以外のその他の演奏データに関し、前記その他の演奏データが前記スケール上の音高を表すとき、前記その他の演奏データを変更することなく採用し、かつ前記その他の演奏データがスケール上の音高を表さないとき、前記その他の演奏データを前記スケール上の音高を表すように変更するスケール音クオンタイズ手段を備えたことを特徴とする音高自動修正装置。
【請求項４】
音楽進行に従った一連の演奏データを、前記音楽進行に従っていて与えられる一連の和音を表す和音情報、および与えられるスケールを用いて修正する音高自動修正装置に適用されるプログラムにおいて、
コンピュータに、
音楽進行上の位置が強拍位置にある演奏データに関し、前記強拍位置にある演奏データが前記スケール上の音高を表しかつ音楽進行上の位置に対応した和音情報により表された和音の構成音以外の音高を表しているかの倚音判定を行って、前記倚音判定の結果が肯定的であるとき前記強拍位置にある演奏データにより表された音高を倚音候補として登録し、前記倚音判定の結果が否定的であるとき前記スケール上の音高であって前記和音の構成音以外の音高のうちで前記強拍位置にある演奏データにより表された音高に最も近い１つまたは複数の音高を倚音候補として登録する倚音候補登録手順と、
前記強拍位置にある演奏データの次の位置の演奏データに関し、前記次の位置の演奏データが音楽進行上の位置に対応した和音情報により表された和音の構成音の音高を表しているかの和音構成音判定を行い、前記和音構成音判定の結果が肯定的であるとき前記次の位置の演奏データを倚音解決音候補として登録し、前記和音構成音判定の結果が否定的であるとき前記和音の構成音のうちで前記次の位置の演奏データにより表された音高に最も近い１つまたは複数の音高を倚音解決音候補として登録する倚音解決音候補登録手順と、
前記倚音候補登録手順により登録された倚音候補と前記倚音解決音候補登録手順により登録された倚音解決音候補との１つまたは複数の組み合わせのうちのいずれかの組み合わせが上方向又は下方向に２度の進行関係にあるとき、前記１つまたは複数の組み合わせのうちの前記進行関係にある1組の組み合わせに係る倚音候補および倚音解決音候補を前記強拍位置にある演奏データおよび前記次の位置の演奏データとして設定する倚音及び倚音解決音設定手順とを実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、演奏データの音高を自動的に修正する音高自動修正装置および同音高自動修正装置に適用されるコンピュータプログラムに関する。
【０００２】
【従来の技術】
従来から、例えば特開平０９−２９２８７８号公報に示されているように、各鍵に対応させてランプをそれぞれ配置しておいて、与えられた和音に適したスケール上の音高に対応する鍵に設けたランプを点灯するようにした演奏支援装置は知られている。これによれば、自動的に発生される和音に対してアドリブ演奏などを行う場合でも、点灯しているランプに対応した鍵を押鍵していれば、与えられた和音に適した演奏音を発生させることができる。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の装置においては、演奏すべき鍵が指示されるものの、ユーザは、前記指示されている中のいずれかの鍵を正しく押鍵する必要があり、初心者にとって、音楽的に適切な演奏音を発生させることが必ずしも易しくはなかった。また、和音に適切な音高が選択されるものの、その他の音楽見地からして必ずしも音楽的に好ましいもののみが選択されるわけではなかった。
【０００４】
【発明の概要】
本発明は、上記問題に対処するためになされたもので、その目的は、ユーザの演奏を表す演奏データを修正して、音楽的に好ましい演奏データを簡単に作成できるようにした音高自動修正装置およびコンピュータプログラムを提供することにある。
【０００５】
上記目的を達成するために、本発明の特徴は、音楽進行に従った一連の演奏データを、前記音楽進行に従っていて与えられる一連の和音を表す和音情報、および与えられるスケールを用いて修正する音高自動修正装置において、音楽進行上の位置が強拍位置にある演奏データに関し、前記強拍位置にある演奏データが前記スケール上の音高を表しかつ音楽進行上の位置に対応した和音情報により表された和音の構成音以外の音高を表しているかの倚音判定を行って、前記倚音判定の結果が肯定的であるとき前記強拍位置にある演奏データにより表された音高を倚音候補として登録し、前記倚音判定の結果が否定的であるとき前記スケール上の音高であって前記和音の構成音以外の音高のうちで前記強拍位置にある演奏データにより表された音高に最も近い１つまたは複数の音高を倚音候補として登録する倚音候補登録手段（図１１のステップＳ３１６、図１２のＳ３２０〜Ｓ３２４）と、前記強拍位置にある演奏データの次の位置の演奏データに関し、前記次の位置の演奏データが音楽進行上の位置に対応した和音情報により表された和音の構成音の音高を表しているかの和音構成音判定を行い、前記和音構成音判定の結果が肯定的であるとき前記次の位置の演奏データを倚音解決音候補として登録し、前記和音構成音判定の結果が否定的であるとき前記和音の構成音のうちで前記次の位置の演奏データにより表された音高に最も近い１つまたは複数の音高を倚音解決音候補として登録する倚音解決音候補登録手段（図１２のステップＳ３２６〜Ｓ３３２）と、前記倚音候補登録手段により登録された倚音候補と前記倚音解決音候補登録手段により登録された倚音解決音候補との１つまたは複数の組み合わせのうちのいずれかの組み合わせが上方向又は下方向に２度の進行関係にあるとき、前記１つまたは複数の組み合わせのうちの前記進行関係にある1組の組み合わせに係る倚音候補および倚音解決音候補を前記強拍位置にある演奏データおよび前記次の位置の演奏データとして設定する倚音及び倚音解決音設定手段（図１２のステップＳ３３４〜Ｓ３４２）とを備えたことにある。
【０００６】
この場合、前記倚音及び倚音解決音設定手段は、前記進行関係にある倚音候補および倚音解決音候補の組が複数ある場合、前記強拍位置にある演奏データの直前の位置の演奏データにより表される音高から前記倚音候補の音高までの変化が上方向または下方向に短３度から完全５度までの範囲内の、前記進行関係にある倚音候補および倚音解決音候補の組を優先して前記強拍位置にある演奏データおよび前記次の位置の演奏データとして設定する進行ルール優先手段（図１２のステップＳ３３８〜Ｓ３４２）を備えているようにするとよい。
【０００７】
また、音高自動修正装置は、さらに、前記倚音及び倚音解決音設定手段によって設定される演奏データ以外のその他の演奏データに関し、前記その他の演奏データが前記スケール上の音高を表すとき、前記その他の演奏データを変更することなく採用し、かつ前記その他の演奏データがスケール上の音高を表さないとき、前記その他の演奏データを前記スケール上の音高を表すように変更するスケール音クオンタイズ手段（図１１のステップＳ３１８、図１２のステップＳ３４４）を備えるようにするとよい。
【０００８】
上記のような構成した本発明によれば、演奏データの音高自動修正において、和音に関する解決の音楽技術が導入され、音高修正された演奏データがより高度に音楽に適合したものとなる。
【０００９】
さらに、本発明の実施にあたっては、音高自動修正装置の発明に限定されることなく、同装置に適用されるコンピュータプログラムとしても実施し得るものである。
【００１９】
【発明の実施の形態】
以下、本発明の一実施形態を図面を用いて説明すると、図１は、本発明に係る音高自動修正技術および自動作曲技術を適用したシステムを概略図により示している。
【００２０】
このシステムは、インターネットなどの通信ネットワーク１０を備えている。この通信ネットワーク１０には、一つまたは複数のサーバコンピュータ２０および複数のクライアント端末３０が接続されている。
【００２１】
サーバコンピュータ２０は、キーボード、ディスプレイ、コンピュータ本体部（ＣＰＵ，ＲＯＭ、ＲＡＭ、ハードディスクなどを内蔵）などからなる一般的なコンピュータ装置によって構成されている。このコンピュータ本体部内のＲＯＭ，ハードディスグ，ＲＡＭなどの記録媒体には、図３のフローチャートに示すサーバプログラムが記憶されている。また、サーバコンピュータ２０には、ハードディスク、光ディスクなどで構成されて、各種データを記憶したデータベース２１が接続されている。このデータベース２１は、特に多数種類の伴奏データを記憶している。
【００２２】
各伴奏データは、図４(Ａ)に示すように、ジャンル名データ、伴奏種類名データ、調データおよび和音パターンデータからなる。ジャンル名データは、伴奏パターンの属するジャンル名を表す。伴奏種類名データは、伴奏パターンの種類を表す。調データは、伴奏パターンの調名を表す。和音パターンデータは、所定の長さ（例えば、２小節、４小節、８小節など）を有する音楽進行に従った一連の和音情報である。そして、この和音パターンデータは、開始および終了を示すスタートデータおよびエンドデータの間に挟まれた複数の和音名データおよび相対時間データからなる。和音名データは、Ｃメジャー、Ｃマイナなどの和音名を表す。相対時間データは、和音名の変更される時間間隔を表す。
【００２３】
クライアント端末３０は、例えば電子楽器で構成されており、図２に示すように、演奏操作子群３１、パネル操作子群３２及びディスプレイ３３を備えている。演奏操作子群３１は、例えば複数の鍵からなる鍵盤などで構成されており、それらの操作により楽音の発生および発生楽音の音高を指示する。パネル操作子群３２は、操作パネルにそれぞれ配設され、それらの操作により発生楽音の音色、音量などの指定、ディスプレイ３３の表示内容の指示などを含む電子楽器全体の作動を指示する。なお、このパネル操作子群３２には、テンキー、カーソル移動キー、マウスなどの操作子も含まれる。これらの演奏操作子群３１及びパネル操作子群３２の各操作は、バス４０に接続された検出回路３４，３５によりそれぞれ検出される。ディスプレイ３３は、ＣＲＴ表示器、液晶表示器などで構成されており、各種情報を文字、数字または画像表示するものである。このディスプレイ３３は、バス４０に接続された表示回路３６により表示制御される。
【００２４】
また、この電子楽器は、バス４０に接続された音源回路３７も備えている。音源回路３７は、バス４０を介して供給された演奏情報（キーオン信号、キーオフ信号、音高データ（音名データ）、音色情報など）に基づいて楽音信号を形成して出力する。音源回路３７には、Ｄ/Ａ変換器、アンプ、スピーカからなるサウンドシステム３８が接続されており、同システム３８は音源回路３７からの楽音信号に対応した楽音を発生する。
【００２５】
また、バス４０には、ＣＰＵ４１，ＲＯＭ４２、ＲＡＭ４３、タイマ４４および外部記憶装置４５も接続されている。ＣＰＵ４１，ＲＯＭ４２、ＲＡＭ４３およびタイマ４４はマイクロコンピュータ本体部を構成するもので、各種プログラムを実行して電子楽器の各種動作を制御する。
【００２６】
外部記憶装置４５は、予め組み込まれたハードディスクＨＤなどの記録媒体、着脱可能に組み付けられるフレキシブルディスクＦＤ、コンパクトディスグＣＤなどの記録媒体と、同記録媒体に対してプログラム及びデータの読み書きを可能とするドライブ装置とからなる。外部記録媒体には、各種プログラムおよび各種データが記憶されている。本実施形態では、特に図３のフローチャートに示すクライアントプログラムが記憶されている。また、各種プログラムおよび各種データの一部に関しては、ＲＯＭ４２にも記憶されている。
【００２７】
さらに、バス４０には、ＭＩＤＩインターフェース回路４６および通信インターフェース回路４７も接続されている。ＭＩＤＩインターフェース回路４６は、鍵盤などの演奏装置、他の楽器、パーソナルコンピュータ、自動演奏装置（シーケンサ）などの他のＭＩＤＩ対応機器５１に接続されて、同機器５１からＭＩＤＩ情報を受信し、または同機器５１にＭＩＤＩ情報を送信するためのインターフェース回路である。通信インターフェース回路４７は、通信ネットワーク１０を介してサーバコンピュータ２０に接続され、同サーバコンピュータ２０に対してデータおよびプログラムの授受を行う。
【００２８】
次に、上記のように構成した実施形態の動作を説明する。まず、ユーザ（演奏者）が、クライアント端末３０（電子楽器）を用いて、図示しないプログラムの実行によりサーバコンピュータ２０の自動作曲用ウェブページにアクセスする。これに応答して、サーバコンピュータ２０は、ステップＳ１０にて図３のサーバプログラムの実行を開始し、ステップＳ１２にて自動作曲用ウェブページデータをクライアント端末３０に送信する。
【００２９】
一方、クライアント端末３０においては、図３のステップＣ１０にてクライアントプログラムの実行を開始しており、ステップＣ１２にて、前記サーバコンピュータ２０からの自動作曲用ウェブページデータを受信するとともに、同受信データに基づいてディスプレイ３３に自動作曲用ウェブページを表示する。この表示の中には伴奏データの種類を指定する画面も含まれており、ユーザは、次のステップＣ１４にて、この画面を見ながらパネル操作子群３２を操作することにより、所望の伴奏データを指定する。なお、この伴奏データの指定は、伴奏データの種類を直接指定することもできるし、サーバコンピュータ２０との交信をしながら伴奏データの種類を指定するようにしてもよい。この場合、データベース２１に記憶されているジャンル名データ、伴奏種類データを用いて、ユーザが希望する伴奏データを選択するようにするとよい。
【００３０】
サーバコンピュータ２０は、前記伴奏データの種類の指定に応答して、ステップＳ１４にて指定された種類の伴奏データをデータベース２１から読み出す。そして、この読み出した伴奏データを内蔵のＲＡＭに一旦記憶するとともに、クライアント端末３０に送信する。クライアント端末３０は、この送信された伴奏データを受信してＲＡＭ４３に記憶し、ステップＣ１６にて伴奏データの再生処理およびモチーフメロディの入力処理を実行する。
【００３１】
伴奏データの再生処理においては、ＣＰＵ４１は、図示しない自動演奏プログラムの実行により、前記ＲＡＭ４３に記憶した伴奏データ中の和音名データを時間経過に従って順次読出して、和音名データによって表された和音を構成する複数の和音構成音を表す音高データを音源回路３７に供給する。音源回路３７は、前記供給された音高データに基づいて、前記複数の和音構成音に対応した複数の楽音信号を同時に形成してサウンドシステム３８に出力する。そして、サウンドシステム３８はこの複数の楽音信号に対応した複数の楽音（すなわち和音）を発音する。したがって、サウンドシステム３８からは、伴奏パターンに従った和音が順次発音され、ユーザ（演奏者）は和音演奏を聴取することになる。
【００３２】
一方、ユーザは、この和音演奏を聞きながら、演奏操作子群３１を用いてモチーフメロディを演奏する。このモチーフメロディの演奏データは、ＣＰＵ４１による図示しないプログラムの実行により、音源回路３７に供給される。音源回路３７は、前記和音の場合と同様に前記モチーフメロディの演奏データに対応した楽音信号を形成して出力する。したがって、サウンドシステム３８からは、このモチーフメロディに対応した楽音も和音と同時に発音される。
【００３３】
また、このモチーフメロディの演奏データはＲＡＭ４３にも時間経過に従って記憶される。この演奏データは、例えば図４(Ｂ)のフォーマット例に示すように、押鍵時の演奏イベントデータ（キーオンデータ、音高データなど）、離鍵時の演奏イベントデータ（キーオフデータ、音高データなど）およびこれらの演奏イベントデータ間の経過時間を表す相対時間データからなる。したがって、このモチーフメロディの演奏データの音楽的進行（すなわち時間的進行）は、前記伴奏データの音楽的進行（すなわち時間的進行）と全く一致する。なお、このモチーフメロディは２〜４小節程度の短いものである。
【００３４】
このようなモチーフメロディの演奏が終了すると、ＣＰＵ４１は、ステップＣ１８にて、音高修正モードの選択処理およびモチーフメロディデータの送信処理を実行する。具体的には、ＣＰＵ４１は、複数種類の音高修正モードをディスプレイ３３に表示して、いずれかの音高修正モードを選択することをユーザに促す。この音高修正モードは前記モチーフメロディの演奏データ中の音高データを音楽的に適切なものに修正するモードで、本実施形態の場合には３種類の音高修正モードが用意されている。なお、この音高修正モードについては、詳しく後述する。ユーザが、ディスプレイ３３を見ながらパネル操作子群３２を用いて所望の音高修正モードを選択すると、ＣＰＵ３１は、このステップＣ１８にて、前記選択された音高修正モードを表すデータと、前記ＲＡＭ４３に記憶したモチーフメロディの演奏データをサーバコンピュータ２０に送信する。
【００３５】
サーバコンピュータ２０は、この送信された音高修正モードを表すデータおよびモチーフメロディの演奏データを内蔵のＲＡＭ内に記憶する。そして、ステップＳ１６にて、モチーフメロディの演奏データのタイミングを自動修正する。いわゆる、モチーフメロディの演奏データをリズムタイミングに関してクオンタイズ処理する。これにより、モチーフメロディの演奏タイミングに多少のずれがあっても、このタイミングずれは修正される。
【００３６】
具体的には、ＲＡＭ内に以前に記憶した伴奏データのジャンル名データおよび伴奏種類名データに基づいて拍子（例えば、３拍子、４拍子）を検出し、演奏データ中の押鍵に関する演奏イベントデータ（キーオン、音高）の出現タイミングが前記検出拍子に対応した音符タイミングに一致するように相対時間を修正する。例えば、押鍵に関する演奏イベントデータの出現タイミングを、前記伴奏データと対応させて、８分符、１６音符、３連符の出現タイミングに一致させる。拍子の検出には、ジャンル名データおよび伴奏種類名データと、拍子の種類とを対応させたテーブルなどを利用するとよい。また、拍子の種類をジャンル名データおよび伴奏種類名データから検出するのに代えて、拍子の種類を表す拍子データを伴奏データ中に含めておいてもよい。
【００３７】
次に、サーバコンピュータ２０は、ステップＳ１８にて、前記ユーザによって選択された音高修正モードに応じて、前記タイミングの修正されたモチーフメロディの演奏データの音高を修正する。この音高の修正処理については詳しくは後述するが、図５の第１音高修正プログラム、図８の第２音高修正プログラムまたは図１１，１２の第３音高修正プログラムの実行により、演奏データ中の音高データの一部が、伴奏データによって指定されるスケール上の音高を表すデータ、伴奏データによって指定される和音の構成音の音高を表すデータ、または倚音の音高を表すデータなどに変換される。なお、これらの第１〜第３音高修正プログラムにて利用されるスケール（イオニアン、リディアンなどの音階）は、このステップＳ１８にて、伴奏データ中の和音名データおよび調データにより検出する。また、これに代えて、スケール名を表すスケールデータも伴奏データ中に含めておくようにしてもよい。
【００３８】
これらのステップＳ１６，Ｓ１８の処理後、サーバコンピュータ２０は、ステップＳ２０にて、前記タイミングおよび音高を自動修正したモチーフメロディの演奏データをクライアント端末３０（電子楽器）に送信する。クライアント端末３０においては、前記送信されたモチーフメロディの演奏データを受信してＲＡＭ４２に記憶して、ステップＣ２０にて同演奏データを音符情報に変換し、同音符情報によって表された楽譜をディスプレイ３３に表示する。この場合、音符情報は、音高（音名）を表す音高データおよび符長を表す符長データからなる。ただし、音高データには休符を表すデータも含まれる。なお、表示は楽譜の形式に限らず、演奏データの内容を把握できれば、どのような形式であってもよい。例えば、ピアノロール楽譜形式や、図７(Ｂ)に示すような表示形式でもよい。また、これと同時に、前記送信された演奏データを音源回路３７に供給して、同演奏データを再生してもよい。
【００３９】
次に、ステップＣ２２の処理により、ユーザはディスプレイ３３に表示されている楽譜を見ながら、パネル操作子群３２を操作することにより、必要に応じて表示楽譜を編集する。ＣＰＵ４１は、この編集に応答して、前記ＲＡＭ４２に記憶したサーバコンピュータ２０による修正済みのモチーフメロディの演奏データを修正する。そして、ステップＣ２４にて前記修正済みまたは修正しないモチーフメロディの演奏データをサーバコンピュータ２０に送信する。さらに、クライアント端末３０からは、ステップＣ２６の処理により、サーバコンピュータ２０に自動作曲用パラメータも送信される。この自動作曲用パラメータは、ユーザによるパネル操作子群３２の操作によって入力されるもので、例えば楽節構成、シンコペーションの頻度、音楽の盛り上がり度の時間変化などを表すパラメータである。
【００４０】
一方、サーバコンピュータ２０においては、前記クライアント端末３０から送信されたモチーフメロディの演奏データおよび自動作曲用パラメータを受信し、これらの受信データと内蔵のＲＡＭに記憶しておいた選択伴奏データとを用いて図示しない自動作曲プログラムの実行により一楽曲を自動的に作曲する。この自動作曲された楽曲は、前記モチーフメロディおよび伴奏データを含むもので、１６小節、３２小節などの長さを有するものである。そして、サーバコンピュータ２０は、ステップＳ２４にてこの自動作曲された楽曲を表す楽曲データをクライアント端末３０に送信し、ステップＳ２６にてサーバプログラムの実行を終了する。
【００４１】
クライアント端末３０は、この送信された楽曲データを受信し、ステップＣ２８にてＲＡＭ４３に記憶するとともに、外部記憶装置４５にも記憶する。また、図示しない自動演奏プログラムの実行により、楽曲データを時間経過に従って順次読み出して音源回路３７に順次供給することにより、自動作曲された音楽を再生する。そして、ステップＣ３０にて、このクライアントプログラムの実行を終了する。
【００４２】
このように、自動作曲を希望するユーザ（演奏者）は、演奏すべき演奏操作子を意識することなく、自動的に発生される伴奏に合わせて自由に演奏操作子群３１を操作してモチーフメロディを演奏するだけでよい。このモチーフメロディの演奏により、サーバコンピュータ２０が自動的にタイミングおよび音高を修正するので、音楽的に適しかつモチーフメロディを用いた自動作曲が簡単に行われるようになる。
【００４３】
次に、上記ステップＳ１８にて選択的に実行される第１〜第３音高修正プログラムについて順次説明する。なお、これらのプログラムにおけるスケール（音階）に関しては、上記ステップＳ１８の処理によって既に決定しているスケールが利用される。また、和音に関しては、モチーフメロディに対応した和音進行中の和音であって、伴奏データ中の和音名データによって特定される和音が利用される。また、音高修正されるデータは、上記ステップＳ１６の処理により既にタイミングが修正されてＲＡＭに格納されている演奏データである（図４(Ｂ)参照）。そして、第１〜第３音高修正プログラムの説明において、単にＲＡＭという場合には、サーバコンピュータ２０に内蔵のＲＡＭを指す。また、単に音符データという場合には、前記演奏データ中の押鍵（キーオン）に関する演奏イベントデータに含まれる音高データを指す。
【００４４】
さらに、ここで、第１〜第３音高修正プログラムの説明で用いる「スケール音」、「コード音」および「倚音」について定義しておく。「スケール音」とは、前述のように調及び和音によって決定されるスケール（音階）を構成する音高群を表していて、スケールが定められたときに和音との関係において利用可能な音高群を指す。たとえば、和音がＣメジャーでありかつスケールがイオニアンスケールであれば、スケール音はＣ，Ｄ，Ｅ，Ｆ，Ｇ，Ａ，Ｂ音となる。「コード音」とは、和音の構成音を表している。例えば、Ｃメジャー和音に対するコード音はＣ，Ｅ，Ｇ音である。「倚音」とは、非コード音で上下いずれかの方向に２度の進行をしてコード音に結合する音高を有する音である。例えば、Ｃメジャー和音に対して倚音になり得る音高群は、Ｄ，Ｆ，Ａ，Ｂ音の４種類であり、Ｄ音はＣ，Ｅ音に、Ｆ音はＥ，Ｇ音に、Ａ音はＧ音に、Ｂ音はＣ音に結合する。そして、これらのスケール音、コード音および倚音の後述するプログラムによる判定、ならびにスケール音、コード音および倚音となり得る候補音（修正候補）の抽出においては、サーバコンピュータ２０内にサーバプログラムと共に記憶されているテーブルなどが適宜利用される。
【００４５】
ａ．第１音高修正プログラム
この第１音高修正プログラムの実行は、図５のステップＳ１００にて開始され、サーバコンピュータ２０のＣＰＵは、ステップＳ１０２にてＲＡＭ内の演奏データを読み出すための変数ｎを「１」に設定する。次に、ステップＳ１０４にて、ｎ番目の音符データをＲＡＭから読出して入力し、ステップ１０６にてこの音符データに基づいて先頭音符を決定する。この先頭音符の決定においては、入力した音符データがスケール音を表していれば、同音符データを変更しないでそのまま先頭音符に関するデータとして決定する。この場合、ＲＡＭ内の音高データを変更しない。
【００４６】
一方、入力した音符データがスケール音を表していなければ、まず、入力した音符データによって表される音高に最も近い（すなわち最も音高差の小さな）スケール音を修正候補とする。これは、ユーザ（演奏者）の演奏を反映させるためである。次に、修正候補となる音高が一つであれば、同修正候補を修正音高として決定する。一方、修正候補となる音高が複数であれば、同修正候補中に調の基音に相当する音高があるかを判定する。そして、修正候補中に調の基音に相当する音高があれば、同音高を修正音高として決定する。これは、曲の開始感を出すためである。なお、この場合、通常、もとの音高に対して半音間隔を有する２つの音高が修正候補となることがほとんである。一方、修正候補中に調の基音に相当する音高がなければ、修正候補中のいずれか一つの音高をランダムに選択する。このようにして修正候補中の音高が決定された場合には、ＲＡＭ内のｎ番目（１番目）の音符データは修正音高を表すデータに変更される。
【００４７】
このようにして先頭音符を決定した後、ステップＳ１０８〜Ｓ１１４の循環処理を実行する。ステップＳ１０８においては、変数ｎを「１」だけカウントアップする。ステップＳ１１０においては、変数ｎによって指定されるｎ番目の音符データをＲＡＭから読み出して入力する。ステップＳ１１２においては、スケール音クオンタイズ処理ルーチンを実行し、ｎ番目の音符データにスケール音クオンタイズ処理を適用して、同ｎ番目の音符を決定する。なお、このスケール音クオンタイズ処理ルーチンについては、詳しく後述する。ステップＳ１１４においては、前記ｎ番目の音符データがＲＡＭ内の最後の音符データであるかを判定する。前記ｎ番目の音符データがＲＡＭ内の最後の音符データでなければ、ステップＳ１１４にて「Ｎｏ」と判定して、ステップＳ１０８に戻って循環処理を続行する。一方、前記ｎ番目の音符データがＲＡＭ内の最後の音符データであれば、ステップＳ１１４にて「Ｙｅｓ」と判定して、ステップＳ１１６にてこの第１音高修正プログラムの実行を終了する。このような、ステップＳ１０８〜Ｓ１１４からなる循環処理により、ＲＡＭ内の２番目以降の音符データが順次修正される。
【００４８】
次に、スケール音クオンタイズ処理ルーチンについて詳しく説明する。このスケール音クオンタイズ処理ルーチンの実行は、図６のステップＳ１３０にて開始される。この開始後、サーバコンピュータ２０内のＣＰＵは、ステップＳ１３２にて前記入力したｎ番目の音符データがスケール音を表しているかを判定する。ｎ番目の音符データがスケール音を表していれば、ステップＳ１３２にて「Ｙｅｓ」と判定し、ステップＳ１３４にてｎ番目の音符データをそのまま採用し、ステップＳ１４６にてこのスケール音クオンタイズ処理ルーチンの実行を終了する。この場合、ＲＡＭ内のｎ番目の音符データは変更されずにそのまま維持される。
【００４９】
一方、ｎ番目の音符データがスケール音を表していなければ、ステップＳ１３２にて「Ｎｏ」と判定し、ステップＳ１３６以降の処理を実行する。ステップＳ１３６にてｎ番目の音符データにより表された音高に最も近いスケール音は一つのみかを判定する。そして、一つのみであれば、ステップＳ１３６にて「Ｙｅｓ」と判定して、ステップＳ１３８に進む。ステップＳ１３８においては、前記最も近いスケール音を修正音として採用し、ＲＡＭ内のｎ番目の音符データを前記採用した修正音の音高を表すデータに変更する。そして、ステップＳ１４６にて、このスケール音クオンタイズ処理ルーチンの実行を終了する。
【００５０】
また、ｎ番目の音符データにより表された音高に最も近いスケール音が複数あれば、すなわち最小かつ同一の音高差の複数のスケール音が存在すれば、ステップＳ１３６にて「Ｎｏ」と判定して、ステップＳ１４０に進む。ステップＳ１４０においては、前記複数のスケール音のうちで所定の音楽的進行ルールを満たすものがあるかを判定する。所定の音楽的進行ルールを満たすとは、例えば直前の音符の音高からの変化が上下いずれかの方向に短３度から完全５度までの範囲内にあることを意味する。この場合、前記複数のスケール音のうちで所定の音楽的進行ルールを満たすものがあれば、ステップＳ１４０にて「Ｙｅｓ」と判定し、ステップＳ１４２に進む。ステップＳ１４２においては、前記音楽的進行ルールを満たすスケール音を修正音として採用し、ＲＡＭ内のｎ番目の音符データを前記採用した修正音の音高を表すデータに変更する。そして、ステップＳ１４６にて、このスケール音クオンタイズ処理ルーチンの実行を終了する。
【００５１】
一方、前記いずれの複数のスケール音も所定の音楽的進行ルールを満たさなければ、ステップＳ１４０にて「Ｎｏ」と判定し、ステップＳ１４４に進む。ステップＳ１４４においては、前記複数のスケール音の中からいずれか一つのスケール音を修正音としてランダムに選択し、ＲＡＭ内のｎ番目の音符データを前記選択した修正音の音高を表すデータに変更する。そして、ステップＳ１４６にて、このスケール音クオンタイズ処理ルーチンの実行を終了する。なお、簡易システムのためには、前記ステップＳ１４０，Ｓ１４２の処理を省略して、最も近いスケール音が複数存在する場合には、複数のスケール音の中から常にランダムに一つのスケール音を選択するようにしてもよい。
【００５２】
このような第１音高修正プログラムの実行により、ユーザによって演奏されたモチーフメロディを表す演奏データ中の音高データは、ユーザの意志を極力反映するようにして、全てスケール音の音高を表すデータに修正される。また、この音高修正においては、音楽的に適切な進行が採用されるように音高データが修正される。
【００５３】
ここで、調、和音およびスケールが、それぞれハ長調、Ｃメジャーおよびイオニアンである場合を例にして、この第１の音高修正について図面化すると、図７(Ａ)は、ユーザによる入力音（演奏音）と、同入力音に対する修正候補音との関係を示している。また、図７(Ｂ)は、モチーフメロディの開始時における１小節分の入力音（Ｃ＃，Ｅ，Ｆ＃、Ｇ＃音）の修正状態を示している。図中、各欄における左側の○印は入力音の音高を表し、各欄における右側の☆，○，□，◇印は修正後の音高を表している。ここで、☆印は先頭音符として修正された音高を表し、□印は音楽的進行ルールに適合するとして修正された音高を表し、◇印はランダムな選択によって修正された音高を表している。なお、破線の丸印は候補になったスケール音の音高を表している。
【００５４】
なお、この第１音高修正プログラムにおいては、スケール音でない音高を表す音符データを最も近い（すなわち半音間隔の）スケール音の音高を表すデータに修正するようにした。しかし、極めて初心者向け用の場合には、より遠い（音高差の大きい）スケール音の音高まで修正音の候補とするようにしてもよい。この場合，例えば、前記音楽的進行ルールが適用され易くするために、短３度または長３度程度まで修正音候補の幅を広げてもよい。また、ユーザが、この修正音候補の幅を選択できるようにしてもよい。
【００５５】
ｂ．第２音高修正プログラム
この第２音高修正プログラムの実行は、図８のステップＳ２００にて開始され、サーバコンピュータ２０のＣＰＵは、ステップＳ２０２〜Ｓ２０６の処理により、先頭音符を決定する。このステップＳ２０２〜Ｓ２０６の処理は、上記図６のステップＳ１０２〜Ｓ１０６と同様な処理である。
【００５６】
このようにして先頭音符を決定した後、ステップＳ２０８〜Ｓ２１８からなる循環処理の実行により２番目以降の音符データを音高修正して、ステップＳ２２０にてこの第２音高修正プログラムの実行を終了する。前記ステップＳ２０８〜Ｓ２１８中のステップＳ２０８，Ｓ２１０，Ｓ２１８の処理は、上記ステップＳ１０８，Ｓ１１０，Ｓ１１４の処理と同様である。
【００５７】
この場合、ステップＳ２１２においては、ｎ番目の音符データが強拍に関するものであるかを判定する。強拍とは、４拍子の曲であれば１拍と３拍のタイミングであり、３拍子の曲であれば１拍のみである。この強拍の判定は、伴奏データ中の伴奏種類データから拍子を決定し、タイミングをＲＡＭ内のモチーフメロディを表す演奏データ中の相対時間データに基づいて検出する。また、強拍に相当する音符データが存在しない場合には、その直後の音符データを強拍に相当する音符データとみなす。なお、前記拍子に関しては、伴奏データ中に拍子を表すデータを含めておいてもよい。
【００５８】
ｎ番目の音符データが強拍でなければ、すなわち弱拍であれば、ステップＳ２１２にて「Ｎｏ」と判定してステップＳ２１６に進む。ステップＳ２１６においては、上述した図６のスケール音クオンタイズ処理ルーチンを実行して、モチーフメロディを表す演奏データを音高修正する。一方、ｎ番目の音符データが強拍であれば、ステップＳ２１２にて「Ｙｅｓ」と判定してステップＳ２１４に進む。ステップＳ２１４においては、コード音クオンタイズ処理ルーチンを実行する。
【００５９】
このコード音クオンタイズ処理ルーチンの実行は図９のステップＳ２３０にて開始される。なお、図９のステップＳ２３０〜Ｓ２４６の処理は、前述した図６のステップＳ１３０〜Ｓ１４６の処理と類似した処理である。図９においては、図６の各ステップにおける「スケール」を「コード」と読み替えることで容易に理解できるので、ここでの詳細な説明は省略する。
【００６０】
このような第２音高修正プログラムの実行により、ユーザによって演奏されたモチーフメロディを表す演奏データ中の音高データのうちで強拍に関する演奏データはコード音を表すものに修正される。また、この音高修正においても、音楽的に適切な進行が採用されるように音高データが修正される。一方、弱拍に関する演奏データは、上記第１音高修正プログラムの場合と同様にして、音高修正される。
【００６１】
また、この場合も、調、和音およびスケールが、それぞれハ長調、Ｃメジャーおよびイオニアンである場合について、音高修正の具体例を図示する。図１０(Ａ)は、このような音高修正において、ユーザによる入力音（演奏音）と、同入力音に対するコード音への修正候補音との関係を示している。また、図１０(Ｂ)は、モチーフメロディの開始時における１小節分の入力音（Ｃ＃，Ｅ，Ｆ＃、Ｇ＃音）の修正状態を上記図７(Ｂ)の場合と同様な記号により示している。ただし、３拍目の欄の右側の●印は、コード音として決定された音高を表している。
【００６２】
ｃ．第３音高修正プログラム
この第３音高修正プログラムの実行は、図１１のステップＳ３００にて開始され、サーバコンピュータ２０のＣＰＵは、ステップＳ３０２〜Ｓ３０６の処理により、先頭音符を決定する。このステップＳ３０２〜Ｓ３０６の処理は、上記図６のステップＳ１０２〜Ｓ１０６と同様な処理である。
【００６３】
このようにして先頭音符を決定した後、ステップＳ３０８〜Ｓ３４８からなる循環処理の実行により２番目以降の音符データを音高修正して、ステップＳ３５０にてこの第３音高修正プログラムの実行を終了する。この循環処理おいては、サーバコンピュータ２０のＣＰＵは、上記第１音高修正プログラムのステップＳ１０８，Ｓ１１０と同様なステップＳ３０８，Ｓ３１０の処理により、ｎ番目の音符データをＲＡＭから読み出して入力し、ステップＳ３１２にてｎ番目の音符データがモチーフメロディの最後の音符に関するものであるかを判定する。ｎ番目の音符データがモチーフメロディの最後の音符に関するものであれば、ステップＳ３１２にて「Ｙｅｓ」と判定してステップＳ３１４に進む。ステップ３１４においては、上記図９のコード音クオンタイズ処理ルーチンを実行して、ＲＡＭ内のｎ番目の音符データをコード音の音高に維持または変更する。そして、ステップＳ３５０にて、この第３音高修正プログラムの実行を終了する。
【００６４】
ｎ番目の音符データがモチーフメロディの最後の音符に関するものでなければ、ステップＳ３１２にて「Ｎｏ」と判定してステップＳ３１６に進む。ステップＳ３１６においては、上記図８の第２音高修正プログラムのステップＳ２１２と同様な判定処理により、ｎ番目の音符データが強拍に関するものであるかを判定する。
【００６５】
ｎ番目の音符データが強拍に関するものでなければ、すなわち弱拍に関するものであれば、ステップＳ３１６にて「Ｎｏ」と判定してステップＳ３１８に進む。ステップＳ３１８においては、上述した図６のスケール音クオンタイズ処理ルーチンを実行して、モチーフメロディを表す演奏データを音高修正する。ステップＳ３１８の処理後は，ステップＳ３０８に戻る。一方、ｎ番目の音符データが強拍に関するものであれば、ステップＳ３１６にて「Ｙｅｓ」と判定して図１２のステップＳ３２０に進む。
【００６６】
ステップ３２０においては、ｎ番目の音符データがスケール音かつ非コード音の音高を表しているかを判定する。ｎ番目の音符データがスケール音でないか、またはコード音であれば、ステップＳ３２０にて「Ｎｏ」と判定してステップＳ３２２に進む。ステップＳ３２２においては、非コード音であり、かつｎ番目の音符データにより表された音高に最も近い音高のスケール音を選択する。この場合、該当するスケール音が複数あれば、複数のスケール音が選択される。そして、ステップＳ３２４にて、前記選択されたスケール音を倚音候補として登録する。一方、ｎ番目の音符データがスケール音かつ非コード音の音高を表していれば、ステップ３２０にて「Ｙｅｓ」と判定して、ステップＳ３２４にてこの音符データを倚音候補として登録する。
【００６７】
前記ステップＳ３２４の処理後、サーバコンピュータ２０のＣＰＵは、ステップＳ３２６にてＲＡＭからｎ＋１番目の音符データを読み出して入力する。次に、ステップＳ３２８にて、ｎ＋１番目の音符データがコード音の音高を表しているかを判定する。ｎ＋１番目の音符データがコード音の音高を表していなければ、ステップＳ３２８にて「Ｎｏ」と判定してステップＳ３３０に進む。ステップＳ３３０においては、ｎ＋１番目の音符データにより表された音高に最も近い音高のコード音を選択する。この場合、該当するコード音が複数あれば、複数のコード音が選択される。そして、ステップＳ３３２にて、前記選択されたコード音を解決音候補として登録する。一方、ｎ＋１番目の音符データがコード音の音高を表していれば、ステップ３２８にて「Ｙｅｓ」と判定して、ステップＳ３３２にてこの音符データを解決音候補として登録する。
【００６８】
次に、ステップ３３４にて、前記登録した倚音候補と解決音候補との一つまたは複数の組み合わせの中で、上下いずれかの方向に２度進行の組み合わせがあるかを判定する。上下いずかの方向に２度進行の組み合わせが一組だけある場合には、ステップＳ３３４の判定処理により、ステップＳ３３６に進む。ステップＳ３３６においては、前記組み合わせに係る倚音候補および解決音候補を、ｎ番目の音符データとｎ＋１番目の音符データとして採用して、ＲＡＭ内のｎ番目およびｎ＋１番目の音符データを前記採用した音符データに変更する。
【００６９】
また、上下いずれかの方向に２度進行の倚音候補と解決音候補との組み合わせが複数組あれば、ステップＳ３３４にて「Ｙｅｓ」と判定してステップＳ３３８に進む。ステップ３３８においては、前記複数組の中で、倚音候補が、直前の音符データ（ｎ−１番目の音符）の音高との関係において、上述した音楽的進行ルール（上下いずれかの方向に短３度から完全５度までの音高変化範囲）を満たす組があるかを判定する。この音楽的進行ルールを満たす組み合わせがあれば、ステップＳ３３８にて「Ｙｅｓ」と判定して、ステップＳ３４０に進む。ステップＳ３４０においては、前記組み合わせに係る倚音候補および解決音候補を、ｎ番目の音符データとｎ＋１番目の音符データとして採用して、ＲＡＭ内のｎ番目およびｎ＋１番目の音符データを前記採用した音符データに変更する。
【００７０】
一方、音楽的進行ルールを満たす組み合わせがなければ、ステップＳ３３８にて「Ｎｏ」と判定して、ステップＳ３４２に進む。ステップＳ３４２においては、前記組み合わせの中から、すなわち上下いずれかの方向に２度進行する倚音候補と解決音候補とからなる複数の組み合わせの中からランダムに一組の組み合わせを選択する。そして、この選択した組み合わせに係る倚音候補および解決音候補をｎ番目の音符データとｎ＋１番目の音符データとして採用して、ＲＡＭ内のｎ番目およびｎ＋１番目の音符データを前記採用した音符データに変更する。なお、この第３音高修正プログラムにおいても、ステップＳ３３８，Ｓ３４０の処理を省略して、常に前記ステップＳ３４２のランダム処理が実行されるようにしてもよい。
【００７１】
また、ステップＳ３３４にて、上下いずれかの方向に２度進行の組み合わせが一組もないと判定されると、ステップＳ３４４に進む。ステップＳ３４４においては、上記図６のスケール音クオンタイズ処理ルーチンの実行により、前記ｎ番目およびｎ＋１番目の両音符データに対してスケール音クオンタイズ処理を施す。そして、ＲＡＭ内のｎ番目およびｎ＋１番目の音符データをスケール音の音高に維持または変更する。
【００７２】
前記ステップＳ３３６，Ｓ３４０，Ｓ３４２，Ｓ３４４の処理後、ステップＳ３４６にてｎ＋１番目の音符データがモチーフメロディの最後の演奏データに関するものであるかを判定する。そして、最後の演奏データに関するものであれば、ステップＳ３４６にて「Ｙｅｓ」と判定して、ステップＳ３５０にてこの第３音高修正プログラムの実行を終了する。一方、ｎ＋１番目の音符データがモチーフメロディの最後の演奏データに関するものでなければ、ステップＳ３４８にて変数ｎに「１」を加算して、ステップＳ３０８に戻って、ステップＳ３０８〜Ｓ３４８からなる循環処理を続ける。その結果、モチーフメロディの全ての演奏データが音高修正される。
【００７３】
このような第３音高修正プログラムの実行により、ユーザによって演奏されたモチーフメロディを表す演奏データ中の音高データの音高修正に、和音に関する解決の音楽技術が導入される。したがって、上記第１および第２音高修正プログラムによる場合に比べて、音高修正された演奏データがより高度に音楽に適合したものとなる。
【００７４】
また、この場合も、調、和音およびスケールが、それぞれハ長調、Ｃメジャーおよびイオニアンである場合の音高修正状態を図示する。図１３は、モチーフメロディの途中における１小節分の入力音（Ａ＃，Ｆ，Ａ，Ｂ音）の修正状態を上記図７(Ｂ)および図１０(Ｂ)の場合と同様にして示している。ただし、この場合、１拍目および２拍目の欄の右側の☆印は、倚音および解決音として決定された音高を表している。
【００７５】
なお、この第３音高修正プログラムにおいては、スケール音およびコード音でない音高を表す音符データを最も近いスケール音およびコード音の音高を表すデータにそれぞれ修正するようにした。しかし、極めて初心者向け用の場合には、より遠い（音高差の大きい）スケール音およびコード音の音高まで修正の候補とするようにしてもよい。また、ユーザが、この修正音候補の幅を選択できるようにしてもよい。
【００７６】
また、上記実施形態においては、図４(Ｂ)に示す演奏データを変形しないで、第１〜第３音高修正プログラムの実行により、押鍵（キーオン）に関する演奏イベントデータ中の音高データを変更するようにした。しかし、これに代えて、図３のステップＳ１６のタイミング修正後であれば、同タイミング修正を加えた演奏データを音符列（休符も含む）を表す楽譜情報に変換した後に、前記第１〜第３音高修正プログラムの実行により楽譜情報中の音符列の音高（音名）に関するデータに修正を加えるようにしてもよい。なお、この楽譜情報中の音符に関する情報は、音名（休符も含む）を表す音名データ（音高データ）と、符長を表す符長データとからなる。
【００７７】
また、上記実施形態においては、短い長さのモチーフメロディに対して音高修正を施すようにしたが、長いフレーズの演奏データ、例えば一曲分の演奏データに対して音高修正を施すこともできる。なお、この場合には、楽曲の自動作曲は不要となる。
【００７８】
また、上記実施形態においては、第１〜第３音高修正プログラムを択一的に用いてモチーフメロディの音高を修正するようにした。しかし、これらの第１〜第３音高修正プログラムを適宜組み合わせて、与えられた演奏データに対して音高修正を施すようにしてもよい。すなわち、演奏データの複数の区間に対して、第１〜第３音高修正プログラムのうちの異なるプログラムを選択的に用いて音高修正を行うようにしてもよい。この場合、特に、前述のように、一曲分の演奏データに対して音高修正を施す場合に有効である。また、各区間に対する第１〜第３音高修正プログラムうちのいずれかのプログラムの適用は、ユーザによって選択される。
【００７９】
また、上記実施形態においては、サーバコンピュータ２０がクライアント端末３０との交信をしながら演奏データの音高修正を行うようにした。しかし、クライアント端末３０である電子楽器に、図３のサーバプログラムおよび図５，８，１１，１２の第１〜第３音高修正プログラム（図６のスケール音クオンタイズ処理ルーチンおよび図９のコード音クオンタイズ処理ルーチンを含む）を用意しておけば、電子楽器のみでも上記音高修正を実現できる。
【００８０】
また、電子楽器に限らず、パーソナルコンピュータなどのプログラム処理可能な各種電子機器であれば、どのような電子機器にも本発明は適用できる。この場合、電子機器に鍵盤を接続して演奏データを入手するようにしてもよいが、フレキシブルディスク、コンパクトディスクなどの記録媒体に演奏データを記憶しておき、同記録媒体に記録されている演奏データに本発明に係る音高修正処理を施してもよい。
【００８１】
また、演奏データの入力に関しても、鍵盤に限らず弦楽器型、管楽器型などのように、いかなる形態の演奏操作子からの演奏データでもよい。パーソナルコンピュータの各キーに音高を割当てておいて、このキーの操作に基づいて演奏データを得るようにしてもよい。また、ディスプレイ上に楽譜やピアノロール譜面などを表示しておいて、このディスプレイ上の楽譜や譜面に音符を貼り付けることにより入力される演奏データを用いるようにしてもよい。さらに、入力した音声信号（楽器信号を含む）から検出されたピッチを演奏データとして用いてもよい。
【００８２】
さらに、本発明の実施にあたっては、上記実施形態およびその変形例に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変形も可能である。
【図面の簡単な説明】
【図１】  本発明の適用されるシステムの概略ブロック図である。
【図２】  図１のクライアント端末の一例を示す電子楽器の概略ブロック図である。
【図３】  図１のサーバコンピュータによって実行されるサーバプログラムおよびクライアント端末によって実行されるクライアントプログラムのフローチャートである。
【図４】  (Ａ)は伴奏データのフォーマット図であり、(Ｂ)は演奏データのフォーマット図である。
【図５】  サーバコンピュータによって実行される第１音高修正プログラムのフローチャートである。
【図６】  図５、図８および図１１，１２のスケール音クオンタイズ処理ルーチンの詳細を示すフローチャートである。
【図７】  (Ａ)は入力音のスケール音へのクオンタイズの関係を示す図であり、(Ｂ)は第２音高修正プログラムによる入力音のクオンタイズ処理例を示す図である。
【図８】  サーバコンピュータによって実行される第２音高修正プログラムのフローチャートである。
【図９】  図８および図１１のコード音クオンタイズ処理ルーチンの詳細を示すフローチャートである。
【図１０】  (Ａ)は入力音のコード音へのクオンタイズの関係を示す図であり、(Ｂ)は第２音高修正プログラムによる入力音のクオンタイズ処理例を示す図である。
【図１１】  サーバコンピュータによって実行される第３音高修正プログラムの前半部分を示すフローチャートである。
【図１２】  サーバコンピュータによって実行される第３音高修正プログラムの後半部分を示すフローチャートである。
【図１３】  第３音高修正プログラムによる入力音のクオンタイズ処理例を示す図である。
【符号の説明】
１０…通信ネットワーク、２０…サーバコンピュータ、２１…データベース、３０…クライアント端末（電子楽器）、３１…演奏操作子群、３２…パネル操作子群、３３…ディスプレイ、３７…音源回路、４１…ＣＰＵ、４２…ＲＯＭ、４３…ＲＡＭ、４５…外部記憶装置。
【図１】
0003873781.tif 000002
【図２】
0003873781.tif 000003
【図３】
0003873781.tif 000004
【図４】
0003873781.tif 000005
【図５】
0003873781.tif 000006
【図６】
0003873781.tif 000007
【図７】
0003873781.tif 000008
【図８】
0003873781.tif 000009
【図９】
0003873781.tif 000010
【図１０】
0003873781.tif 000011
【図１１】
0003873781.tif 000012
【図１２】
0003873781.tif 000013
【図１３】
0003873781.tif 000014