JP5970934B2 - 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体 - Google Patents

楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体 Download PDF

Info

Publication number
JP5970934B2
JP5970934B2 JP2012094414A JP2012094414A JP5970934B2 JP 5970934 B2 JP5970934 B2 JP 5970934B2 JP 2012094414 A JP2012094414 A JP 2012094414A JP 2012094414 A JP2012094414 A JP 2012094414A JP 5970934 B2 JP5970934 B2 JP 5970934B2
Authority
JP
Japan
Prior art keywords
pattern
performance data
input
data
rhythm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012094414A
Other languages
English (en)
Other versions
JP2012234168A (ja
Inventor
大地 渡邉
大地 渡邉
藤島 琢哉
琢哉 藤島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2012094414A priority Critical patent/JP5970934B2/ja
Priority to US13/451,374 priority patent/US9412113B2/en
Priority to EP12164922.2A priority patent/EP2515249B1/en
Priority to CN201210121046.XA priority patent/CN102760428B/zh
Publication of JP2012234168A publication Critical patent/JP2012234168A/ja
Application granted granted Critical
Publication of JP5970934B2 publication Critical patent/JP5970934B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/38Chord
    • G10H1/383Chord detection and/or recognition, e.g. for correction, or automatic bass generation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/38Chord
    • G10H1/386One-finger or one-key chord systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/40Rhythm
    • G10H1/42Rhythm comprising tone forming circuits
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/341Rhythm pattern selection, synthesis or composition
    • G10H2210/361Selection among a set of pre-established rhythm patterns
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/131Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
    • G10H2240/141Library retrieval matching, i.e. any of the steps of matching an inputted segment or phrase with musical database contents, e.g. query by humming, singing or playing; the steps may include, e.g. musical analysis of the input, musical feature extraction, query formulation, or details of the retrieval process

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Library & Information Science (AREA)
  • Acoustics & Sound (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Auxiliary Devices For Music (AREA)

Description

本発明は、利用者が入力したクエリーパターンにマッチする楽音発生パターンを持つ演奏データを検索する技術に関し、特に、そのような検索技術を使用した装置及び方法に関する。なお、本発明において「楽音」とは楽器音に限らず、音声、スクラッチ音、ノイズ、効果音、環境音など、音全般を包含する用語である。
電子楽器において、いわゆる「自動伴奏」という機能がよく知られている。自動伴奏においては、一般的に、利用者の操作によって指定された構成音に相当する楽音が、自動伴奏データの示す伴奏シーケンスにしたがって発音される。この自動伴奏データには、単一或いは複数の楽音によるメロディ音やリズム音が含まれ得る。こうした自動伴奏の機能を用いることによって、一人の演奏者でも、コード音(和音)やリズム音を含む豊富な楽音の演奏を実現することが可能である。例えば特許文献1には、利用者が、楽曲名、アーティスト名、アルバム名、音楽ジャンル、テンポ、拍子、あるいはその他のキーワード等のいずれかを用いて自動伴奏データを検索し、当該自動伴奏データの示す伴奏シーケンスにしたがった楽音に合わせて演奏を行うことが可能な技術が開示されている。
特開2010−102076号公報
しかしながら、特許文献1に記載の検索方法では、データベースに記憶された多数の自動伴奏データから任意の自動伴奏データを検索するにあたって、データベースに含まれる音源データの容量が膨大なものであると、利用者が望む自動伴奏データを探し出すのに時間と労力が掛かってしまう。また、特許文献1に記載のような検索方法であると、利用者は、上述した楽曲名等の情報を予め知っているうえで当該情報を入力する必要があり、直感的に、且つ効率良く自動伴奏データを検索するということが不可能である。また、自動伴奏データは、ベース、ドラム、キーボード等の複数のパートが組み合わさることで成り立っているが、特許文献1に記載のような検索方法であると、特定のパートについてのフレーズを思いついたときに、このパートについてのフレーズを用いて検索を行うというようなことが不可能である。
本発明は上述の背景を鑑みてなされたものであり、利用者が入力したクエリーパターンにマッチする楽音発生パターンを持つ演奏データを検索することを主たる目的とする。より詳しくは、利用者が指定したパートについて、意図する楽音のパターンとの類似の度合が決められた条件を満たすような楽音のパターンで構成されたフレーズを持つ自動伴奏に関する楽音データを検索することを目的とする。
上述した課題を解決するため、本発明は、利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る入力部と、前記入力部が受けとった前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する特定部であって、前記操作子に対する利用者の操作の継続時間が閾値を超えているか否かに基づき、前記操作形態の判定を行う特定部と、検索対象となる音発生パターンを示すクエリーパターンを取得するクエリー取得部と、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する検索部と、前記検索部により検索されたパート演奏データを用いて所定の処理を行う処理部と、を備える装置を提供する。
また、本発明は、利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る入力部と、前記入力部が受けとった前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する特定部であって、前記操作子に対する利用者の操作の強度が閾値を超えているか否かに基づき、前記操作形態の判定を行う特定部と、検索対象となる音発生パターンを示すクエリーパターンを取得するクエリー取得部と、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する検索部と、前記検索部により検索されたパート演奏データを用いて所定の処理を行う処理部と、を備える装置を提供する。
また、本発明は、利用者の操作を受け付ける入力デバイスから入力されるデータを受け取る入力部と、前記入力部が受けとった前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する特定部と、検索対象となる音発生パターンを示すクエリーパターンを取得するクエリー取得部と、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する検索部と、前記検索部により検索されたパート演奏データを用いて所定の処理を行う処理部と、検索された前記パート演奏データのうちユーザが選択したものを、前記入力部が受けとった前記データが表すBPM(Beats Per Minute)で出力し、時間の経過に伴って当該パート演奏データの本来のBPMに近づくように出力する出力部とを備える装置を提供する。
また、本発明は、利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取るステップと、受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定するステップであって、前記操作子に対する利用者の操作の継続時間が閾値を超えているか否かに基づき、前記操作形態の判定を行うステップと、検索対象となる音発生パターンを示すクエリーパターンを取得するステップと、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索するステップと、検索された前記パート演奏データを用いて所定の処理を行うステップと、を備える方法を提供する。
また、本発明は、利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取るステップと、受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定するステップであって、前記操作子に対する利用者の操作の強度が閾値を超えているか否かに基づき、前記操作形態の判定を行うステップと、検索対象となる音発生パターンを示すクエリーパターンを取得するステップと、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索するステップと、検索された前記パート演奏データを用いて所定の処理を行うステップとを備える方法を提供する。
また、本発明は、利用者の操作を受け付ける入力デバイスから入力されるデータを受け取るステップと、受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定するステップと、検索対象となる音発生パターンを示すクエリーパターンを取得するステップと、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索するステップと、検索された前記パート演奏データを用いて所定の処理を行うステップと、検索された前記パート演奏データのうちユーザが選択したものを、前記受け取るステップで受けとった前記データが表すBPM(Beats Per Minute)で出力し、時間の経過に伴って当該パート演奏データの本来のBPMに近づくように出力するステップとを備える方法を提供する。
また、本発明は、コンピュータに、利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る処理と、受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する処理であって、前記操作子に対する利用者の操作の継続時間が閾値を超えているか否かに基づき、前記操作形態の判定を行う処理と、検索対象となる音発生パターンを示すクエリーパターンを取得する処理と、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する処理と、検索された前記パート演奏データを用いて所定の処理を行う処理と、を実行させるプログラムを記録した記録媒体を提供する。
また、本発明は、コンピュータに、利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る処理と、受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する処理であって、前記操作子に対する利用者の操作の強度が閾値を超えているか否かに基づき、前記操作形態の判定を行う処理と、検索対象となる音発生パターンを示すクエリーパターンを取得する処理と、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する処理と、検索された前記パート演奏データを用いて所定の処理を行う処理とを実行させるプログラムを記録した記録媒体を提供する。
また、本発明は、コンピュータに、利用者の操作を受け付ける入力デバイスから入力されるデータを受け取る処理と、受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する処理と、検索対象となる音発生パターンを示すクエリーパターンを取得する処理と、複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する処理と、検索された前記パート演奏データを用いて所定の処理を行う処理と、検索された前記パート演奏データのうちユーザが選択したものを、前記受け取る処理で受けとった前記データが表すBPM(Beats Per Minute)で出力し、時間の経過に伴って当該パート演奏データの本来のBPMに近づくように出力する処理とを実行させるプログラムを記録した記録媒体を提供する。
本発明によれば、利用者は、検索対象とするパートに対応付けて、検索対象とする所望の楽音発生パターンをクエリーパターンとして入力することで、感覚的な操作で容易に検索クエリーの入力を行うことができ、かつ、利用者の感覚に合った望ましい検索結果を得ることが可能となる。また、入力デバイスに対する利用者の操作形態を判定し、判定した操作形態に基づき、少なくとも1つのパートを検索対象として特定するので、入力デバイスの限られた資源を多様な操作形態で使い分けることにより、検索対象とするパートを利用者が効率的にリクエストすることができる。
なお、本発明は、上述の装置に関する発明として構成され実施されるのみでなく、方法に関する発明として構成され実施されてもよい。さらに、本発明は、コンピュータやDSP(Digital Signal Processor)などのプロセッサにより実行されるソフトウェアプログラムとして、もしくはそのようなソフトウェアプログラムを非一時的に記録した記録媒体として提供され実施されてもよい。その場合、プログラムは記録媒体に記録した状態でユーザに提供され、ユーザのコンピュータにインストールされてもよいし、通信ネットワークを介してサーバ装置からクライアント装置であるコンピュータに配信され、そのクライアント装置であるコンピュータにインストールされてもよい。さらに、本発明において用いられるプロセッサは、コンピュータや必要なソフトウェアプログラムを実行可能なその他の汎用的なプロセッサであってもよいことは言うまでもないが、ハードウェアに組み込まれた専用の論理回路を備える専用のプロセッサであってもよい。
以下に本発明の実施形態を説明するが、本発明は以下に説明する実施形態により限定されるものではなく、その基本的な原理から離れない限り様々に変形され得る。従って、本発明の範囲は本願の請求の範囲によってのみ画定される。
本発明の実施形態に係るシステムの構成図 リズム入力装置を表す模式図 情報処理装置のハードウェア構成を表すブロック図 自動伴奏DBの内容を表す模式図 自動伴奏DBの内容を表す模式図 自動伴奏DBの内容を表す模式図 自動伴奏DBの内容を表す模式図 自動伴奏DBの内容を表す模式図 情報処理装置の機能構成を表すブロック図 リズムパターン検索部及び検索情報処理部が行う検索処理のフロー図 オンセット時刻間隔の分布表を表す図 オンセット時刻間隔の分布表を表す図 オンセット時刻間隔の分布表を表す図 リズムパターンにおけるズレの計算を説明するための模式図 自動伴奏データについての検索結果の一覧を表した模式図 自動伴奏データについての検索結果の一覧を表した模式図 自動伴奏データについての検索結果の一覧を表した模式図 変形例2に係る自動伴奏DBの内容を表す模式図 変形例2に係る自動伴奏DBの内容を表す模式図 変形例6において自動伴奏データにおける各構成音に対してフェードアウトが適用された場合を表す模式図 変形例11におけるパートテーブルの内容を表す模式図 変形例11におけるパートテーブルの内容を表す模式図 オンセット時刻間隔テーブルの一例を表す図 類似度距離参照表の一例を表す図 オンセット時刻テーブルの一例を表す図
以下、本発明の一実施形態について説明する。
<実施形態>
<構成>
図1は、本発明の実施形態に係るシステムの構成図である。
この楽音データ処理システム100は、リズム入力装置10、及び情報処理装置20を備えており、各々が通信線により接続されて相互に通信ができるようになっている。この通信は、無線によって実現されてもよい。本実施形態において、リズム入力装置10は、入力手段として例えば鍵盤を備えている。利用者が、リズム入力装置10に設けられた鍵盤を押鍵することにより、リズム入力装置10は、押鍵されたこと、すなわち演奏操作がなされたことを示すトリガーデータと、押鍵の強度、すなわち当該演奏操作の強度を示すベロシティデータとを、1小節を単位として、情報処理装置20に入力する。ここで、トリガーデータは、利用者が鍵盤を押鍵する毎に生成されるものであって、トリガーデータの各々にはベロシティデータが対応付けられている。1小節内に生成されたトリガーデータとベロシティデータの集合は、この1小節において、利用者がリズム入力装置10を用いて入力したリズムのパターン(入力リズムパターンという)を表している。このように、リズム入力装置10は、利用者による演奏操作が入力される入力装置の一例である。また、リズム入力装置10は、検索用のクエリーパターンとして、利用者によって任意の楽音発生パターンを入力するための操作装置としても使用される。
情報処理装置20は、例えばPC(Personal Computer)である。情報処理装置20は、自動伴奏データを複数含んだデータベースを備えている。この自動伴奏データは、各々が固有のリズムパターンを持つ複数のパートで構成されている。そして情報処理装置20は、このデータベースから、利用者が指定したパートについて、リズム入力装置10から入力された入力リズムパターンと同一又は類似したリズムパターンを持つ自動伴奏データを検索し、検索結果の自動伴奏データの名称等を一覧表示する。そして情報処理装置20は、一覧から利用者によって選択された自動伴奏データに基づく音を出力する。このとき、情報処理装置20は、検索結果の自動伴奏データに基づく音を繰り返し再生する。なお、検索機能は、利用者が操作部25(後述)を操作することによってそのON/OFFが切り替えられる。検索対象となる自動伴奏データは、リズムパターンに限らず、アルペジオパターンであってもよく、その他任意の音楽演奏パターンであってもよい。この場合、リズムパターンであれば、トリガーデータとそのタイミングとベロシティについて検索で考慮するが、アルペジオパターンであれば、さらに音高の並びあるいは隣接するトリガーデータに対応する音高差を検索で考慮するようになる。なお、上記データベース(後述の自動伴奏データベース221)は、情報処理装置20の外部に設けられていて、通信ネットワークを介して情報処理装置20と通信し得るようになっていてもよい。
図2は、リズム入力装置10を表す模式図である。
リズム入力装置10は、入力手段として鍵盤200及び入力パッド14を備えている。利用者は、これらの入力手段を用いて、検索対象となる任意の楽音発生パターン(典型的にはリズムパターン)を検索用のクエリーパターンとして入力することができる。情報処理装置20は、入力された検索用のクエリーパターン(典型的にはリズムパターン)に基づいて、複数セットの演奏データを記憶している記憶装置(例えば、後述の自動演奏データベース221)から、該クエリーパターンにマッチする楽音発生パターン(例えばリズムパターンあるいはメロディパターン)を持つ演奏データ(例えば自動伴奏データ)を検索する。1セットの演奏データの一例としての1セットの自動伴奏データは、公知のように、ベース、和音からなるコード、単音からなるフレーズ、バスドラム、スネアドラム、ハイハット、及びシンバルといった各々異なるパートの組み合わせによって構成されている。リズム入力装置10における鍵盤200の所定の範囲又は入力パッド14の種類には、各々異なる上記パートの何れかが対応付けられている。例えば、鍵盤200の全範囲のうち、ベース入力音域鍵盤11にはベースのパートが対応付けられており、メロディ入力音域鍵盤12には和音からなるコードのパート及び単音からなるフレーズのパートが対応付けられている。メロディ入力音域鍵盤12においては、利用者が演奏操作を行った際の形態(操作形態という)に応じて、コードのパート或いはフレーズのパートのどちらが指定されたのかが、情報処理装置20によって特定される。メロディ入力音域鍵盤12において、利用者が一度のタイミングに一つの鍵盤のみを押鍵した場合、情報処理装置20は、フレーズのパートが指定されたと特定する。一方、メロディ入力音域鍵盤12において、利用者が一度のタイミングに複数の鍵盤を押鍵した場合、情報処理装置20は、コードのパートが指定されたと特定する。また、バスドラム入力パッド14aには、バスドラムのパートが対応付けられており、スネアドラム入力パッド14bには、スネアドラムのパートが対応付けられており、ハイハット入力パッド14cには、ハイハットのパートが対応付けられており、シンバル入力パッド14dには、シンバルのパートが対応付けられている。利用者は、リズム入力装置10において、押鍵する鍵盤200の位置又は押下する入力パッド14の種類を指定して演奏操作を行うことで、指定した入力手段に対応付けられたパートを基準として自動伴奏データを検索することが可能である。なお、所定の鍵域に1つのパートのみを対応付けるようにしてもよい。例えば、鍵域12にコードのパートのみを対応付けるようにしてもよい。
例えば、利用者が、ベース入力音域鍵盤11に相当する鍵盤を押鍵してリズムパターンを入力すると、情報処理装置20は、当該リズムパターンと同一又は類似の度合の高いリズムパターンを持つベースのフレーズを特定し、この特定されたベースのフレーズを構成要素として持つ自動伴奏データを検索結果として表示する。以降において、利用者がリズムパターンを入力する際に操作する対象であることから、ベース入力音域鍵盤11、コード入力音域鍵盤12、フレーズ入力音域鍵盤13、バスドラム入力パッド14a、スネアドラム入力パッド14b、ハイハット入力パッド14c、及びシンバル入力パッド14dのことを、演奏操作子と呼ぶ場合がある。ここにおいて、操作形態とは、利用者が演奏操作子を操作するときの態様を表すものであり、例えば、一度に操作する演奏操作子が単数であるか複数であるか、といった態様や、演奏操作子を演奏操作する継続時間又は強度等を含む。利用者がリズム入力装置10における或る演奏操作子を操作すると、リズム入力装置10は、当該操作に応じたMIDI(Musical Instrument Digital Interface)形式の情報(以下、MIDI情報という)を情報処理装置20に入力する。ここでMIDI情報には、上述したトリガーデータ及びベロシティデータのほかに、演奏操作子が鍵盤であればノートナンバーが含まれ、演奏操作子がパッドであればチャンネル情報が含まれる。情報処理装置20は、受け取ったMIDI情報から、対象のパートを特定する。
図3は情報処理装置20のハードウェア構成を表すブロック図である。
情報処理装置20は、制御部21、記憶部22、入出力インターフェース部23、表示部24、操作部25、及び音声出力部26を備えており、各部がバスを介して接続されている。制御部21は、CPU(Central Processing Unit)、ROM(Read Only Memory
)、RAM(Random Access Memory)などを有する。CPUは、ROMや記憶部22に記憶されているアプリケーションプログラムを読み出して、RAMにロードして実行することにより、情報処理装置20の各部をバス経由で制御する。また、RAMは、CPUがデータの加工などを行う際のワークエリアとして機能する。
記憶部22は、複数セットの演奏データを記憶する記憶装置の一例として自動伴奏DB(Database)221を有している。1セットの演奏データ(例えば自動伴奏データ)は、1又は複数のパートで構成され、それぞれのパートはパート演奏データで構成され、1パートについての前記パート演奏データは、楽音発生パターン(例えばリズムパターンあるいはメロディパターン)と、該楽音発生パターンに対応する楽音データとを含む。一例として、自動伴奏DB221は、自動伴奏データの少なくとも一部をMIDI情報のフォーマットで記憶している。入出力インターフェース部23は、リズム入力装置10が出力するデータを情報処理装置20に入力するともに、制御部21の指示に従って、リズム入力装置10を制御する各種信号をリズム入力装置10に出力する。表示部24は、例えばディスプレイであり、利用者に対する対話画面などを表示する。操作部25は、例えばマウスやキーボードであり、利用者の操作に応じた信号を制御部21に受け渡す。制御部21は受け取った信号に応じて各部を制御する。音声出力部26は、DAC(Digital Analog Converter)、アンプ、及びスピーカを備えている。音声出力部26は、制御部21により自動伴奏DB221から検索されたMIDI情報に基づくデジタルの楽音データを、DACによってアナログの楽音データに変換して、それをさらにアンプで増幅し、スピーカから増幅後のアナログの音声信号に応じた音を出力させる。
図4A〜図4C、図5、図6は、自動伴奏DB221の内容を表す模式図である。
自動伴奏DB221には、パートテーブル、楽器種類テーブル、リズムカテゴリテーブル、リズムパターンテーブル及びスタイルテーブルが含まれている。図4Aはパートテーブルの一例を表したものである。「パートID」は、楽音データを構成するパートを一意に識別するための識別子であり、例えば2桁の数字で表される。「パート」は、パートの種類を表す名称であり、上述した「ベース」、「コード」、「フレーズ」、「バスドラム」、「スネアドラム」、「ハイハット」、及び「シンバル」といった異なるパート毎に、パートIDが対応付けられてパートテーブルに記述されている。「ノートナンバー」は、各パートが、鍵盤200においてどの範囲に割り当てられているかを表すMIDI情報である。MIDI情報では、鍵盤における「中央ハ」にノートナンバー「60」が割り当てられる。このノートナンバーを基準として、例えば図4Aに示されるように、「ベース」のパートには、閾値「45」以下のノートナンバーが割り当てられ、「コード」及び「フレーズ」のパートには、閾値「45」より上のノートナンバーが割り当てられている。なお、上述した閾値は一例であり、この値に限ったものではない。また、この閾値は利用者により変更可能としてもよい。
「操作子の数」は、利用者による操作形態において、一度に操作される操作子の数を表している。例えば、「コード」のパートには、一度のタイミングに操作される操作子(ここでは鍵盤)の数が「複数」である場合が割り当てられている。また、例えば「フレーズ」のパートには、一度のタイミングに操作される操作子(ここでは鍵盤)の数が「単数」である場合が割り当てられている。「チャンネル情報」は、各パートが、どの入力パッドに割り当てられているかを表すMIDI情報である。例えば図4Aに示されるように、「バスドラム」のパートには「14a」のチャンネル情報が割り当てられ、「スネアドラム」のパートには「14b」のチャンネル情報が割り当てられ、「ハイハット」のパートには「14c」のチャンネル情報が割り当てられ、「シンバル」のパートには「14d」のチャンネル情報が割り当てられている。このように、自動伴奏DB221におけるパートテーブルは、複数のパートの各々と入力装置10における各々の操作子との対応関係、及び/又は該パートの各々と利用者による当該操作子に対する操作の形態とについて予め決められた対応関係を記憶する対応関係記憶テーブルの一例である。
図4Bは楽器種類テーブルの一例を表したものである。「パートID」は上述したとおりである。「楽器種類ID」は、楽器の種類を一意に識別するための識別子であり、例えば3桁の数字で表される。「楽器種類」は、楽器の種類を表す名称であり、例えば「ウッドベース」、「エレキベース」、「スラップベース」といった、異なる楽器の種類毎に、楽器種類IDが対応付けられて楽器種類テーブルに記述されている。例えば楽器種類「ウッドベース」は、「001」の楽器種類IDに対応付けられて楽器種類テーブルに記述されている。その他の楽器種類についても、同様に各楽器種類IDに対応付けられて、楽器種類テーブルに記述されている。なお、「楽器種類」は図4Bに表された内容に限ったものではない。また、「楽器種類」とは、音色データ(音色ID)でもある。
図4Cは、リズムカテゴリテーブルの一例を表したものである。「リズムカテゴリID」は、リズムパターンのカテゴリ(リズムカテゴリという)を一意に識別するための識別子であり、例えば2桁の数字で表される。ここでリズムパターンとは、予め定められた長さの期間において各々の音が発音される時刻の並びを表す。特に本実施形態において、リズムパターンとは、1小節において各々の音が発音される時刻の並びを表す。「リズムカテゴリ」は、リズムカテゴリを表す名称であり、例えば「8分」、「16分」、「8分3連」といった、異なるリズムカテゴリ毎に、リズムカテゴリIDが対応付けられてリズムカテゴリテーブルに記述されている。例えば「8分」のリズムカテゴリは、「01」というリズムカテゴリIDが対応付けられてリズムカテゴリテーブルに記述されている。なお、「リズムカテゴリ」は図4Cに表された内容に限ったものではない。例えば、拍子やジャンルといった大まかなカテゴリ分けをしたり、一つのリズムパターンごとに一つの別のカテゴリIDを割り当てるなど、より細かなカテゴリ分けをしても良い。
図5は、リズムパターンテーブルの一例を表したものである。リズムパターンテーブルには、パートを一意に識別するパートID毎にグループ化されたリズムパターンレコード(パート演奏データ)が複数記憶されている。図5においては、リズムパターンテーブルの一例として、パートが「ベース」(パートIDが「01」)である複数のリズムパターンレコードが表されている。1件のリズムパターンレコード(パート演奏データ)は、「パートID」、「楽器種類ID」、「リズムパターンID」、「リズムカテゴリID」、「リズムパターンデータ」、及び「アタック強度パターンデータ」といった複数の項目からなる。上述したように「楽器種類ID」は、楽器の種類を一意に識別するための識別子である。同一のパートIDを持つリズムパターンレコードは、楽器種類ID毎にグループ化されており、利用者はリズム入力装置10を用いてリズムの入力を行う前に、操作部25を用いて楽器の種類を選択することが可能である。利用者によって選択された楽器の種類は、RAMに記憶される。「リズムパターンID」は、各々のリズムパターンレコードを一意に識別するための識別子であり、例えば4桁の数字からなる。「リズムカテゴリID」は、各々のリズムパターンレコードが、前述したリズムカテゴリのうち、どのリズムカテゴリに属するかを識別するための識別子である。例えば、図5において「リズムカテゴリID」が「01」であるリズムパターンレコードは、図4Cのリズムカテゴリテーブルに表されるように、「8分」のリズムカテゴリに属する。
「リズムパターンデータ」は、1小節を構成するフレーズにおける各構成音の発音開始時刻が記録されたデータファイルを含み、例えばテキストファイルに、各構成音の発音開始時刻が記述されたものである。この「リズムパターンデータ」は、リズムパターン(楽音発生パターン)を示すデータである。リズムパターンデータにおける上記発音開始時刻は、後述するマッチングの際に、入力リズムパターン(検索用に入力されたクエリーパターン)における、演奏操作がなされたことを示すトリガーデータに対応付けられる。ここで、リズムパターンデータにおける各構成音の発音開始時刻は、予め1小節の長さを1として正規化されている。つまり、「リズムパターンデータ」に記述される各構成音の発音開始時刻は、0から1の間の値を取る。この実施例では、リズムパターン(楽音発生パターン)に対応する楽音データ(波形データ)は、別の記憶領域に記憶されており、同じパートの楽器種類IDによって該楽音データ(波形データ)が特定される。別の例として、後述するように、このリズムパターンテーブルに記憶する「リズムパターンデータ」として、リズムパターン(楽音発生パターン)のみならず、該リズムパターン(楽音発生パターン)に対応する楽音データ(波形データ)をさらに記憶してもよい。その場合、リズムパターンデータは、後述するような各種の音声ファイルフォーマットのオーディオデータからなる。また、楽音データ(波形データ)は、パート毎に記憶されていてもよいし、別の例として、複数パート(例えば1スタイルを構成する全パート)の楽音データ(波形データ)がまとめて1ファイルとして記憶されていてもよい。
このように自動伴奏DB221に含まれるリズムパターンテーブル及びそれに関連する楽音データ記憶領域は、楽音発生パターン(リズムパターン)と、この楽音発生パターン(リズムパターン)に対応する楽音データとをパート毎に対応付けて記憶する記憶装置に相当する。リズムパターンは、予め定められた長さの期間(ここでは1小節)における複数の楽音発生パターンであって、各々の音が発音される発音時刻の並びを表すものである。
なお、リズムパターンデータは、予め以下のようにして作成されてもよい。リズムパターンデータを作成する者(以下、オペレーターという)は、構成音開始時刻が波形に埋め込まれた、市販のオーディオループ素材から構成音開始時刻を抽出する。次にオペレーターは、抽出した構成音開始時刻から、ゴーストノートなどの無視ができる範囲の不要な構成音開始時刻を除外する。この不要な構成音開始時刻が除外された後のデータが、リズムパターンデータとして用いられても良い。
なお、リズムパターンデータは、上述のように、オペレーターによって市販のオーディオループ素材からゴーストノートが除外されることで作成される方法に限らず、予めコンピュータによって自動的にゴーストノートが除外されることで抽出されてもよい。例えば、リズムパターンデータの抽出元のデータがMIDI形式の場合、コンピュータによって以下のような方法でリズムパターンデータが作成されてもよい。コンピュータのCPUは、MIDI形式のデータから、チャンネルごとの構成音開始時刻を1小節の間、抽出し、
リズム入力と判断しづらいゴーストノート(例えば、極端に小さなベロシティデータを持つものなど)を除外する。そしてコンピュータのCPUは、ゴーストノートを除外した後のMIDI形式のデータにおいて、和音入力のように一定時間内に複数の入力があった場合、これら複数の入力を1つのリズム入力にまとめる処理を行うことで、リズムパターン
データの作成を自動で行う。
また、ドラムスパートに関しては、1つのチャンネル内にバスドラム、スネアドラム、シンバルといった複数の楽器音が存在する場合もある。このような場合、コンピュータのCPUは、以下のようにしてリズムパターンデータの抽出を行う。ドラムスの場合、ノートナンバーごとに対応している楽器音が決まっている場合が多い。例えば、ドラムスパートでノートナンバー40にスネアドラムの音色が割り当てられているとする。これに基づいてコンピュータのCPUは、伴奏音源のドラムスパートが収録されたチャンネルにおいて、スネアドラムの音が割り当てられているノートナンバーの構成音開始時刻を抽出することで、スネアドラムのリズムパターンデータの抽出を行う。
「アタック強度パターンデータ」は、1小節を構成するフレーズにおける各構成音のアタック強度が記録されたデータファイルであり、例えばテキストファイルに上記各構成音のアタック強度が数値として記述されたものである。このアタック強度は、入力リズムパターンにおける、演奏操作の強度を示すものであるベロシティデータに相当する。つまり、アタック強度とは、各構成音の強度を意味する。アタック強度は、MIDI情報のベロシティデータそのものとしてテキストファイルに記述されてもよい。図5においては、パートが“ベース”であるリズムパターンレコードを一例として表したが、実際にはリズムパターンテーブルには、図5に、その一部を表しているように、複数の種類のパート(コード、フレーズ、バスドラム、スネアドラム、ハイハット、シンバル)に応じたリズムパターンレコードが記述されている。
図6は、スタイルテーブルの一例を表したものである。
ここで“スタイル”とは、複数の異なる種類の自動伴奏が存在するときに、これら自動伴奏の種類を特定するとともに同一種類の自動伴奏における各々を一意に区別するものである。スタイルテーブルには、自動伴奏を構成する各パートの情報をスタイル毎に対応付けたものであるスタイルレコードが複数記述されている。図6においては、スタイルテーブルの一例として、「ジャンル名」が「JAZZ」である複数のスタイルレコードが表されている。1件のスタイルレコードは、「スタイルID」、「ジャンル名」、「スタイル名」、「キー」、「BPM(Beats Per Minute)」、「ベースリズムパターンID」、「コードリズムパターンID」、「フレーズリズムパターンID」、「バスドラムリズムパターンID」、「スネアドラムリズムパターンID」、「ハイハットリズムパターンID」、及び「シンバルリズムパターンID」といった複数の項目からなる。「スタイルID」は、スタイルレコードを一意に識別するための識別子である。「ジャンル名」は各スタイルレコードが属する音楽のジャンルを表す。「スタイル名」は、各スタイルレコードを一意に識別する名称である。「キー」は、各スタイルレコードにおける調を表す。「BPM」は、各スタイルレコードに基づく音が再生される際のテンポを表す。
各々のスタイルレコードには、上述したパートの全てについて、パート毎のリズムパターンが1対1で対応付けて記憶されている。例えば図6において「スタイルID」が「0001」のスタイルレコードは、「ベースリズムパターンID」として「0001」の値を持っている。これは、リズムパターンテーブルにおいて、パートIDが「01」(ベース)であり、且つ、リズムパターンIDが「0001」であって、「リズムパターンデータ」が「WoodBass1Rhythm.txt」であるリズムパターンレコードと、「スタイルID」が「0001」のスタイルレコードとが対応付けられていることを表す。各々のスタイルレコードには、ベース以外のパートのリズムパターンについても、同様の対応付けが記述されている。
自動伴奏DBが上述したような構成になっているので、利用者は以下のような検索が可能となる。利用者が、リズム入力装置10において或るパートに対応した演奏操作子を操作して、若しくは或る操作形態でリズムパターンを入力すると、情報処理装置20は、該演奏操作子若しくは該操作形態に対応付けられたパート及び入力リズムパターンに基づいて、リズムパターンテーブルから少なくとも1つのリズムパターンレコードを特定する。そして情報処理装置20は、当該リズムパターンレコードが保持するパートID及びリズムパターンIDに基づいてスタイルテーブルを検索し、当該リズムパターンレコードをそのパートとして含むスタイルレコードを抽出し、抽出した1以上のスタイルレコードを表示部24に表示する。利用者が、表示された1以上のスタイルレコードから、任意のものを選択すると、選択されたスタイルレコードに基づく楽音データ(つまり自動伴奏データ)が音声出力部26から音として出力される。このように、利用者は、検索対象とするパートに対応付けて、検索対象とする所望のリズムパターン(楽音発生パターン)をクエリーパターンとして入力することで、感覚的な操作で容易に検索クエリーの入力を行うことができ、かつ、利用者の感覚に合った望ましい検索結果(自動伴奏)を得ることが可能となる。
図7は、情報処理装置20の機能構成を表すブロック図である。
制御部21は、ROMや記憶部22に記憶されたプログラムをRAMに読み出して実行することにより、小節線クロック出力部211、入力リズムパターン記憶部212、パート特定部213、リズムパターン検索部214、検索情報処理部215、及び再生制御部216の各機能を実現する。以降において、これら各部を主体として処理の説明を行うことがあるが、処理の主体の実体は、制御部21である。なお、以降の説明において「オンセット」とは、リズム入力装置10における入力状態がオフからオンに切り替わることを指す。例えば、「オンセット」とは、リズム入力装置10の入力手段が鍵盤であれば鍵盤が押鍵された状態のことであり、リズム入力装置10の入力手段がパッドであればパッドを叩かれた状態のことであり、リズム入力装置10の入力手段がボタンであればボタンが押下された状態のことである。また、以降の説明において「オンセット時刻」とは、リズム入力装置10における入力状態がオフからオンに切り替わった時の各々の時刻を表す。換言すれば、「オンセット時刻」とは、リズム入力装置10においてトリガーデータが発生した時刻を表す。また、以降の説明において「オンセット情報」とは、オンセット時刻においてリズム入力装置10から情報処理装置20へ入力される情報である。「オンセット情報」には、上述したトリガーデータ以外に、鍵盤のノートナンバーやチャンネル情報等が含まれている。
小節線クロック出力部211は、1小節の長さを1として正規化した場合に、進行中の時間軸において、現在時刻が1小節中のどこに位置するかを、数十msec(ミリ秒)ごとにクロック信号(以降において小節線クロックという)として入力リズムパターン記憶部212に出力する。つまり、小節線クロックは、0から1の間の値をとる。小節線クロック出力部211は、利用者が操作部25を介して指定したBPMに基づいて小節線クロックを生成する。そして、入力リズムパターン記憶部(RAM)212は、小節線クロックを基準として、リズム入力装置10から入力される、トリガーデータが発生した時刻、すなわちオンセット時刻を1小節毎に記憶する。このようにして、1小節を単位として、RAMに記憶されたオンセット時刻の並びが、入力リズムパターン(検索用のクエリーパターン)となる。ここで記憶されるオンセット時刻は、小節線クロックに基づいているため、上記小節線クロックと同様に、0から1の間の値をとる。このように、小節線クロック出力部211は、予め定められた長さの期間(ここでは1小節)における時間を進行させるとともに、当該期間における時間の経過を利用者に通知する通知手段の一例である。あるいは、小節線クロック出力部211、再生制御部216、音声出力部26は、利用者に対して、検索用のクエリーパターン入力の際の補助となるテンポを通知するための通知部に相当する。また、入力リズムパターン記憶部212は、通知手段である小節線クロック出力部211により予め定められた長さの期間(ここでは1小節)における時間が進行させられているときに、特定されたパートについて利用者によって入力される、楽音に関するパターンを表す楽音パターンであって、各々の音が発音される発音時刻(ここではオンセット時刻)の並びを表す楽音発生パターン(検索用のクエリーパターン)を取得する取得手段の一例である。なお、上述の、小節線クロック出力部211により進行される予め定められた長さの期間は、繰り返されてもよいし、繰り返されなくともよい。また、小節線クロックは、外部から情報処理装置20に入力されるものを用いてもよい。
また、利用者が、1小節を単位としたリズムパターンを正確に入力できるように、情報処理装置20から利用者に対して小節線が開始する時刻をフィードバックする必要がある。これは、例えばメトロノームのように、小節や拍の時刻で、情報処理装置20が、音や光を発したり画面の表示内容を変更したりすることで、利用者に対して視覚的或いは聴覚的に小節線の位置が伝えられればよい。また、その他の方法として、小節線クロックにあわせて、予め小節線の位置を付加した伴奏音源を再生制御部216が再生してもよい。この場合、利用者は、伴奏音源から自らが感じる小節線に合わせて、リズムパターンを入力する。
パート特定部213は、リズム入力装置10から入力されるオンセット情報(そのなかでもMIDI情報)と自動伴奏DB221に含まれるパートテーブルとに基づいて、利用者によって操作されたのはどの演奏操作子であるか、すなわち、楽音データを構成する複数のパートのうちどのパートを指定して入力が行われたか、を特定する。具体的には、パート特定部213は、受け取ったMIDI情報がノートナンバーである場合、当該ノートナンバーとパートテーブルの記述内容とを比較して、利用者による操作が、ベース入力音域鍵盤11に対するものであるか、或いはメロディ入力音域鍵盤12に対するものであるかを特定する。ここで、パート特定部213は、利用者による操作がメロディ入力音域鍵盤12に対するものであると特定した場合、更にその操作形態から、「コード」あるいは「フレーズ」のどちらのパートを利用者が指定したかを特定する。具体的には、パート特定部213は、予め定められた期間(例えば100msec)に受け取ったMIDI情報に、複数のノートナンバーが含まれていた場合、利用者による操作形態が「複数」の演奏操作子を扱ったものであると判定し、利用者が「コード」のパートを指定したものと特定する。また、その逆に、パート特定部213は、上記予め定められた期間に受け取ったMIDI情報に、ノートナンバーが1つしか含まれていない場合、利用者による操作形態が「単数」の演奏操作子を扱ったものであると判定し、利用者が「フレーズ」のパートを指定したものと特定する。また、パート特定部213は、受け取ったMIDI情報がチャンネル情報である場合、当該ノートナンバーとパートテーブルの記述内容とを比較して、利用者による操作が、バスドラム入力パッド14a、スネアドラム入力パッド14b、ハイハット入力パッド14c、或いはシンバル入力パッド14dのいずれに対するものであるかを特定する。パート特定部213は、特定したパートに対応するパートIDをリズムパターン検索部214に出力する。なお、パート特定部213は、1パートに限らず、複数パートを検索対象パートとして特定することが可能である。
リズムパターン検索部214は、RAMに記憶された入力リズムパターン(クエリーパターン)を用いて自動伴奏DB221におけるリズムパターンテーブルを検索し、入力リズムパターンとの類似の度合いが高いリズムパターンデータを持つリズムパターンレコードを、検索結果としてRAMに記憶させるとともに、検索情報処理部215に出力する。すなわち、リズムパターン検索部214は、特定されたパートにマッチし、かつ、クエリーパターンにマッチするリズムパターンを、記憶装置(自動伴奏DB221)から検索する。検索情報処理部215は、入力されたリズムパターンレコードが保持するパートID及びリズムパターンIDに基づいてスタイルテーブルを検索し、検索結果のスタイルレコードをRAMに記憶させる。ここで検索結果のスタイルレコードには、伴奏の音源を表すデータそのもののほかに、「ジャンル名」、「スタイル名」、「キー」及び「BPM」といった、伴奏の音源に関する情報が含まれている。検索情報処理部215は、このような伴奏の音源に関する情報を、表示部24に出力して表示させる。また、検索情報処理部215は、ユーザが操作部25を介して指定した「BPM」や「楽器種類ID」に基づいて、検索結果のスタイルレコードに対して更に絞込み検索を行うことが可能である。このように、リズムパターン検索部214及び検索情報処理部215は、記憶手段に記憶されている楽音データのなかから、特定されたパートについて取得手段である入力リズムパターン記憶部212により取得された楽音パターンすなわちリズムパターンと類似の度合いが高いことを示す条件を満たすリズムパターンに対応付けられた楽音データを検索する検索手段の一例である。再生制御部216は、RAMに記憶された検索結果のスタイルレコードを再生対象として、小節線クロックと同期しながら、このスタイルレコードに基づく楽音データを音声出力部26に供給する。音声出力部26は、この楽音データに基づく音声を放音する。
なお、ここでリズムパターンデータはMIDI形式であるため、利用者は、操作部25を介して、楽音データがそのデータの一部として保持する、楽音データが再生される際のテンポを表すBPM(Beats Per Minute)を変更することが可能である。この場合、再生制御部216は、変更後のBPMで小節線クロックと同期しながら、検索結果のスタイルレコードに基づく楽音データを音声出力部26に供給する。また、リズムパターンデータがWAVE(RIFF waveform Audio Format)やmp3(MPEG Audio Layer-3)といった音声ファイルフォーマットからなるオーディオデータである場合でも、再生制御部216が、音程を変えずにテンポを変更する機能であるタイムストレッチ機能を備えることで、利用者は、楽音データが再生される際のBPMを変更することが可能である。このように、情報処理装置20は、利用者が指定したパートについて、意図するリズムパターンとの類似の度合が決められた条件を満たすようなリズムパターンで構成されたフレーズを持つ自動伴奏に関する楽音データを検索結果として出力する楽音データ処理装置の一例である。
<動作>
次に、図8〜図10を用いて、検索機能がONの状態において、リズムパターン検索部214及び検索情報処理部215が、入力リズムパターンに基づいて、スタイルテーブルから特定のスタイルレコードを検出する一連の処理について説明を行う。
図8はリズムパターン検索部214及び検索情報処理部215が行う検索処理のフロー図である。初めに、リズムパターン検索部214は、リズムパターンテーブルに記述された全てのリズムパターンを用いて、リズムカテゴリ毎にオンセット時刻間隔の分布を計算する(ステップS1)。ここで、リズムパターンレコードにおけるリズムパターンデータには、1小節の長さを1として正規化された各構成音の発音開始時刻、すなわちオンセット時刻が含まれている。ここでオンセット時刻間隔とは、時間軸上で隣り合うオンセット時刻どうしの間隔であり、0から1の間の数値で表される。また、ここにおいて、上述したオンセット時刻間隔の分布は、1小節を48の時刻で均等に区切った場合に、各々の時刻に相当するオンセット時刻間隔の個数で表される。なお、本実施形態において1小節を48の時刻で区切る理由は、4拍子系のリズムを前提として一拍を12等分すれば、8分、8分3連、16分といった複数の異なるリズムカテゴリを識別するのに適した分解能となるためである。ここで、分解能とは、シーケンサーや、本実施形態におけるアプリケーションプログラムのようなシーケンスソフトで表現できる、最も短い長さの音符のことである。本実施形態における分解能は、1小節で48であるため、1つの四分音符を12に分割可能な設定となっている。
なお、以降の説明では、入力リズムパターンに対する説明においても、リズムパターンレコードと対応する意味で、「オンセット時刻間隔」という言葉を用いる。つまり、入力リズムパターンにおいては、時間軸上で隣り合うオンセット時刻どうしの間隔が、オンセット時刻間隔に相当する。ステップS1で求められるリズムカテゴリ毎のオンセット時刻間隔の分布は、後述するステップS3で求められる入力リズムパターンにおけるオンセット時刻間隔の分布との、比較対象となるものである。処理フローの冒頭において、ステップS1の計算を行うのは、処理の対象となるリズムパターンレコード及びリズムカテゴリが変更されることがなく同一である場合、ステップS1で求められるオンセット時刻間隔の分布は一定であって、一度計算で求めてしまえば、その後計算をやり直す必要がなくなるためである。従って、ステップS1における計算は、情報処理装置20の電源がONされたときや、検索処理の起動時に行われるようにしてもよい。また、ステップS1で求められるオンセット時刻間隔の分布についてのデータを、制御部21が、予め計算してROM等に記憶しておくことで、検索処理の起動時に上記データを読み込むようにしてもよい。
ここで、具体的なオンセット時刻の数値を用いて、ステップS1におけるオンセット時刻間隔の分布を計算する方法を説明する。一例として、以下の(i)で表される8分のリズムパターンが、リズムパターンレコードにおけるリズムパターンデータに記述されていたとする。
(i)0,0.25,0.375,0.5,0.625,0.75,0.875
リズムパターン検索部214は、(i)の入力リズムパターンから、以下の(ii)で表されるオンセット時刻間隔を算出する。
(ii)0.25,0.125,0.125,0.125,0.125,0.125
次にリズムパターン検索部214は、(ii)で算出された各々のオンセット時刻間隔に48を乗算し、さらに0.5を加算した数値の小数点以下を切り捨てる処理(クオンタイズという)を行うことで、以下の(iii)で表す数値群を算出する。
(iii)12,6,6,6,6,6
ここでクオンタイズとは、リズムパターン検索部214が、各オンセット時刻間隔を分解能にあわせて補正することを意味している。クオンタイズを行う理由は、以下のとおりである。リズムパターンテーブルにおけるリズムパターンデータに記述された発音開始時刻は、分解能(ここでは48)に従ったものとなっている。よって、オンセット時刻間隔を用いてリズムパターンテーブルを検索する際には、検索に用いるオンセット時刻間隔も分解能に従ったものでないと、検索の精度が低くなってしまう。このような理由により、リズムパターン検索部214は、(ii)で表される各々のオンセット時刻間隔に対して、上述したクオンタイズの処理を施す。
上述の例に従って、例えば以下のような8分のリズムパターン、16分のリズムパターン、及び8分3連のリズムパターンが2つずつ、各リズムパターンレコードにおけるリズムパターンデータに記述されている場合を考える。
・8分カテゴリ
(A)0,0.25,0.375,0.5,0.625,0.75,0.875
(B)0,0.121,0.252,0.37,0.51,0.625,0.749,0.876
・16分カテゴリ
(C)0,0.125,0.1875,0.251,0.374,0.4325,0.5,0.625,0.6875,0.75,0.876,0.9325
(D)0,0.625,0.125,0.1875,0.251,0.3125,0.375,0.4325,0.5,0.5625,0.625,0.6875,0.75,0.8125,0.875,0.9325
・8分3連カテゴリ
(E)0,0.0833,0.1666,0.25,0.3333,0.4166,0.5,0.5833,0.6666,0.75,0.8333,0.91666
(F)0,0.1666,0.25,0.3333,0.4166,0.5,0.6666,0.75,0.8333,0.91666
リズムパターン検索部214は、上記(A)〜(F)に対して上述したのと同様の計算方法を用いて、リズムカテゴリ毎にオンセット時刻間隔の分布を求める。図9Aは、リズムパターン検索部214がリズムカテゴリ毎に計算したオンセット時刻間隔の分布を、分布表に割り当てたものである。
ステップS1の次に、リズムパターン検索部214は、パート特定部213から入力されたパートID及びRAMに記憶されている楽器種類IDを用いて、リズムパターンテーブルを検索する(ステップS2)。この楽器種類IDは利用者が操作部25を用いて楽器種類を予め指定することでRAMに記憶されたものである。なお、楽器種類の指定は必須ではなく、楽器種類が利用者により指定されなかった場合、リズムパターン検索部214は、入力されたパートIDのみに従ってリズムパターンテーブルを検索する。以降の処理において、リズムパターン検索部214は、このステップS2における検索結果のリズムパターンレコードを処理の対象とする。
ここで、上述したように、入力リズムパターンには、1小節の長さを1として正規化されたオンセット時刻が含まれている。ステップS2の次に、リズムパターン検索部214は、RAMに記憶された入力リズムパターンにおける、オンセット時刻間隔の分布をステップS1と同様の方法で計算する(ステップS3)。ここにおいて、入力リズムパターンは、上述した(i)のようなものであり、(ii)で算出された各々のオンセット時刻間隔にクオンタイズ処理が施されることで、入力リズムパターンについて、(iii)のような数値群が算出されるものとする。図9Bは、リズムパターン検索部214が入力リズムパターンについて計算したオンセット時刻間隔の分布を、分布表に割り当てたものである。
ここで、図9A〜図9Cに示された分布表を参照しながらオンセット時刻間隔の分布についてさらに説明を行う。
図9Bは入力リズムパターンにおけるオンセット時刻間隔の分布表である。
図9Bにおいて、横軸は、1小節を48の時刻で区切ったときの時刻の間隔(時刻間隔という)を表し、縦軸は、横軸で表された各々の時刻間隔に相当する、クオンタイズされたオンセット時刻間隔の個数の比率を表す。図9Bでは、入力リズムパターンに基づく、上述した(iii)の数値群が分布表に割り当てられている。この個数比率は、合計が1となるようにリズムパターン検索部214によって正規化されている。図9Bでは、クオンタイズされたオンセット時刻間隔である(iii)の数値群において、最も個数が多い「6」の時刻間隔に分布のピークがあることが分かる。
ステップS3の次に、リズムパターン検索部214は、リズムパターンテーブルに記述されたリズムカテゴリ毎のリズムパターンに基づくオンセット時刻間隔の分布表(ここでは図9A)と、入力リズムパターンに基づくオンセット時刻間隔の分布表(ここでは図9B)とを用いて、両者の類似の度合いを表す指標値(以降において「類似度距離」という)を算出する(ステップS4)。図9Cは、リズムパターンテーブルに記述されたリズムカテゴリ毎のリズムパターンに基づくオンセット時刻間隔の分布(図9A)と、入力リズムパターンに基づくオンセット時刻間隔の分布(図9B)との差分を表す分布表である。ステップS4における類似度距離の算出方法は以下のようなものである。まず、リズムパターン検索部214は、リズムパターンテーブルに記述されたリズムカテゴリ毎のリズムパターンに基づくオンセット時刻間隔の分布表と、入力リズムパターンに基づくオンセット時刻間隔の分布表とにおいて、両分布表における同一の時刻間隔毎に、個数比率の差分の絶対値を求める。そしてリズムパターン検索部214は、各リズムカテゴリについて、上述の時刻間隔毎に求めた絶対値を全て足し合わせた値の平方根を算出する。この算出された平方根で表される値が類似度距離となる。この類似度距離は、値が小さいほど類似の度合が高く、値が大きいほど類似の度合が低いことを表す。図9Cでは、8分のリズムカテゴリにおいて、図9Aと図9Bとに基づく個数比率の差分が最も小さい。これは、上述の算出方法に従って、分布表に表された8分、16分、8分3連のリズムカテゴリのうち、8分のリズムカテゴリと入力リズムパターンとが、最も上記類似度距離が小さいことを表している。
ステップS4の次に、リズムパターン検索部214は、リズムパターンテーブルに記述されたリズムカテゴリのうち、類似度距離が最も小さいリズムカテゴリを、入力リズムパターンが該当するリズムカテゴリである、と判定する(ステップS5)。つまり、ここでは、リズムパターン検索部214は、入力リズムパターンのリズムカテゴリが8分であると特定することになる。このように、リズムパターン検索部214は、ステップS2〜ステップS5を通じて、入力リズムパターンの該当する可能性が高いリズムカテゴリを特定する。このように、リズムパターン検索部214は、ユーザにより入力されたリズムパターンが表す発音時刻間隔の度数分布を表す入力時刻間隔ヒストグラム(本実施形態では図9A)と、データベースに予め記憶されたリズムパターンにおける発音時刻間隔の度数分布をリズム分類識別子(本実施形態におけるリズムカテゴリ)ごとに表すリズム分類ヒストグラム(本実施形態では図9B)との差分の絶対値を、リズム分類識別子ごとに求め、当該絶対値が最も小さいリズム分類識別子と対応付けられたリズムパターンのうち、類似の度合いが高いことを示す条件を満たすリズムパターンに対応付けられた楽音データを検索している。
次にリズムパターン検索部214は、リズムパターンテーブルに記述されたリズムパターンのうち、入力リズムパターンに対して、類似の度合いが高いリズムパターンを特定するために、リズムパターンテーブルに記述された全てのリズムパターンと入力リズムパターンとのズレの大きさを計算する(ステップS6)。ここで、ズレの大きさとは、入力リズムパターンにおける各オンセット時刻と、リズムパターンテーブルに記述された各々のリズムパターンにおける各オンセット時刻とがどれだけ離れているかを表す。つまり、上記ズレの大きさが小さい程、入力リズムパターンとリズムパターンテーブルに記述されたリズムパターンとにおける類似の度合いが高いこととなる。
また、ステップS5までの処理において、入力リズムパターンに該当する可能性が高いリズムカテゴリを特定する一方で、ステップS6の処理において全てのリズムカテゴリに属するリズムパターンレコードを計算の対象としている。その理由は、以下のとおりである。リズムパターンレコードに含まれるリズムパターンデータにおいては、1小節内に8分のオンセット時刻間隔と16分のオンセット時刻間隔がほぼ同数ある場合等のように、どちらのリズムカテゴリに属するのかが紙一重であるものが存在する。このような場合に、ステップS5において仮に入力リズムパターンに対するリズムカテゴリが正しく判定されなかったとしても、ステップS6において全てのリズムカテゴリに属するリズムパターンレコードを計算の対象とすることで、利用者が意図していたリズムパターンが正しく検出される可能性が高くなる。
ここで、ステップS6における処理を、図10を参照して説明する。図10は、リズムパターンにおけるズレの計算を説明するための模式図である。図10で示されるように、入力リズムパターンをAとして、リズムパターンレコードに記述されたリズムパターンをBとすると、AとBにおけるズレの大きさの計算は、以下の手順で行われる。
(1)リズムパターン検索部214は、リズムパターンAにおける各オンセット時刻を基準として、リズムパターンBにおける最も近いオンセット時刻との時刻差の絶対値を算出する(図10における(1))。
(2)リズムパターン検索部214は、(1)で算出した各絶対値の積分値を算出する。(3)リズムパターン検索部214は、リズムパターンBにおける各オンセット時刻を基準として、リズムパターンAにおける最も近いオンセット時刻との時刻差の絶対値を算出する(図10における(3))。
(4)リズムパターン検索部214は、(3)で算出した各絶対値の積分値を算出する。(5)リズムパターン検索部214は、(2)で算出した積分値と(4)で算出した積分値との平均値を、リズムパターンAとリズムパターンBとのズレとして算出する。
なお、実施形態においては、充分な数のリズムパターンを用意していないため、図10(3)に記載されているように、リズムパターン検索部214は、時刻差の絶対値が基準間隔(ここでは8分なので0.125)より大きいものは積分値を算出する際に用いないという処理を行っているが、充分な数のリズムパターンを用意できる場合には、上記処理は不要となる。リズムパターン検索部214は、リズムパターンテーブルに含まれる全てのリズムパターンレコードにおけるリズムパターンについて、上述した(1)〜(5)の計算を行う。
次に、リズムパターン検索部214は、ステップS4でリズムカテゴリ毎に算出した類似度距離と、ステップS6で算出したリズムパターンのズレとを乗算することで、リズムパターンテーブルに含まれる、特定されたパートにマッチするパートのパートIDを持つ全てのリズムパターンレコードについて、入力リズムパターンとの類似度距離を算出する(ステップS7)。ここで上述したように、入力リズムパターンをAとし、N番目のリズムパターンレコードにおけるリズムパターンをBとしたとき、ステップS7を式で表すと以下のようになる。なお、特定されたパートにマッチするパートとは、ユーザが検索対象として入力した1又は複数のパートに一致する1又は複数のパートに限られるものではなく、ユーザが検索対象として入力した少なくとも1パートに類似する1又は複数のパートをも含み得る。
AとBのリズムパターンの類似度距離=Aと、Bが所属するリズムカテゴリとの類似度距離×AとBとのリズムパターンのズレ
ここで、AとBのリズムパターンの類似度距離が小さいほど、BのリズムパターンがAのリズムパターンに類似している度合いが高いことを意味している。つまりここでは、AとBのリズムパターンの類似度距離が、類似の度合いを表している。以降、このリズムパターンの類似度距離が小さいことを、「類似の度合いが高い」ということがある。なお、この計算に際して、基本的には、ステップS5で入力リズムパターンが該当すると判定されたリズムカテゴリ内から、検索結果が出力されるように、以下のような処理が行われる。リズムパターン検索部214は、ステップS5で判定されたリズムカテゴリと、リズムパターンBの属するリズムカテゴリとが一致するかを判定し、一致しない場合には、上記計算式によって求められた類似度距離に予め定められた定数(例えば0.5)を加算する。このようにすれば、ステップS5で判定されたリズムカテゴリと一致しないリズムカテゴリに属するリズムパターンレコードについては、リズムパターン同士の類似度距離が大きく算出されるため、ステップS5で入力リズムパターンが該当すると判定されたリズムカテゴリ内から、検索結果が出力されやすくなる。
そして、リズムパターン検索部214は、入力リズムパターンとの類似度距離が小さい順番で、上記類似度距離が小さいリズムパターンデータを持つリズムパターンレコードを、所定個数だけ検索結果として出力し、これらをRAMに記憶させる(ステップS8)。この所定個数は、パラメータとして記憶部22に記憶されており、ユーザが操作部25を用いて変更可能としてもよい。次に検索情報処理部215は、ステップS8でRAMに記憶されたリズムパターンレコードにおけるリズムパターンIDとパートIDとに基づいてスタイルテーブルを検索し、特定したスタイルレコードを検索結果としてRAMに記憶させる(ステップS9)。例えばステップS8において、パートIDが「02」(コード)であり、リズムパターンIDが「0004」のリズムパターンレコードがRAMに記憶されると、これを受けて検索情報処理部215は、スタイルテーブルから、コードリズムパターンIDが「0004」のスタイルレコードを検索結果としてRAMに記憶させる。
図11A〜図11Cは、自動伴奏についての検索結果の一覧を表した模式図である。
図11Aは、利用者がコード入力音域鍵盤12を用いて入力したリズムパターンに基づいて、検索情報処理部215が検索結果として出力したスタイルレコードが、表示部24に表示された場合を表している。図11A〜図11Cにおいて、参考項目「類似度」は、入力リズムパターンと、検索結果であるスタイルレコードのリズムパターンとの間の類似度距離を表している。すなわち、「類似度」で表される数値が小さいほど、入力リズムパターンに類似する度合いが高いことを意味している。図11Aに示されるように、「類似度」の数値(ステップS7で算出されたリズムパターン同士の類似度距離)が小さい順番で、すなわち入力リズムパターンに対する類似の度合いが高い順番で、スタイルレコードが表示されている。ここにおいて利用者は、「キー」、「ジャンル」又は「BPM」のすくなくともいずれか1の項目を用いて、この検索結果をフィルタリングして表示させることが可能である。図11Aにおいて、利用者が任意のスタイルレコードを選択すると、情報処理装置20は、利用者がリズムパターンを入力した際のBPM(以降において入力BPMという)で、当該スタイルレコードに基づく音を音声出力部26から出力する。なお、検索結果を表示するにあたっては、必ずしも図11A〜図11Cに示されたように全ての参考項目(「類似度」、「キー」、「ジャンル」、「BPM」)を表示する必要はなく、一部の参考項目のみを表示する、あるいは全ての参考項目を表示しないようにしてもよい。検索結果(スタイルレコード)をフィルタリングして表示する場合も同様に、全ての参考項目(「類似度」、「キー」、「ジャンル」、「BPM」)を表示する必要はなく、一部の参考項目のみを表示する、あるいは全ての参考項目を表示しないようにしてもよい。
なお、制御部21は、利用者が入力BPMに近いBPMを持つスタイルレコードのみを検索結果として出力するためのフィルタリング機能を備えており、利用者は、操作部25を介して上記フィルタリング機能を任意にON/OFFすることが可能である。具体的には、上述したように各スタイルレコードには「BPM」が含まれているから、上記フィルタリング機能がONである場合、制御部21は、入力BPMの例えば0.7倍〜1.4倍のBPMを持つスタイルレコードのみを検索結果として表示する。なお、入力BPMに適用する上記係数の値0.7〜1.4は一例であり、その他の値であってもよい。
制御部21がこのようなフィルタリング機能を備える理由は、以下のようなものである。制御部21は、入力BPMと同一のBPMで、スタイルレコードに基づく楽音データを供給する。このとき、制御部21によって、スタイルレコードに基づく楽音データが本来のBPMとは大幅に異なるBPMで供給されると、上記楽音データに基づく音が音声出力部26によって放音される際に、利用者に違和感を与えてしまうことがある。例えば、利用者が、BPM240のテンポでリズムパターンを入力し、制御部21が上記リズムパターンを持つスタイルレコードを検索した結果、検索結果のスタイルレコードの本来のBPMが60であった場合を考える。この場合、検索結果のスタイルレコードに基づく音は、本来のBPMの4倍のBPMで音声出力部26によって放音されることになるため、音が本来のBPMの4倍速で早送り再生された状態となり、結果として利用者に違和感を与えることとなる。このような問題を解決するために、制御部21は、フィルタリング機能を備えているわけである。
図11Bは、図11Aの状態から、利用者が、フィルタリング機能をONにした状態を表している。図11Bでは、上述した0.7〜1.4という係数を用いて制御部21がフィルタリングを行っている。つまり、図11Bでは、入力BPMが100であるため、70〜140のBPMを持つスタイルレコードが、フィルタリングの結果として表示されている。このようにすることで、利用者は、入力BPMと近いBPMを持つスタイルレコードを検索結果として得ることができ、検索結果に対してより納得感を持てるようになる。
また、利用者は、初めに或るパートを指定して、入力リズムパターンに近いリズムパターンを持つスタイルレコードを検索(1回目の検索)した後に、初めに指定したパートと異なるパートを指定してリズムパターンを入力し、再び検索(2回目の検索)を行うことで、1回目の検索で出力されたスタイルレコードが2回目の検索によって絞り込まれた検索結果を得ることが可能である。例えば図11Cは、図11Aの検索結果が表示された状態において、利用者がパートにハイハットを指定してリズムパターンを入力した結果の表示内容を表している。図11Cにおける「類似度」は、各々のスタイルレコードにおいて、対象パートが「コード」である場合の類似度距離と、対象パートが「ハイハット」である場合の類似度距離とが加算された値となっている。なお、図11においては、「第1検索パート」及び「第2検索パート」という項目で表されるように、2つのパートを用いて検索可能なことを示しているが、検索の際に指定できるパートの数はこれに限ったものではない。また、利用者が、或るパートを指定して検索を行った後に、初めに指定したパート(第1検索パート)と異なるパート(第2検索パート)を指定してリズムパターンを入力した場合、情報処理装置20は、第1検索パートを用いた検索結果に関わらず、第2検索パートのみを用いた検索結果を出力(上書き検索という)するようにしてもよい。このような絞り込み検索と上書き検索とは、情報処理装置20の操作部25を介して、利用者により切り替え可能としてもよい。
以上が、検索機能がONの状態において、リズムパターン検索部214及び検索情報処理部215が、入力リズムパターンに基づいて、スタイルテーブルから特定のスタイルレコードを検索結果として出力する一連の処理についての説明である。
このように、本実施形態の情報処理装置20によれば、利用者が指定したパートについて、意図するリズムパターン(楽音発生パターン)との類似の度合が決められた条件を満たすようなリズムパターン(楽音発生パターン)で構成されたフレーズを持つ自動伴奏データを検索することができる。このとき、利用者は、複数の演奏操作子に対応付けられた各々異なるパートのうち任意のパートを指定してリズムパターン(クエリーパターン)を入力するため、特定のパートについてのリズムパターン(楽音発生パターン)を思いついたときに、このパートについてのリズムパターン(クエリーパターン)を入力して検索を行うことが可能となる。また、検索にあたり、利用者は、パートを指定してリズムパターン(クエリーパターン)を入力するだけでよいため、直感的かつ効率良く自動伴奏データを検索することが可能となる。
<変形例>
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
<変形例1>
実施形態においては、利用者が、複数の異なるパートを指定してリズムパターンを入力した場合、リズムパターン検索部214は、初めに指定されたパートに関する入力リズムパターンでスタイルレコードを検索(1回目の検索)した後に、1回目の検索結果として出力されたスタイルレコードに対して、初めに指定されたパートとは異なるパートに関する入力リズムパターンを用いて絞り込み検索(2回目の検索)を行っていたが、複数の異なるパートが指定された場合の検索方法は、これに限らない。実施形態における上述の処理は、利用者による演奏操作が、パート毎に順番に行われることを想定としていたが、利用者が、異なる複数のパートを同時に指定して演奏操作を行った場合、次のようにすればよい。リズムパターン検索部214は、利用者により指定された各パートのパートIDを持つリズムパターンレコードと、当該パートの入力リズムパターンとに基づいて、両者の類似の度合いを各々算出する。次にリズムパターン検索部214は、指定された各パートのリズムパターンレコードについて算出された類似の度合いを、上記リズムパターンレコードと対応付けられた共通のスタイルレコードごとに加算する。そして表示部24は、加算後の類似の度合いが一番高い(すなわち数値が最も小さい)スタイルレコードから昇順で表示する。例えば利用者が、バスドラムとスネアドラムのパートについて同時に演奏操作を行ってリズムパターンを入力した場合、リズムパターン検索部214は、バスドラムの類似の度合いとスネアドラムの類似の度合いをそれぞれ算出すると、共通のスタイルレコードごとに両者を加算する。このようにすれば、利用者は、複数のパートを同時に指定して、意図するリズムパターンとの類似の度合が決められた条件を満たすようなリズムパターンで構成されたフレーズを持つ自動伴奏データを検索することができる。
<変形例2>
実施形態においては、利用者がパートを指定してリズムパターンを入力することで、情報処理装置20は自動伴奏データを検索結果として出力していたが、これに限らず、利用者がパートを指定して入力したメロディパターンによって検索が行われるようにしてもよい。この場合、自動伴奏DB211には、メロディパターンテーブルなるテーブルが新たに含まれる。図12及び図13は変形例2に係る自動伴奏DBの内容を表す模式図である。図12はメロディパターンテーブルを表している。メロディパターンテーブルは、「パートID」、「楽器種類ID」、「メロディパターンID」、及び「メロディパターンデータ」という複数の項目からなる。「パートID」及び「楽器種類ID」は上述したものと同様である。「メロディパターンID」は、メロディパターンレコードを一意に識別する識別子であり、例えば4桁の数字からなる。メロディパターンデータは、1小節を構成するフレーズにおける構成音の、音高及び音長の並び(経時に沿った変化)が記録されたデータファイルであり、例えばテキストファイルに、構成音の音高及び音長の並びが記述されたものである。図13は変形例2に係るスタイルテーブルを表している。図13において、各スタイルレコードには、各パートについてのリズムパターンIDとともに、各パートについてのメロディパターンIDが含まれている。ここで、情報処理装置20がメロディパターンを検索するときには周知の方法のいずれかを用いればよい。例えば、利用者がパートにコードを指定して、「C−D−E」というコードシーケンスを入力した場合、情報処理装置20の制御部21は、当該コードシーケンスにおける音高の進行を「0−2−4」という相対的な数値で表したメロディパターンデータを持つメロディパターンレコードを検索結果として出力する。そして制御部21は、検索結果のメロディパターンレコードと対応付けられたスタイルレコードを表示部24に表示させる。
また、例えば利用者がパートにフレーズを指定して、「D−D−E−G」という単音のメロディパターンを入力した場合、制御部21は、入力されたメロディパターンを表すMIDI情報を生成する。このMIDI情報には、メロディパターンを構成する各構成音の音長及び音高に関する情報が含まれている。制御部21は、メロディパターンテーブルにおいて、この生成したMIDI情報と同一又は類似したメロディパターンデータを持つメロディパターンレコードを検索結果として出力する。そして制御部21は、検索結果のメロディパターンレコードと対応付けられたスタイルレコードを表示部24に表示させる。このようなメロディパターンによる検索と、実施形態のようなリズムパターンによる検索とは、その検索のモードを、情報処理装置20の操作部25を介して利用者により切り替え可能としてもよい。この更なる変形例として、利用者が入力するクエリーパターンは、メロディパターンを構成する各構成音の音高及びその発生順序のみを特定する(つまり、個々のノートの音長は詳しく特定せずに、大まかなメロディ進行のみを特定する)ものであってもよい。
<変形例3>
情報処理装置20が検索を行うにあたって、入力リズムパターンにおける音色と同一又は類似の度合いが高い音色を持つフレーズを持つ自動伴奏データを検索するようにしてもよい。この場合、リズムパターンテーブルの各リズムパターンレコードには、項目「音色ID」が追加される。利用者は、演奏操作子を用いてリズムパターンを入力する際に、音色を指定する。利用者が演奏操作を行うと、演奏操作が行われた際に指定された音色のIDが、MIDI情報の一部として情報処理装置20に入力される。情報処理装置20は、入力された音色IDに基づく音の音色と、リズムパターンテーブルにおける指定されたパートの各リズムパターンレコードにおける音色IDに基づく音の音色を比較し、比較結果における類似の度合いが予め定められた閾値よりも高いリズムパターンレコードを特定する。ここで、音色の比較については、各々の音の波形におけるスペクトラムを比較するなど、周知の方法を用いればよい。そして情報処理装置20は、特定したリズムパターンレコードのリズムパターンID及びパートIDに基づいてスタイルテーブルを検索し、スタイルレコードを特定する。このようにすれば、リズムパターンが類似していることに加え、指定したパートについて音色が類似した自動伴奏データを利用者は得ることが可能となる。
<変形例4>
実施形態においては、自動伴奏DBにおける音のデータはMIDI情報として記述されていたが、音そのものについてのデータであるオーディオファイルの格納場所が記述されていてもよい。この場合、オーディオファイルは、例えばWAVE(RIFF waveform Audio Format)やmp3(MPEG Audio Layer-3)といった音声ファイルフォーマットからなり、リズムパターンテーブルにおける各リズムパターンレコードに、オーディオファイルのファイルパスが記述される。そして、検索結果から、利用者によって或るスタイルレコードが再生対象として選択されると、このスタイルレコードにおける各パートについてのオーディオファイルが同期を取って再生される。このようにすれば、MIDI情報を用いる場合と比較して、利用者は、より高い音質の自動伴奏を得ることが出来る。
<変形例5>
自動伴奏データの再生にあたって、利用者が、操作部25を通じて操作を行うか、あるいはリズム入力装置10に設けられたフェーダー、つまみ、ホイール、ボタン等の操作子を操作することで、自動伴奏データを小節の頭から再生する頭出し再生機能を、情報処理装置20が備えていても良い。この場合、利用者により上記操作が行われると、再生制御部216が、自動伴奏データを小節の頭から再生するように制御する。この頭出し再生機能は、利用者が、自動伴奏音の先頭部分がどこなのかを確認したり、自動伴奏音の一部分だけを繰り返し再生対象とさせたりする場合に用いられる。
<変形例6>
自動伴奏データによっては、構成音の終了付近で波形の振幅(パワー)が0近くに収束されていないものがあり、この場合、構成音に基づく音声が出力された後に、クリップノイズが発生する場合がある。これを防ぐために、再生制御部216が、構成音の開始及び終了付近の一定範囲を自動でフェードイン又はフェードアウトする機能を有していてもよい。ここで利用者は、上記フェードイン又はフェードアウトを適用させるかどうかを、操作部25あるいはリズム入力装置10に設けられた何らかの操作子を介して選択可能である。
図14は、自動伴奏データにおける各構成音に対して、フェードアウトが適用された場合を表す模式図である。図14に示されるように、“フェード”と矢印で示された箇所に、フェードアウトが適用されることで、該当する箇所の波形の振幅が徐々に小さくなり、構成音の終了時刻においては振幅がほぼ0となっている。なお、各構成音について、フェードアウトが適用される期間は、数msecから数十msec程度の範囲内で、利用者により調整可能である。また、このフェードアウトを適用する処理は、利用者による演奏操作の前処理として行われてもよいし、リアルタイムの処理、又は後処理として行われてもよい。
<変形例7>
利用者が自動伴奏とともに行った演奏の結果を、再生制御部216が録音し、この録音した内容を、一般的に音源ループ素材で用いられているようなファイルフォーマットで出力可能としてもよい。このように自身の演奏を記録する機能があると、楽曲制作において、利用者は、自動伴奏とともに自らが行った演奏の結果を、データとして手に入れることが可能となる。
<変形例8>
実施形態においては、利用者の演奏操作によるトリガーデータと、自動伴奏DB221に記憶されたリズムパターンデータとの比較によって、リズムパターン検索部214が特定のリズムパターンレコードを検出していたが、これに限らず、リズムパターン検索部214は、利用者の演奏操作によるトリガーデータ及びベロシティデータの双方を用いて自動伴奏DB221を検索するようにしてもよい。この場合、同じリズムパターンを持つリズムパターンデータが2つ存在した場合に、各構成音のアタック強度が、利用者の演奏操作によるベロシティデータに、より近いリズムパターンデータと対応付けられたスタイルレコードが検索結果として検出される。このようにすれば、アタック強度についても、利用者がイメージしていたものに近い自動伴奏データが、検索結果として出力されることが可能となる。
<変形例9>
実施形態における、リズムパターン同士の類似度距離の計算方法は一例に過ぎず、異なる計算方法を用いてもよい。例えば、確実にリズムカテゴリが一致したリズムパターンレコードが検索結果として出力されるように、入力リズムパターンに該当するリズムカテゴリを判定した後、判定結果のリズムカテゴリに属するリズムパターンレコードのみを対象として、リズムパターンのズレの計算(ステップS6)、及びリズムパターン同士の類似度距離の計算(ステップS7)が行われるようにしてもよい。このようにした場合、実施形態と比較して検索の精度は落ちるが、計算量が少なくてすむため、情報処理装置20における負荷が下がるとともに、利用者にとっての応答時間も短くなる。
<変形例10>
また、リズムパターン検索部214が自動伴奏DB221を検索するにあたって、トリガーデータ及びベロシティデータに加えて、同一の音が鳴り続ける長さを表すデュレーションデータを用いてもよい。ここで、各構成音におけるデュレーションデータは、オフセット時刻から直前のオンセット時刻を差し引いた時間の長さで表される。デュレーションデータは、リズム入力装置10における入力手段が鍵盤である場合に、情報処理装置20がオフセット時刻を明確に取得することが可能であるため、特に有効に活用することができる。この場合、図5のリズムパターンテーブルにおいて、「デュレーションパターンデータ」という項目が追加されることとなる。デュレーションパターンデータは、1小節を構成するフレーズにおける各構成音の鳴り続ける長さが記録されたデータファイルであり、例えばテキストファイルに、各構成音の鳴り続ける長さが記述されたものである。この場合、情報処理装置20は、利用者により入力された、1小節におけるデュレーションのパターンを用いて、リズムパターンテーブルから、上記入力されたデュレーションのパターンと最も類似するデュレーションパターンデータを持つリズムパターンレコードを検索結果として出力するようにすればよい。このようにすれば、類似したリズムパターンを持つリズムパターンレコードが複数存在しても、情報処理装置20が、スラー(伸ばす)のあるリズムパターンや、スタッカート(はねる)のあるリズムパターン等を識別して検索結果として出力することが可能となる。
<変形例11>
パート特定部213が、受け取ったMIDI情報に基づいてパートを特定する際に、次のようなパラメータを更に用いてもよい。図15A、図15Bは、変形例11におけるパートテーブルの内容を表す模式図である。図15Aでは、「コード」及び「フレーズ」のパートだけでなく、「バスドラム」のパートにも「45」より上のノートナンバーが割り当てられている。また、パートテーブルには「デュレーション」という項目が追加されている。そして、図示されているように、利用者が、1小節内の、更に予め定められた期間(例えば100msec)において、「45」より上のノートナンバーを持つ鍵盤のうち複数の鍵盤を演奏操作したときに、パート特定部213は、デュレーションが長い場合には指定されたパートが「コード」であると特定し、デュレーションが短い場合には指定されたパートが「バスドラム」であると特定する。このとき、デュレーションの「長い/短い」の判定は、予め定められた閾値に基づいて、パート特定部213が判断すればよい。
なお、図15Aでは、利用者が複数の鍵盤を演奏操作したときに、デュレーションの「長い/短い」によって各々異なるパートが割り当てられているため、上述したように、利用者による演奏操作が予め定められた期間(例えば100msec)に行われることを前提としている。しかし、利用者が単数の鍵盤を演奏操作したときに、デュレーションの「長い/短い」によって各々異なるパートが割り当てられる場合には、利用者による単数の鍵盤に対しての演奏操作は、予め定められた期間(例えば100msec)に行われる必要はなく、1小節内に行われるものであればよい。また、デュレーションが「長い」場合に対応したパートを利用者が入力したい場合に、閾値の設定によって、利用者が入力するリズムパターンが、意図するもの以上に長くなってしまうことがある。このようなことを抑制し、利用者が演奏操作を行う際に自然な感じを得られるように、デュレーションの「長い/短い」を判定するための閾値を、オペレーターが予め実験的に求めればよい。なお、上記閾値を超えるような極端にデュレーションが長い状態で利用者によりリズムパターンが入力された場合、以下のようにしてもよい。パートが例えばコードであった場合、制御部21が、コードのパートから、持続音から成り立つリズムパターンであって、入力されたリズムパターンに近いリズムパターンを検索する。また、パートが例えばフレーズであった場合、制御部21が、フレーズのパートから、シンセサイザー等のような、単音かつ持続音でピッチが連続的に変化するようなフレーズから成り立つリズムパターンであって、入力されたリズムパターンに近いリズムパターンを検索する。また、パートが例えばスネアドラムであった場合、制御部21が、スネアドラムのパートから、ドラムロールのリズムパターンを検索する。このようにすれば、極端に長いデュレーションの入力に対しても、対応したリズムパターンの検索が行われることで、利用者にとって楽音の検索方法のバリエーションが増えることとなる。
この場合、リズム入力装置10におけるクエリーパターン入力用の操作子として、鍵盤と組み合わせてピッチベンドホイールを用いてもよい。例えば、鍵盤で或る鍵を押下したまま、ピッチベンドホイールでピッチ変動させることにより、ピッチベンドするフレーズパターン(メロディパターン)を検索用のクエリーパターンとして入力できるようにしてもよい。あるいは、XYパッドのX軸を時間軸とし、Y軸をピッチ軸として、離散的パターン又は連続的パターンをグラフィカルに描くことにより、検索用のクエリーパターンを入力できるようにしてもよい。
また、図15Bでは、「コード」及び「フレーズ」のパートだけでなく、「スネアドラム」のパートにも「45」より上のノートナンバーが割り当てられている。また、パートテーブルには「ベロシティ」という項目が追加されている。この場合、利用者が、1小節内において、「45」より上のノートナンバーを持つ鍵盤のうち単数の鍵盤を演奏操作したときに、パート特定部213は、ベロシティが弱い場合には、指定されたパートが「フレーズ」であると特定し、ベロシティが強い場合には、指定されたパートが「スネアドラム」であると特定する。このとき、ベロシティの「強い/弱い」の判定は、デュレーションの場合と同様、予め定められた閾値に基づいてパート特定部213が判断すればよい。なお、上述した閾値については、予め記憶部22に記憶されていてもよいし、操作部25を通じて利用者により変更可能としてもよい。また、デュレーションやベロシティの内容によって、どのパートが割り当てられるかについて、上記の例に限らず、操作部25を通じて利用者により変更可能としてもよい。このようにすれば利用者は、予め定められた期間において操作された操作子が単数か複数か、といった操作形態に限らず、演奏操作の継続時間や演奏操作の強度といった操作形態の違いによっても、各々異なるパートのうちいずれかを指定することが可能となる。また、複数種類の異なる操作形態のうちの1又は複数の組み合わせに基づいて、利用者による操作形態を判定するようにしてもよい。
<変形例12>
なお、実施形態(図9A、図9B)においては、入力時刻間隔ヒストグラムと発音時刻間隔ヒストグラムとの差分の絶対値が最も小さいことを、入力時刻間隔ヒストグラムに対する発音時刻間隔ヒストグラムの類似の度合いが高いと判断していたが、両者の類似の度合いが高いことを示す条件は、上記のような両ヒストグラムの差分の絶対値に限らず、両ヒストグラムの各時刻間隔成分の積などの相関度が最も大きいとか閾値を超えるといったことや、両ヒストグラムの差分の2乗が最も小さいとか閾値未満であるといったこと、両ヒストグラムの各時刻間隔成分における値が類似していることを示すような条件であれば、どのような条件を用いてもよい。
<変形例13>
実施形態においては、リズム入力装置10から入力されたリズムパターンに従って、情報処理装置20が、当該リズムパターンに類似するリズムパターンを持つリズムパターンレコードを検索し、このリズムパターンレコードに対応付けられたスタイルレコードを検索結果として出力していたが、次のようにしてもよい。例えば、上記実施形態に相当する内容をウェブサービスによって実施する場合、実施形態において情報処理装置20が備える機能を、当該ウェブサービスを提供するサーバ装置が備えることとなる。そして、利用者の操作によって、クライアント装置である自端末(例えばPC)が、インターネットや専用線等を介して、指定されたパートについての入力リズムパターンを上記サーバ装置に送信する。サーバ装置は、受信したパートと入力リズムパターンとに基づいて、記憶手段から当該入力リズムパターンに類似するリズムパターンを持つリズムパターンレコードを検索し、このリズムパターンレコードと対応付けられたスタイルレコードを検索結果として自端末に送信する。そして自端末は、受信したスタイルレコードに基づく音を出力する。なお、この場合、サーバ装置の提供するウェブサイトやアプリケーションにおいて、小節線クロックが利用者に提示されるようにすればよい。
<変形例14>
リズム入力装置10における演奏操作子は、利用者が演奏操作したときに、少なくともトリガーデータを出力するものであれば、鍵盤及びパッドのような形状に限らず、弦楽器、吹奏楽器、あるいはボタンなどの形状であってもよい。また、その他に演奏操作子はタッチパネルであってもよく、この場合、タッチパネルを備えたタブレットPC、スマートフォン、携帯電話等がリズム入力装置10に代わる入力装置となる。
ここで、演奏操作子がタッチパネルである場合の例を考える。タッチパネルにおいては、その画面上に複数のアイコンが表示されることがある。ここで、各アイコンに楽器や楽器の操作子(鍵盤など)の画像が表示されるようにすれば、利用者は、どのアイコンをタッチすればどのような楽器や楽器の操作子に基づく楽音が発せされるのかが分かるようになる。このようにした場合、タッチパネルにおいて上記各アイコンが表示される各々の領域が、実施形態における演奏操作子の各々と対応することとなる。換言すれば、リズム入力装置10としてタッチパネルを使用する場合は、タッチパネルの表示画面を複数領域に分割し、分割された各領域に対する利用者の操作形態に応じて検索対象とするパートを特定するようにしてもよい。
また、リズム入力装置10における演奏操作子として、ピッチベンドホイールを用いてもよい。別の例として、リズム入力装置10(クエリーパターン入力装置)としては、手動操作可能な演奏操作子からなるものに限らず、マイクロホンを用いた音声入力装置あるいは光信号発生装置などを用いてもよい。その場合、ユーザによる音声発音タイミングに応じた入力リズムパターン(クエリーパターン)が生成される、あるいは、ユーザ操作による光信号発生タイミングに応じた入力リズムパターン(クエリーパターン)が生成される。更に、リズム入力装置10(クエリーパターン入力装置)としては、メトロノーム等のテンポ情報に合わせてリアルタイムにリズムパターン(クエリーパターン)を入力する方式に限らず、エディタ画面上で所望のリズムパターン(クエリーパターン)をグラフィカルに入力する(例えば、画面上に表示された時間軸上で所望のタイミングをグラフィカルに指摘する、又は所望のパターンをグラフィカルに入力する)ようにしてもよい。
さらに、クエリーパターンを入力する形態は、ユーザが直接指定するものに限られない。例えば、リズム入力装置10が操作子としてボタンを備える場合、リズム入力装置10の表示画面に提示される自動伴奏データの中からユーザに所望の自動伴奏データをボタンで選択させ、その選択されたデータのパターンをクエリーパターンとして検索を行う構成が採用されてもよい。また、選択する対象として、自動伴奏データの一部のパートのパート演奏データをボタンで選択するようにしてもよい。あるいは、入力リズムパターンやその名前などを表示し、入力リズムパターンを直接ボタンで指定させるようにしてもよい。
<変形例15>
実施形態では、入力BPMと同一のBPMで、制御部21によってスタイルレコードに基づく楽音データが供給されていた。これに対して、スタイルレコードには本来のBPMが情報として含まれているから、利用者は、操作部25を介した操作により、スタイルレコードに基づく楽音データを、本来のBPMで制御部21から供給させるようにしてもよい。また、検索結果から特定のスタイルレコードが利用者により選択されると、選択された直後は、制御部21が、入力BPMと同一のBPMでスタイルレコードに基づく楽音データを供給し、時間の経過に伴って、BPMがスタイルレコードの持つ本来のものに徐々に近づくようにして、スタイルレコードに基づく楽音データを供給するようにしてもよい。
<変形例16>
実施形態においては、制御部21が、利用者が入力BPMに近いBPMを持つスタイルレコードを検索結果として出力するためのフィルタリング機能を備えていた。利用者が検索結果に対してより納得感を持てるようにするための方法はこれに限ったものではない。例えば、入力リズムパターンとリズムパターンテーブルに含まれるリズムパターンレコードとの類似度距離を求める算出式に、入力BPMとスタイルレコードの持つBPMとの近さに基づく重み付けを導入してもよい。ここで、aを予め定められた定数とし、入力リズムパターンとリズムパターンテーブルに含まれるリズムパターンレコードとの類似度距離をLとすると、上記重み付けを導入した図11における類似度距離を求める計算式は、例えば以下のように表せる。
類似度距離=L+|入力BPM−スタイルレコードの持つBPM|/a
なお、上記類似度距離を求める計算式は上記に限ったものではなく、入力BPMとスタイルレコードの持つBPMとが近いほど類似度が小さくなる(すなわち類似の度合いが高くなる)ような計算式であればよい。
<変形例17>
リズム入力装置10が入力パッド14を備えない場合、リズム入力装置10が次のような構成を取ってもよい。この場合、デフォルトの状態では鍵盤200には、ベース入力音域鍵盤11及びメロディ入力音域鍵盤12が所定の範囲に各々割り当てられている。ここで利用者が、操作部25を介してドラムのパートの入力を行う旨を指示すると、制御部21は、鍵盤200の所定の範囲にドラムのパートを割り当てる。例えば、制御部21は、C3にバスドラムのパートを割り当て、D3にスネアドラムのパートを割り当て、E3にハイハットのパートを割り当て、F3にシンバルのパートを割り当てる、といった具合である。なお、この場合、制御部21は、鍵盤200の全範囲における操作子(すなわち各鍵)に、各々異なる楽器音を割り当てることが可能である。ここで制御部21が、鍵盤200における各操作子(各鍵)の上部や下部に、割り当てられる楽器音に関する画像(例えばスネアドラムの画像)を表示するようにしてもよい。
<変形例18>
実施形態では、図8の処理フローにおいて、リズムカテゴリ毎のオンセット時刻間隔の分布を計算(ステップS1)した後に、入力リズムパターンにおけるオンセット時刻間隔の分布を計算していた(ステップS3)が、ステップS1とステップS3の順番を入れ替えてもよい。また、処理ステップの入れ替えに関わらず、リズムパターン検索部214が、リズムカテゴリ毎のオンセット時刻間隔の分布を計算した後、計算結果をRAMや記憶部22に記憶させるようにしてもよい。このようにすれば、リズムパターン検索部214は一度計算した結果を再度計算する必要がなく、処理速度の向上を見込むことが可能となる。
<変形例19>
例えば、利用者がベース入力音域鍵盤11において、和音となるように鍵盤を押下したとき等のように、利用者が所定時間内において複数の操作子を操作してリズムパターンを入力する場合には、次のような問題がある。例えば、1小節において、利用者が「0.25」のタイミングでリズムを入力したかったとする。ここで、利用者が、自身では同一のタイミングのつもりで複数の操作子を操作しても、実際には、或る操作子が「0.25」のオンセット時刻で操作され、他の操作子が「0.26」のオンセット時刻で操作された場合、制御部21は、これらのオンセット時刻のとおりに入力リズムパターンを記憶してしまう。このような場合、利用者が意図していたものとは異なる検索結果が出力される可能性があり、利用者にとっては操作性がよいものとはいえない。これに対して、次のようにしてもよい。
変形例19において、パート特定部213は、リズム入力装置10から入力されるオンセット情報と、自動伴奏DB211に含まれるパートテーブルとに基づいて、同一のタイミングにおいて同じパートにおける複数の操作子に対して操作が行われたか否かを判定する。例えば、パート特定部213は、ベース入力音域鍵盤11に含まれる操作子のうち、或る操作子のオンセット時刻と他の操作子のオンセット時刻との差分が所定時間内に収まる場合、これらの操作子が同一のタイミングで操作されたと判定する。ここで所定時間とは、例えば50msec(ミリ秒)である。そしてパート特定部213は、上記判定の結果、これらの操作子に対する操作を同一のタイミングにおける操作であるとみなす旨の情報を、該当するオンセット時刻を持つトリガーデータと対応付けてリズムパターン検索部214に出力する。リズムパターン検索部214は、同一のタイミングにおける操作であるとみなす旨の情報が対応付けられたトリガーデータのうち、開始時刻が遅い方のオンセット時刻を持つトリガーデータを除外した入力リズムパターンを用いてリズムパターン検索を行う。つまり、この場合、利用者の所定時間内の操作に基づくオンセット時刻のうち、開始時刻が早い方のオンセット時刻がリズムパターン検索に用いられることとなる。また、これに限らず、利用者の所定時間内の操作に基づくオンセット時刻のうち、開始時刻が遅い方のオンセット時刻がリズムパターン検索に用いられるようにしてもよい。つまり、リズムパターン検索部214は、利用者の所定時間内の操作に基づく複数のオンセット時刻のいずれかを用いてリズムパターン検索を行うようにすればよい。また、リズムパターン検索部214が、利用者の所定時間内の操作に基づく複数のオンセット時刻の平均を求め、この平均値を、上記利用者の所定時間内の操作におけるオンセット時刻として、リズムパターン検索を行うようにしてもよい。このようにすれば、利用者が所定時間内において複数の操作子を用いてリズム入力を行った場合であっても、利用者が意図していたものと近い検索結果が出力されるようにすることが可能となる。
<変形例20>
入力リズムパターン記憶部212が小節単位で入力リズムパターンを記憶するタイミングを、小節線クロックに基づく小節の切り替えタイミングと同じものすると、以下のような問題が生じることがある。例えば、利用者の操作によってリズムパターンが入力される場合、利用者が自身で感じている時刻間隔と小節線クロックとのズレによって、利用者が意図していたリズムパターンと実際のオンセット時刻との間に数msec〜数十msecの誤差が生じる。従って、例えば、利用者が小節頭の拍を入力しているつもりでも、上記誤差によって1つ前の小節のリズム入力として扱われてしまうことがあり、この場合、このリズム入力は入力リズムパターンとして記憶されないことがある。このような場合、利用者が意図していたものと異なる検索結果が出力されてしまい、利用者にとって操作性がよいとはいえない。このような問題に対しては、入力リズムパターン記憶部212がRAMに入力リズムパターンを記憶させる際に、小節の頭よりも数十msec早い時点(すなわち直前の小節における最後の数十msec)から、最後の数十msecを除く小節の終わりまでを処理の対象範囲とすればよい。つまり、入力リズムパターン記憶部212は、RAMに記憶させる入力リズムパターンの対象範囲を数十msec分だけ前にずらすこととなる。このようにすれば、利用者が意図していたものと異なる検索結果が出力されることを少なくすることができる。
<変形例21>
リズムパターン検索部214がリズムパターン検索を行うタイミングを、小節線クロックに基づく小節の切り替えタイミングと同じものすると、以下のような問題が生じることがある。例えば、本発明における検索方法は、検索結果の楽音データが、リズム入力の直後の小節で小節線クロックと同期して再生されるようなプレイバック機能を備えた楽音データ処理装置にも応用可能である。この場合、リズム入力の直後の小節における頭から検索結果の楽音データが再生されるには、上記小節の頭の時点より以前、つまりリズム入力が行われた小節内で検索結果が出力される必要がある。また、RAMの記憶容量の問題等により、事前に再生対象である楽音データを予め読み込んでRAMに記憶させておくことが不可能な場合には、リズム入力が行われた小節内で検索結果の楽音データを読み込んでRAMに記憶させる必要がある。このような問題に対しては、リズムパターン検索部214がリズムパターン検索を行うタイミングを、小節の切り替えタイミングよりも、例えば数十msec早いものとすればよい。このようにすれば、小節の切り替えが行われる前に検索が行われ、検索結果の楽音データがRAMに記憶されることで、リズム入力の直後の小節における頭から検索結果の楽音データが再生されることが可能となる。
<変形例22>
実施形態においては、入力リズムパターンを1小節単位としたが、複数小節(N小節とする)に跨るリズムパターンを検索できるように、以下のようにしてもよい。この場合、例えば、リズムパターン検索部214が、N小節のまとまりを持った入力リズムパターンを用いてリズムパターンテーブルを検索する方法がある。しかしこの方法では、利用者が、小節線クロックに合わせてリズムパターンを入力する際に、1小節目がどこかを指定する必要がある。また、検索結果がN小節後に出力されるため、検索結果が出力されるまでに時間がかかってしまう。これに対して、次のようにしてもよい。
変形例22において、自動伴奏DB221におけるリズムパターンテーブルには、N小節に跨るリズムパターンデータを持つリズムパターンレコードが含まれている。また、利用者は、操作部25を用いて、検索するリズムパターンの小節数を指定する。この指定内容は、例えば表示部24に表示される。ここで例えば、利用者が、検索するリズムパターンの小節を「2小節」と指定したとする。利用者によって操作子を用いてリズムが入力されると、リズムパターン記憶部212は、まず、1小節目の入力リズムパターンを記憶する。そしてリズムパターン検索部214が、1小節目の入力リズムパターンに基づいてリズムパターンを検索する。この検索の手順は以下のようなものである。リズムパターン検索部214は、2小節に跨るリズムパターンデータを持つリズムパターンレコードを対象として、1小節目の入力リズムパターンと、各リズムパターンデータにおける1小節目のリズムパターン及び2小節目のリズムパターンとの類似度距離を算出する。そしてリズムパターン検索部214は、各リズムパターンデータについて算出した、1小節目の入力リズムパターンと上記1小節目のリズムパターンとの類似度距離、及び1小節目の入力リズムパターンと上記2小節目のリズムパターンとの類似度距離のうち、それぞれ小さい方の類似度距離を、リズムパターンデータごとにRAMに記憶させる。リズムパターン検索部214は、2小節目の入力リズムパターンについても同様の処理を行う。そしてリズムパターン検索部214は、RAMに記憶された上記類似度距離をリズムパターンデータごとに加算すると、加算後の値を、各リズムパターンデータにおける入力リズムパターンに対する類似度距離を表すスコアとする。そして検索情報処理部215が、上記スコアが予め定められた閾値以下であるリズムパターンを、スコアの小さい順に並べ替えて検索結果として出力する。このようにすれば、複数小節に跨るリズムパターンを検索することが可能となる。このとき、1小節ごとに入力リズムパターンとリズムパターンデータとの類似度距離が算出されるため、利用者は1小節目がどこかを指定する必要がなく、また、検索結果が出力されるまでに時間がかかることもない。
<変形例23>
変形例2において、利用者がパートを指定して入力したメロディパターンによって検索が行われるものとしたが、これに限らず、利用者がパートを指定して入力したリズムパターンによって検索が行われた結果のうち、上記メロディパターンがより類似したスタイルレコードが検索結果として出力されるようにしてもよい。変形例23のスタイルテーブルにおける各スタイルレコードは、変形例2と同様、図13に示されるように、各パートについてのリズムパターンIDとともに、各パートについてのメロディパターンIDを含んでいる。また、前述したように、オンセット情報には、トリガーデータ以外に鍵盤のノートナンバーが含まれている。このうち、トリガーデータにおけるオンセット時刻の並びが入力リズムパターンに相当し、鍵盤のノートナンバーの並びが入力メロディパターンに相当する。
変形例23では、図8のリズムパターン検索部214及び検索情報処理部215が行う検索処理のフロー図において、次のような処理が追加される。例えば利用者が、ベース入力音域鍵盤11における鍵盤を操作して、「ドミソミ」というメロディを、4分のリズムで入力していたとする。このときの入力メロディパターンは、例えば「60,64,67,64」というノートナンバーの並びで表される。ここでは、パートがベースであるため、リズムパターン検索部214は、ステップS6において、メロディパターンテーブルのうち、パートIDが「01(ベース)」であるメロディパターンレコードを比較対象として、比較対象のメロディパターンレコードに含まれるメロディパターンデータと、入力メロディパターンとのズレを算出する。
リズムパターン検索部214は、入力メロディパターンと、パートIDが「01(ベース)」である各メロディパターンレコードに含まれるメロディパターンデータが表すメロディパターン(以降、音源のメロディパターンという)との音高の差分の分散を求める。これは、両者の音高の差分にバラつきが少ないほど、メロディパターンが類似しているとみなせる、という考えに基づいている。例えば、入力メロディパターンが上述したように「60,64,67,64」で表され、或る音源のメロディパターンが「57,60,64,60」で表されたとする。すると、以下の式(1)で音高の差分の平均値を求めることで、式(2)により音高の差分の分散を求めることができる。
((|60−57|)+(|64−60|)+(|67−64|)+(|64−60|))/4=3.5・・・式(1)
((|3.5−3|)2+(|3.5−4|)2+(|3.5−3|)2+(|3.5−
4|)2)/4=0.25・・・式(2)
上記式で表されるように、「60,64,67,64」で表される入力メロディパターンと、「57,60,64,60」で表される音源のメロディパターンとの音高の差分の分散は、「0.25」となる。リズムパターン検索部214は、このような音高の差分の分散を、音源のメロディパターンの全てについて算出する。
次に、ステップS7において、リズムパターン検索部214は、メロディパターンを考慮した場合の、入力リズムパターンと検索結果のリズムパターンとの類似の度合いを求める。ここで、メロディパターンを考慮しない場合の、入力リズムパターンと検索結果のリズムパターンとの類似の度合いをSと定義し、上記音高の差分の分散をVと定義すると、メロディパターンを考慮した場合の、入力リズムパターンと検索結果のリズムパターンとの類似の度合いSpは、変数x、定数yを用いて以下の式(3)で表せる。ここで、0<x<1であり、y>0である。
Sp=(1−x)S+xyV・・・式(3)
変数xが0の場合、上記式は「Sp=S」となるため、求められる類似の度合いは、メロディパターンを考慮しない場合のものとなる。一方、xが1に近づくにつれて、上記式で求められる類似の度合いは、よりメロディパターンを考慮した場合のものとなる。変数xの大きさは、利用者が操作部25を用いて変更可能としてもよい。なお、式(3)においては、上記音高の差分の分散に代えて、音高の差分の平均誤差を用いてもよい。そして検索情報処理部215は、検索結果であるスタイルレコードを、メロディパターンを考慮した場合の、検索結果のリズムパターンと入力リズムパターンとの類似の度合いが高い(類似度距離が小さい)順番で並び替えると、RAMに記憶させる。
また、入力メロディパターンにおけるオンセット時刻及びオンセットの個数と、音源のメロディパターンを構成する各ノートのオンセット時刻及びノートの個数とが一致するとは限らない。このような場合、リズムパターン検索部214は、以下のようにして、入力メロディパターンの各オンセットに、音源メロディパターンのどのノートが対応しているかを決定する。
(1)リズムパターン検索部214は、入力メロディパターンの各ノートのオンセット時刻を基準として、音源のメロディパターンにおける最も近いオンセット時刻のノートとの音高の差分を算出する。
(2)リズムパターン検索部214は、音源のメロディパターンの各ノートのオンセット時刻を基準として、入力メロディパターンにおける最も近いオンセット時刻のノートとの音高の差分を算出する。
(3)リズムパターン検索部214は、(1)で算出した差分と(2)で算出した差分との平均値を、入力メロディパターンと音源のメロディパターンとの音高の差分として算出する。
なお、計算量を抑えるために、上記(1)若しくは(2)のいずれかのみを用いて音高の差分が算出されるようにしてもよい。
このようにすれば、利用者が意図したリズムパターンのみならず、メロディパターンについても利用者が意図したものと近いスタイルレコードが検索結果として出力されることとなる。利用者は、入力リズムパターンとリズムパターンは同じだが、メロディパターンが異なるようなスタイルレコードを検索結果として得ることが可能となる。
=入力リズムパターンとリズムカテゴリとの類似度距離の算出方法=
入力リズムパターンとリズムカテゴリとの類似度距離の算出方法は一例に過ぎず、異なる計算方法を用いてもよい。以下には、その算出方法のバリエーションを記載する。
<カテゴリに特有の入力時刻間隔の個数>
<変形例24>
変形例24において、制御部21は、入力リズムパターンにおいて比較対象のリズムカテゴリを象徴するオンセット時刻間隔が含まれる個数に基づいて、入力リズムパターンと各リズムカテゴリとの類似度距離を算出する。図16は、オンセット時刻間隔テーブルの一例を表す図である。オンセット時刻間隔テーブルは記憶部22に予め記憶されている。オンセット時刻間隔テーブルは、リズムカテゴリの分類を示す名称と、各リズムカテゴリにおいて対象となるオンセット時刻間隔との組み合わせからなる。なお、ここでは1小節を48に等分して正規化したものとしてオンセット時刻間隔テーブルの内容が予め決められている。
例えば、ここで、上述した方法により、制御部21が、入力リズムパターンにおけるオンセット時刻からオンセット時刻間隔を算出し、算出結果にクオンタイズを施した結果、以下の(a)で表す数値群を算出したとする。
(a)12,6,6,6,6,6
制御部21は、算出した数値群と、図16に示すオンセット時刻間隔テーブルとに従って、4分のオンセット時刻間隔が1個、8分のオンセット時刻間隔が5個であると特定する。そして制御部21は、以下の式(4)に従って、入力リズムパターンと各リズムカテゴリとの類似度距離を算出する。
入力リズムパターンとリズムカテゴリNとの類似度距離=1−(入力リズムパターンにおけるリズムカテゴリNの対象となるオンセット時刻間隔の個数/入力リズムパターンにおけるオンセット時刻間隔の総数)・・・(4)
上述した式は一例であり、対象となるオンセット時刻間隔がより多く含まれているリズムカテゴリほど、入力リズムパターンとの類似度距離が小さく算出されるものであればよい。式(4)に従った結果、制御部21は、例えば入力リズムパターンと8分のリズムカテゴリとの類似度距離を、0.166と算出する。また、式(4)に従った結果、制御部21は、例えば入力リズムパターンと4分のリズムカテゴリとの類似度距離を、0.833と算出する。制御部21は、このようにして入力リズムパターンと各リズムカテゴリとの類似度距離を算出し、最も類似度距離が小さく算出されたリズムカテゴリに入力リズムパターンが属する、と判定する。
<DBリズムカテゴリと入力リズムカテゴリとのマトリクス>
<変形例25>
入力リズムパターンとリズムカテゴリとの類似度距離の算出方法は、上述したものに限らず、次のようにしてもよい。変形例25では、類似度距離参照表なるものを記憶部22が記憶している。図17は、類似度距離参照表の一例を表す図である。類似度距離参照表では、入力リズムパターンの属し得るリズムカテゴリと、自動伴奏DB222に記憶された各リズムパターンレコードが属し得るリズムカテゴリとの類似度距離が、マトリクス状に表されている。例えば、制御部21が、入力リズムパターンが属するリズムカテゴリを8分と判定したとする。制御部21は、判定結果である入力リズムパターンが属するリズムカテゴリと、類似度距離参照表とに基づいて、入力リズムパターンと各リズムカテゴリとの類似度距離を特定する。例えば、この場合、制御部21は、入力リズムパターンと4分のリズムカテゴリとの類似度距離を「0.8」と特定し、入力リズムパターンと8分のリズムカテゴリとの類似度距離を「0」と特定する。これにより、制御部21は、8分のリズムカテゴリが入力リズムパターンと最も類似度距離が小さいと判定する。
<カテゴリに特有の入力時刻とスコアに基づく>
<変形例26>
入力リズムパターンとリズムカテゴリとの類似度距離の算出方法は、上述したものに限らず、次のようにしてもよい。変形例26において、制御部21は、入力リズムパターンにおいて比較対象のリズムカテゴリを象徴するオンセット時刻が含まれる個数に基づいて、入力リズムパターンと各リズムカテゴリとの類似度距離を算出する。図18は、オンセット時刻テーブルの一例を表す図である。オンセット時刻テーブルは記憶部22に予め記憶されている。オンセット時刻テーブルは、リズムカテゴリの分類を示す名称と、各リズムカテゴリにおいて対象となるオンセット時刻と、入力リズムパターンに対象となるオンセット時刻が含まれる場合に加算するスコアとの組み合わせからなる。なお、ここでは1小節を48に等分して正規化したものとしてオンセット時刻テーブルの内容が予め決められている。
例えば、制御部21が、入力リズムパターンから、(b)で示すオンセット時刻を得たとする。
(b)0,12,18,24,30,36,42
制御部21は、このオンセット時刻とオンセット時刻テーブルとに基づいて、各リズムカテゴリに対する入力リズムパターンのスコアを算出する。ここでは、制御部21は、4分のリズムカテゴリに対するスコアとして「8」を算出し、8分のリズムカテゴリに対するスコアとして「10」を算出し、8分3連のリズムカテゴリに対するスコアとして「4」を算出し、16分のリズムカテゴリに対するスコアとして「7」を算出する。そして制御部21は、算出したスコアが最も高いリズムカテゴリを、入力リズムパターンとの類似度距離が最も小さいリズムカテゴリであると判定する。ここでは、制御部21は、入力リズムパターンが8分のリズムカテゴリと最も類似度距離が小さいと判定する。
以上が、入力リズムパターンとリズムカテゴリとの類似度距離の算出方法のバリエーションについての説明である。
<変形例27>
本発明は、楽音データ処理装置以外にも、これらを実現するための方法や、コンピュータに図4に示した機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
<その他の変形例>
実施形態においては、ステップS6におけるリズムパターンのズレの計算において、Aを基準としたBの時刻差と、Bを基準としたAの時刻差との2つを用いていたが(symmetric Distance方式という)、これに限らず、両者のうちどちらか一方のみを用いて計算を行ってもよい。
また、MIDIデータを用いて検索又は再生を行う場合、マルチトラックで複数のパートの演奏データを再生するものにおいて、特定のトラックに対して検索を行うようにしてもよい。
また、リズムカテゴリの判定(ステップS2〜ステップS5)を省略して、リズムパターンのズレの計算(ステップS6)の結果のみを用いて、ステップS7におけるリズムパターン同士の類似度距離を行ってもよい。
また、リズムパターンのズレの計算(ステップS6)において、算出されたズレの値に、相当する構成音のアタック強度を乗算することで、より強いアタック強度を持つ構成音を含むリズムパターンレコードが、検索結果の候補から外れやすくなるようにしてもよい。
実施形態においては、自動伴奏データに1小節のものを用いていたが、音声の長さはこれに限る必要はない。
また、実施形態においては、利用者が或る演奏操作子を用いて入力を行うと、この演奏操作子と対応したパートに基づいてスタイルレコードが検索されていたが、これに限らず、利用者が演奏操作子に拠らずに操作部25を用いてパートを指定可能としてもよい。この場合、利用者が、パートを指定したあとに演奏操作子を操作すると、指定されたパートの入力が行われることとなる。例えば、利用者が、操作部25を用いて「ベース」のパートを指定すると、その後にコード入力音域鍵盤12を操作しても、制御部21は、これを「ベース」のパートの入力とみなす、といった具合である。
また、実施形態においては、リズム入力装置10において、バスドラム入力パッド14a、スネアドラム入力パッド14b、ハイハット入力パッド14c、シンバル入力パッド14dというように、音色の異なる各々のリズムパートにパッドをひとつずつ割り当てていたが、これに限らず、音色の異なる複数のリズムパートについて単独のパッドで入力可能としてもよい。この場合、利用者は、操作部25を用いて、リズムパートの音色を指定することが可能である。
また、実施形態においては、操作子に対応させるパート、あるいは自動伴奏データとして使用しているパートは、コード、フレーズ、バスドラム、スネアドラム、ハイハット、シンバルとしたが、これに限らない。さらに、パートの区切り方は楽器名等に限らず、例えば、発音帯域で分けるようにしてもよい。例えば、ドラム(高域)、ドラム(中域)、ドラム(低域)等に分けて、高域にはハイハットやシンバル等、中域にはスネアドラム等、低域にはバスドラム等が入るようにしてもよい。
また、パートの数は実施形態に例示のものから増減させてよいし、パートの構成も実施形態に例示のものに限られず、種々のものが採用可能である。例えば、和音演奏を行うコードパートに替えて、アルペジオ演奏を行うアルペジオパートを用いる、あるいはコードパートにアルペジオパートを追加する構成が採用されてもよい。
また、音の種類は上述の実施形態に説明している楽器の音に限られない。上述の楽器以外の楽器の音、あるいは楽器以外の音が用いられても。例えば、ドラムやハイハット、シンバルのようなリズムパートには、それらの楽器の音に加えて、もしくはそれらに代えて、人や動物の音声、楽器でない物を叩いた音など、種々のものが利用可能である。
上記実施例では、楽音データが波形データであるとして、本発明に係る検索技術を楽音発生パターンに対応付けられた楽音データ(波形データ)の検索のために使用しているが、本発明の応用はこれに限定されない。例えば、本発明に係る検索技術は、楽音発生パターンに対応付けられた音色データ(音色IDあるいは楽器種類ID)の検索のために、あるいは楽音発生パターンに対応付けられたその他のタイプの楽音データの検索のために、使用することができる。すなわち、本発明における楽音データとは、波形データに限らず、音色データあるいはその他のタイプの楽音関連データを含む広い概念を包括するものである。
上記実施例では、パート演奏データの検出を行った後でそれを利用する処理として、パート演奏データを含む自動伴奏データを表示・再生する処理として示したが、それ以外の検出結果を利用した処理でもよい。例えば、自動伴奏データでなく、パート演奏データそのものを表示処理、あるいは再生処理したり、検索したパート演奏データを組み合わせて自動伴奏データを作成する処理で利用してもよい。
10…リズム入力装置、11…ベース入力音域鍵盤、12…メロディ入力音域鍵盤、14…入力パッド、14a…バスドラム入力パッド、14b…スネアドラム入力パッド、14c…ハイハット入力パッド、14d…シンバル入力パッド、20…情報処理装置、21…制御部、22…記憶部、23…入出力インターフェース部、24…表示部、25…操作部、26…音声出力部、100…楽音データ処理システム、200…鍵盤、211…小節線クロック出力部、212…入力リズムパターン記憶部、213…パート特定部、214…リズムパターン検索部、215…検索情報処理部、221…自動伴奏DB

Claims (9)

  1. 利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る入力部と、
    前記入力部が受けとった前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する特定部であって、前記操作子に対する利用者の操作の継続時間が閾値を超えているか否かに基づき、前記操作形態の判定を行う特定部と、
    検索対象となる音発生パターンを示すクエリーパターンを取得するクエリー取得部と、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する検索部と、
    前記検索部により検索されたパート演奏データを用いて所定の処理を行う処理部と、
    を備える装置。
  2. 利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る入力部と、
    前記入力部が受けとった前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する特定部であって、前記操作子に対する利用者の操作の強度が閾値を超えているか否かに基づき、前記操作形態の判定を行う特定部と、
    検索対象となる音発生パターンを示すクエリーパターンを取得するクエリー取得部と、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する検索部と、
    前記検索部により検索されたパート演奏データを用いて所定の処理を行う処理部と、
    を備える装置。
  3. 利用者の操作を受け付ける入力デバイスから入力されるデータを受け取る入力部と、
    前記入力部が受けとった前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する特定部と、
    検索対象となる音発生パターンを示すクエリーパターンを取得するクエリー取得部と、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する検索部と、
    前記検索部により検索されたパート演奏データを用いて所定の処理を行う処理部と、
    検索された前記パート演奏データのうちユーザが選択したものを、前記入力部が受けとった前記データが表すBPM(Beats Per Minute)で出力し、時間の経過に伴って当該パート演奏データの本来のBPMに近づくように出力する出力部と
    を備える装置。
  4. 利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取るステップと、
    受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定するステップであって、前記操作子に対する利用者の操作の継続時間が閾値を超えているか否かに基づき、前記操作形態の判定を行うステップと、
    検索対象となる音発生パターンを示すクエリーパターンを取得するステップと、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索するステップと
    検索された前記パート演奏データを用いて所定の処理を行うステップと、
    を備える方法。
  5. 利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取るステップと、
    受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定するステップであって、前記操作子に対する利用者の操作の強度が閾値を超えているか否かに基づき、前記操作形態の判定を行うステップと、
    検索対象となる音発生パターンを示すクエリーパターンを取得するステップと、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索するステップと、
    検索された前記パート演奏データを用いて所定の処理を行うステップと
    を備える方法。
  6. 利用者の操作を受け付ける入力デバイスから入力されるデータを受け取るステップと、
    受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定するステップと、
    検索対象となる音発生パターンを示すクエリーパターンを取得するステップと、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索するステップと、
    検索された前記パート演奏データを用いて所定の処理を行うステップと、
    検索された前記パート演奏データのうちユーザが選択したものを、前記受け取るステップで受けとった前記データが表すBPM(Beats Per Minute)で出力し、時間の経過に伴って当該パート演奏データの本来のBPMに近づくように出力するステップと
    を備える方法。
  7. コンピュータに、
    利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る処理と、
    受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する処理であって、前記操作子に対する利用者の操作の継続時間が閾値を超えているか否かに基づき、前記操作形態の判定を行う処理と、
    検索対象となる音発生パターンを示すクエリーパターンを取得する処理と、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する処理と
    検索された前記パート演奏データを用いて所定の処理を行う処理と、
    を実行させるプログラムを記録した記録媒体。
  8. コンピュータに、
    利用者の操作を受け付け且つ操作子を有する入力デバイスから入力されるデータを受け取る処理と、
    受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する処理であって、前記操作子に対する利用者の操作の強度が閾値を超えているか否かに基づき、前記操作形態の判定を行う処理と、
    検索対象となる音発生パターンを示すクエリーパターンを取得する処理と、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する処理と、
    検索された前記パート演奏データを用いて所定の処理を行う処理と
    を実行させるプログラムを記録した記録媒体。
  9. コンピュータに、
    利用者の操作を受け付ける入力デバイスから入力されるデータを受け取る処理と、
    受けとられた前記データに基づいて利用者による前記入力デバイスに対する操作形態を判定し、当該判定した操作形態に基づき各々が音楽演奏パターンを持つ1以上のパートを検索対象のパートとして特定する処理と、
    検索対象となる音発生パターンを示すクエリーパターンを取得する処理と、
    複数のパートの各々に関するパート演奏データを含む演奏データであって、当該複数のパート演奏データのうちの少なくとも1のパート演奏データが音発生パターンを含む演奏データを複数セット記憶する記憶装置から、前記検索対象のパートにマッチするパートに関するパート演奏データであって、前記クエリーパターンにマッチする音発生パターンを含むパート演奏データを検索する処理と、
    検索された前記パート演奏データを用いて所定の処理を行う処理と、
    検索された前記パート演奏データのうちユーザが選択したものを、前記受け取る処理で受けとった前記データが表すBPM(Beats Per Minute)で出力し、時間の経過に伴って当該パート演奏データの本来のBPMに近づくように出力する処理と
    を実行させるプログラムを記録した記録媒体。
JP2012094414A 2011-04-21 2012-04-18 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体 Expired - Fee Related JP5970934B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2012094414A JP5970934B2 (ja) 2011-04-21 2012-04-18 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体
US13/451,374 US9412113B2 (en) 2011-04-21 2012-04-19 Performance data search using a query indicative of a tone generation pattern
EP12164922.2A EP2515249B1 (en) 2011-04-21 2012-04-20 Performance data search using a query indicative of a tone generation pattern
CN201210121046.XA CN102760428B (zh) 2011-04-21 2012-04-23 使用表示乐音生成模式的查询的演奏数据搜索

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011095473 2011-04-21
JP2011095473 2011-04-21
JP2012094414A JP5970934B2 (ja) 2011-04-21 2012-04-18 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体

Publications (2)

Publication Number Publication Date
JP2012234168A JP2012234168A (ja) 2012-11-29
JP5970934B2 true JP5970934B2 (ja) 2016-08-17

Family

ID=45977297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012094414A Expired - Fee Related JP5970934B2 (ja) 2011-04-21 2012-04-18 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体

Country Status (4)

Country Link
US (1) US9412113B2 (ja)
EP (1) EP2515249B1 (ja)
JP (1) JP5970934B2 (ja)
CN (1) CN102760428B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5982980B2 (ja) 2011-04-21 2016-08-31 ヤマハ株式会社 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記憶媒体
JP5891656B2 (ja) * 2011-08-31 2016-03-23 ヤマハ株式会社 伴奏データ生成装置及びプログラム
CN104380371B (zh) * 2012-06-04 2020-03-20 索尼公司 用于生成输入音乐数据的伴奏的装置、系统和方法
JP6032467B2 (ja) * 2012-06-18 2016-11-30 株式会社日立製作所 時空間データ管理システム、時空間データ管理方法、及びそのプログラム
GB201211853D0 (en) * 2012-07-04 2012-08-15 Qatar Foundation A system and method for event or entity analysis and exploration in microblogs
JP6047985B2 (ja) * 2012-07-31 2016-12-21 ヤマハ株式会社 伴奏進行生成装置及びプログラム
JP6554826B2 (ja) * 2015-03-05 2019-08-07 ヤマハ株式会社 音楽データ検索装置及び音楽データ検索プログラム
US11093542B2 (en) 2017-09-28 2021-08-17 International Business Machines Corporation Multimedia object search
JP2019200390A (ja) 2018-05-18 2019-11-21 ローランド株式会社 自動演奏装置および自動演奏プログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01279296A (ja) * 1988-05-02 1989-11-09 Sharp Corp リズムマシーン
JP2894177B2 (ja) * 1993-10-08 1999-05-24 ヤマハ株式会社 演奏情報分析装置
US5496962A (en) * 1994-05-31 1996-03-05 Meier; Sidney K. System for real-time music composition and synthesis
JP3500750B2 (ja) 1994-12-31 2004-02-23 カシオ計算機株式会社 自動伴奏装置
US5918303A (en) 1996-11-25 1999-06-29 Yamaha Corporation Performance setting data selecting apparatus
IT1298504B1 (it) 1998-01-28 2000-01-12 Roland Europ Spa Metodo ed apparecchiatura elettronica per la catalogazione e la ricerca automatica di brani musicali mediante tecnica musicale
JP4024440B2 (ja) 1999-11-30 2007-12-19 アルパイン株式会社 曲検索システムのデータ入力装置
US20020073098A1 (en) 2000-02-28 2002-06-13 Lei Zhang Methodology and system for searching music over computer network and the internet based on melody and rhythm input
WO2001069575A1 (en) 2000-03-13 2001-09-20 Perception Digital Technology (Bvi) Limited Melody retrieval system
KR100893797B1 (ko) 2000-12-07 2009-04-20 소니 가부시끼 가이샤 콘텐츠 검색 장치 및 방법과 통신 시스템 및 방법
CN100421112C (zh) * 2000-12-07 2008-09-24 索尼公司 用于内容检索的通信装置和通信方法
JP3747802B2 (ja) 2001-05-21 2006-02-22 ヤマハ株式会社 演奏データ編集装置及び方法並びに記憶媒体
US6528715B1 (en) 2001-10-31 2003-03-04 Hewlett-Packard Company Music search by interactive graphical specification with audio feedback
EP1326228B1 (en) 2002-01-04 2016-03-23 MediaLab Solutions LLC Systems and methods for creating, modifying, interacting with and playing musical compositions
US7663044B2 (en) * 2002-09-04 2010-02-16 Kabushiki Kaisha Kawai Gakki Seisakusho Musical performance self-training apparatus
JP3915807B2 (ja) * 2004-09-16 2007-05-16 ヤマハ株式会社 奏法自動判定装置及びプログラム
JP2006106818A (ja) 2004-09-30 2006-04-20 Toshiba Corp 音楽検索装置、音楽検索方法及び音楽検索プログラム
JP4329685B2 (ja) * 2004-12-16 2009-09-09 ヤマハ株式会社 音源制御装置、プログラムおよび音源の制御方法
US7462772B2 (en) * 2006-01-13 2008-12-09 Salter Hal C Music composition system and method
JP5023752B2 (ja) 2007-03-22 2012-09-12 ソニー株式会社 コンテンツ検索装置、コンテンツ検索方法及びコンテンツ検索プログラム
US8097801B2 (en) * 2008-04-22 2012-01-17 Peter Gannon Systems and methods for composing music
JP5293080B2 (ja) 2008-10-23 2013-09-18 ヤマハ株式会社 電子音楽装置
BRPI1014092A2 (pt) * 2009-06-01 2019-07-02 Music Mastermind Inc aparelho para criar uma composição musical, e aparelho para intensificar áudio
US8629342B2 (en) * 2009-07-02 2014-01-14 The Way Of H, Inc. Music instruction system
JP5473538B2 (ja) 2009-10-29 2014-04-16 キヤノン株式会社 ストロボ装置および多灯ストロボシステム
JP5598255B2 (ja) 2010-10-28 2014-10-01 パナソニック株式会社 誘導加熱調理器
JP5982980B2 (ja) 2011-04-21 2016-08-31 ヤマハ株式会社 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記憶媒体

Also Published As

Publication number Publication date
US9412113B2 (en) 2016-08-09
CN102760428B (zh) 2016-11-16
EP2515249B1 (en) 2017-10-25
EP2515249A1 (en) 2012-10-24
CN102760428A (zh) 2012-10-31
US20120271847A1 (en) 2012-10-25
JP2012234168A (ja) 2012-11-29

Similar Documents

Publication Publication Date Title
JP5982980B2 (ja) 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記憶媒体
JP5970934B2 (ja) 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体
JP5949544B2 (ja) リズムパターンの類似度に基づく楽音データの検索
JP6056437B2 (ja) 音データ処理装置及びプログラム
US9508330B2 (en) System and method for generating a rhythmic accompaniment for a musical performance
US9263018B2 (en) System and method for modifying musical data
US9251773B2 (en) System and method for determining an accent pattern for a musical performance
EP1791111A1 (en) Content creating device and content creating method
JP2017058597A (ja) 自動伴奏データ生成装置及びプログラム
CA3010936C (en) Device configurations and methods for generating drum patterns
WO2015154159A1 (en) Systems and methods for musical analysis and determining compatibility in audio production
JP5879996B2 (ja) 音信号生成装置及びプログラム
JP6693596B2 (ja) 自動伴奏データ生成方法及び装置
JP3623557B2 (ja) 自動作曲システムおよび自動作曲方法
JP2021113895A (ja) 伴奏音生成装置、電子楽器、伴奏音生成方法および伴奏音生成プログラム
JPH10105172A (ja) 音楽自動伴奏付与装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160627

R151 Written notification of patent or utility model registration

Ref document number: 5970934

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees