(57)【要約】【課題】どのような種類の演奏データに対しても、検索に不必要な音を自動的かつ適切に除外することが可能となる演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置を提供する。【解決手段】音色に対応付けて、当該音色で除去すべき演奏データを指示するためのフィルタリング条件（（ａ），（ｂ））を予め用意しておき、対象演奏情報のうち、演奏データが決まると、その演奏データに割り当てられた音色に対応するフィルタリング条件を選択し、このフィルタリング条件を当該演奏データに適用することで、除外すべき演奏データを決定し、決定した演奏データを当該演奏データから除外する。【選択図】図６
2015007735.tif 000002
【特許請求の範囲】
【請求項１】
演奏情報解析方法をコンピュータに実行させるためのプログラムであって、
前記演奏情報解析方法は、
音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得ステップと、
前記取得ステップによって取得された演奏情報から音色情報を検出する検出ステップと、
音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出ステップによって検出された音色情報に対応するフィルタリング条件を選択する選択ステップと、
前記選択ステップによって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成ステップと
を有する
ことを特徴とするプログラム。
【請求項２】
前記フィルタリング条件は、ベロシティ情報が所定のベロシティ区間に属する演奏データの除外を指示するものであることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであることを特徴とする請求項１に記載のプログラム。
【請求項４】
前記演奏情報解析方法はさらに、
前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを比較再生する再生ステップと、
前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを表示手段上に比較表示させる表示ステップと
を有する
ことを特徴とする請求項１〜３のいずれか１項に記載のプログラム。
【請求項５】
音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得ステップと、
前記取得ステップによって取得された演奏情報から音色情報を検出する検出ステップと、
音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出ステップによって検出された音色情報に対応するフィルタリング条件を選択する選択ステップと、
前記選択ステップによって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成ステップと
を有することを特徴とする演奏情報解析方法。
【請求項６】
音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得手段と、
前記取得手段によって取得された演奏情報から音色情報を検出する検出手段と、
音色情報に対応するフィルタリング条件を複数記憶する記憶手段と、
前記記憶手段から、前記検出手段によって検出された音色情報に対応するフィルタリング条件を選択する選択手段と、
前記選択手段によって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成手段と
を有することを特徴とする演奏情報解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演奏情報に含まれる演奏データから検索に不必要な音を自動的に除外する演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置に関する。
【背景技術】
【０００２】
ユーザが特定の楽曲を検索する際に、演奏や歌唱を行なうことで、データベースからユーザの演奏や歌唱にマッチした楽曲を選択する技術がある。
【０００３】
このような技術を適用した装置として、多数の楽曲について楽曲データを記憶した楽曲データベースと、各楽曲に対応して、楽曲演奏の補助として表示される楽譜、歌詞、コード名などの曲情報を表示するための曲情報表示データを記憶した曲情報データベースとを用意しておき、ユーザがある曲を楽器や歌唱で演奏し始めると、演奏内容がＭＩＤＩデータで入力され、ＭＩＤＩデータの音列パターンに一致する音列パターンを有する楽曲データを抽出して、ユーザが演奏し始めた楽曲を認識するとともに、ＭＩＤＩデータのテンポや移調量、進行位置などを検出し、認識された楽曲と一致する楽曲を楽曲データベースから検索することで楽曲を特定し、対応する曲情報表示データ（楽譜、歌詞、コード名など）を曲情報データベースから選択して、ユーザの演奏に合わせて表示するようにした曲情報表示装置がある（たとえば、特許文献１参照）。
【０００４】
この従来の曲情報表示装置とは別に、ユーザが鍵盤や入力パッドを用いて入力した、検索用のクエリーパターン（典型的にはリズムパターン）に基づいて、複数セットの演奏データを記憶している記憶装置から、当該クエリーパターンにマッチする楽音発生パターン（たとえば、リズムパターンあるいはメロディパターン）を持つ演奏データ（たとえば、自動伴奏データ）を検索するようにした検索装置もある（たとえば、特許文献２参照）。そして特許文献２の段落［００２４］，［００２５］には、楽音発生パターンの一例である、リズムパターンデータを作成する際に、リズム入力と判断しづらいゴーストノート（たとえば、極端に小さなベロシティデータを持つものなど）を手動または自動で除外することが記載されている。
【０００５】
検索対象となる演奏データ（上記従来の曲情報表示装置では、楽曲データ）は複数のトラックで構成され、トラック毎に様々な楽器音が割り当てられているのが一般的である。楽器音には、通常音色（ピアノやギターなどの、ピッチを含む音色）やドラム音色（ピッチを含まず、複数の打楽器音が１つの音色における異なるノートナンバに割り当てられているもの）の他、特殊音色（１つの楽器についての複数の奏法音が、異なるベロシティに割り当てられているもの、いわゆるメガボイス（登録商標））もある（たとえば、特許文献３参照）。メガボイスでは、１つの楽器音色の複数の奏法依存音色が、ベロシティの複数範囲にそれぞれ割当てられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−  ８６５７１号公報
【特許文献２】特開２０１２−２３４１６７号公報
【特許文献３】特開２００３−２６３１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、検索対象となる演奏データには、装飾音やゴーストノートなど、聴感上あまり意識されないような音が効果音として入っていることがあるが、検索時の演奏や歌唱では、それらの効果音は無視されることが多い。これにより、ユーザの演奏や歌唱と、実際にデータベースなどに登録されている演奏データとの間に差が生じ、検索されるべき演奏データが検索されず、検索精度が低くなってしまうことがある。
【０００８】
上記従来の検索装置では、ゴーストノートを手動または自動で除外して、演奏データ（リズムパターンデータ）を作成することで、検索精度を上げるようにしているが、手動による除外作業では手間がかかり、自動的な除外処理では、特にメガボイスの演奏データに対して適切な除外処理が行えない。
【０００９】
本発明は、この点に着目してなされたものであり、どのような種類の演奏データに対しても、検索に不必要な音を自動的かつ適切に除外することが可能となる演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、請求項１に記載のプログラムは、演奏情報解析方法をコンピュータに実行させるためのプログラムであって、前記演奏情報解析方法は、音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得ステップと、前記取得ステップによって取得された演奏情報から音色情報を検出する検出ステップと、音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出ステップによって検出された音色情報に対応するフィルタリング条件を選択する選択ステップと、前記選択ステップによって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成ステップとを有することを特徴とする。
【００１１】
請求項２に記載のプログラムは、請求項１のプログラムにおいて、前記フィルタリング条件は、ベロシティ情報が所定のベロシティ区間に属する演奏データの除外を指示するものであることを特徴とする。
【００１２】
請求項３に記載のプログラムは、請求項１のプログラムにおいて、前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであることを特徴とする。
【００１３】
請求項４に記載のプログラムは、請求項１〜３のいずれかのプログラムにおいて、前記演奏情報解析方法はさらに、前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを比較再生する再生ステップと、前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを表示手段上に比較表示させる表示ステップとを有することを特徴とする。
【００１４】
上記目的を達成するため、請求項５および６にそれぞれ記載の演奏情報解析方法および演奏情報解析装置は、請求項１と同様の技術的思想によって実現できる。
【発明の効果】
【００１５】
請求項１，５または６に記載の発明によれば、取得された演奏情報から音色情報が検出され、音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出された音色情報に対応するフィルタリング条件が選択され、当該フィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から当該フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報が生成されるので、フィルタリング条件として、そのフィルタリング条件に対応付けられた音色情報が割り当てられた演奏データにおいて、検索に不必要な音を持つ演奏データを削除する条件を予め作成しておけば、その演奏データについて検索に不必要な音を自動的かつ適切に除外することが可能となる。
【００１６】
請求項２に記載の発明によれば、前記フィルタリング条件は、ベロシティ情報が所定のベロシティ区間に属する演奏データの除外を指示するものであるので、特にメガボイスが割り当てられた演奏データについて検索に不必要な音を自動的かつさらに適切に除外することが可能となる。
【００１７】
請求項３に記載の発明によれば、前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであるので、特にドラム音色が割り当てられた演奏データについて検索に不必要な音を自動的かつさらに適切に除外することが可能となる。
【００１８】
請求項４に記載の発明によれば、前記取得された演奏情報と前記新たに生成された演奏情報とを比較再生あるいは比較表示できるので、ユーザは、新旧両方の演奏情報を聴感上あるいは視覚上、簡単に比較して確認することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施の形態に係る演奏情報解析装置の概略構成を示すブロック図である。
【図２】あるギター音色のメガボイスが割り当てられた演奏データの一部（（ａ））とその表示例（（ｂ））を示す図である。
【図３】図２（ａ）の演奏データの一部に対してフィルタリング条件を適用した後の演奏データ（（ａ））とその表示例（（ｂ））を示す図である。
【図４】あるドラム音色が割り当てられた演奏データの一部（（ａ））とその表示例（（ｂ））を示す図である。
【図５】図４（ａ）の演奏データの一部に対してフィルタリング条件を適用した後の演奏データの表示例を示す図である。
【図６】ギター音色のメガボイスまたはドラム音色が割り当てられたことに応じて選択されるフィルタリング条件の一部の一例を示す図である。
【図７】図１の演奏情報解析装置、特にＣＰＵが実行する演奏情報解析処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００２１】
図１は、本発明の一実施の形態に係る演奏情報解析装置１００の概略構成を示すブロック図である。
【００２２】
同図に示すように、演奏情報解析装置１００は、文字入力用キーボードおよびポインティングデバイス（たとえばマウス）からなる操作入力部１と、装置全体の制御を司るＣＰＵ２と、該ＣＰＵ２が実行する基本制御プログラム（ＢＩＯＳ：Basic Input Output System）や各種テーブルデータ等を記憶するＲＯＭ３と、外部から取得された演奏情報、各種入力情報および演算結果等を一時的に記憶するＲＡＭ４と、各種アプリケーションプログラムやＯＳ（Operating System）、各種演奏情報、各種データ等を記憶する記憶装置５と、各種情報等を表示する、たとえばＬＣＤ（Liquid Crystal Display）からなるディスプレイ６と、図示しない外部機器を接続し、この外部機器とデータの送受信を行う通信インターフェース（Ｉ／Ｆ）７と、前記取得された演奏情報や、前記記憶装置５に記憶されたいずれかの演奏情報を再生して得られたイベントデータ等を楽音信号に変換するとともに、その楽音信号に各種効果を付与するための音源・効果回路８と、該音源・効果回路８からの楽音信号を音響に変換する、たとえば、ＤＡＣ（Digital-to-Analog Converter）やアンプ、スピーカ等のサウンドシステム９とにより構成されている。
【００２３】
上記構成要素１〜８は、バス１０を介して相互に接続され、音源・効果回路８にはサウンドシステム９が接続されている。
【００２４】
記憶装置５は、たとえば、フレキシブルディスク（ＦＤ）、ハードディスク（ＨＤ）、ＣＤ−ＲＯＭ、ＤＶＤ（Digital Versatile Disc）、光磁気ディスク（ＭＯ）および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は駆動装置から着脱可能であってもよいし、記憶装置５自体が演奏情報解析装置１００から着脱可能であってもよい。あるいは、記憶媒体も記憶装置５も着脱不可能であってもよい。
【００２５】
通信Ｉ／Ｆ７としては、たとえば、ＭＩＤＩ信号などの音楽信号を専用に送受信する音楽専用有線Ｉ／Ｆ、ＵＳＢ（Universal Serial Bus）やＩＥＥＥ１３９４などの汎用近距離有線Ｉ／Ｆ、Ｅｔｈｅｒｎｅｔ（登録商標）などの汎用ネットワークＩ／Ｆ、無線ＬＡＮ（local area network）やＢｌｕｅｔｏｏｔｈ（登録商標）などの汎用近距離無線Ｉ／Ｆを挙げることができる。本実施の形態では、通信Ｉ／Ｆ７としてＵＳＢを採用しているが、これに代えて他の種類のＩ／Ｆを採用してもよいし、これに他の種類のＩ／Ｆを加えるようにしてもよい。
【００２６】
なお演奏情報解析装置１００は、上述のように、外部機器を接続した汎用的なＰＣ上に構築されたが、外部機器を接続しない汎用的なＰＣ上に構築してもよいし、汎用的なＰＣ上ではなく、専用装置上に構築してもよい。
【００２７】
以上のように構成された演奏情報解析装置１００が実行する制御処理を、まず図２〜図６を参照してその概要を説明し、次に図７を参照して詳細に説明する。
【００２８】
制御処理（解析処理）の対象となる演奏情報（以下「対象演奏情報」という）は、本実施の形態では説明の便宜上、そのフォーマットとしてＳＭＦ（standard MIDI file）形式のものを採用し、そのフォーマットタイプとしてフォーマット１、つまり、複数のトラックを持つものを想定する。したがって、対象演奏情報は、１つのヘッダチャンクと、そのヘッダチャンク内に設定されたトラック数分のトラックチャンクによって形成されている。ヘッダチャンクは、そのファイル（対象演奏情報ファイル）の基本的な情報を格納するものであり、ＳＭＦでは、記載すべき情報（データ長、フォーマットタイプ、トラック数、時間単位など）が決まっている。トラックチャンクは、各トラックの演奏データ（デルタタイムとイベントを１組とした複数組からなる列）を格納するものであるが、本実施の形態では、トラック０のトラックチャンクだけは、演奏データを格納せず、当該演奏情報の書誌情報（曲名、拍子、作成日時、各トラックの書誌情報など）を格納するものとする。各トラックチャンク（トラック０を除く）には、トラック毎に異なった音色を割り当て可能に構成されているので、各トラックの書誌情報には、当該トラックに割り当てられた音色情報が含まれている。そして、対象演奏情報の複数のトラックチャンクに割り当てられた複数の音色の中に、［背景技術］欄で前述した通常音色、ドラム音色および特殊音色（メガボイス）のいずれも含まれているものとする。
【００２９】
なお、音色情報とは、音色を特定するための情報である。ＳＭＦでは、音色は、バンクセレクトＭＳＢ、バンクセレクトＬＳＢおよびプログラムチェンジの各メッセージを電子楽器（音源装置）に送信することで特定されるので、上記音色情報は、当該各メッセージを生成するために必要なパラメータ値である。しかし、これらパラメータ値も、説明を簡単化するために以下、「バンクセレクトＭＳＢ」、「バンクセレクトＬＳＢ」および「プログラムチェンジ」ということにする。なお音色の特定方法は、これに限られる訳ではなく、電子楽器（音源装置）の機種名と音色番号などによって特定する方法を採用してもよい。
【００３０】
また、本実施の形態では上述のように、対象演奏情報には、演奏データ以外の情報（ヘッダ情報や書誌情報など）も含まれているが、これらの情報は、対象演奏情報と分離して管理するようにしてもよい。
【００３１】
図２は、あるギター音色のメガボイスが割り当てられた演奏データの一部（（ａ））とその表示例（（ｂ））を示す図である。同図（ａ）中、欄“Ｌ１”，“Ｌ２”および“Ｌ３”はそれぞれ、「小節」、「拍」および「クロック」を示し、欄“ＣＨ”は、「チャンネル」を示し、欄“Ｔｙｐｅ”は、「データの種類」を示し、“Ｎｏｔｅ”は、「ノートデータ」であることを示している。さらに、欄“Ｖａｌｕｅ１”は、音名［ノートナンバ］を示し、欄“Ｖａｌｕｅ２”は、発音の長さを示し、欄“Ｖａｌｕｅ３”は、ベロシティを示している。この種のメガボイスが割り当てられた演奏データでは、各ノートイベントに含まれるベロシティは、通常音色が割り当てられた演奏データにおけるベロシティと異なり、当該ノートイベントの音量を単純に示している訳ではない。
【００３２】
図６（ａ）は、この種のメガボイスが割り当てられたことに応じて選択されるフィルタリング条件の一部の一例を示す図である。同図（ａ）において、ベロシティが１〜２０，２１〜４０，４１〜６０，６１〜７５および７６〜８７の範囲にはそれぞれ“Open Soft”，“Open Medium”，“Open Hard”，“Dead”および“Mute”と記載されているが、これはギター演奏での奏法を示している。つまり、これらの各範囲には、奏法に依存した音色（奏法依存音色）が割り当てられ、各範囲毎に、当該奏法依存音色の演奏データの音量が最小値から最大値まで取り得るように制御される。
【００３３】
このようにベロシティが当該ノートイベントの音量をそのまま表していない演奏データに対して、前記従来の検索装置によって自動で除外処理を行うと、従来の検索装置は、［背景技術］欄で前述したように、ベロシティの極端に小さいものを除外するので、“Open Soft”奏法が割り当てられた演奏データ（の一部）のみが除外され、それ以外の奏法が割り当てられた演奏データでベロシティの小さいものは除外されない。
【００３４】
そこで、本発明では、音色に対応付けて、当該音色で除去すべき演奏データを指示するためのフィルタリング条件を予め用意しておき、対象演奏情報のうち、除外処理を適用する演奏データが決まると、その演奏データに割り当てられた音色に対応するフィルタリング条件を選択し、このフィルタリング条件を当該演奏データに適用することで、除外すべき演奏データを決定し、決定した演奏データを当該演奏データから除外するようにしている。
【００３５】
図２（ａ）の演奏データには、音色名が「ビンテージ・ピックギター（Vintage Pick Gtr）」であるメガボイスが割り当てられているので、この音色名に対応するフィルタリング条件（この条件は、ベロシティに関するフィルタリング条件（図６（ａ）の最上段の条件）とノートナンバに関するフィルタリング条件の両方によって構成される）が選択され、このフィルタリング条件が当該演奏データに適用される。図６（ａ）のベロシティに関するフィルタリング条件では、各ベロシティに“０”または“１”のいずれかが対応付けられているが、“０”が「除外」を示し、“１”が「非除外」、つまり「抽出」を示す。これにより、ベロシティが０〜９と６１〜８５の各範囲に属する演奏データが除外される。一方、ノートナンバに関するフィルタリング条件は、本実施の形態では「ノートナンバが“８８”以上は除外」を採用しているので、これにより、ベロシティに関するフィルタリング条件によって除外されなかった演奏データのうち、ノートナンバが“８８”（図２（ｂ）中の表示鍵盤では鍵“Ｅ５”の音高に相当する）以上のものが除外される。
【００３６】
図２（ａ）の演奏データに対して、まずベロシティに関するフィルタリング条件が適用されると、ベロシティが“１”，“６１”，“７１”，“７６”および“８５”（図中“★”が付与されている）の演奏データが除外される。そして除外後の演奏データに対して、ノートナンバに関するフィルタリング条件が適用されると、ノートナンバが“１０４”〜“１０６”の演奏データ、つまり“Ｇ＃６”，“Ａ６”および“Ａ＃６”（図中“●”が付与されている）の演奏データが除外される。図３は、この除外後の演奏データ（（ａ））とその表示例（（ｂ））を示している。
【００３７】
図４は、あるドラム音色が割り当てられた演奏データ（（ａ））とその表示例（（ｂ））を示す図である。この種の音色では、各ノートイベントに対応するノートナンバは、通常音色におけるノートナンバと異なり、単にピッチ（音高）を示している訳ではない。つまり、各ドラム音のピッチはほぼ一定であるので、各ドラム音に対してピッチの異なる音を数多く対応付けておく必要がないからである。したがって、各ノートナンバには、ドラム（打楽器）の種類や奏法の異なる音が対応付けられている。
【００３８】
ドラム音色の割り当てられた演奏データについては、その演奏データを複数のカテゴリ（たとえば「シンバル系」、「スネア系」および「バスドラム系」などのパート）に分離したいことがあるが、本発明では、前記フィルタリング条件とは内容の異なるフィルタリング条件を用いて、この要求に応えるようにしている。
【００３９】
図４（ａ）の演奏データには、音色名が「ヒップ・ホップ・キット（Hip Hop Kit）」であるドラム音色が割り当てられているので、この音色名に対応するフィルタリング条件、つまり図６（ｂ）の２段目のフィルタリング条件が選択され、このフィルタリング条件が当該演奏データに適用される。図６（ｂ）のフィルタリング条件では、３０〜９２の各ノートナンバに“０”〜“３”のいずれかが対応付けられているが、“０”が「除外」を示し、“１”が「バスドラム系として抽出」を示し、“２”が「スネア系として抽出」を示し、“３”が「シンバル系として抽出」を示す。これにより、演奏データの除外と各カテゴリへの分離が一度になされる。なお、「バスドラム系」、「スネア系」および「シンバル系」が、それぞれ複数の音高に対応付けられているのは、たとえば「シンバル系」音色の場合、クラッシュシンバル、ライドシンバル、ハイハットクローズなど、複数のシンバル音色があり、それぞれのシンバル音色が異なる音高に割り当てられるからである。その一方で、たとえば「ミュート系」シンバル音色が割り当てられている音高は、たとえシンバル音色であっても抽出しないよう、フィルタリング条件が設定されている。
【００４０】
図４（ａ）の演奏データに対して、図６（ｂ）の２段目のフィルタリング条件が適用されると、ノートナンバが“５９”の演奏データ、つまり“Ｂ２”の演奏データが「バスドラム系」に分離され、ノートナンバが“５７”と“８５”の演奏データ、つまり“Ａ２”と“Ｃ＃５”の演奏データが「スネア系」に分離され、ノートナンバが“９０”の演奏データ、つまり“Ｆ＃５”の演奏データが「シンバル系」に分離される。図５は、この除外および分離後の演奏データの表示例を示している。
【００４１】
このように本実施の形態では、どのような種類の演奏データに対しても、検索に不必要な音を自動的かつ適切に除外することができる。さらに、除外に加えて、複数のカテゴリへの演奏データの分離までも行うことができる。
【００４２】
次に、この制御処理を詳細に説明する。
【００４３】
図７は、本実施の形態の演奏情報解析装置１００、特にＣＰＵ２が実行する演奏情報解析処理の手順を示すフローチャートである。
【００４４】
本演奏情報解析処理は、ユーザが前記操作入力部１から対象演奏情報を指定した後、本演奏情報解析処理の起動を指示したことに応じて、起動される。
【００４５】
本演奏情報解析処理が起動されると、ＣＰＵ２は、指定された対象演奏情報を取得して、前記ＲＡＭ４上の所定位置に確保された対象演奏情報格納領域（図示せず）に読み込む（ステップＳ１）。ここで、対象演奏情報の取得元は、前記記憶装置５や前記外部機器、あるいは前記通信Ｉ／Ｆ７がインターネットに接続されている場合には、インターネット上のサーバなど、各種考えられ、そのいずれから取得するようにしてもよい。
【００４６】
次にＣＰＵ２は、対象演奏情報のトラック番号を指示するためにＲＡＭ４上に設けられたポインタＮ（以下、この内容を「Ｎトラック」という）を初期化（“１”に設定）する（ステップＳ２）。
【００４７】
次にＣＰＵ２は、Ｎトラック（現時点では、トラック１）の書誌情報を取得する（ステップＳ３）。対象演奏情報は、前述のように、トラック０のトラックチャンクに各トラックの書誌情報が記載されているので、ＣＰＵ２は、その各トラックの書誌情報のうち、トラック１の書誌情報を取得する。
【００４８】
そしてＣＰＵ２は、取得したトラック１の書誌情報から、トラック１に割り当てられている音色情報を抽出し（ステップＳ４）、抽出した音色情報に応じた（対応する）フィルタリング条件を取得する（ステップＳ５）。音色情報は、本実施の形態では前述のように、「バンクセレクトＭＳＢ」、「バンクセレクトＬＳＢ」および「プログラムチェンジ」であるので、上記ステップＳ４では、トラック１に割り当てられている「バンクセレクトＭＳＢ」、「バンクセレクトＬＳＢ」および「プログラムチェンジ」が抽出される。ＣＰＵ２は、この抽出された「バンクセレクトＭＳＢ」、「バンクセレクトＬＳＢ」および「プログラムチェンジ」から、トラック１に割り当てられている音色を特定する。フィルタリング条件は、特定可能な音色の数だけ予め用意され、たとえば記憶装置５に記憶されている。そして、音色が１つ特定されると、取得すべきフィルタリング条件が分かるように、たとえばテーブルデータで管理されている。したがってＣＰＵ２は、音色が特定されると、テーブルデータを検索することで、目的のフィルタリング条件を取得することができる。なお、音色とフィルタリング条件とは、常に１：１に対応付けられている必要はなく、ただ、音色が１つ決まれば、選択すべきフィルタリング条件が１つ決まるようになっていればよい。つまり、異なった音色で共通のフィルタリング条件が選択されるようにしてもよい。また、フィルタリング条件の記憶場所は、演奏情報解析装置１００の内部ではなく、外部であってもよく、ただ、音色情報に応じてフィルタリング条件が取得できるようになっていればよい。
【００４９】
次にＣＰＵ２は、取得したフィルタリング条件を対象演奏情報のトラック１の演奏データに適用して、削除すべき（一部の）演奏データがあるかどうかを判定する（ステップＳ６）。この判定の結果、削除すべき演奏データがあれば、ＣＰＵ２は、当該データをトラック１の演奏データから削除する（ステップＳ７）一方、削除すべき演奏データがなければ、ＣＰＵ２は、ステップＳ７をスキップして処理をステップＳ８に進める。
【００５０】
ステップＳ６，Ｓ７の処理は、大まかに記載されており、ＣＰＵ２は厳密には、次のように処理する。すなわち、ＣＰＵ２は、トラック１の演奏データに含まれるすべてのノートイベントについて１つずつ当該フィルタリング条件と照らし合わせ、そのノートイベントが削除すべきものであるかどうかを判定する。そしてＣＰＵ２は、ノートイベント毎の判定結果に基づいて、当該ノートイベントの削除（除外）または非削除（非除外）を決定し、削除決定されたものを削除する。
【００５１】
トラック１の演奏データとして、たとえば前記図２（ａ）の演奏データが設定され、フィルタリング条件として、前記図６（ａ）の最上段のベロシティに関するフィルタリング条件と前記ノートナンバに関するフィルタリング条件（「ノートナンバが“８８”以上は除外」）とからなるものが選択された場合、まずＣＰＵ２は、トラック１の演奏データの先頭のノートイベント、つまりノートナンバが“５２”であり、ベロシティが“２５”のイベントとフィルタリング条件とを照らし合わせる。ベロシティ“２５”には、ノートナンバに関するフィルタリング条件中、“１”が対応付けられているので、非削除、つまり抽出と決定される。さらに、ノートナンバ“５２”は“８８”より小さいので、ノートナンバに関するフィルタリング条件でも、非削除と決定される。その結果、先頭のノートイベントは非削除となり、削除されない。
【００５２】
４番目のノートイベントに処理が進むと、ＣＰＵ２は、ノートナンバが“４３”であり、ベロシティが“１”のイベントとフィルタリング条件とを照らし合わせる。ベロシティ“１”には、ノートナンバに関するフィルタリング条件中、“０”が対応付けられているので、削除と決定される。その結果、４番目のノートイベントはトラック１の演奏データから削除される。次の５番目のノートイベントでは、ＣＰＵ２は、ノートナンバが“１０６”であり、ベロシティが“８６”のイベントとフィルタリング条件とを照らし合わせる。ベロシティ“８６”には、ノートナンバに関するフィルタリング条件中、“１”が対応付けられているので、非削除と決定される。ところが、ノートナンバ“１０６”は“８８”以上であるので、ノートナンバに関するフィルタリング条件では、削除と決定される。その結果、５番目のノートイベントはトラック１の演奏データから削除される。
【００５３】
ＣＰＵ２は、このような判定とその判定結果に応じた削除／非削除処理をトラック１の演奏データの末尾のノートイベントまで行う。これにより、トラック１の演奏データは、ユーザが除外したいと意図する演奏データを除外したものとなる。このフィルタリング後のトラック１の演奏データ（の一部）が、前記図３（ａ）の演奏データである。
【００５４】
以上のトラック１の演奏データについての除外処理と、制御処理の概要での対応する除外処理とでは、その処理内容が若干異なっている（ただし、除外処理後の結果は両者間で変わらない）。つまり、制御処理の概要では、トラック１の演奏データに対して、まずベロシティに関するフィルタリング条件を適用して一部の演奏データを除外した後、残りの演奏データに対して、次にノートナンバに関するフィルタリング条件を適用してさらに一部の演奏データを除外するようにしている。これに対して、上記除外処理では、トラック１の演奏データのノートイベント毎に、ベロシティに関するフィルタリング条件とノートナンバに関するフィルタリング条件の両方を適用して、削除／非削除を決定し、削除決定されたものを削除するようにしているからである。もちろん、いずれを採用してもよく、両者の説明の違いは、単に説明の便宜上のものである。
【００５５】
図７に戻り、ステップＳ８では、ＣＰＵ２は、フィルタリング後のトラック１の演奏データを新たなトラック１の演奏データとして保存する。
【００５６】
次にＣＰＵ２は、トラック１が最後のトラックかどうか判定する（ステップＳ９）。前述のように、対象演奏情報は複数トラックの演奏データによって構成されているので、トラック１は最後のトラックではない。したがって、ＣＰＵ２は、ポインタＮの値を“１”だけインクリメントした（ステップＳ１０）後、処理を前記ステップＳ３に戻す。
【００５７】
ステップＳ３〜Ｓ５の処理は、トラックが“０”から“１”に変わっても、その処理内容はほとんど変わらないので、その説明は省略する。
【００５８】
トラック２の演奏データとして、たとえば前記図４（ａ）の演奏データが設定され、フィルタリング条件として、前記図６（ｂ）の２段目のフィルタリング条件が選択された場合、まずＣＰＵ２は、トラック２の演奏データの先頭のノートイベント、つまりノートナンバが“５９”のイベントとフィルタリング条件とを照らし合わせる。ノートナンバ“５９”には、フィルタリング条件中、“１”が対応付けられているので、「バスドラム系として分離抽出」と決定される。その結果、先頭のノートイベントはバスドラム系として分離抽出される。
【００５９】
次の２番目のノートイベントでは、ＣＰＵ２は、ノートナンバが“９０”のイベントとフィルタリング条件とを照らし合わせる。ノートナンバ“９０”には、フィルタリング条件中、“３”が対応付けられているので、「シンバル系として分離抽出」と決定される。その結果、２番目のノートイベントはシンバル系として分離抽出される。
【００６０】
５番目のノートイベントに処理が進むと、ＣＰＵ２は、ノートナンバが“５７”のイベントとフィルタリング条件とを照らし合わせる。ノートナンバ“５７”には、フィルタリング条件中、“２”が対応付けられているので、「スネア系として分離抽出」と決定される。その結果、２番目のノートイベントはスネア系として分離抽出される。
【００６１】
ＣＰＵ２は、このような判定とその判定結果に応じた削除／分離抽出処理をトラック２の演奏データの末尾のノートイベントまで行う。なお、上記図４（ａ）の演奏データの例では、削除されるノートイベントはなく、分離抽出しかされないが、判定対象のノートイベントのノートナンバがフィルタリング条件中、“０”が対応付けられているものであれば、そのノートイベントは、トラック１の演奏データと同様に、削除される。
【００６２】
このようにトラック２の演奏データは、ユーザが除外を意図する演奏データが除外された上で、複数のカテゴリに分離抽出される。この分離抽出後のトラック２の演奏データ（の一部）を表示したものが、前記図５（ａ）〜（ｃ）である。
【００６３】
図７に戻り、ステップＳ８では、ＣＰＵ２は、分離抽出後のトラック２の演奏データを新たなトラック２の演奏データとして保存する。なお分離抽出後の演奏データは、それぞれ独立したトラックとして保存するようにしてもよい。
【００６４】
次にＣＰＵ２は、トラック２が最後のトラックかどうか判定し（ステップＳ９）、最後のトラックであれば、本演奏情報解析処理を終了する一方、最後のトラックでなければ、最後のトラックになるまで、ポインタＮの値を“１”だけインクリメントしつつ（ステップＳ１０）、前記ステップＳ３〜Ｓ９の処理を繰り返す。
【００６５】
次に、演奏情報の再生処理と表示処理について簡単に説明する。
【００６６】
演奏情報解析装置１００では、ユーザが操作入力部１から再生対象の演奏情報（その中の任意の１トラックの演奏データでもよい。以下同様）を指定した後、その再生開始を指示すると、ＣＰＵ２は、当該演奏情報の再生を開始する。演奏情報は、本実施の形態では前述の通り、ＳＭＦ形式のものであるので、ＣＰＵ２は、デルタタイムを所定の時間間隔でデクリメントして行き、“０”になると、そのデルタタイムの直後に配置されているイベントを読み出し、そのイベントの内容に応じた処理を行うことで、再生処理を行うようにしている。演奏情報解析装置１００では、対象演奏情報も、この対象演奏情報に対して前記演奏情報解析処理を施して生成された新たな演奏データ（図３（ａ）および図５参照）を含む演奏情報も再生対象とすることができる。これにより、両演奏情報を交互に再生することで、両演奏情報を聞き比べることができる。
【００６７】
また演奏情報解析装置１００では、ユーザが操作入力部１から表示対象の演奏情報を指定した後、その表示を指示すると、ＣＰＵ２は、当該演奏情報をディスプレイ６上に表示する。この表示でも、対象演奏情報も、当該新たな演奏データを含む演奏情報も表示対象とすることができる。これにより、両演奏情報を交互に表示することで、両演奏情報を見比べることができる。図２（ｂ）、図３（ｂ）、図４（ｂ）および図５は、演奏情報の表示例を示している。なお表示態様は、本実施の形態では、ピアノロールの態様を採用したが、これに限らないことは言うまでもない。
【００６８】
このように、新旧の演奏情報を聞き比べたり、見比べたりした結果、新たな演奏情報の一部の演奏データをさらに除外したいことがある。これに対処するために、編集機能を備えるようにしてもよい。
【００６９】
なお本実施の形態では、対象演奏情報として、ＳＭＦ形式でフォーマット１のものとしか限定していない。つまり、その種類はどのようなものでもよいが、たとえば、スタイル（自動伴奏）データ、ソングデータ、アルペジオなどを挙げることができる。また、対象演奏情報は、ＭＩＤＩ形式のものに限らず、オーディオデータが含まれていたり、オーディオデータのみで構成されていてもよい。
【００７０】
本実施の形態では、音色情報の検出は、トラック０のトラックチャンクに格納された「各トラックの書誌情報」に記載のもの（典型的には、音色番号）を抽出する方法を用いたが、これに限らず、（特に、オーディオデータの場合）音響信号に対して周波数分析などを行って抽出する方法を採用してもよい。
【００７１】
また本実施の形態では、フィルタリング条件として、ベロシティの小さいものや聞き取りにくいもの（ノートナンバが“８８”以上）を削除するようにしたが、これに限らず、逆にベロシティの大きなものや目立つ音を削除するような条件があってもよい。この条件を適用すれば、たとえば細かな表現まで練習するための演奏ガイド用データを作成して、目立つ音を削除して目立たない音のみを聞きたいという場合に役立つ。
【００７２】
さらに本実施の形態では、削除／分離抽出処理は、ドラム音色が割り当てられた演奏データに対して行うようにしたが、これに限らず、通常音色が割り当てられた演奏データに対しても行えるようにしてもよい。これにより、複数人で音域を分けて１つの曲を演奏する場合、奏者ごとの演奏データを簡単に作成することができる。
【００７３】
またフィルタリング条件として、音符長や発音／消音タイミング、ピッチの変化率（ピッチベンド）など、上述したものとは別のパラメータを用いてもよい。さらに、フィルタリングの前に、予め対象演奏情報をクオンタイズ処理するなど、フィルタリング処理と他の処理を組み合わせてもよい。
【００７４】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００７５】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７６】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【００７７】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【００７８】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【００７９】
２…ＣＰＵ（取得手段、検出手段、選択手段、生成手段），５…記憶装置（記憶手段），７…通信Ｉ／Ｆ（取得手段）
【図１】
2015007735.tif 000003
【図２】
2015007735.tif 000004
【図３】
2015007735.tif 000005
【図４】
2015007735.tif 000006
【図５】
2015007735.tif 000007
【図６】
2015007735.tif 000008
【図７】
2015007735.tif 000009