特許第6183002号(P6183002)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

特許6183002演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置
<>
  • 特許6183002-演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置 図000002
  • 特許6183002-演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置 図000003
  • 特許6183002-演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置 図000004
  • 特許6183002-演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置 図000005
  • 特許6183002-演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置 図000006
  • 特許6183002-演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置 図000007
  • 特許6183002-演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6183002
(24)【登録日】2017年8月4日
(45)【発行日】2017年8月23日
(54)【発明の名称】演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置
(51)【国際特許分類】
   G10H 1/00 20060101AFI20170814BHJP
【FI】
   G10H1/00 102Z
【請求項の数】5
【全頁数】16
(21)【出願番号】特願2013-133610(P2013-133610)
(22)【出願日】2013年6月26日
(65)【公開番号】特開2015-7735(P2015-7735A)
(43)【公開日】2015年1月15日
【審査請求日】2016年4月20日
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100125254
【弁理士】
【氏名又は名称】別役 重尚
(74)【代理人】
【識別番号】100118278
【弁理士】
【氏名又は名称】村松 聡
(72)【発明者】
【氏名】渡邉 大地
【審査官】 菊池 智紀
(56)【参考文献】
【文献】 特開2001−188536(JP,A)
【文献】 特開2010−186073(JP,A)
【文献】 特開2002−196766(JP,A)
【文献】 特開2010−197600(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00− 7/12
G09B 15/00−15/08
(57)【特許請求の範囲】
【請求項1】
演奏情報解析方法をコンピュータに実行させるためのプログラムであって、
前記演奏情報解析方法は、
音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得ステップと、
前記取得ステップによって取得された演奏情報から音色情報を検出する検出ステップと、
音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出ステップによって検出された音色情報に対応するフィルタリング条件を選択する選択ステップと、
前記選択ステップによって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成ステップと
を有し、
前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであることを特徴とするプログラム。
【請求項2】
前記フィルタリング条件は、ベロシティ情報が所定のベロシティ区間に属する演奏データの除外を指示するものであることを特徴とする請求項1に記載のプログラム。
【請求項3】
前記演奏情報解析方法はさらに、
前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを比較再生する再生ステップと、
前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを表示手段上に比較表示させる表示ステップと
を有する
ことを特徴とする請求項1又は2記載のプログラム。
【請求項4】
音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得ステップと、
前記取得ステップによって取得された演奏情報から音色情報を検出する検出ステップと、
音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出ステップによって検出された音色情報に対応するフィルタリング条件を選択する選択ステップと、
前記選択ステップによって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成ステップと
を有し、
前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであり、
演奏情報解析装置の制御部が、前記取得ステップ、前記検出ステップ、前記選択ステップ及び前記生成ステップを実行することを特徴とする演奏情報解析方法。
【請求項5】
音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得手段と、
前記取得手段によって取得された演奏情報から音色情報を検出する検出手段と、
音色情報に対応するフィルタリング条件を複数記憶する記憶手段と、
前記記憶手段から、前記検出手段によって検出された音色情報に対応するフィルタリング条件を選択する選択手段と、
前記選択手段によって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成手段と
を有し、
前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであることを特徴とする演奏情報解析装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演奏情報に含まれる演奏データから検索に不必要な音を自動的に除外する演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置に関する。
【背景技術】
【0002】
ユーザが特定の楽曲を検索する際に、演奏や歌唱を行なうことで、データベースからユーザの演奏や歌唱にマッチした楽曲を選択する技術がある。
【0003】
このような技術を適用した装置として、多数の楽曲について楽曲データを記憶した楽曲データベースと、各楽曲に対応して、楽曲演奏の補助として表示される楽譜、歌詞、コード名などの曲情報を表示するための曲情報表示データを記憶した曲情報データベースとを用意しておき、ユーザがある曲を楽器や歌唱で演奏し始めると、演奏内容がMIDIデータで入力され、MIDIデータの音列パターンに一致する音列パターンを有する楽曲データを抽出して、ユーザが演奏し始めた楽曲を認識するとともに、MIDIデータのテンポや移調量、進行位置などを検出し、認識された楽曲と一致する楽曲を楽曲データベースから検索することで楽曲を特定し、対応する曲情報表示データ(楽譜、歌詞、コード名など)を曲情報データベースから選択して、ユーザの演奏に合わせて表示するようにした曲情報表示装置がある(たとえば、特許文献1参照)。
【0004】
この従来の曲情報表示装置とは別に、ユーザが鍵盤や入力パッドを用いて入力した、検索用のクエリーパターン(典型的にはリズムパターン)に基づいて、複数セットの演奏データを記憶している記憶装置から、当該クエリーパターンにマッチする楽音発生パターン(たとえば、リズムパターンあるいはメロディパターン)を持つ演奏データ(たとえば、自動伴奏データ)を検索するようにした検索装置もある(たとえば、特許文献2参照)。そして特許文献2の段落[0024],[0025]には、楽音発生パターンの一例である、リズムパターンデータを作成する際に、リズム入力と判断しづらいゴーストノート(たとえば、極端に小さなベロシティデータを持つものなど)を手動または自動で除外することが記載されている。
【0005】
検索対象となる演奏データ(上記従来の曲情報表示装置では、楽曲データ)は複数のトラックで構成され、トラック毎に様々な楽器音が割り当てられているのが一般的である。楽器音には、通常音色(ピアノやギターなどの、ピッチを含む音色)やドラム音色(ピッチを含まず、複数の打楽器音が1つの音色における異なるノートナンバに割り当てられているもの)の他、特殊音色(1つの楽器についての複数の奏法音が、異なるベロシティに割り当てられているもの、いわゆるメガボイス(登録商標))もある(たとえば、特許文献3参照)。メガボイスでは、1つの楽器音色の複数の奏法依存音色が、ベロシティの複数範囲にそれぞれ割当てられる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007− 86571号公報
【特許文献2】特開2012−234167号公報
【特許文献3】特開2003−263159号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、検索対象となる演奏データには、装飾音やゴーストノートなど、聴感上あまり意識されないような音が効果音として入っていることがあるが、検索時の演奏や歌唱では、それらの効果音は無視されることが多い。これにより、ユーザの演奏や歌唱と、実際にデータベースなどに登録されている演奏データとの間に差が生じ、検索されるべき演奏データが検索されず、検索精度が低くなってしまうことがある。
【0008】
上記従来の検索装置では、ゴーストノートを手動または自動で除外して、演奏データ(リズムパターンデータ)を作成することで、検索精度を上げるようにしているが、手動による除外作業では手間がかかり、自動的な除外処理では、特にメガボイスの演奏データに対して適切な除外処理が行えない。
【0009】
本発明は、この点に着目してなされたものであり、どのような種類の演奏データに対しても、検索に不必要な音を自動的かつ適切に除外することが可能となる演奏情報解析方法を実現するためのプログラム、当該演奏情報解析方法および演奏情報解析装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、請求項1に記載のプログラムは、演奏情報解析方法をコンピュータに実行させるためのプログラムであって、前記演奏情報解析方法は、音色情報と、音高情報およびベロシティ情報を含む複数の演奏データとからなる演奏情報を取得する取得ステップと、前記取得ステップによって取得された演奏情報から音色情報を検出する検出ステップと、音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出ステップによって検出された音色情報に対応するフィルタリング条件を選択する選択ステップと、前記選択ステップによって選択されたフィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から前記フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報を生成する生成ステップとを有し、前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであることを特徴とする。
【0011】
請求項2に記載のプログラムは、請求項1のプログラムにおいて、前記フィルタリング条件は、ベロシティ情報が所定のベロシティ区間に属する演奏データの除外を指示するものであることを特徴とする。
【0013】
請求項に記載のプログラムは、請求項1又は2記載のプログラムにおいて、前記演奏情報解析方法はさらに、前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを比較再生する再生ステップと、前記取得ステップによって取得された演奏情報と、前記生成ステップによって新たに生成された演奏情報とを表示手段上に比較表示させる表示ステップとを有することを特徴とする。
【0014】
上記目的を達成するため、請求項およびにそれぞれ記載の演奏情報解析方法および演奏情報解析装置は、請求項1と同様の技術的思想によって実現できる。
【発明の効果】
【0015】
請求項1,またはに記載の発明によれば、取得された演奏情報から音色情報が検出され、音色情報に対応するフィルタリング条件を複数記憶する記憶手段から、前記検出された音色情報に対応するフィルタリング条件が選択され、当該フィルタリング条件を前記取得された演奏情報に適用することにより、当該演奏情報から当該フィルタリング条件によって除外が指示される演奏データを除外して、新たな演奏情報が生成されるので、フィルタリング条件として、そのフィルタリング条件に対応付けられた音色情報が割り当てられた演奏データにおいて、検索に不必要な音を持つ演奏データを削除する条件を予め作成しておけば、その演奏データについて検索に不必要な音を自動的かつ適切に除外することが可能となる。また、前記フィルタリング条件は、音高情報が所定値である演奏データの除外を指示するものであるので、特にドラム音色が割り当てられた演奏データについて検索に不必要な音を自動的かつさらに適切に除外することが可能となる。
【0016】
請求項2に記載の発明によれば、前記フィルタリング条件は、ベロシティ情報が所定のベロシティ区間に属する演奏データの除外を指示するものであるので、特にメガボイスが割り当てられた演奏データについて検索に不必要な音を自動的かつさらに適切に除外することが可能となる。
【0018】
請求項に記載の発明によれば、前記取得された演奏情報と前記新たに生成された演奏情報とを比較再生あるいは比較表示できるので、ユーザは、新旧両方の演奏情報を聴感上あるいは視覚上、簡単に比較して確認することができる。
【図面の簡単な説明】
【0019】
図1】本発明の一実施の形態に係る演奏情報解析装置の概略構成を示すブロック図である。
図2】あるギター音色のメガボイスが割り当てられた演奏データの一部((a))とその表示例((b))を示す図である。
図3図2(a)の演奏データの一部に対してフィルタリング条件を適用した後の演奏データ((a))とその表示例((b))を示す図である。
図4】あるドラム音色が割り当てられた演奏データの一部((a))とその表示例((b))を示す図である。
図5図4(a)の演奏データの一部に対してフィルタリング条件を適用した後の演奏データの表示例を示す図である。
図6】ギター音色のメガボイスまたはドラム音色が割り当てられたことに応じて選択されるフィルタリング条件の一部の一例を示す図である。
図7図1の演奏情報解析装置、特にCPUが実行する演奏情報解析処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0021】
図1は、本発明の一実施の形態に係る演奏情報解析装置100の概略構成を示すブロック図である。
【0022】
同図に示すように、演奏情報解析装置100は、文字入力用キーボードおよびポインティングデバイス(たとえばマウス)からなる操作入力部1と、装置全体の制御を司るCPU2と、該CPU2が実行する基本制御プログラム(BIOS:Basic Input Output System)や各種テーブルデータ等を記憶するROM3と、外部から取得された演奏情報、各種入力情報および演算結果等を一時的に記憶するRAM4と、各種アプリケーションプログラムやOS(Operating System)、各種演奏情報、各種データ等を記憶する記憶装置5と、各種情報等を表示する、たとえばLCD(Liquid Crystal Display)からなるディスプレイ6と、図示しない外部機器を接続し、この外部機器とデータの送受信を行う通信インターフェース(I/F)7と、前記取得された演奏情報や、前記記憶装置5に記憶されたいずれかの演奏情報を再生して得られたイベントデータ等を楽音信号に変換するとともに、その楽音信号に各種効果を付与するための音源・効果回路8と、該音源・効果回路8からの楽音信号を音響に変換する、たとえば、DAC(Digital-to-Analog Converter)やアンプ、スピーカ等のサウンドシステム9とにより構成されている。
【0023】
上記構成要素1〜8は、バス10を介して相互に接続され、音源・効果回路8にはサウンドシステム9が接続されている。
【0024】
記憶装置5は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(Digital Versatile Disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は駆動装置から着脱可能であってもよいし、記憶装置5自体が演奏情報解析装置100から着脱可能であってもよい。あるいは、記憶媒体も記憶装置5も着脱不可能であってもよい。
【0025】
通信I/F7としては、たとえば、MIDI信号などの音楽信号を専用に送受信する音楽専用有線I/F、USB(Universal Serial Bus)やIEEE1394などの汎用近距離有線I/F、Ethernet(登録商標)などの汎用ネットワークI/F、無線LAN(local area network)やBluetooth(登録商標)などの汎用近距離無線I/Fを挙げることができる。本実施の形態では、通信I/F7としてUSBを採用しているが、これに代えて他の種類のI/Fを採用してもよいし、これに他の種類のI/Fを加えるようにしてもよい。
【0026】
なお演奏情報解析装置100は、上述のように、外部機器を接続した汎用的なPC上に構築されたが、外部機器を接続しない汎用的なPC上に構築してもよいし、汎用的なPC上ではなく、専用装置上に構築してもよい。
【0027】
以上のように構成された演奏情報解析装置100が実行する制御処理を、まず図2図6を参照してその概要を説明し、次に図7を参照して詳細に説明する。
【0028】
制御処理(解析処理)の対象となる演奏情報(以下「対象演奏情報」という)は、本実施の形態では説明の便宜上、そのフォーマットとしてSMF(standard MIDI file)形式のものを採用し、そのフォーマットタイプとしてフォーマット1、つまり、複数のトラックを持つものを想定する。したがって、対象演奏情報は、1つのヘッダチャンクと、そのヘッダチャンク内に設定されたトラック数分のトラックチャンクによって形成されている。ヘッダチャンクは、そのファイル(対象演奏情報ファイル)の基本的な情報を格納するものであり、SMFでは、記載すべき情報(データ長、フォーマットタイプ、トラック数、時間単位など)が決まっている。トラックチャンクは、各トラックの演奏データ(デルタタイムとイベントを1組とした複数組からなる列)を格納するものであるが、本実施の形態では、トラック0のトラックチャンクだけは、演奏データを格納せず、当該演奏情報の書誌情報(曲名、拍子、作成日時、各トラックの書誌情報など)を格納するものとする。各トラックチャンク(トラック0を除く)には、トラック毎に異なった音色を割り当て可能に構成されているので、各トラックの書誌情報には、当該トラックに割り当てられた音色情報が含まれている。そして、対象演奏情報の複数のトラックチャンクに割り当てられた複数の音色の中に、[背景技術]欄で前述した通常音色、ドラム音色および特殊音色(メガボイス)のいずれも含まれているものとする。
【0029】
なお、音色情報とは、音色を特定するための情報である。SMFでは、音色は、バンクセレクトMSB、バンクセレクトLSBおよびプログラムチェンジの各メッセージを電子楽器(音源装置)に送信することで特定されるので、上記音色情報は、当該各メッセージを生成するために必要なパラメータ値である。しかし、これらパラメータ値も、説明を簡単化するために以下、「バンクセレクトMSB」、「バンクセレクトLSB」および「プログラムチェンジ」ということにする。なお音色の特定方法は、これに限られる訳ではなく、電子楽器(音源装置)の機種名と音色番号などによって特定する方法を採用してもよい。
【0030】
また、本実施の形態では上述のように、対象演奏情報には、演奏データ以外の情報(ヘッダ情報や書誌情報など)も含まれているが、これらの情報は、対象演奏情報と分離して管理するようにしてもよい。
【0031】
図2は、あるギター音色のメガボイスが割り当てられた演奏データの一部((a))とその表示例((b))を示す図である。同図(a)中、欄“L1”,“L2”および“L3”はそれぞれ、「小節」、「拍」および「クロック」を示し、欄“CH”は、「チャンネル」を示し、欄“Type”は、「データの種類」を示し、“Note”は、「ノートデータ」であることを示している。さらに、欄“Value1”は、音名[ノートナンバ]を示し、欄“Value2”は、発音の長さを示し、欄“Value3”は、ベロシティを示している。この種のメガボイスが割り当てられた演奏データでは、各ノートイベントに含まれるベロシティは、通常音色が割り当てられた演奏データにおけるベロシティと異なり、当該ノートイベントの音量を単純に示している訳ではない。
【0032】
図6(a)は、この種のメガボイスが割り当てられたことに応じて選択されるフィルタリング条件の一部の一例を示す図である。同図(a)において、ベロシティが1〜20,21〜40,41〜60,61〜75および76〜87の範囲にはそれぞれ“Open Soft”,“Open Medium”,“Open Hard”,“Dead”および“Mute”と記載されているが、これはギター演奏での奏法を示している。つまり、これらの各範囲には、奏法に依存した音色(奏法依存音色)が割り当てられ、各範囲毎に、当該奏法依存音色の演奏データの音量が最小値から最大値まで取り得るように制御される。
【0033】
このようにベロシティが当該ノートイベントの音量をそのまま表していない演奏データに対して、前記従来の検索装置によって自動で除外処理を行うと、従来の検索装置は、[背景技術]欄で前述したように、ベロシティの極端に小さいものを除外するので、“Open Soft”奏法が割り当てられた演奏データ(の一部)のみが除外され、それ以外の奏法が割り当てられた演奏データでベロシティの小さいものは除外されない。
【0034】
そこで、本発明では、音色に対応付けて、当該音色で除去すべき演奏データを指示するためのフィルタリング条件を予め用意しておき、対象演奏情報のうち、除外処理を適用する演奏データが決まると、その演奏データに割り当てられた音色に対応するフィルタリング条件を選択し、このフィルタリング条件を当該演奏データに適用することで、除外すべき演奏データを決定し、決定した演奏データを当該演奏データから除外するようにしている。
【0035】
図2(a)の演奏データには、音色名が「ビンテージ・ピックギター(Vintage Pick Gtr)」であるメガボイスが割り当てられているので、この音色名に対応するフィルタリング条件(この条件は、ベロシティに関するフィルタリング条件(図6(a)の最上段の条件)とノートナンバに関するフィルタリング条件の両方によって構成される)が選択され、このフィルタリング条件が当該演奏データに適用される。図6(a)のベロシティに関するフィルタリング条件では、各ベロシティに“0”または“1”のいずれかが対応付けられているが、“0”が「除外」を示し、“1”が「非除外」、つまり「抽出」を示す。これにより、ベロシティが0〜9と61〜85の各範囲に属する演奏データが除外される。一方、ノートナンバに関するフィルタリング条件は、本実施の形態では「ノートナンバが“88”以上は除外」を採用しているので、これにより、ベロシティに関するフィルタリング条件によって除外されなかった演奏データのうち、ノートナンバが“88”(図2(b)中の表示鍵盤では鍵“E5”の音高に相当する)以上のものが除外される。
【0036】
図2(a)の演奏データに対して、まずベロシティに関するフィルタリング条件が適用されると、ベロシティが“1”,“61”,“71”,“76”および“85”(図中“★”が付与されている)の演奏データが除外される。そして除外後の演奏データに対して、ノートナンバに関するフィルタリング条件が適用されると、ノートナンバが“104”〜“106”の演奏データ、つまり“G#6”,“A6”および“A#6”(図中“●”が付与されている)の演奏データが除外される。図3は、この除外後の演奏データ((a))とその表示例((b))を示している。
【0037】
図4は、あるドラム音色が割り当てられた演奏データ((a))とその表示例((b))を示す図である。この種の音色では、各ノートイベントに対応するノートナンバは、通常音色におけるノートナンバと異なり、単にピッチ(音高)を示している訳ではない。つまり、各ドラム音のピッチはほぼ一定であるので、各ドラム音に対してピッチの異なる音を数多く対応付けておく必要がないからである。したがって、各ノートナンバには、ドラム(打楽器)の種類や奏法の異なる音が対応付けられている。
【0038】
ドラム音色の割り当てられた演奏データについては、その演奏データを複数のカテゴリ(たとえば「シンバル系」、「スネア系」および「バスドラム系」などのパート)に分離したいことがあるが、本発明では、前記フィルタリング条件とは内容の異なるフィルタリング条件を用いて、この要求に応えるようにしている。
【0039】
図4(a)の演奏データには、音色名が「ヒップ・ホップ・キット(Hip Hop Kit)」であるドラム音色が割り当てられているので、この音色名に対応するフィルタリング条件、つまり図6(b)の2段目のフィルタリング条件が選択され、このフィルタリング条件が当該演奏データに適用される。図6(b)のフィルタリング条件では、30〜92の各ノートナンバに“0”〜“3”のいずれかが対応付けられているが、“0”が「除外」を示し、“1”が「バスドラム系として抽出」を示し、“2”が「スネア系として抽出」を示し、“3”が「シンバル系として抽出」を示す。これにより、演奏データの除外と各カテゴリへの分離が一度になされる。なお、「バスドラム系」、「スネア系」および「シンバル系」が、それぞれ複数の音高に対応付けられているのは、たとえば「シンバル系」音色の場合、クラッシュシンバル、ライドシンバル、ハイハットクローズなど、複数のシンバル音色があり、それぞれのシンバル音色が異なる音高に割り当てられるからである。その一方で、たとえば「ミュート系」シンバル音色が割り当てられている音高は、たとえシンバル音色であっても抽出しないよう、フィルタリング条件が設定されている。
【0040】
図4(a)の演奏データに対して、図6(b)の2段目のフィルタリング条件が適用されると、ノートナンバが“59”の演奏データ、つまり“B2”の演奏データが「バスドラム系」に分離され、ノートナンバが“57”と“85”の演奏データ、つまり“A2”と“C#5”の演奏データが「スネア系」に分離され、ノートナンバが“90”の演奏データ、つまり“F#5”の演奏データが「シンバル系」に分離される。図5は、この除外および分離後の演奏データの表示例を示している。
【0041】
このように本実施の形態では、どのような種類の演奏データに対しても、検索に不必要な音を自動的かつ適切に除外することができる。さらに、除外に加えて、複数のカテゴリへの演奏データの分離までも行うことができる。
【0042】
次に、この制御処理を詳細に説明する。
【0043】
図7は、本実施の形態の演奏情報解析装置100、特にCPU2が実行する演奏情報解析処理の手順を示すフローチャートである。
【0044】
本演奏情報解析処理は、ユーザが前記操作入力部1から対象演奏情報を指定した後、本演奏情報解析処理の起動を指示したことに応じて、起動される。
【0045】
本演奏情報解析処理が起動されると、CPU2は、指定された対象演奏情報を取得して、前記RAM4上の所定位置に確保された対象演奏情報格納領域(図示せず)に読み込む(ステップS1)。ここで、対象演奏情報の取得元は、前記記憶装置5や前記外部機器、あるいは前記通信I/F7がインターネットに接続されている場合には、インターネット上のサーバなど、各種考えられ、そのいずれから取得するようにしてもよい。
【0046】
次にCPU2は、対象演奏情報のトラック番号を指示するためにRAM4上に設けられたポインタN(以下、この内容を「Nトラック」という)を初期化(“1”に設定)する(ステップS2)。
【0047】
次にCPU2は、Nトラック(現時点では、トラック1)の書誌情報を取得する(ステップS3)。対象演奏情報は、前述のように、トラック0のトラックチャンクに各トラックの書誌情報が記載されているので、CPU2は、その各トラックの書誌情報のうち、トラック1の書誌情報を取得する。
【0048】
そしてCPU2は、取得したトラック1の書誌情報から、トラック1に割り当てられている音色情報を抽出し(ステップS4)、抽出した音色情報に応じた(対応する)フィルタリング条件を取得する(ステップS5)。音色情報は、本実施の形態では前述のように、「バンクセレクトMSB」、「バンクセレクトLSB」および「プログラムチェンジ」であるので、上記ステップS4では、トラック1に割り当てられている「バンクセレクトMSB」、「バンクセレクトLSB」および「プログラムチェンジ」が抽出される。CPU2は、この抽出された「バンクセレクトMSB」、「バンクセレクトLSB」および「プログラムチェンジ」から、トラック1に割り当てられている音色を特定する。フィルタリング条件は、特定可能な音色の数だけ予め用意され、たとえば記憶装置5に記憶されている。そして、音色が1つ特定されると、取得すべきフィルタリング条件が分かるように、たとえばテーブルデータで管理されている。したがってCPU2は、音色が特定されると、テーブルデータを検索することで、目的のフィルタリング条件を取得することができる。なお、音色とフィルタリング条件とは、常に1:1に対応付けられている必要はなく、ただ、音色が1つ決まれば、選択すべきフィルタリング条件が1つ決まるようになっていればよい。つまり、異なった音色で共通のフィルタリング条件が選択されるようにしてもよい。また、フィルタリング条件の記憶場所は、演奏情報解析装置100の内部ではなく、外部であってもよく、ただ、音色情報に応じてフィルタリング条件が取得できるようになっていればよい。
【0049】
次にCPU2は、取得したフィルタリング条件を対象演奏情報のトラック1の演奏データに適用して、削除すべき(一部の)演奏データがあるかどうかを判定する(ステップS6)。この判定の結果、削除すべき演奏データがあれば、CPU2は、当該データをトラック1の演奏データから削除する(ステップS7)一方、削除すべき演奏データがなければ、CPU2は、ステップS7をスキップして処理をステップS8に進める。
【0050】
ステップS6,S7の処理は、大まかに記載されており、CPU2は厳密には、次のように処理する。すなわち、CPU2は、トラック1の演奏データに含まれるすべてのノートイベントについて1つずつ当該フィルタリング条件と照らし合わせ、そのノートイベントが削除すべきものであるかどうかを判定する。そしてCPU2は、ノートイベント毎の判定結果に基づいて、当該ノートイベントの削除(除外)または非削除(非除外)を決定し、削除決定されたものを削除する。
【0051】
トラック1の演奏データとして、たとえば前記図2(a)の演奏データが設定され、フィルタリング条件として、前記図6(a)の最上段のベロシティに関するフィルタリング条件と前記ノートナンバに関するフィルタリング条件(「ノートナンバが“88”以上は除外」)とからなるものが選択された場合、まずCPU2は、トラック1の演奏データの先頭のノートイベント、つまりノートナンバが“52”であり、ベロシティが“25”のイベントとフィルタリング条件とを照らし合わせる。ベロシティ“25”には、ノートナンバに関するフィルタリング条件中、“1”が対応付けられているので、非削除、つまり抽出と決定される。さらに、ノートナンバ“52”は“88”より小さいので、ノートナンバに関するフィルタリング条件でも、非削除と決定される。その結果、先頭のノートイベントは非削除となり、削除されない。
【0052】
4番目のノートイベントに処理が進むと、CPU2は、ノートナンバが“43”であり、ベロシティが“1”のイベントとフィルタリング条件とを照らし合わせる。ベロシティ“1”には、ノートナンバに関するフィルタリング条件中、“0”が対応付けられているので、削除と決定される。その結果、4番目のノートイベントはトラック1の演奏データから削除される。次の5番目のノートイベントでは、CPU2は、ノートナンバが“106”であり、ベロシティが“86”のイベントとフィルタリング条件とを照らし合わせる。ベロシティ“86”には、ノートナンバに関するフィルタリング条件中、“1”が対応付けられているので、非削除と決定される。ところが、ノートナンバ“106”は“88”以上であるので、ノートナンバに関するフィルタリング条件では、削除と決定される。その結果、5番目のノートイベントはトラック1の演奏データから削除される。
【0053】
CPU2は、このような判定とその判定結果に応じた削除/非削除処理をトラック1の演奏データの末尾のノートイベントまで行う。これにより、トラック1の演奏データは、ユーザが除外したいと意図する演奏データを除外したものとなる。このフィルタリング後のトラック1の演奏データ(の一部)が、前記図3(a)の演奏データである。
【0054】
以上のトラック1の演奏データについての除外処理と、制御処理の概要での対応する除外処理とでは、その処理内容が若干異なっている(ただし、除外処理後の結果は両者間で変わらない)。つまり、制御処理の概要では、トラック1の演奏データに対して、まずベロシティに関するフィルタリング条件を適用して一部の演奏データを除外した後、残りの演奏データに対して、次にノートナンバに関するフィルタリング条件を適用してさらに一部の演奏データを除外するようにしている。これに対して、上記除外処理では、トラック1の演奏データのノートイベント毎に、ベロシティに関するフィルタリング条件とノートナンバに関するフィルタリング条件の両方を適用して、削除/非削除を決定し、削除決定されたものを削除するようにしているからである。もちろん、いずれを採用してもよく、両者の説明の違いは、単に説明の便宜上のものである。
【0055】
図7に戻り、ステップS8では、CPU2は、フィルタリング後のトラック1の演奏データを新たなトラック1の演奏データとして保存する。
【0056】
次にCPU2は、トラック1が最後のトラックかどうか判定する(ステップS9)。前述のように、対象演奏情報は複数トラックの演奏データによって構成されているので、トラック1は最後のトラックではない。したがって、CPU2は、ポインタNの値を“1”だけインクリメントした(ステップS10)後、処理を前記ステップS3に戻す。
【0057】
ステップS3〜S5の処理は、トラックが“0”から“1”に変わっても、その処理内容はほとんど変わらないので、その説明は省略する。
【0058】
トラック2の演奏データとして、たとえば前記図4(a)の演奏データが設定され、フィルタリング条件として、前記図6(b)の2段目のフィルタリング条件が選択された場合、まずCPU2は、トラック2の演奏データの先頭のノートイベント、つまりノートナンバが“59”のイベントとフィルタリング条件とを照らし合わせる。ノートナンバ“59”には、フィルタリング条件中、“1”が対応付けられているので、「バスドラム系として分離抽出」と決定される。その結果、先頭のノートイベントはバスドラム系として分離抽出される。
【0059】
次の2番目のノートイベントでは、CPU2は、ノートナンバが“90”のイベントとフィルタリング条件とを照らし合わせる。ノートナンバ“90”には、フィルタリング条件中、“3”が対応付けられているので、「シンバル系として分離抽出」と決定される。その結果、2番目のノートイベントはシンバル系として分離抽出される。
【0060】
5番目のノートイベントに処理が進むと、CPU2は、ノートナンバが“57”のイベントとフィルタリング条件とを照らし合わせる。ノートナンバ“57”には、フィルタリング条件中、“2”が対応付けられているので、「スネア系として分離抽出」と決定される。その結果、2番目のノートイベントはスネア系として分離抽出される。
【0061】
CPU2は、このような判定とその判定結果に応じた削除/分離抽出処理をトラック2の演奏データの末尾のノートイベントまで行う。なお、上記図4(a)の演奏データの例では、削除されるノートイベントはなく、分離抽出しかされないが、判定対象のノートイベントのノートナンバがフィルタリング条件中、“0”が対応付けられているものであれば、そのノートイベントは、トラック1の演奏データと同様に、削除される。
【0062】
このようにトラック2の演奏データは、ユーザが除外を意図する演奏データが除外された上で、複数のカテゴリに分離抽出される。この分離抽出後のトラック2の演奏データ(の一部)を表示したものが、前記図5(a)〜(c)である。
【0063】
図7に戻り、ステップS8では、CPU2は、分離抽出後のトラック2の演奏データを新たなトラック2の演奏データとして保存する。なお分離抽出後の演奏データは、それぞれ独立したトラックとして保存するようにしてもよい。
【0064】
次にCPU2は、トラック2が最後のトラックかどうか判定し(ステップS9)、最後のトラックであれば、本演奏情報解析処理を終了する一方、最後のトラックでなければ、最後のトラックになるまで、ポインタNの値を“1”だけインクリメントしつつ(ステップS10)、前記ステップS3〜S9の処理を繰り返す。
【0065】
次に、演奏情報の再生処理と表示処理について簡単に説明する。
【0066】
演奏情報解析装置100では、ユーザが操作入力部1から再生対象の演奏情報(その中の任意の1トラックの演奏データでもよい。以下同様)を指定した後、その再生開始を指示すると、CPU2は、当該演奏情報の再生を開始する。演奏情報は、本実施の形態では前述の通り、SMF形式のものであるので、CPU2は、デルタタイムを所定の時間間隔でデクリメントして行き、“0”になると、そのデルタタイムの直後に配置されているイベントを読み出し、そのイベントの内容に応じた処理を行うことで、再生処理を行うようにしている。演奏情報解析装置100では、対象演奏情報も、この対象演奏情報に対して前記演奏情報解析処理を施して生成された新たな演奏データ(図3(a)および図5参照)を含む演奏情報も再生対象とすることができる。これにより、両演奏情報を交互に再生することで、両演奏情報を聞き比べることができる。
【0067】
また演奏情報解析装置100では、ユーザが操作入力部1から表示対象の演奏情報を指定した後、その表示を指示すると、CPU2は、当該演奏情報をディスプレイ6上に表示する。この表示でも、対象演奏情報も、当該新たな演奏データを含む演奏情報も表示対象とすることができる。これにより、両演奏情報を交互に表示することで、両演奏情報を見比べることができる。図2(b)、図3(b)、図4(b)および図5は、演奏情報の表示例を示している。なお表示態様は、本実施の形態では、ピアノロールの態様を採用したが、これに限らないことは言うまでもない。
【0068】
このように、新旧の演奏情報を聞き比べたり、見比べたりした結果、新たな演奏情報の一部の演奏データをさらに除外したいことがある。これに対処するために、編集機能を備えるようにしてもよい。
【0069】
なお本実施の形態では、対象演奏情報として、SMF形式でフォーマット1のものとしか限定していない。つまり、その種類はどのようなものでもよいが、たとえば、スタイル(自動伴奏)データ、ソングデータ、アルペジオなどを挙げることができる。また、対象演奏情報は、MIDI形式のものに限らず、オーディオデータが含まれていたり、オーディオデータのみで構成されていてもよい。
【0070】
本実施の形態では、音色情報の検出は、トラック0のトラックチャンクに格納された「各トラックの書誌情報」に記載のもの(典型的には、音色番号)を抽出する方法を用いたが、これに限らず、(特に、オーディオデータの場合)音響信号に対して周波数分析などを行って抽出する方法を採用してもよい。
【0071】
また本実施の形態では、フィルタリング条件として、ベロシティの小さいものや聞き取りにくいもの(ノートナンバが“88”以上)を削除するようにしたが、これに限らず、逆にベロシティの大きなものや目立つ音を削除するような条件があってもよい。この条件を適用すれば、たとえば細かな表現まで練習するための演奏ガイド用データを作成して、目立つ音を削除して目立たない音のみを聞きたいという場合に役立つ。
【0072】
さらに本実施の形態では、削除/分離抽出処理は、ドラム音色が割り当てられた演奏データに対して行うようにしたが、これに限らず、通常音色が割り当てられた演奏データに対しても行えるようにしてもよい。これにより、複数人で音域を分けて1つの曲を演奏する場合、奏者ごとの演奏データを簡単に作成することができる。
【0073】
またフィルタリング条件として、音符長や発音/消音タイミング、ピッチの変化率(ピッチベンド)など、上述したものとは別のパラメータを用いてもよい。さらに、フィルタリングの前に、予め対象演奏情報をクオンタイズ処理するなど、フィルタリング処理と他の処理を組み合わせてもよい。
【0074】
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0075】
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0076】
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
【0077】
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0078】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【0079】
2…CPU(取得手段、検出手段、選択手段、生成手段),5…記憶装置(記憶手段),7…通信I/F(取得手段)
図1
図2
図3
図4
図5
図6
図7