(57)【特許請求の範囲】
【請求項１】
音高データ及び音高変更データを含む演奏情報を解析する演奏情報解析装置であって、
演奏情報中の音高データで表わされる音高を音高変更データに応じて変換する音高変換手段と、
変換後の音高に基づいて前記演奏情報を解析する解析手段と
を具備することを特徴とする演奏情報解析装置。
【請求項２】
前記解析手段は、変換後の音高から成る音高列を生成し、生成された音高列を解析することを特徴とする請求項１に記載の演奏情報解析装置。
【請求項３】
さらに、
前記音高変更データの変化に基づいて、一つの音高データで表わされる楽音を複数の楽音に分割する手段
を具備し、
前記音高変換手段は、分割後の楽音を音高変更データに応じて変換する
ことを特徴とする請求項１又は２に記載の演奏情報解析装置。
【請求項４】
前記解析手段は、前記演奏情報に含まれている音高の頻度を解析し、解析結果に基づいて、前記演奏情報に適した調又は和音を決定することを特徴とする請求項１〜３の何れか１項に記載の演奏情報解析装置。
【請求項５】
音高データ及び音高変更データを含む演奏情報を解析する演奏情報解析装置として機能するコンピュータに、
演奏情報中の音高データで表わされる音高を音高変更データに応じて変換するステップと、
変換後の音高に基づいて前記演奏情報を解析するステップと
から成る手順を実行させるプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、演奏情報の音高解析を行い調や和音などを検出するのに好適な演奏情報解析装置、方法及び記録媒体に関する。
【０００２】
【従来の技術】
従来、ＳＭＦ（Standard MIDI File）形式の演奏情報を解析して音高成分から調や和音を検出する場合、解析に利用される音高成分としては、発音する音高を表わす音高データ（ノートナンバデータ）のみであった。一般に、再生時に発音される実際の音高は、ノートナンバデータに対して音高変更データ（ピッチベンドチェンジデータ又はピッチチェンジデータ）を反映させたものであり、ノートナンバデータのみで解析を行うと間違えた音高で解析することになる。従って、この解析により得られる調や和音は、解析した演奏情報に最適なものとならない場合があった。
【０００３】
【発明が解決しようとする課題】
この発明は、このような従来技術の欠点に鑑み、演奏情報の音高解析を正確に行うことができ、演奏情報に最適な調や和音を検出することができる演奏情報解析システムを提供することを目的とする。
【０００４】
【課題を解決するための手段】
この発明の主たる特徴に従うと、音高データ及び音高変更データを含む演奏情報を解析する演奏情報解析装置であって、演奏情報中の音高データで表わされる音高を音高変更データに応じて変換する音高変換手段と、変換後の音高に基づいて演奏情報を解析する解析手段とを具備する演奏情報解析装置（請求項１）、並びに、音高データ及び音高変更データを含む演奏情報を解析する演奏情報解析装置として機能するコンピュータに、演奏情報中の音高データで表わされる音高を音高変更データに応じて変換するステップと、変換後の音高に基づいて演奏情報を解析するステップとから成る手順を実行させるプログラムを記録しているコンピュータ読み取り可能な記録媒体（請求項５）が提供される。
【０００５】
この発明による演奏情報解析装置においては、解析手段は、変換後の音高から成る音高列を生成し、生成された音高列を解析する（請求項２）ように構成される。この発明による演奏情報解析装置においては、さらに、音高変更データの変化に基づいて、一つの音高データで表わされる楽音を複数の楽音に分割する手段を具備し、音高変換手段は、分割後の楽音を音高変更データに応じて変換する（請求項３）ように構成される。また、この発明による演奏情報解析装置においては、解析手段は、演奏情報に含まれている音高の頻度を解析し、解析結果に基づいて、演奏情報に適した調又は和音を決定する（請求項４）ように構成される。
【０００６】
〔発明の作用〕
この発明の主たる特徴によると、音高データ（ノートナンバデータ）及び音高変更データ（ピッチチェンジデータ）を含む演奏情報を解析するに際し、演奏情報中の音高データが表わす音高を、対応する音高変更データで変換し、変換後の音高を利用して演奏情報を解析するようにしている（なお、括弧書きは、理解の便のために、後で詳述する実施例において用いられる対応用語である。）。従って、演奏情報の音高解析を正確に行うことができ、演奏情報に最適な調や和音を検出することができる。
【０００７】
【発明の実施の形態】
以下、図面を参照しつつ、この発明の好適な実施例を詳述する。なお、以下の実施例は単なる一例であって、この発明の精神を逸脱しない範囲で種々の変更が可能である。
【０００８】
〔ハードウエア構成〕
図１には、この発明の一実施例による演奏情報解析システムのハードウエア構成のブロック図が示されている。このシステムの例では、パーソナルコンピュータ（ＰＣ）端末に、演奏情報解析プログラムを含むソフトウエアをインストールし、ユーザは、操作子、表示装置、電子楽器を使って演奏情報解析処理を実行する構成がとられている。システムは、中央処理装置（ＣＰＵ）１、タイマ２、読出専用メモリ（ＲＯＭ）３、ランダムアクセスメモリ（ＲＡＭ）４、外部記憶装置５、検出回路６、表示回路７などの外に、音源回路８や通信インターフェイス（Ｉ／Ｆ）９、ＭＩＤＩインターフェース（Ｉ／Ｆ）１０などを備え、これらの装置１〜１０は、通信バス１１を介して互いに接続されている。
【０００９】
システム全体を制御するＣＰＵ１は、所定のソフトウエア・プログラムに従いタイマ２によるクロックを利用して種々の制御を行い、特に、後述する演奏情報解析処理などを中心的に遂行する。ＲＯＭ３には、このシステムを制御するための所定の制御プログラムが記憶されており、これらの制御プログラムには、基本的な情報処理と共に、この発明による演奏情報解析処理プログラムや、演奏情報作成処理、演奏情報再生処理などに関する各種プログラムの外、これらの処理に付随する各種テーブル及び各種データが含まれる。例えば、予め用意された演奏情報や、演奏情報解析時に利用されるテーブル（調や和音を検出するためのルールを記憶したテーブル）などが記憶されている。また、ＲＡＭ４には、これらの処理に際して利用されるフラグやバッファなどが記憶され、特に、演奏情報解析処理で用いられる演奏情報や解析音高列情報が記憶される。
【００１０】
外部記憶装置５は、ハードディスクドライブ（ＨＤＤ）の外に、コンパクトディスク・リード・オンリィ・メモリ（ＣＤ−ＲＯＭ）、フロッピィディスク（ＦＤ）、光磁気（ＭＯ）ディスク、ディジタル多目的ディスク（ＤＶＤ）、メモリカード等の可搬型記憶媒体を用いた装置から成り、各種制御プログラムや各種データを記憶することができ、演奏情報ファイル内には演奏情報が記憶される。例えば、演奏情報解析などに必要なプログラムや各種データは、ＲＯＭ３を利用するだけでなく、外部記憶装置５からＲＡＭ４内に読み込むことができ、必要に応じて、処理結果を外部記憶装置５に記録しておくこともできる。
【００１１】
検出回路６には操作子装置１２が接続され、操作子装置１２は、各種の設定や情報入力を行うためにユーザが用いるキーボード及びポインチングデバイス（マウス等）を備える。なお、操作子については、これらに限らず、特殊なスイッチや電子演奏などに特化した操作子など、情報入力用操作子として利用できるものであればどのようなものであってもよい。表示回路７はディスプレイ１３や各種インジケータを備えており、ディスプレイ１３上には、ポインチングデバイス等の操作子で操作可能なカーソルやスイッチボタンが表示される。
【００１２】
音源回路８には、ＤＳＰ等で構成される効果回路やスピーカを含むサウンドシステム１４が接続されており、ＲＡＭ４などに記憶される演奏情報などを読み出して、対応する楽音を発音再生することができる。また、通信Ｉ／Ｆ９には、ローカルエリアネットワーク（ＬＡＮ）やインターネット、電話回線等の通信ネットワーク１５が接続され、通信ネットワーク１５を介してサーバコンピュータ等から制御プログラムや演奏情報などの各種データを外部記憶装置５にストアすることもできる。
【００１３】
ＭＩＤＩＩ／Ｆ１０には、電子楽器などの演奏情報発生源１６が接続され、演奏情報をＭＩＤＩ形式で授受することができる。なお、図１は、ＰＣ端末を用いるシステムについて説明したが、電子楽器を用いて演奏情報解析システムを構成してもよい。いずれの場合も、電子楽器は、打楽器型、鍵盤型、管楽器型、弦楽器型など、どのようなものであってもよい。
【００１４】
〔演奏情報の構成例〕
図２は、この発明の一実施例による演奏情報解析システムにおいて解析対象となる演奏情報の一構成例である。演奏情報は、楽曲を再生（自動演奏）させるための情報であり、例えば、ＳＭＦの形式で外部記憶装置５の演奏情報ファイル内に記憶されている。以下の実施例では、複数あるパートのうちのメロディパートを解析対象のパート（解析パート）とし、メロディパートの情報（メロディ情報）の内容が解析される。
【００１５】
この演奏情報は、図２の左側に示されるように、設定情報、メロディ情報及び伴奏情報から成る。設定情報は、自動演奏の際（再生時）の各種の再生態様を設定するための情報であり、テンポデータ、音色データ、音量データなどが含まれる。また、メロディ情報及び伴奏情報は、楽曲の再生内容を表わす情報である。つまり、メロディ情報は、主旋律を再生するための情報であり、伴奏情報は、和音演奏、べース演奏、リズム演奏などの主旋律以外の部分を再生するための情報である。メロディ情報及び伴奏情報は、図２の右側に示されるように、各パート毎にタイミングデータとイベントデータの組みが再生進行順に記憶されたものである。
【００１６】
タイミングデータは、これに続いて記憶されるイベントが処理されるべき時間（タイミング）を表わすデータあり、イベントデータは、楽曲を再生させるための各種イベントの内容を表わすデータである。それぞれのイベントデータはタイミングデータと対応して記憶されており、一つのタイミングに複数のイベントが対応している場合もある。イベントの内容には、ノートオンイベント、ピッチチェンジ（変更）イベント、ノートオフイベント、テンポチェンジ（変更）イベント、音色チェンジ（変更）イベントなどがある。
【００１７】
図３は各イベントデータ例を示すものであり、図３（ａ）はノートオンイベントデータの構成例を示し、図３（ｂ）はピッチチェンジイベントデータの構成例を示す。ノートオンイベントデータは、楽音の発音を指示するデータであり、図３（ａ）にも示すように、ステータスデータ、ノートナンバデータ、ゲートタイムデータ、ベロシティデータ、チャンネルデータなどを含む。
【００１８】
ここで、ステータスデータ（「ステータス」と呼ぶ。）は、当該イベントデータがノートオンイベントデータであることを表わすデータであり、ノートナンバデータ（「ノートナンバ」と呼ぶ。）は、発音する楽音の音高を表わすデータ（音高データ）であり、ゲートタイムデータ（「ゲートタイム」と呼ぶ。）は、発音する楽音の発音長を表わすデータである。その他のデータについては、例えば、べロシティデータは、発音する楽音の音量を表わすデータであり、チャンネルデータは、当該イベントデータを処理する（ＭＩＤＩ）チャンネルを表わすデータである。
【００１９】
次に、ピッチチェンジイベントデータ（「ピッチチェンジ」と呼ぶ。）は、音高の変更量（変更値）を指示するデータであり、図３（ｂ）に示されるように、ステータスデータ、変更量データ、チャンネルデータなどを含む。ここで、ステータスデータ（「ステータス」）は、当該イベントデータがピッチチェンジイベントデータであることを表わすデータであり、変更量データ（「変更量」又は「変更値」と呼ぶ。）は、音高の変更量（値）を表わすデータ（音高変更データ）であり、チャンネルデータは、当該イベントデータを処理する（ＭＩＤＩ）チャンネルを表わすデータである。
【００２０】
〔演奏情報解析処理〕
この発明の一実施例による演奏情報解析システムにおいては、「演奏情報解析処理」プログラム（解析処理）を含むソフトウェアを実行することができ、このソフトウエアには、操作子装置１２の操作子を用いて入力される楽譜情報等に基づいて演奏情報を作成し、外部記憶装置５に格納する「演奏情報作成処理」や、このようにしてシステム内で作成された演奏情報或いは電子楽器などの演奏情報入力源１６からの演奏情報を再生する「演奏情報再生処理」を実行するためのプログラムなども含まれている。図４は、この発明の一実施例による演奏情報解析処理の動作例を表わすフローチャートである。この解析処理フローは、演奏情報解析プログラム（解析処理）を含むソフトウェアを起動した後に、解析したい演奏情報及びパートを選択し、操作子装置１２において解析開始を指示するための所定の解析開始スイッチを操作すると、起動する。
【００２１】
この処理フローがスタートすると、最初のステップＳ１で、今回の解析対象となるノートオンを検出する。つまり、解析対象とされた演奏情報のメロディ情報の先頭からノートオンを一つずつ検出していく。次のステップＳ２で「ノートオン有り」が判定されると（ＹＥＳ）、ステップＳ３に進み、ノートオンが検出される毎に音高決定処理が行われる。
【００２２】
次いで、ステップＳ４において、ステップＳ３での音高決定処理により決定された音高を、対応するゲートタイムと共に、解析音高列情報に追記する。解析音高列情報は、解析毎にＲＡＭ４内に用意される解析用バッファであり、このバッファ内に、音高決定処理により決定された音高が、その音高の発音長を表わす情報（ゲートタイム）と共に順に記憶される。つまり、解析音高列情報には、ピッチチェンジデータを反映させた後の解析対象パートの音高列が記憶されることになる。ステップＳ４の追記の後は、ステップＳ１に戻って次のノートオンを検出し、ステップＳ２で「ノートオン有り」が判定される毎にステップＳ３，Ｓ４の処理を繰り返し、メロディ情報の先頭からノートオンの検出ごとに音高の決定及び追記を順次行っていく。
【００２３】
ステップＳ２で、「ノートオン有り」が判定されなくなると（ＮＯ）、ステップＳ５に進んで、作成された解析音高列情報に基づいて、解析対象の演奏情報に対応する調や和音を判定する。つまり、ステップＳ５では、メロディ情報の全ノートオンの音高決定が終了した後の解析音高列情報から、従来からある方法を利用して、調や和音を検出する。そして、調や和音を判定する処理を実行した後、この処理フローを終了する。
【００２４】
〔音高決定処理〕
この発明の一実施例においては、読み出したノートオンのノートナンバに、対応するピッチチェンジの変更値（変更量）を考慮して、実際の解析（調や和音を検出する処理）に利用する音高を決定するための音高決定処理が実行される。図５は、この発明の一実施例による音高決定処理の動作例を表わすフローチャートである。この音高決定処理は、前述した演奏情報解析処理（図４）のステップＳ３で実行される。
【００２５】
この処理ルーチンの第１ステップＲ１では、検出されたノートオン（今回ノートオン）の音高に影響を及ぼすピッチチェンジを検出する。つまり、今回ノートオンが開始される前に設定されているピッチチェンジも検出する。これにより、今回ノートオンの発音開始以前にピッチチェンジが行われている場合には、そのピッチチェンジによる変更量も考慮して音高決定を行う。
【００２６】
次のステップＲ２で「ピッチチェンジ有り」が判定されたときは（ＹＥＳ）ステップＲ３に進むが、そうでないときは（ＮＯ）、ステップＲ４に進んで、今回ノートオンのノートナンバ（音高）及びゲートタイムを、そのまま、今回ノートオンの区間における音高及びゲートタイムに決定し、演奏情報解析処理のステップＳ４にリターンする。
【００２７】
ステップＲ２からステップＲ３に進んだときは、今回ノートオンの発音長に相当する区間を、ピッチチェンジの出現タイミングを区切りとした区間に分割し、続くステップＲ５において、区間毎に、ピッチチェンジの変更値をノートオンのノートナンバに反映させて、音高を算出（決定）する。ここで、算出される音高は、ノートナンバにピッチチェンジの変更値を反映させた音の高さを１２音階の何れかに丸め込んだもとする。
【００２８】
次に、ステップＲ６にて、連続する区間で音高が同一となっている箇所を検出し、音高同一の連続区間を一つの区間に修正し、さらに、ステップＲ７において、ステップＲ５，Ｒ６で算出乃至区間修正されたそれぞれの音高について、そのの発音長（ゲートタイム）を算出し、演奏情報解析処理のステップＳ４にリターンする。
【００２９】
〔音高決定の処理例〕
この発明の一実施例による演奏情報解析システムでは、演奏情報解析処理のステップＳ３（図４）で、上述した音高決定処理（図５）が実行される。図６は、この発明の一実施例による音高決定の処理例を表わす図である。この演奏情報解析システムでは、図６（ａ）〜（ｃ）に示される経過を経て、音高データ（ノートナンバデータ）Ｎ１〜Ｎ３及び音高変更データ（ピッチチェンジデータ：次のピッチチェンジデータの出現まで各ノートに影響を及ぼす。）Ｂ１〜Ｂ３を含む演奏情報から音高列Ｎ１Ａ〜Ｎ３Ａを生成する。つまり、演奏情報中の音高データＮ１，Ｎ２，Ｎ３で表わされる音高を音高変更データＢ１，Ｂ２，Ｂ３に応じて音高Ｎ１Ａ，Ｎ２Ａ，Ｎ２Ｂ，…に変換する。
【００３０】
図６の例では、音高変更データは、時点ｔ２，ｔ３，ｔ４にて変更量（値）Ｂ１〜Ｂ３をもって変化し、音高データＮ２，Ｎ３の音高に影響を与える。音高データＮ２は、この変化に基づいて複数の楽音Ｎ２１〜Ｎ２４に分割され、分割後の楽音が音高変更データＢ１〜Ｂ３により音高Ｎ２Ａ〜Ｎ２Ｃに変換される。また、音高データＮ３は、音高Ｎ３１への音高変換を介して音高Ｎ３Ａに変換される。そして、このような変換を介して得られた音高列Ｎ１Ａ〜Ｎ３Ａにつき音高出現頻度を解析し、演奏情報に適した調又は和音を決定する。
【００３１】
このような音高決定の処理内容をより具体的に説明する。図６（ａ）は、ノート列Ｎ１〜Ｎ３のうち或る１つのノートＮ２の区間内において、複数のピッチチェンジ（変更量）Ｂ１〜Ｂ３でピッチ変更されている場合を示している。このピッチチェンジＢ１〜Ｂ３をノート列Ｎ１〜Ｎ３に反映させるには、まず、１つのノートに着目して、そのノート区間（内部時間）の間に発生するピッチベンドを探す（ステップＲ１）。すると、ノートＮ１にはピッチチェンジがなく（ピッチチェンジ値＝“０”：ステップＲ２→ＮＯ→ステップＲ４）、ノートＮ２において、ピッチチェンジＢ１，Ｂ２、Ｂ３が見つかる（ステップＲ２→ＹＥＳ）。
【００３２】
各ノートＮ１〜Ｎ３は、それぞれ、ピッチチェンジＢ１〜Ｂ３により、ノートＮ１の全域、ノートＮ２の期間ｔ１〜ｔ２，ｔ２〜ｔ３，ｔ３〜ｔ４，ｔ４〜ｔ５及びノートＮ３の全域のように、区間に分割されることになる（ステップＲ３）。ここで、各区間におけるピッチチェンジ値（変更値）は、左側から、例えば、“０”（Ｎ１），“０”（ｔ１〜ｔ２），Ｂ１＝“４０９６”（“４０９６”は、半音分のピッチ変更に相当する値）（ｔ２〜ｔ３），Ｂ２＝“２９７８”（ｔ３〜ｔ４），Ｂ３＝“−５９５７”（ｔ４〜ｔ５），Ｂ３＝“−５９５７”（Ｎ３）とする。
【００３３】
各区間におけるピッチチェンジによる音高シフト量は、ピッチチェンジ値が正のときは次式（１）により、ピッチチェンジ値が負のときは次式（２）により、半音を“１”として小数点付きで計算される（ステップＲ５）：
音高シフト量＝ピッチベンド感度×ピッチチェンジ値÷８１９１  ……（１）
音高シフト量＝ピッチベンド感度×ピッチチェンジ値÷８１９２  ……（２）
【００３４】
これにより、各区間の音高シフト量は、左側から、“０．００”（Ｎ１），“０．００”（ｔ１〜ｔ２），“１．００”（ｔ２〜ｔ３），“０．７３”（ｔ３〜ｔ４），“−１．４５”（ｔ４〜ｔ５），“−１．４５”（Ｎ３）となる（但し、ピッチベンド感度＝“２”）。図６（ｂ）には、各音高シフト量で音高がシフトされたノートＮ２１，Ｎ２２，Ｎ２３，Ｎ２４，Ｎ３１が示されている。
【００３５】
次に、各区間における音程シフト量を整数に丸め、さらに、整数値に丸めた音程シフト値が同じノートで且つ連続する場合には区間を１つにまとめる（ステップＲ６）。まず、丸め処理では、例えば、小数点第一位での四捨五入を利用し、左から、整数値“０”（Ｎ１），“０”（Ｎ２１），“１”（Ｎ２２），“１”（Ｎ２３），“−１”（Ｎ２４），“−１”（Ｎ３１）となる。続いて、同ノート且つ連続する区間を１つにまとめる。図６の例では、ノートＮ１の全域とノートＮ２の分割ノートＮ２１は、シフト値は同じであるが元のノートが別であるので、再接続しない。分割ノートＮ２２，Ｎ２３は、同じ音高になるので、再接続する。分割ノートＮ２４とノートＮ３１の全域も、同一シフト値であるがもともとのノートＮ２，Ｎ３が異なるので、再接続はしない。
【００３６】
そして、各区間の整数シフト値を、対応する元のノートＮ１〜Ｎ３の音高値に加算して、最終的な音高を計算し、また、区間の発音長については、分割／再接続をした区間ごとに修正する（ステップＲ７）。この結果、図６（ｃ）に示されるように、音高決定処理後のノート列Ｎ１，Ｎ２Ａ，Ｎ２Ｂ，Ｎ２Ｃ，Ｎ３Ａが得られる。なお、ノートＮ１は、ステップＲ４の処理により、元のノートデータをそのまま用いる。
【００３７】
このような音高決定処理により得られるピッチチェンジを反映したノート列に対して、演奏情報解析処理のステップＳ５（図４）で、調や和音を検出する解析処理が実行される。この解析処理には、例えば、調検出の場合は、メロディ音程の出現度数を音階ごとに計算するというように、従来の方法を利用する。この方法では、例えば、次式（３）のように、ノート列が表わすメロディの音高について、１２種の調（ここでは、長調のみ）Ｃ，Ｃ♯，Ｄ，Ｄ♯，Ｅ，Ｆ，Ｆ♯，Ｇ，Ｇ♯，Ａ，Ａ♯，Ｂごとに、各調に含まれる音名の出現頻度を求め、最大出現頻度を示す調を当該メロディ（ノート列）の調とするものである：
【数１】
0003777976.tif 000002
【００３８】
このような調検出の結果から分かることは、ピッチチェンジを考慮した音高データを利用することにより、「聴感」に近い音程での処理が可能となり、調やコードの判定の間違いを減らすことができるということである。
【００３９】
つまり、このような音高決定処理をした後のメロディは、図６（ａ）のノート列Ｎ１〜Ｎ３及びピッチチェンジ“０”〜Ｂ３によるメロディに比べると、同じように聞こえるとは限らない。ほぼ正確な半音位置でピッチベンドが発生している場合には酷似してくる場合もあるが、それ以外の場合には精度を落とす作業に他ならず、聞こえ方がかなり違ってくる。しかしながら、ノート列Ｎ１〜Ｎ３をそのままにピッチチェンジを無視してピッチチェンジ値＝“０”としたメロディに比べれば、はるかに元のメロディの鳴り音に近い状態であるといえる。従って、図６（ｃ）のメロディを使って分析したほうが、結果として、精度の向上を大いに期待することができる。
【００４０】
なお、ピッチチェンジを反映したメロディ（ノート列）を予め作成しておき、そのノート列に対して調検出やコード検出などの処理を行うことにより、調検出やコード検出など複数の音程を利用したプログラムを実行するたびに、音高決定処理を実行しなくて済み、また、調検出やコード検出のプログラムが簡素化されるなどの利点が得られる。
【００４１】
〔種々の実施態様〕
以上、この発明を一実施例について説明したが、この発明は種々の態様で実施することができる。音高解析時にノートナンバに反映させるデータは、ピッチチェンジデータに限らず、発音音高に影響を及ぼす全てのデータである。ピッチチェンジデータ以外にトランスポーズデータなどがある。
【００４２】
また、実施例においては、発音長を表わすデータとしてゲートタイムを記録するようにしているが、ノートオンとそれに対応するノートオフとの発生タイミングを参照して発音長を算出するようにしてもよい。
【００４３】
実施例においては、解析対象とするパートをメロディパートとしているが、もちろん、他のパートであってもよい。また、解析するパートを所定の選択手段によりユーザが選択できるようにしてもよいし、複数のパートを同時に選択してパート毎の解析を同時に行うようにしてもよいし、さらに、複数のパートの情報を合わせて（複合して）、調や和音を検出（解析）するのに利用するようにしてもよい。
【００４４】
なお、演奏情報解析処理プログラムなどの制御プログラムを取得するには、ＨＤＤやＣＤ−ＲＯＭドライブを利用することができる。ＨＤＤは制御プログラムや各種データを記憶しておく記憶装置であるが、例えば、ＲＯＭに制御プログラムが記憶されていない場合、このＨＤＤ内のハードディスクに制御プログラムを記憶させておき、それをＲＡＭに読み込むことにより、ＲＯＭに制御プログラムを記憶している場合と同様の動作をＣＰＵにさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行うことができる。また、ＣＤ−ＲＯＭドライブは、ＣＤ−ＲＯＭに記憶されている制御プログラムや各種データを読み出す装置であるが、ＣＤ−ＲＯＭから読み出した制御プログラムや各種データは、ＨＤＤ内のハードディスクにストアすることにより、制御プログラムの新規インストールやバージョンアップ等を容易に行うことができる。なお、このＣＤ−ＲＯＭドライブ以外にも、外部記憶装置として、フロッピィディスク装置、光磁気ディスク（ＭＯ）装置等、様々な形態のメディアを利用するための装置を設けるようにしてもよい。
【００４５】
また、演奏情報解析処理プログラムなどの制御プログラムをネットワークを利用してダウンロードすることもできる。通信インターフェースは ＬＡＮ（ローカルエリアネットワーク）やインターネット、電話回線などの通信ネットワークに接続されており、このような通信ネットワークを介してサーバコンビュータと接続されるので、ＨＤＤ内に制御プログラムや各種データが記憶されていない場合、サーバコンビュータからプログラムやデータをダウンロードするために用いることができる。例えば、クライアントとなる本システムは、通信インターフェース及び通信ネットワークを介してサーバコンピュータへとプログラムやデータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやデータを通信ネットワークを介して本システムへと配信し、本システムは、通信インターフェースを介して、これらプログラムやデータを受信してハードディスク装置に蓄積することにより、ダウンロードが完了する。
【００４６】
【発明の効果】
以上説明したように、この発明によれば、音高データ（ノートナンバデータ）及び音高変更データ（ピッチチェンジデータ）を含む演奏情報を解析するに際し、演奏情報中の音高データが表わす音高を、対応する音高変更データで変換し、変換後の音高を利用して演奏情報を解析するようにしているので、演奏情報の音高解析を正確に行うことができ、演奏情報に最適な調や和音を検出することができる。
【図面の簡単な説明】
【図１】図１は、この発明の一実施例による演奏情報解析システムのハードウエア構成を示すブロック図である。
【図２】図２は、この発明の一実施例における演奏情報の一構成例である。
【図３】図３は、この発明の一実施例における各イベントデータの一構成例である。
【図４】図４は、この発明の一実施例による演奏情報解析処理の動作例を表わすフローチャートである。
【図５】図５は、この発明の一実施例による音高決定処理の動作例を表わすフローチャートである。
【図６】図６は、この発明の一実施例による音高決定の処理例を表わす図である。
【符号の説明】
Ｎ１〜Ｎ３  ノート、
０，Ｂ１〜Ｂ３  ピッチチェンジ量、
Ｎ２１〜Ｎ３１  音高が変更されたノート、
Ｎ１Ａ〜Ｎ３Ａ  音高決定処理後のノート。
【図１】
0003777976.tif 000003
【図２】
0003777976.tif 000004
【図３】
0003777976.tif 000005
【図４】
0003777976.tif 000006
【図５】
0003777976.tif 000007
【図６】
0003777976.tif 000008