JP5949544B2 - リズムパターンの類似度に基づく楽音データの検索 - Google Patents
リズムパターンの類似度に基づく楽音データの検索 Download PDFInfo
- Publication number
- JP5949544B2 JP5949544B2 JP2012513378A JP2012513378A JP5949544B2 JP 5949544 B2 JP5949544 B2 JP 5949544B2 JP 2012513378 A JP2012513378 A JP 2012513378A JP 2012513378 A JP2012513378 A JP 2012513378A JP 5949544 B2 JP5949544 B2 JP 5949544B2
- Authority
- JP
- Japan
- Prior art keywords
- rhythm
- rhythm pattern
- input
- pattern
- data
- 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
Links
- 230000033764 rhythmic process Effects 0.000 title claims description 1064
- 239000011295 pitch Substances 0.000 claims description 151
- 238000000034 method Methods 0.000 claims description 113
- 238000012545 processing Methods 0.000 claims description 88
- 238000003860 storage Methods 0.000 claims description 78
- 238000004364 calculation method Methods 0.000 claims description 56
- 238000009826 distribution Methods 0.000 claims description 32
- 238000004587 chromatography analysis Methods 0.000 claims description 3
- 230000010365 information processing Effects 0.000 description 73
- 239000000470 constituent Substances 0.000 description 62
- 230000004048 modification Effects 0.000 description 58
- 238000012986 modification Methods 0.000 description 58
- 238000010586 diagram Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 29
- 238000001914 filtration Methods 0.000 description 18
- 230000008859 change Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 241001077262 Conga Species 0.000 description 3
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000000994 depressogenic effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009527 percussion Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/40—Rhythm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/005—Musical accompaniment, i.e. complete instrumental rhythm synthesis added to a performed melody, e.g. as output by drum machines
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/071—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for rhythm pattern analysis or rhythm style recognition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/341—Rhythm pattern selection, synthesis or composition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/341—Rhythm pattern selection, synthesis or composition
- G10H2210/361—Selection among a set of pre-established rhythm patterns
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical 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/131—Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
- G10H2240/141—Library 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
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Electrophonic Musical Instruments (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
前記検索部が特定する楽音データは、前記入力リズムパターンと前記算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データであることを特徴とする。
<第1実施形態>
(楽音データの検索システム)
<構成>
図1は、本発明の第1実施形態に係るシステムの構成図である。この音楽データ作成システム100は、リズム入力装置10、及び情報処理装置20を備えており、各々が通信線により接続されて相互に通信ができるようになっている。この通信は、無線によって実現されてもよい。リズム入力装置10は、入力手段として例えば電子パッドを備えている。ユーザが、リズム入力装置10に設けられた電子パッドの打面を叩くことにより、リズム入力装置10は、打撃されたこと、すなわち演奏操作されたことを示すトリガーデータと、打撃の強度、すなわち当該演奏操作の強度を示すベロシティデータとを、1小節を単位として、情報処理装置20に入力する。ここで、トリガーデータは、ユーザが電子パッドの打面を叩く毎に生成されるとともに、トリガーデータの各々にはベロシティデータが対応付けられている。1小節内に生成されたトリガーデータとベロシティデータの集合は、この1小節において、ユーザがリズム入力装置10を用いて入力したリズムのパターン(入力リズムパターンという)を表している。このように、リズム入力装置10は、ユーザによる演奏操作が入力される入力装置の一例である。
次に、図5〜図7を用いて、検索機能がONの状態において、リズムパターン検索部213が、入力リズムパターンに基づいて、フレーズテーブルから特定のフレーズレコードを検出する一連の処理について説明を行う。
図5はリズムパターン検索部213が行う検索処理のフロー図である。初めに、リズムパターン検索部213は、RAMに記憶されている楽器種類IDを用いて、フレーズテーブルを検索する(ステップSb1)。この楽器種類IDはユーザが操作部25を用いて予め指定することでRAMに記憶されたものである。以降の処理において、リズムパターン検索部213は、このステップS1における検索結果のフレーズレコードを処理の対象とする。
(a)0,0.25,0.375,0.5,0.625,0.75,0.875
リズムパターン検索部213は、(a)の入力リズムパターンから、以下の(b)で表されるオンセット時刻間隔を算出する。
(b)0.25,0.125,0.125,0.125,0.125,0.125
次にリズムパターン検索部213は、(b)で算出された各々のオンセット時刻間隔に48を乗算し、さらに0.5を加算した数値の小数点以下を切り捨てる処理(クオンタイズという)を行うことで、以下の(c)で表す数値群を算出する。
(c)12,6,6,6,6,6
ここでクオンタイズとは、リズムパターン検索部213が、各オンセット時刻間隔を分解能にあわせて補正することを意味している。クオンタイズを行う理由は、以下のとおりである。フレーズテーブルにおけるリズムパターンデータに記述された発音開始時刻は、分解能(ここでは48)に従ったものとなっている。よって、オンセット時刻間隔を用いてフレーズテーブルを検索する際には、検索に用いるオンセット時刻間隔も分解能に従ったものでないと、検索の精度が低くなってしまう。このような理由により、リズムパターン検索部213は、(b)で表される各々のオンセット時刻間隔に対して、上述したクオンタイズの処理を施す。
図6(a)は入力リズムパターンにおけるオンセット時刻間隔の分布表である。図6(a)において、横軸は、1小節を48の時刻で区切ったときの時刻の間隔(時刻間隔という)を表し、縦軸は、横軸で表された各々の時刻間隔に相当する、クオンタイズされたオンセット時刻間隔の個数の比率を表す。図6(a)では、入力リズムパターンに基づく、上述した(c)の数値群が分布表に割り当てられている。この個数比率は、合計が1となるようにリズムパターン検索部213によって正規化されている。図6(a)では、クオンタイズされたオンセット時刻間隔である(c)の数値群において、最も個数が多い「6」の時刻間隔に分布のピークがあることが分かる。
・ 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
リズムパターン検索部213は、上記(A)〜(F)に対してステップSb2と同様の計算方法を用いて、リズムカテゴリ毎にオンセット時刻間隔の分布を求める。図6(b)は、リズムカテゴリ毎に計算したオンセット時刻間隔の分布を分布表に割り当てたものである。なお、検索機能がONの状態において一連の検索処理が繰り返されるにあたり、2回目以降のステップS1において楽器種類が変更されない場合は、処理の対象となるフレーズレコード及びリズムカテゴリは変更されることがなく同一であるため、ステップSb3の処理は省略される。逆に、一連の検索処理が繰り返されるにあたって、ステップS1で楽器種類が変更された場合、ステップSb3の処理が行われる。
(1)リズムパターン検索部213は、入力リズムパターンJにおける各オンセット時刻を基準として、リズムパターンKにおける最も近いオンセット時刻との時刻差の絶対値を算出する(図7における(1))。
(2)リズムパターン検索部213は、手順(1)で算出した各絶対値の総和を算出する。
(3)リズムパターン検索部213は、リズムパターンKにおける各オンセット時刻を基準として、入力リズムパターンJにおける最も近いオンセット時刻との時刻差の絶対値を算出する(図7における(3))。
(4)リズムパターン検索部213は、手順(3)で算出した各絶対値の総和を算出する。
(5)リズムパターン検索部213は、手順(2)で算出した総和と手順(4)で算出した総和との平均値を、入力リズムパターンJとリズムパターンKとのズレとして算出する。
JとKのリズムパターンの距離=(Jと、Kが所属するリズムカテゴリとの類似度距離)×(JとKのリズムパターンのズレ)
ただしこの計算に際して、基本的には、ステップSb5で入力リズムパターンが該当すると判定されたリズムカテゴリ内から、検索結果が出力されるように、以下のような処理が行われる。リズムパターン検索部213は、ステップSb5で判定されたリズムカテゴリとBにおけるリズムカテゴリとが一致するかを判定し、一致しない場合には、上記計算式において予め定められた定数(例えば0.5)を加算する。このようにすれば、ステップSb5で判定されたリズムカテゴリと一致しないリズムカテゴリに属するフレーズレコードについては、リズムパターン同士の距離が大きく算出されるため、ステップSb5で入力リズムパターンが該当すると判定されたリズムカテゴリ内から、検索結果が出力されやすくなる。そして、リズムパターン検索部213は、入力リズムパターンとの距離が最も小さいリズムパターンを、入力リズムパターンと類似の度合いが高いことを示す条件を満たすリズムパターンであるとみなし、このリズムパターンデータを持つフレーズレコードを、検索結果として出力する(ステップSb8)。以上が、検索機能がONの状態において、リズムパターン検索部213が、入力リズムパターンに基づいて、フレーズテーブルから特定のフレーズレコードを検索結果として出力する一連の処理についての説明である。
<第2実施形態>
(音楽データ作成システム)
<構成>
第2実施形態は、音楽データ処理システムの一例としての音楽データ作成システムであり、音楽データの一例として自動伴奏データを作成するシステムである。本実施形態における自動伴奏データは、電子楽器やシーケンサなどに読み込まれ、いわゆるMIDIの自動伴奏データと同様の役割を果たす。第2実施形態における音楽データ作成システム100aは、図1に示すものと同様の構成を有する。ただし、リズム入力装置及び情報処理装置のそれぞれの構成が第1実施形態と異なるため、符号に「a」を付してそれぞれを表す。この音楽データ作成システム100aは、リズム入力装置10a、及び情報処理装置20aを備えており、各々が通信線により接続されて相互に通信ができるようになっている。この通信は、無線によって実現されてもよい。第2実施形態において、リズム入力装置10aは、入力手段として例えば鍵盤とパッドを備えている。ユーザが、リズム入力装置10aに設けられた鍵盤を押鍵することにより、リズム入力装置10aは、押鍵されたこと、すなわち演奏操作がなされたことを示すトリガーデータと、押鍵の強度、すなわち当該演奏操作の強度を示すベロシティデータとを、1小節を単位として、情報処理装置20aに入力する。ここで、トリガーデータは、ユーザが鍵盤を押鍵する毎に生成されるものであって、押鍵されたことを示すキーオン情報で表される。トリガーデータの各々にはベロシティデータが対応付けられている。1小節内に生成されたトリガーデータとベロシティデータの集合は、この1小節において、ユーザがリズム入力装置10aを用いて入力したリズムのパターン(入力リズムパターンという)を表している。ユーザは、この入力リズムパターンを鍵盤の鍵域に対応したパートについて入力することになる。また、打楽器を示すパートについては、ユーザは、パッドを使って入力リズムパターンを入力する。このように、リズム入力装置10aは、ユーザによる演奏操作が入力される入力手段の一例である。
制御部21は、ROMや記憶部22aに記憶されたアプリケーションを構成する各プログラムをRAMに読み出して実行することにより、テンポ取得部211a、進行部212a、通知部213a、パート選択部214a、パターン取得部215a、検索部216a、特定部217a、出力部218a、コード受付部219a及び音高受付部220aの各機能を実現する。以降において、これら各部を主体として処理の説明を行うことがあるが、処理の主体の実体は、制御部21である。なお、以降の説明において「オンセット」とは、リズム入力装置10aにおける入力状態がオフからオンに切り替わることを指す。例えば、「オンセット」とは、リズム入力装置10aの入力手段が鍵盤であれば鍵盤が押鍵された状態のことであり、リズム入力装置10aの入力手段がパッドであればパッドを叩かれた状態のことであり、リズム入力装置10aの入力手段がボタンであればボタンが押下された状態のことである。これに対して「オフセット」とは、リズム入力装置10aの入力手段が鍵盤であれば鍵盤が押鍵されてから離された状態のことであり、リズム入力装置10aの入力手段がパッドであればパッドに対する打撃が完了した状態のことであり、リズム入力装置10aの入力手段がボタンであれば押下されたボタンから指が離された状態のことである。また、以降の説明において「オンセット時刻」とは、リズム入力装置10aにおける入力状態がオフからオンに切り替わった時の各々の時刻を表す。換言すれば、「オンセット時刻」とは、リズム入力装置10aにおいてトリガーデータが発生した時刻を表す。これに対して、「オフセット時刻」とは、リズム入力装置10aにおける入力状態がオンからオフに切り替わった時の各々の時刻を表す。換言すれば、「オフセット時刻」とは、リズム入力装置10aにおいて発生したトリガーデータが消滅した時刻を表す。また、以降の説明において「オンセット情報」とは、オンセット時刻においてリズム入力装置10aから情報処理装置20aへ入力される情報である。「オンセット情報」には、上述したトリガーデータ以外に、鍵盤のノートナンバーやチャンネル情報等が含まれている。
図15は、情報処理装置20aが行う処理のフロー図である。まず、ユーザが、リズム入力装置10aの図示しない操作子で自動伴奏データ作成を指示すると、本フローのプログラムが実行される。情報処理装置20aは、ユーザの指示に基づいて、プログラムの実行開始後、初期設定を行う。(ステップSa0)。初期設定では、ユーザは、操作部25を用いて各鍵域それぞれに対応する楽器種類および入力パッドに対応する楽器種類を指定し、BPM入力操作子13を用いてBPMを入力する。また、制御部21は、図12、図13A及び図13Bに示した各種テーブルをRAMに読み出す。初期設定後、ユーザは、リズム入力装置10aを用いて、鍵盤11における所定の鍵域又は入力パッド12a〜12dにおけるいずれか、すなわちパートを指定してリズムパターンを入力する。リズム入力装置10aは、指定されたパートを識別する情報と、指定された楽器種類を識別する情報と、入力BPMを識別する情報と、入力リズムパターンとを含むMIDI情報を情報処理装置20aに送信する。制御部21は、入出力インターフェース部23を用いてリズム入力装置10aからMIDI情報を受信すると、図15に示すフローに沿って処理を実行する。
<第3実施形態>
(スタイルデータの検索システム)
<構成>
第3実施形態では、音楽データ処理システムの例としてのスタイルデータを検索するシステムである。第2実施形態の音楽データ作成システム100aにおいて、自動伴奏DB222が、スタイルデータを記憶するとともに、スタイルデータを検索するためのスタイルテーブルを有している。その他の構成については、第3実施形態と第2実施形態は同様である。
スタイルデータは、「Bebop01」、「HardRock01」又は「Salsa01」といったそれぞれ異なるスタイルについて集めた伴奏音データ片を、伴奏パターンの最小単位である「セクション」(1〜数小節)毎に、それぞれセクションデータとして纏めた伴奏音データ片の集合であり、記憶部22に記憶される。セクションには複数の種類があり、例えば、「イントロ」、「メイン」、「フィルイン」又は「エンディング」といった構成上の種類と、さらに各セクションにおける「ノーマル」、「バリエーション1」又は「バリエーション2」といったパターンの種類とが存在する。また、セクション毎のスタイルデータには、バスドラム、スネアドラム、ハイハット、シンバル、フレーズ、コード及びベースのそれぞれのパートについて、MIDIフォーマットに従って記述された演奏データの識別子(リズムパターンID)が含まれている。それぞれのスタイルデータの各セクションについて、制御部21により演奏データからパート毎にリズムパターンが解析され、解析結果に従った内容が、スタイルテーブルに登録される。例えば、ベースパートのデータについては、制御部21は、基準となる音高を用いて、演奏データにおける音高の時系列に沿った並びを解析し、解析結果に従った内容をスタイルテーブルに登録する。また、コードパートのデータについては、制御部21は、基準となる和音を用いて、演奏データにおいて用いられているコードを解析し、解析結果に従った内容として「Cmaj7」などのコード情報を、後述する和音進行情報テーブルに登録する。
図19Aは、スタイルテーブルの一例を表した図である。図19Aにおいては、スタイルテーブルの一例として、「ジャンル」が「Swing&JAZZ」である複数のスタイルデータが表されている。1件のスタイルデータは、「スタイルID」、「スタイル名」、「セクション」、「キー」、「ジャンル」、「BPM」、「拍子」、「ベースリズムパターンID」、「コードリズムパターンID」、「フレーズリズムパターンID」、「バスドラムリズムパターンID」、「スネアドラムリズムパターンID」、「ハイハットリズムパターンID」、及び「シンバルリズムパターンID」といった複数の項目からなる。「スタイルID」は、スタイルデータを一意に識別するための識別子である。「スタイル名」は、各スタイルデータを一意に識別する名称である。
セクション進行情報テーブルは、楽曲演奏の進行に従って、スタイルデータ中からセクションを時系列的に順次指定するための情報を取りまとめたテーブルである。図19B(a)の構成例に示されるように、セクション進行情報は、スタイルID、スタイルを指定するスタイル指定データSt、セクションを指定するセクション情報Sni、各セクションの開始時間と終了時間との位置(通常、小節単位)を表すセクション開始タイミングデータTssi,Tsei(i=1,2,3,…)、及びセクション進行情報の最終位置を表すセクション進行エンドデータSeから構成することができ、例えば記憶部22に記憶される。つまり、各セクション情報Sniは、対応するセクションに関するデータの記憶領域を指定し、その前後にあるタイミングデータTssi,Tseiは、指定されたセクションによる伴奏の開始及び終了を指示する。従って、このセクション進行情報を用いて、伴奏スタイル指定データStで指定された伴奏スタイルデータの中から、タイミングデータTssi,Tsei及びセクション情報Sniの組合わせの繰返しで、セクションを順次指定することができる。
和音進行情報テーブルは、楽曲演奏の進行に従って演奏されるべき和音を時系列的に順次指定するための情報を取りまとめたテーブルである。和音進行情報は、図19B(b)の構成例に示されるように、スタイルID、調情報Key、和音名Cnj、和音名Cnjを規定するための和音根音情報Crj、和音タイプ情報Ctj、各和音の開始及び終了時間位置(通常、拍単位)を表す和音開始及び終了タイミングデータTcsj,Tcej(j=1,2,3,…)、及び和音進行情報の最終位置を表す和音進行エンドデータCeから構成することができ、例えば、記憶部22に記憶される。ここで、各2つの情報Crj,Ctjで規定される和音情報Cnjは、セクション情報Sniで指定されたセクション中の和音演奏データに対して演奏すべき和音の種類を指示し、その前後にあるタイミングデータTcsi,Tceiは、この和音による演奏の開始及び終了を指示する。従って、この和音進行情報を用いると、調情報Keyにより調を指定した上、タイミングデータTcsj,Tcej及び和音情報Cnjの組合わせの繰返しによって、演奏すべき和音を順次指定することができる。
図20は、第3実施形態に係る情報処理装置20が行う処理のフロー図である。図20において、ステップSd0〜Sd5については、第2実施形態に係る図15のステップSa0〜Sa5と同様である。第3実施形態のステップSd6において、制御部21は、ステップSd5における検索結果のリズムパターンレコードと同一のパターンIDが、いずれかのパートのリズムパターンIDに設定されたスタイルデータを検索結果として表示させる。
なお、この画面では、図示しない操作子の操作によって、ユーザが作成したオリジナルのスタイルデータや既存あるいはオリジナルのスタイルデータに含まれる演奏データを、登録したり編集・確認することも可能である。
以下の説明で、特定の実施形態を指定して説明しているものを除き、以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
第1実施形態では、ループ再生モード或いは演奏ループ再生モードにおいて1件のフレーズレコードが検索結果として出力されていたが、これに限らず、リズムパターン検索部213が、入力リズムパターンを基準として、一定以上の類似度を持つ複数のフレーズレコードを、類似度の高い順番に並び替えて検索結果として出力してもよい。このとき、検索結果として出力されるフレーズレコードの件数は、ROMに定数として記憶されていてもよいし、記憶部22に変数として記憶され、ユーザにより変更可能としてもよい。例えば検索結果として出力されるフレーズレコードの件数が5件である場合、各フレーズレコードのフレーズ楽音データの名称が5件分、表示部24にリスト形式で表示される。そしてユーザが選択したフレーズレコードに基づく音が、音声出力部26から出力される。
楽器の種類が音高に幅のある楽器の場合、フレーズ楽音データにおける各構成音のキーと、外部音源を含む伴奏のキーが一致しない場合がある。このような場合に備えて、ユーザが操作部25を通じて操作を行うことで、制御部21が、フレーズ楽音データにおける各構成音のキーを変更可能としてもよい。また、このようなキーの変更は、操作部25を介して行われてもよいし、リズム入力装置10に設けられたフェーダー、つまみ、ホイール、ボタン等の操作子を介して行われてもよい。また、予め上記構成音のキーを表すデータをリズムDB221及び自動伴奏DB222に記憶させておくことで、ユーザがキーを変更した場合に、制御部21が、変更後のキーが何かをユーザに告知するようにしてもよい。
楽音データによっては、構成音の終了付近で波形の振幅(パワー)が0近くに収束されていないものがあり、この場合、構成音に基づく音声が出力された後に、クリップノイズが発生する場合がある。これを防ぐために、制御部21が、構成音の開始及び終了付近の一定範囲を自動でフェードイン又はフェードアウトする機能を有していてもよい。ここでユーザは、上記フェードイン又はフェードアウトを適用させるかどうかを、操作部25あるいはリズム入力装置10に設けられた何らかの操作子を介して選択可能である。
ユーザが演奏操作を行った結果であるフレーズを、制御部21が録音し、この録音した内容を、一般的に音源ループ素材で用いられているようなファイルフォーマットで出力可能としてもよい。例えば、楽曲制作において、ユーザ自らが欲するリズムパターンがリズムDB221に記憶されていない場合に、このように自身の演奏を記録する機能があると、ユーザは、欲していたものとイメージが近いフレーズ楽音データを手に入れることが可能となる。
また、制御部21は、再生対象とする楽音データを1つに限らず、複数の楽音データを再生対象として、複数のフレーズを音声として重ねて出力可能としてもよい。この場合、例えば表示部24に複数のトラックが表示され、ユーザは各々のトラックに対して、それぞれ異なる楽音データ及び再生モードを割り当てることが可能である。これにより、例えばユーザは、トラックAにコンガの楽音データをループ再生モードで割り当てることでこれを伴奏とし、トラックBにおいてジャンベの楽音データを演奏再生モードで割り当てることで演奏を行う、といったことが可能となる。
ユーザの演奏操作によって入力されたベロシティデータに対して、検索結果の楽音データにおける、上記ベロシティデータに紐付けられたトリガーデータと同じ時刻を持つ構成音(構成音Aとする)のアタック強度の大きさが極端に異なる(ここでは予め定められた閾値を超える場合とする)場合、以下のような処理が行われてもよい。上述のような場合、制御部21は、上記楽音データにおいて、入力されたベロシティデータにほぼ対応した大きさのアタック強度を持つ複数の構成音から、ランダムに選択した構成音と構成音Aを差し替える。ここでユーザは、上述した処理を適用させるかどうかを、操作部25あるいはリズム入力装置10に設けられた何らかの操作子を介して選択可能である。このようにすれば、ユーザは自らが行った演奏操作により近い出力結果を得ることが可能となる。
上述した第3実施形態を除く実施形態においては、フレーズ楽音データはWAVEやmp3といったファイルフォーマットからなるとしたが、これに限らず、例えばMIDI形式のようなシーケンスデータとしてもよい。この場合、記憶部22には、MIDIデータの形式でファイルが記憶され、音声出力部26に相当する構成はMIDI音源となる。特に第2実施形態において楽音データがMIDI形式である場合、キーシフトやピッチ変換に際してタイムストレッチなどの処理が不要となる。従って、この場合、制御部21は、ユーザによりキー指定鍵盤202を用いてキーが指定されたときは、楽音データが表すMIDI情報のうちキーを示す情報を指定キーに変更する。また、この場合、リズムパターンテーブルにおいて、各リズムパターンレコードが複数のコードに応じた楽音データを有する必要がない。制御部21は、ユーザによりコード指定ボックス203を用いてコードが指定されたときは、楽音データが表すMIDI情報のうちコードを示す情報を、指定されたコードに変更する。このように、楽音データがMIDI形式のファイルであっても、上述した実施形態と同様の効果を奏することができる。また、第3実施形態においては、オーディオデータを用いたスタイルデータを利用してもよい。この場合、基本的な構成は、第3実施形態のスタイルデータと同様だが、各パートの演奏データがオーディオデータとして記憶されている点が異なるものである。また、MIDIとオーディオが組み合わされたスタイルデータを利用してもよい。
ユーザの演奏操作によるトリガーデータと、リズムDB221に含まれるフレーズ楽音データ又は自動伴奏DB222に含まれるリズムパターンデータとの比較によって、制御部21が特定のフレーズレコード又はリズムパターンレコードを検出していたが、これに限らず、制御部21は、ユーザの演奏操作によるトリガーデータ及びベロシティデータの双方を用いてリズムDB221及び自動伴奏DB222を検索するようにしてもよい。この場合、同じリズムパターンを持つ楽音データが2つ存在した場合に、各構成音のアタック強度が、ユーザの演奏操作によるベロシティデータと、より近い楽音データが検索結果として検出される。このようにすれば、アタック強度についても、ユーザがイメージしていたものに近い楽音データが、検索結果として出力されることが可能となる。
リズムパターン同士のズレの計算方法は一例に過ぎず、異なる計算方法を用いてもよい。以下には、その計算方法のバリエーションを記載する。
(変形例9)
例えば、確実にリズムカテゴリが一致した検索結果が出力されるように、入力リズムパターンに該当するリズムカテゴリを判定した後、判定結果のリズムカテゴリに属するフレーズレコード又はリズムパターンレコードのみを対象として、リズムパターンのズレの計算(ステップSb6)、及びリズムパターン同士の距離の計算(ステップSb7)が行われるようにしてもよい。このようにした場合、計算量が少なくてすむため、情報処理装置20における負荷が下がるとともに、ユーザにとっての応答時間も短くなる。
(変形例10)
ステップSb6におけるリズムパターン同士のズレの計算において、以下のような処理を施してもよい。変形例10において、制御部21は、入力リズムパターンにおいて比較対象のリズムパターンにおけるオンセット時刻との時刻差の絶対値が閾値より小さいオンセット時刻については、その時刻差の絶対値はユーザの手入力による意図しないものであるとみなして、ズレの値を0あるいは本来の値より小さくなるように補正する。この閾値は、例えば「1」という値であり、予め記憶部22aに記憶されている。例えば、入力リズムパターンのオンセット時刻が「1,13,23,37」であり、比較対象のリズムパターンのオンセット時刻が「0,12,24,36」であったとする。この場合、各オンセット時刻の差の絶対値は、「1,1,1,1」となる。ここで閾値が「1」であったとすると、制御部21は、各オンセット時刻の差の絶対値に係数αを乗算して補正を行う。係数αは0から1の間を取り、ここでは0であるものとする。この場合、補正後の各オンセット時刻の差の絶対値は、「0,0,0,0」となるから、制御部21は、両者のリズムパターンのズレを0と算出する。係数αは、予め決められて記憶部22aに記憶されていてもよいが、2つのリズムパターンのズレの大きさに係数αの値を対応付けた補正カーブをリズムカテゴリ毎に記憶部22aに記憶させることで、制御部21がこの補正カーブに従って係数αを決定してもよい。
(変形例11)
ステップSb6におけるリズムパターン同士のズレの計算において、以下のような処理を施してもよい。変形例11において、制御部21は、入力リズムパターンにおいて比較対象のリズムパターンにおけるオンセット時刻との時刻差の絶対値が閾値より大きいオンセット時刻については、計算に用いない、あるいは本来の値より小さくなるようにズレを補正する。これにより、例えばユーザが1小節の前半部分や後半部分だけリズムパターンを入力した場合であっても、リズムパターンが入力された区間を対象として検索が行われる。従って、例えば第2実施形態及び第3実施形態において、1小節通して同一のリズムパターンを有するリズムパターンレコードが自動伴奏DB222に含まれなくても、ユーザは、入力リズムパターンに或る程度類似したリズムパターンレコードを検索結果として得ることができる。
(変形例12)
ステップSb6におけるリズムパターン同士のズレの計算において、ベロシティパターンの差を考慮した算出方法を用いてもよい。入力リズムパターンをAとして、リズムパターンレコードに記述されたリズムパターンをBとすると、変形例12におけるAとBとのズレの大きさの計算は、以下の手順で行われる。
(11)制御部21は、リズムパターンAにおける各オンセット時刻を基準として、リズムパターンBにおける最も近いオンセット時刻との時刻差の絶対値を算出する。
(12)制御部21は、手順(11)で算出した各絶対値の総和を算出する。
(13)制御部21は、リズムパターンAにおける各オンセット時刻のベロシティデータと、リズムパターンBにおける各オンセット時刻のアタック強度との差の絶対値の総和を算出する。
(14)制御部21は、リズムパターンBにおける各オンセット時刻を基準として、リズムパターンAにおける最も近いオンセット時刻との時刻差の絶対値を算出する。
(15)制御部21は、手順(14)で算出した各絶対値の総和を算出する。
(16)制御部21は、リズムパターンBにおける各オンセット時刻のベロシティデータと、リズムパターンAにおける各オンセット時刻のアタック強度との差の絶対値の総和を算出する。
(17)制御部21は、以下の式(1)に従って、リズムパターンAとリズムパターンBとのズレを算出する。
リズムパターンAとリズムパターンBとのズレ=α×(手順(12)で算出した時刻差の絶対値の総和+手順(15)で算出した時刻差の絶対値の総和)/2+(1−α)×(手順(13)で算出したベロシティの差の絶対値の総和+手順(16)で算出したベロシティの差の絶対値の総和)/2・・・式(1)
式(1)においてαは0<α<1を満たす予め決められた係数であり、記憶部22aに記憶されている。ユーザは、操作部25を用いて係数αの値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、オンセット時刻の一致度とベロシティの一致度とのどちらを優先するかによって、係数αの値を設定すればよい。このようにすれば、ユーザは、ベロシティを考慮した検索結果を得ることができる。
(変形例13)
ステップSb6におけるリズムパターン同士のズレの計算において、デュレーションパターンの差を考慮した算出方法を用いてもよい。入力リズムパターンをAとして、リズムパターンレコードに記述されたリズムパターンをBとすると、変形例13におけるAとBとのズレの大きさの計算は、以下の手順で行われる。
(21)制御部21は、リズムパターンAにおける各オンセット時刻を基準として、リズムパターンBにおける最も近いオンセット時刻との時刻差の絶対値を算出する。
(22)制御部21は、手順(21)で算出した各絶対値の総和を算出する。
(23)制御部21は、リズムパターンAにおける各オンセット時刻のデュレーションパターンと、リズムパターンBにおける各オンセット時刻のデュレーションパターンとの差の絶対値の総和を算出する。
(24)制御部21は、リズムパターンBにおける各オンセット時刻を基準として、リズムパターンAにおける最も近いオンセット時刻との時刻差の絶対値を算出する。
(25)制御部21は、手順(24)で算出した各絶対値の総和を算出する。
(26)制御部21は、リズムパターンBにおける各オンセット時刻のデュレーションパターンと、リズムパターンAにおける各オンセット時刻のデュレーションパターンとの差の絶対値の総和を算出する。
(27)制御部21は、以下の式(2)に従って、リズムパターンAとリズムパターンBとのズレを算出する。
リズムパターンAとリズムパターンBとのズレ=β×(手順(22)で算出した時刻差の絶対値の総和+手順(25)で算出した時刻差の絶対値の総和)/2+(1−β)×(手順(23)で算出したデュレーションの差の絶対値の総和+手順(26)で算出したデュレーションの差の絶対値の総和)/2・・・式(2)
式(2)においてβは0<β<1を満たす予め決められた係数であり、記憶部22に記憶されている。ユーザは、操作部25を用いて係数βの値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、オンセット時刻の一致度とデュレーションパターンの一致度とのどちらを優先するかによって、係数βの値を設定すればよい。このようにすれば、ユーザは、デュレーションを考慮した検索結果を得ることができる。
以上が、リズムパターン同士のズレの計算方法のバリエーションについての説明である。
リズムパターン同士の距離の計算方法は一例に過ぎず、異なる計算方法を用いてもよい。以下には、その計算方法のバリエーションを記載する。
<両者の値の総和に係数を用いる>
(変形例14)
第1実施形態〜第3実施形態におけるステップSb7において、制御部21は、ステップSb4でリズムカテゴリについて算出した類似度距離と、ステップSb6で算出したリズムパターンのズレとを乗算することで、リズムパターン同士の距離を計算していたが、上記類似度距離又は上記ズレのどちらか一方が「0」の値であると、リズムパターン同士の距離が「0」と算出され、他方の値を反映しないものとなってしまう。これに対して、ステップSb7において制御部21が以下の式(3)に従ってリズムパターン同士の距離を算出してもよい。
リズムパターン同士の距離=(ステップSb4でリズムカテゴリについて算出した類似度距離+γ)×(ステップSb6で算出したリズムパターンのズレ+δ)・・・式(3)
式(3)において、γ及びδは予め決められた定数であり、記憶部22aに記憶されている。ここで、γ及びδは適当に小さな値であればよい。このようにすれば、ステップSb4でリズムカテゴリについて算出した類似度距離と、ステップSb6で算出したリズムパターンのズレのどちらか一方が「0」の値であっても、他方の値が反映されたリズムパターン同士の距離が算出される。
(変形例15)
ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例15では、ステップSb7において制御部21が以下の式(4)に従ってリズムパターン同士の距離を算出する。
リズムパターン同士の距離=ε×ステップSb4でリズムカテゴリについて算出した類似度距離+(1−ε)×ステップSb6で算出したリズムパターンのズレ・・・式(4)
式(4)においてεは0<ε<1を満たす予め決められた係数である。係数εは記憶部22に記憶されており、ユーザは操作部25を用いてその値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、リズムカテゴリについて算出した類似度距離と、リズムパターンのズレとのどちらを優先するかによって、係数εの値を設定すればよい。このようにすれば、ユーザは、より自らの所望する検索結果を得ることができる。
(変形例16)
ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例16では、ステップSb7において制御部21が以下の式(5−1)に従ってリズムパターン同士の距離を算出する。
リズムパターン同士の距離=(ステップSb4でリズムカテゴリについて算出した類似度距離+ステップSb6で算出したリズムパターンのズレ)×з×|入力BPM−リズムパターンレコードのBPM|・・・式(5−1)
式(5−1)においてзは0<з<1を満たす予め決められた定数である。зは記憶部22に記憶されており、ユーザは操作部25を用いてその値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、BPMの差をどの程度優先するかによって、係数зの値を設定すればよい。このとき、入力BPMとそのBPMとの差が予め決められた閾値を越えるようなリズムパターンレコードは、制御部21が検索結果から除外するようにしてもよい。このようにすれば、ユーザは、BPMを考慮した検索結果を得ることができる。
また、上記式(5−1)の別の例として、以下のものを用いてもよい。
リズムパターン同士の距離=(ステップSb4でリズムカテゴリについて算出した類似度距離+ステップSb6で算出したリズムパターンのズレ)+з×|入力BPM−リズムパターンレコードのBPM|・・・式(5−2)
式(5−2)においても、式(5−1)と同様に、зは0<з<1を満たす予め決められた定数である。зは記憶部22に記憶されており、ユーザは操作部25を用いてその値を変更可能である。式(5−2)を用いれば、例えばεをかなり小さい値にすることで、基本的にはリズムパターンが近いものほど高順位で結果が出力され、更に、リズムパターンが一致しているものの中からテンポが近い順に表示されるようにすることができる。
(変形例17)
ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例17では、ステップSb7における上述した式のいずれかにおいて、制御部21が、右辺に対して、リズムパターンの入力時に指定された楽音の音色と比較対象のリズムパターンレコードの音色との一致度を乗算する。音色の一致度の算出方法については、周知の方法が用いられればよい。ここでは、一致度の値が小さい程、両者の音色が近いものであり、一致度の値が大きい程、両者の音色が離れているものとする。このようにすれば、ユーザはリズムパターンの入力時に体感する音色に近い音色のリズムパターンレコードが検索結果として得られやすいため、ユーザは検索結果により納得感を持つことができる。
(変形例18)
ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例18では、ユーザは、リズムパターンの入力時に、操作部25を用いてジャンルを指定することが可能である。変形例18では、ステップSb7における上述した式のいずれかにおいて、制御部21が、右辺に対して、リズムパターンの入力時に指定されたジャンルと比較対象のリズムパターンレコードのジャンルとの一致度を乗算する。ここで、ジャンルは、大ジャンル、中ジャンル、小ジャンルといったように、段階的に区分けされていてもよい。制御部21は、指定されたジャンルと一致する又は含むリズムパターンレコードと入力リズムパターンとの距離がより小さくなるように、また、指定されたジャンルと一致しない又は含まないリズムパターンレコードと入力リズムパターンとの距離がより大きくなるように、ジャンルの一致度を算出し、ステップSb7における式に補正を行えばよい。このようにすれば、ユーザはリズムパターンの入力時に指定したジャンルと一致する又は含むリズムパターンレコードが検索結果として得られやすいため、ユーザは検索結果により納得感を持つことができる。
以上が、リズムパターン同士の距離の計算方法のバリエーションについての説明である。
入力リズムパターンとリズムカテゴリとの距離の算出方法は一例に過ぎず、異なる計算方法を用いてもよい。以下には、その算出方法のバリエーションを記載する。
<カテゴリに特有の入力時刻間隔の個数>
(変形例19)
変形例19において、制御部21は、入力リズムパターンにおいて比較対象のリズムカテゴリを象徴するオンセット時刻間隔が含まれる個数に基づいて、入力リズムパターンと各リズムカテゴリとの距離を算出する。図24は、オンセット時刻間隔テーブルの一例を表す図である。オンセット時刻間隔テーブルは記憶部22に予め記憶されている。オンセット時刻間隔テーブルは、リズムカテゴリの分類を示す名称と、各リズムカテゴリにおいて対象となるオンセット時刻間隔との組み合わせからなる。なお、ここでは1小節を48に等分して正規化したものとしてオンセット時刻間隔テーブルの内容が予め決められている。
(d)12,6,6,6,6,6
制御部21は、算出した数値群と、図24に示すオンセット時刻間隔テーブルとに従って、4分のオンセット時刻間隔が1個、8分のオンセット時刻間隔が5個であると特定する。そして制御部21は、以下の式(6)に従って、入力リズムパターンと各リズムカテゴリとの距離を算出する。
入力リズムパターンとリズムカテゴリNとの距離=1−(入力リズムパターンにおけるリズムカテゴリNの対象となるオンセット時刻間隔の個数/入力リズムパターンにおけるオンセット時刻間隔の総数)・・・(6)
上述した式は一例であり、対象となるオンセット時刻間隔がより多く含まれているリズムカテゴリほど、入力リズムパターンとの距離が小さく算出されるものであればよい。式(6)に従った結果、制御部21は、例えば入力リズムパターンと8分のリズムカテゴリとの距離を、0.166と算出する。また、式(6)に従った結果、制御部21は、例えば入力リズムパターンと4分のリズムカテゴリとの距離を、0.833と算出する。制御部21は、このようにして入力リズムパターンと各リズムカテゴリとの距離を算出し、最も距離が小さく算出されたリズムカテゴリに入力リズムパターンが属する、と判定する。
(変形例20)
入力リズムパターンとリズムカテゴリとの距離の算出方法は、上述したものに限らず、次のようにしてもよい。変形例20では、距離参照表なるものを記憶部22が記憶している。図25は、距離参照表の一例を表す図である。距離参照表では、入力リズムパターンの属し得るリズムカテゴリと、自動伴奏DB222に記憶された各リズムパターンレコードが属し得るリズムカテゴリとの距離が、マトリクス状に表されている。例えば、制御部21が、入力リズムパターンが属するリズムカテゴリを8分と判定したとする。制御部21は、判定結果である入力リズムパターンが属するリズムカテゴリと、距離参照表とに基づいて、入力リズムパターンと各リズムカテゴリとの距離を特定する。例えば、この場合、制御部21は、入力リズムパターンと4分のリズムカテゴリとの距離を「0.8」と特定し、入力リズムパターンと8分のリズムカテゴリとの距離を「0」と特定する。これにより、制御部21は、8分のリズムカテゴリが入力リズムパターンと最も距離が小さいと判定する。
(変形例21)
入力リズムパターンとリズムカテゴリとの距離の算出方法は、上述したものに限らず、次のようにしてもよい。変形例21において、制御部21は、入力リズムパターンにおいて比較対象のリズムカテゴリを象徴するオンセット時刻が含まれる個数に基づいて、入力リズムパターンと各リズムカテゴリとの距離を算出する。図26は、オンセット時刻テーブルの一例を表す図である。オンセット時刻テーブルは記憶部22aに予め記憶されている。オンセット時刻テーブルは、リズムカテゴリの分類を示す名称と、各リズムカテゴリにおいて対象となるオンセット時刻と、入力リズムパターンに対象となるオンセット時刻が含まれる場合に加算するスコアとの組み合わせからなる。なお、ここでは1小節を48に等分して正規化したものとしてオンセット時刻テーブルの内容が予め決められている。
(e)0,12,18,24,30,36,42
制御部21は、このオンセット時刻とオンセット時刻テーブルとに基づいて、各リズムカテゴリに対する入力リズムパターンのスコアを算出する。ここでは、制御部21は、4分のリズムカテゴリに対するスコアとして「8」を算出し、8分のリズムカテゴリに対するスコアとして「10」を算出し、8分3連のリズムカテゴリに対するスコアとして「4」を算出し、16分のリズムカテゴリに対するスコアとして「7」を算出する。そして制御部21は、算出したスコアが最も高いリズムカテゴリを、入力リズムパターンとの距離が最も小さいリズムカテゴリであると判定する。ここでは、制御部21は、入力リズムパターンが8分のリズムカテゴリと最も距離が小さいと判定する。
以上が、入力リズムパターンとリズムカテゴリとの距離の算出方法のバリエーションについての説明である。
(変形例22)
ユーザがパートを指定して入力した音高パターンによって検索が行われるようにしてもよい。説明の便宜上、ここでは第2実施形態及び第3実施形態を例に挙げて説明する。変形例22では、図13Aに示すリズムパターンテーブルにおいて、「リズムパターンID」という項目名は「パターンID」となる。また、変形例22において、図13Aに示すリズムパターンテーブルにおける各リズムパターンレコードには、「音高パターンデータ」という項目が追加される。音高パターンデータは、1小節を構成するフレーズにおける各構成音の音高の時系列に沿った変化が記録されたデータファイルである。音高パターンデータは、例えばテキストファイルに、構成音の音高の時系列に沿った変化が記述されたものである。また、前述したように、オンセット情報には、トリガーデータ以外に鍵盤のノートナンバーが含まれている。このうち、トリガーデータにおけるオンセット時刻の並びが入力リズムパターンに相当し、鍵盤のノートナンバーの並びが入力音高パターンに相当する。ここで、情報処理装置20が音高パターンを検索するときには周知の方法のいずれかを用いればよい。例えば、ユーザがパートにコードを指定して、「C−D−E」というルートの音高シーケンスを入力した場合、情報処理装置20の制御部21は、このシーケンスにおける音高の進行を「0−2−4」という相対的な数値で表した音高パターンデータを持つリズムパターンレコードを検索結果として出力する。
(変形例23)
ユーザがパートを指定して入力したリズムパターンによって検索が行われた結果のうち、上記音高パターンがより類似したリズムパターンレコードが検索結果として出力されるようにしてもよい。説明の便宜上、ここでは第2実施形態及び第3実施形態を例に挙げて説明する。変形例23のリズムパターンテーブルにおける各リズムパターンレコードは、各パートについての「パターンID」とともに、各パートについての「音高パターンデータ」を含んでいる。
((|60−57|)+(|64−60|)+(|67−64|)+(|64−60|))/4=3.5・・・式(7)
((|3.5−3|)2+(|3.5−4|)2+(|3.5−3|)2+(|3.5−4|)2)/4=0.25・・・式(8)
上記式で表されるように、「60,64,67,64」で表される入力音高パターンと、「57,60,64,60」で表される音源の音高パターンとの音高の差分の分散は、「0.25」となる。制御部21は、このような音程の分散を、音源の音高パターンの全てについて算出する。
Sp=(1−x)S+xyV・・・式(9)
変数xが0の場合、上記式は「Sp=S」となるため、求められる類似の度合いは、音高パターンを考慮しない場合のものとなる。一方、xが1に近づくにつれて、上記式で求められる類似の度合いは、より音高パターンを考慮した場合のものとなる。変数xの大きさは、ユーザが操作部25を用いて変更可能としてもよい。なお、式(9)においては、上記音高の差分の分散に代えて、音高の差分の平均誤差を用いてもよい。そして制御部21は、検索結果であるリズムパターンレコードを、音高パターンを考慮した場合の、検索結果のリズムパターンと入力リズムパターンとの類似の度合いが高い(距離が小さい)順番で並び替えると、RAMに記憶させる。
(31)制御部21は、入力音高パターンの各ノートのオンセット時刻を基準として、音源の音高パターンにおける最も近いオンセット時刻のノートとの音高の差分を算出する。
(32)制御部21は、音源の音高パターンの各ノートのオンセット時刻を基準として、入力音高パターンにおける最も近いオンセット時刻のノートとの音高の差分を算出する。
(33)制御部21は、手順(31)で算出した差分と手順(32)で算出した差分との平均値を、入力音高パターンと音源の音高パターンとの音高の差分として算出する。
なお、計算量を抑えるために、手順(31)若しくは手順(32)のいずれかのみを用いて音高の差分が算出されるようにしてもよい。なお、音高パターンを考慮した場合の、入力リズムパターンと検索結果のリズムパターンとの類似の度合いの算出方法は、上述の方法に限らず、他の方法が用いられてもよい。
(|36−36|/12)+(|43−31|/12)+(|36−36|/12)=0・・・式(10)
(|0−0|^2)(|0−0|^2)(|0−0|^2)=0・・・式(11)
12音階における音高の変動のパターンが一致しているため、音高パターンAと音高パターンBの12音階における音高パターンの類似度は0と算出される。すなわち、この場合、音高パターンBが、音高パターンAに最も類似する音高パターンとして出力される。このように、入力音高パターンそのものとの類似度合いだけでなく、12音階における音高の変動のパターンも考慮すると、ユーザは、より納得感のある結果が得られる。
入力音高パターンそのものと12音階における音高の変動のパターンを考慮したリズムパターンの類似度=(1−X)×(リズムパターンの類似度)+XY{(1−κ)(音高のパターンの類似度)+κ(12音階のパターンの類似度)}・・・式(13)
ここで、X、Y及びκは、0<X<1、Y>0、0<κ<1をそれぞれ満たす予め決められた定数である。なお、上記式は一例であってこの限りではない。
(変形例24)
制御部21は、ユーザの演奏操作によるトリガーデータ及びベロシティデータの双方を用いてリズムDB221及び自動伴奏DB222を検索するようにしてもよい。この場合、極めて類似したリズムパターンを持つリズムパターンデータが2つ存在したときは、制御部21は、アタック強度パターンデータに記述された各構成音のアタック強度がユーザの演奏操作によるベロシティデータとより近いリズムパターンデータを検索結果として出力する。このようにすれば、アタック強度についても、ユーザがイメージしていたものに近い自動伴奏データが、検索結果として出力されることが可能となる。
制御部21がリズムDB221及び自動伴奏DB222を検索するにあたって、トリガーデータ及びベロシティデータに加えて、同一の音が鳴り続ける長さを表すデュレーションデータを用いてもよい。ここで、各構成音におけるデュレーションデータは、オフセット時刻から直前のオンセット時刻を差し引いた時間の長さで表される。デュレーションデータは、リズム入力装置10における入力手段が鍵盤である場合に、情報処理装置20がオフセット時刻を明確に取得することが可能であるため、特に有効に活用することができる。この場合、フレーズテーブル及びリズムパターンテーブルにおいて、「デュレーションパターンデータ」という項目が追加されることとなる。デュレーションパターンデータは、1小節を構成するフレーズにおける各構成音の鳴り続ける長さが記録されたデータファイルであり、例えばテキストファイルに、各構成音の鳴り続ける長さが記述されたものである。この場合、情報処理装置20は、ユーザにより入力された、1小節におけるデュレーションのパターンを用いて、フレーズテーブル又はリズムパターンテーブルから、上記入力されたデュレーションのパターンと最も類似するデュレーションパターンデータを持つフレーズレコード又はリズムパターンレコードを検索結果として出力するようにすればよい。このようにすれば、類似したリズムパターンを持つフレーズレコード又はリズムパターンレコードが複数存在しても、情報処理装置20が、スラー(伸ばす)のあるリズムパターンや、スタッカート(はねる)のあるリズムパターン等を識別して検索結果として出力することが可能となる。
(変形例26)
情報処理装置20が検索を行うにあたって、入力リズムパターンにおける音色と同一又は類似の度合いが高い音色を持つフレーズを持つ自動伴奏データを検索するようにしてもよい。例えば、それぞれのリズムパターンデータに対し、使用される音色毎にその音色の識別情報を対応付けて持たせておき、ユーザがリズムパターンを入力する際に、事前に音色を指定しておくことで、対応する音色で発音するリズムパターンに絞ったうえでそのリズムパターンの類似度が高いものを検索されるようにすればよい。ここでは、第2実施形態及び第3実施形態を例に挙げて説明する。この場合、リズムパターンテーブルにおいて、項目「音色ID」が追加される。ユーザは、演奏操作子を用いてリズムパターンを入力する際に、例えば操作部25を用いて音色を指定する。音色の指定は、リズム入力装置10が備える操作子によって行われてもよい。ユーザが演奏操作を行うと、演奏操作が行われた際に指定された音色のIDが、MIDI情報の一部として情報処理装置20に入力される。情報処理装置20は、入力された音色IDに基づく音の音色と、リズムパターンテーブルにおける指定されたパートの各リズムパターンレコードにおける音色IDに基づく音の音色を比較し、比較結果に基づいて、両者が予め決められた対応関係にある場合、そのリズムパターンレコードを特定する。この対応関係は、例えば、比較結果に基づいて両者の楽器種類が同じであると識別可能なように予め決められており、記憶部22aに記憶されている。ここで、音色の比較については、各々の音の波形におけるスペクトラムを比較するなど、周知の方法を用いればよい。このようにすれば、リズムパターンが類似していることに加え、指定したパートについて音色が類似した自動伴奏データをユーザは得ることが可能となる。なお、具体的な手法としては、変形例17に記載した内容と同様の手法で実現できる。
入力時刻間隔ヒストグラムと発音時刻間隔ヒストグラムとの差分の絶対値が最も小さいことを、入力時刻間隔ヒストグラムに対する発音時刻間隔ヒストグラムの類似度が高いと判断していたが、両者の類似度が高いことを示す条件は、上記のような両ヒストグラムの差分の絶対値に限らない。例えば、両ヒストグラムの各時刻間隔成分の積などの相関度が最も大きいとか閾値を超えるといったことや、両ヒストグラムの差分の2乗が最も小さいとか閾値未満であるといったこと、両ヒストグラムの各時刻間隔成分における値が類似していることを示すような条件であれば、どのような条件を用いてもよい。
リズム入力装置10から入力されたリズムパターンに従って、情報処理装置20が、当該リズムパターンに類似するリズムパターンを持つ楽音データを検索し、検索結果の楽音データを音に変換して出力していたが、次のようにしてもよい。例えば、上記実施形態に相当する内容をウェブサービスによって実施する場合、上記実施形態において情報処理装置20が備える機能を、当該ウェブサービスを提供するサーバ装置が備えることとなる。そして、ユーザの操作によって、クライアント装置である自端末(例えばPC)が、インターネットや専用線等を介して入力リズムパターンを上記サーバ装置に送信する。サーバ装置は、受信した入力リズムパターンに基づいて、記憶手段から当該入力リズムパターンに類似するリズムパターンを持つ楽音データを検索し、検索結果の楽音データを自端末に送信する。そして自端末は、受信した楽音データに基づく音を出力する。なお、この場合、サーバ装置の提供するウェブサイトやアプリケーションにおいて、小節線クロックがユーザに提示されるようにすればよい。
リズム入力装置10における演奏操作子は、ユーザが演奏操作したときに、少なくともトリガーデータを出力するものであれば、鍵盤やドラムパッドのような形状に限らず、弦楽器、吹奏楽器、あるいはボタンなどの形状であってもよい。また、その他に演奏操作子は、タッチパネルを備えたタブレットPC、スマートフォン、携帯電話等であってもよい。
(変形例30)
第2実施形態及び第3実施形態において、リズムパターンレコードには本来のBPMが情報として含まれているから、ユーザが操作部25を用いて行った操作に従って、制御部21が、リズムパターンレコードに含まれる楽音データが示す楽音を本来のBPMで再生するようにしてもよい。また、検索結果から特定のリズムパターンレコードがユーザにより選択されて制御部21がこれを特定すると、制御部21が、特定された直後は上記入力されたBPMまたは上記指定されたBPMに基づく速度でリズムパターンレコードに含まれる楽音データが示す楽音を再生し、時間の経過に伴って、BPMがリズムパターンレコードの持つ本来のものに徐々に近づくように制御してもよい。
ユーザが検索結果に対してより納得感を持てるようにするための方法は、上述したフィルタリング機能に限ったものではない。
<類似度にBPMの差による重み付けを行う>
説明の便宜上、ここでは第2実施形態及び第3実施形態を例に挙げて説明する。例えば、入力リズムパターンとリズムパターンテーブルに含まれるリズムパターンレコードとの距離を求める算出式に、入力BPMとリズムパターンレコードが有する本来のBPMとの差に基づく重み付けを導入してもよい。ここで、aを予め定められた定数とし、入力リズムパターンとリズムパターンテーブルに含まれるリズムパターンレコードとの距離をLとすると、上記重み付けを導入した場合の類似度を求める計算式は、例えば以下の式(10)のように表せる。
類似度=L+|入力BPM−リズムパターンレコードの有するBPM|/a・・・式(14)
なお、上記類似度を求める計算式は式(14)のようなものに限ったものではなく、入力BPMとリズムパターンレコードの持つBPMとが近いほど類似度が小さくなる(すなわち類似の度合いが高くなる)ような計算式であればよい。
上述の実施形態のように、プルダウンで特定の対象をユーザが指定して表示結果を絞るように使用してもよいが、リズムパターン入力時の演奏情報を自動で解析して自動で表示結果を絞るような方法でもよい。また、鍵盤などから入力したリズム入力のピッチの演奏情報から、コードタイプやスケールを判定してそのコードタイプやスケールで登録された伴奏が自動で検索結果として表示されるようにしてもよい。例えばロックっぽいコードでリズム入力したら、ロックのスタイルが検索されやする。他には、中東っぽいスケールでリズムを入力したら、中東っぽいフレーズが検索されやすくなる。また、鍵盤入力時に指定された音色の情報によって、同じ音色情報を持ち、且つリズムパターンが一致するものを検索するようにしてもよい。例えば、スネアドラムのリムショットでリズム入力した場合、同じリズムパターンを持つ候補の中でもリムショットの音色の伴奏が優先して表示されるようにする。
(変形例32)
第2実施形態及び第3実施形態において、リズム入力装置10が入力パッド12を備えない場合、リズム入力装置10が次のような構成を取ってもよい。この場合、デフォルトの状態では鍵盤11には、ベース入力音域鍵盤11a、コード入力音域鍵盤11b、及びフレーズ入力音域鍵盤11cが所定の鍵域に各々割り当てられている。ここでユーザが、操作部25を介してドラムスのパートの入力を行う旨を指示すると、制御部21は、鍵盤11の所定の鍵域にドラムのパートを割り当てる。例えば、制御部21は、C3にバスドラムのパートを割り当て、D3にスネアドラムのパートを割り当て、E3にハイハットのパートを割り当て、F3にシンバルのパートを割り当てる、といった具合である。なお、この場合、制御部21は、鍵盤11の全鍵域における操作子(すなわち各鍵)に、各々異なる楽器音を割り当てることが可能である。ここで制御部21が、鍵盤11における各操作子(各鍵)の上部や下部に、割り当てられる楽器音に関する画像(例えばスネアドラムの画像)を表示するようにしてもよい。
(変形例33)
第2実施形態及び第3実施形態において、ユーザが、どの操作子を操作すれば、どのパートが制御部21によって検索されるのかを視覚的に分かりやすくするために、次のようにしてもよい。例えば、制御部21が、鍵盤11における各操作子(各鍵)の上部や下部に、割り当てられるパートに関する画像(例えば、ギターのコードが押さえられた画像、ピアノが単音で演奏されている画像(例えば単一の鍵が指で押さえられている画像)、又はスネアドラムの画像等)を表示する。また、制御部21が、上述の画像を各操作子の上部や下部に表示するに限らず、表示部24に表示させてもよい。この場合、表示部24には、例えば鍵盤11を模した鍵盤の画像が表示されるとともに、実際の鍵盤11の各鍵域に割り当てられているのと同じ割り当て状態で、鍵盤の画像の各鍵域に対して割り当てられたパートの画像が表示される。または、ユーザが、どの操作子を操作すれば、どのパートが制御部21によって検索されるのかを聴覚的に分かりやすくするために、次のようにしてもよい。例えば、ユーザがベース入力音域鍵盤11aに対して入力を行うと、制御部21は、音声出力部26からベースの音声を出力させる。このようにすれば、ユーザは、どの操作子を操作すれば、どのパートが検索されるのかを視覚的又は聴覚的に判別可能となるため、操作入力が容易なものとなり、結果として自らが望む伴奏音源を得やすくなる。
(変形例34)
図5の処理フローにおいて、リズムカテゴリ毎のオンセット時刻間隔の分布を計算(ステップSb1)した後に、入力リズムパターンにおけるオンセット時刻間隔の分布を計算していた(ステップSb3)が、ステップSb1とステップSb3の順番を入れ替えてもよい。また、処理ステップの入れ替えに関わらず、制御部21が、リズムカテゴリ毎のオンセット時刻間隔の分布を計算した後、計算結果をRAMや記憶部22に記憶させるようにしてもよい。このようにすれば、制御部21は一度計算した結果を再度計算する必要がなく、処理速度の向上を見込むことが可能となる。
(変形例35)
第1実施形態〜第3実施形態では、例えば、ユーザがベース入力音域鍵盤11aにおいて、和音となるように鍵盤を押下したとき等のように、ユーザが所定時間内において複数の操作子を操作してリズムパターンを入力する場合には、次のような問題がある。例えば、1小節において、ユーザが「0.25」のタイミングでリズムを入力したかったとする。ここで、ユーザが、自身では同一のタイミングのつもりで複数の操作子を操作しても、実際には、或る操作子が「0.25」のオンセット時刻で操作され、他の操作子が「0.26」のオンセット時刻で操作された場合、制御部21は、これらのオンセット時刻のとおりに入力リズムパターンを記憶してしまう。このような場合、ユーザが意図していたものとは異なる検索結果が出力される可能性があり、ユーザにとっては操作性がよいものとはいえない。これに対して、次のようにしてもよい。なお、説明の便宜上、ここでは第2実施形態及び第3実施形態を例に挙げて説明する。
(変形例36)
制御部21が小節単位で入力リズムパターンを記憶するタイミングを、小節線クロックに基づく小節の切り替えタイミングと同じものすると、以下のような問題が生じることがある。例えば、ユーザの操作によってリズムパターンが入力される場合、ユーザが自身で感じている時刻間隔と小節線クロックとのズレによって、ユーザが意図していたリズムパターンと実際のオンセット時刻との間に数msec〜数十msecの誤差が生じる。従って、例えば、ユーザが小節頭の拍を入力しているつもりでも、上記誤差によって1つ前の小節のリズム入力として扱われてしまうことがあり、この場合、このリズム入力は入力リズムパターンとして記憶されないことがある。このような場合、ユーザが意図していたものと異なる検索結果が出力されてしまい、ユーザにとって操作性がよいとはいえない。このような問題に対しては、制御部21がRAMに入力リズムパターンを記憶させる際に、小節の頭よりも数十msec早い時点(すなわち直前の小節における最後の数十msec)から、最後の数十msecを除く小節の終わりまでを処理の対象範囲とすればよい。つまり、制御部21は、RAMに記憶させる入力リズムパターンの対象範囲を数十msec分だけ前にずらすこととなる。このようにすれば、ユーザが意図していたものと異なる検索結果が出力されることを少なくすることができる。
(変形例37)
制御部21がリズムパターン検索を行うタイミングを、小節線クロックに基づく小節の切り替えタイミングと同じものすると、以下のような問題が生じることがある。例えば、本発明における検索方法は、検索結果の楽音データが、リズム入力の直後の小節で小節線クロックと同期して再生されるようなプレイバック機能を備えた楽音データ処理装置にも応用可能である。この場合、リズム入力の直後の小節における頭から検索結果の楽音データが再生されるには、上記小節の頭の時点より以前、つまりリズム入力が行われた小節内で検索結果が出力される必要がある。また、RAMの記憶容量の問題等により、事前に再生対象である楽音データを予め読み込んでRAMに記憶させておくことが不可能な場合には、リズム入力が行われた小節内で検索結果の楽音データを読み込んでRAMに記憶させる必要がある。このような問題に対しては、制御部21がリズムパターン検索を行うタイミングを、小節の切り替えタイミングよりも、例えば数十msec早いものとすればよい。このようにすれば、小節の切り替えが行われる前に検索が行われ、検索結果の楽音データがRAMに記憶されることで、リズム入力の直後の小節における頭から検索結果の楽音データが再生されることが可能となる。
(変形例38)
入力リズムパターンを1小節単位に限らず、複数小節(N小節とする)に跨るリズムパターンを検索できるように、以下のようにしてもよい。説明の便宜上、ここでは第2実施形態及び第3実施形態を例に挙げて説明する。この場合、例えば、制御部21が、N小節のまとまりを持った入力リズムパターンを用いてリズムパターンテーブルを検索する方法がある。しかしこの方法では、ユーザが、小節線クロックに合わせてリズムパターンを入力する際に、1小節目がどこかを指定する必要がある。また、検索結果がN小節後に出力されるため、検索結果が出力されるまでに時間がかかってしまう。これに対して、次のようにしてもよい。
(変形例39)
制御部21が、入力リズムパターンをRAMに記憶させるにあたり、上述した方法に限らず、以下のようにしてもよい。式(11)は、入力リズムパターンにおいてn番目に入力されたオンセット時刻を求める計算式である。式(11)において、Lは或る小節の先頭を0としたときの、この小節の末尾を表し、0以上の実数である。また、式(11)においてNは、1小節内のクロック回数である分解能を表す。
[(n番目のオンセット時刻−小節の開始時刻)/(小節の終了時刻−小節の開始時刻)×N+0.5]×L/N・・・式(11)
式(11)において、「0.5」の値は、オンセット時刻が算出されるにあたり、端数に対して四捨五入の効果をもたらすものであり、これを、0以上1未満の別の数値に置き換えてもよい。例えば、この値を「0.2」とすると、端数に対して七捨八入の効果がもたらされる。この値は、パラメータとして記憶部22に記憶されており、ユーザが操作部25を用いて変更可能である。
本発明は、リズム入力装置10及び情報処理装置20が一体となった装置により実現されてもよい。例えば、第2実施形態及び第3実施形態における、このような例を考える。この場合、この装置として、例えば、携帯電話や、タッチスクリーンを備えた移動通信端末などが考えられる。本変形例では、この装置がタッチスクリーンを備えた移動通信端末である場合を例に挙げて説明する。
本発明は、楽音データ処理装置以外にも、これらを実現するための方法や、コンピュータに
図4及び図14に示した機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
検索モードについては、上述の実施形態における自動伴奏モード、差し替え検索モード、追従検索モードの3種類とは別に、以下のようなモードの切り替えが考えられる。1つ目は、常に検索処理が小節ごとに自動で動作しており、類似した最上位の1つあるいは類似した所定数の検索結果が自動で再生されるモードである。このモードは、主に自動伴奏などを用途として用いられる。2つ目は、ユーザが検索の開始を指示したときにメトロノームのみが再生され、ユーザがリズムを入力すると、リズム入力が終了後、自動で又は操作の指示を与えたことを契機として、検索結果が表示されるモードである。
第1実施形態の変形例として、検索機能がONの状態において、リズムパターン検索部213(図4)が、入力リズムパターンを基準として、一定以上の類似度のリズムパターンを持つ伴奏音源を、類似度が高い順番で一覧表示するようにしてもよい。図30(a)及び図30(b)は、前記第1実施形態の変形例として、伴奏音源についての検索結果の一覧を表した模式図である。図30(a)及び図30(b)に示されるように、伴奏音源についての検索結果一覧は、「ファイル名」、「類似度」、「キー」、「ジャンル」、及び「BPM(Beat Per Minute)」といった複数の項目からなる。「ファイル名」は伴奏音源を一意に識別する名称である。「類似度」は、入力リズムパターンを基準として、伴奏音源のリズムパターンがどの位類似しているかを表す数値であり、数値が低いほど類似の度合いが高い(上述したリズムパターン同士の距離が短い)ことを表す。「キー」は、伴奏音源のキー(音高)の高さを表す。「ジャンル」は、伴奏音源が所属する音楽のジャンル(例えばロック、ラテン等)を表す。「BPM」は、1分間における拍の数であって、伴奏音源のテンポを表す。
ステップSb6におけるリズムパターンのズレの計算において、Aを基準としたBの時刻差と、Bを基準としたAの時刻差との2つを用いていたが(symmetric Distance方式という)、これに限らず、両者のうちどちらか一方のみを用いて計算を行ってもよい。
また、第2実施形態及び第3実施形態において、ユーザが演奏操作子に拠らずに操作部25を用いてパートを指定可能としてもよい。この場合、ユーザが、パートを指定したあとに演奏操作子を操作すると、指定されたパートの入力が行われることとなる。例えば、ユーザが、操作部25を用いて「ベース」のパートを指定すると、その後にコード入力音域鍵盤11bを操作しても、制御部21は、これを「ベース」のパートの入力とみなす、といった具合である。
Claims (11)
- 予め決められた期間における複数の音を示す楽音データと、当該複数の音の発音時刻の並びを表す楽音リズムパターンとを対応付けて記憶し、さらに、前記楽音リズムパターンが表す前記発音時刻の間隔に基づいて決められたリズムのカテゴリを、当該楽音リズムパターンに対応付けて記憶する記憶部と、
ユーザによって入力された操作に基づいて、当該操作のパターンに対応する指定時刻の並びを表す入力リズムパターンを取得する取得部と、
前記入力リズムパターンが表す各指定時刻の間隔に基づいて当該入力リズムパターンが属するリズムのカテゴリを判定する判定部と、
前記入力リズムパターンと前記楽音リズムパターンとの距離を算出する算出部と、
前記入力リズムパターンが属するリズムのカテゴリと前記楽音リズムパターンが属するリズムのカテゴリとの関係、および前記算出された距離に基づいて、前記入力リズムパターンと前記楽音リズムパターンとの類似の度合いを算出し、該算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データを前記記憶部から検索して特定する検索部と
を備えることを特徴とする楽音データ処理装置。 - 前記検索部は、
前記入力リズムパターンが表す発音時刻間隔の度数分布を表す入力時刻間隔ヒストグラムと、前記楽音リズムパターンにおける前記発音時刻間隔の度数分布を前記リズムのカテゴリごとに表すリズムカテゴリヒストグラムとを比較して、前記入力時刻間隔ヒストグラムに対する類似度が高いことを示す前記リズムカテゴリヒストグラムの前記リズムのカテゴリを特定し、
前記検索部が特定する楽音データは、
前記特定したリズムのカテゴリと対応付けられた楽音リズムパターンのうち、前記類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データである
ことを特徴とする請求項1に記載の楽音データ処理装置。 - 前記予め定められた期間が複数の区間により構成され、
前記記憶部は、
前記区間毎に、前記複数の音の発音時刻の並びを表す楽音リズムパターンと前記楽音データとを対応付けて記憶し、
前記算出部は、
前記入力リズムパターンと前記記憶部に記憶された前記区間毎の前記楽音リズムパターンとの距離を算出し、
前記検索部は、
前記区間毎に前記算出部により算出された、前記入力リズムパターンと前記楽音リズムパターンとの距離と、前記入力リズムパターンが属するリズムのカテゴリと前記楽音リズムパターンが属するリズムのカテゴリとの関係とに基づいて、前記入力リズムパターンと前記楽音リズムパターンとの前記類似の度合いを算出し、
前記検索部が特定する楽音データは、前記入力リズムパターンと前記算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データである
ことを特徴とする請求項1又は2に記載の楽音データ処理装置。 - 前記期間における指定時刻を時間経過に伴って進行させるとともに、当該指定時刻をユーザに通知する通知部をさらに備え、
前記取得部は、前記通知部により前記指定時刻が通知されているときにユーザによって入力された操作に基づいて前記入力リズムパターンを取得する、
ことを特徴とする請求項1〜3のいずれかに記載の楽音データ処理装置。 - 楽音データに応じた音を出力する音声出力部に対し、前記通知部による前記指定時刻の通知に同期して、前記検索部によって特定された前記楽音データを供給する供給部
を備えることを特徴とする請求項4に記載の楽音データ処理装置。 - 前記記憶部は、
前記楽音データが示す音の音高の並びを表す楽音音高パターンを、当該楽音データに対応付けて記憶し、
ユーザによって入力された操作に基づいて、音高の並びを表す入力音高パターンを取得する音高パターン取得部を備え、
前記検索部は、
前記入力音高パターンと前記楽音音高パターンとにおける各々の音の音高の差の分散に基づいて、前記入力リズムパターンと前記楽音リズムパターンとの前記類似の度合いを算出し、
前記検索部が特定する楽音データは、前記入力リズムパターンと前記算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データである
ことを特徴とする請求項1〜5のいずれかに記載の楽音データ処理装置。 - 前記記憶部は、
前記楽音データが示す音の強度の並びを表す楽音ベロシティパターンを、当該楽音データに対応付けて記憶し、
ユーザによって入力された操作に基づいて、音の強度の並びを表す入力ベロシティパターンを取得するベロシティパターン取得部を備え、
前記検索部は、
前記入力ベロシティパターンと前記楽音ベロシティパターンとにおける各々の音の強度の差の絶対値に基づいて、前記入力リズムパターンと前記楽音リズムパターンとの類似の度合いを算出し、
前記検索部が特定する楽音データは、前記入力リズムパターンと前記算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データである
ことを特徴とする請求項1〜6のいずれかに記載の楽音データ処理装置。 - 前記記憶部は、
前記楽音データが示す音の音長の並びを表す楽音デュレーションパターンを、当該楽音データに対応付けて記憶し、
ユーザによって入力された操作に基づいて、音の音長の並びを表す入力デュレーションパターンを取得するデュレーションパターン取得部を備え、
前記検索部は、
前記入力デュレーションパターンと前記楽音デュレーションパターンとにおける各々の音の音長の差の絶対値に基づいて、前記入力リズムパターンと前記楽音リズムパターンとの類似の度合いを算出し、
前記検索部が特定する楽音データは、前記入力リズムパターンと前記算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データである
ことを特徴とする請求項1〜7のいずれかに記載の楽音データ処理装置。 - ユーザによる演奏操作が入力される入力装置と、
請求項1〜8のいずれかに記載の楽音データ処理装置と
を備え、前記入力装置に対して前記ユーザにより各々の演奏操作が入力された時刻間隔の並びを表すリズムパターンを、前記入力リズムパターンとして、前記楽音データ処理装置の前記取得部が取得する
ことを特徴する音楽データ作成システム。 - 楽音データを検索するための、コンピュータによって実行される方法であって、
予め決められた期間における複数の音を示す楽音データと、当該複数の音の発音時刻の並びを表す楽音リズムパターンとを対応付けて記憶部に記憶し、さらに、前記楽音リズムパターンが表す前記発音時刻の間隔に基づいて決められたリズムのカテゴリを、当該楽音リズムパターンに対応付けて前記記憶部に記憶する手順と、
ユーザによって入力された操作に基づいて、当該操作のパターンに対応する指定時刻の並びを表す入力リズムパターンを取得する手順と、
前記入力リズムパターンが表す各指定時刻の間隔に基づいて当該入力リズムパターンが属するリズムのカテゴリを判定する手順と、
前記入力リズムパターンと前記楽音リズムパターンとの距離を算出する手順と、
前記入力リズムパターンが属するリズムのカテゴリと前記楽音リズムパターンが属するリズムのカテゴリとの関係、および前記算出された距離に基づいて、前記入力リズムパターンと前記楽音リズムパターンとの類似の度合いを算出し、該算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データを前記記憶部から検索して特定する手順、
を具備する方法。 - コンピュータ読み取り可能な記憶媒体であって、コンピュータに、
予め決められた期間における複数の音を示す楽音データと、当該複数の音の発音時刻の並びを表す楽音リズムパターンとを対応付けて記憶部に記憶し、さらに、前記楽音リズムパターンが表す前記発音時刻の間隔に基づいて決められたリズムのカテゴリを、当該楽音リズムパターンに対応付けて前記記憶部に記憶する手順と、
ユーザによって入力された操作に基づいて、当該操作のパターンに対応する指定時刻の並びを表す入力リズムパターンを取得する手順と、
前記入力リズムパターンが表す各指定時刻の間隔に基づいて当該入力リズムパターンが属するリズムのカテゴリを判定する手順と、
前記入力リズムパターンと前記楽音リズムパターンとの距離を算出する手順と、
前記入力リズムパターンが属するリズムのカテゴリと前記楽音リズムパターンが属するリズムのカテゴリとの関係、および前記算出された距離に基づいて、前記入力リズムパターンと前記楽音リズムパターンとの類似の度合いを算出し、該算出した類似の度合いが所定の条件に合致する楽音リズムパターンに対応付けられた楽音データを前記記憶部から検索して特定する手順、
を実行させるためのプログラムを記憶している記憶媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010268661 | 2010-12-01 | ||
JP2010268661 | 2010-12-01 | ||
JP2011263088 | 2011-11-30 | ||
JP2011263088 | 2011-11-30 | ||
PCT/JP2011/077839 WO2012074070A1 (ja) | 2010-12-01 | 2011-12-01 | リズムパターンの類似度に基づく楽音データの検索 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012074070A1 JPWO2012074070A1 (ja) | 2014-05-19 |
JP5949544B2 true JP5949544B2 (ja) | 2016-07-06 |
Family
ID=46171995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012513378A Expired - Fee Related JP5949544B2 (ja) | 2010-12-01 | 2011-12-01 | リズムパターンの類似度に基づく楽音データの検索 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9053696B2 (ja) |
EP (1) | EP2648181B1 (ja) |
JP (1) | JP5949544B2 (ja) |
CN (1) | CN102640211B (ja) |
WO (1) | WO2012074070A1 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8507781B2 (en) * | 2009-06-11 | 2013-08-13 | Harman International Industries Canada Limited | Rhythm recognition from an audio signal |
JP2011164171A (ja) * | 2010-02-05 | 2011-08-25 | Yamaha Corp | データ検索装置 |
US8530734B2 (en) * | 2010-07-14 | 2013-09-10 | Andy Shoniker | Device and method for rhythm training |
JP5728888B2 (ja) * | 2010-10-29 | 2015-06-03 | ソニー株式会社 | 信号処理装置および方法、並びにプログラム |
EP2690620B1 (en) * | 2011-03-25 | 2017-05-10 | YAMAHA Corporation | Accompaniment data generation device |
JP5891656B2 (ja) * | 2011-08-31 | 2016-03-23 | ヤマハ株式会社 | 伴奏データ生成装置及びプログラム |
US8614388B2 (en) * | 2011-10-31 | 2013-12-24 | Apple Inc. | System and method for generating customized chords |
CN103514158B (zh) * | 2012-06-15 | 2016-10-12 | 国基电子(上海)有限公司 | 音乐文件搜索方法及多媒体播放装置 |
JP6047985B2 (ja) * | 2012-07-31 | 2016-12-21 | ヤマハ株式会社 | 伴奏進行生成装置及びプログラム |
US9219992B2 (en) * | 2012-09-12 | 2015-12-22 | Google Inc. | Mobile device profiling based on speed |
US9012754B2 (en) | 2013-07-13 | 2015-04-21 | Apple Inc. | System and method for generating a rhythmic accompaniment for a musical performance |
CN105164747B (zh) * | 2014-01-16 | 2019-06-28 | 雅马哈株式会社 | 经由链接对乐音设置信息进行设置和编辑 |
JP6606844B2 (ja) * | 2015-03-31 | 2019-11-20 | カシオ計算機株式会社 | ジャンル選択装置、ジャンル選択方法、プログラムおよび電子楽器 |
JP6759545B2 (ja) * | 2015-09-15 | 2020-09-23 | ヤマハ株式会社 | 評価装置およびプログラム |
US9651921B1 (en) * | 2016-03-04 | 2017-05-16 | Google Inc. | Metronome embedded in search results page and unaffected by lock screen transition |
US11151970B2 (en) * | 2017-01-19 | 2021-10-19 | Inmusic Brands, Inc. | Systems and methods for selecting musical sample sections on an electronic drum module |
US10510327B2 (en) * | 2017-04-27 | 2019-12-17 | Harman International Industries, Incorporated | Musical instrument for input to electrical devices |
EP3428911B1 (en) * | 2017-07-10 | 2021-03-31 | Harman International Industries, Incorporated | Device configurations and methods for generating drum patterns |
JP2019200390A (ja) | 2018-05-18 | 2019-11-21 | ローランド株式会社 | 自動演奏装置および自動演奏プログラム |
US10679596B2 (en) * | 2018-05-24 | 2020-06-09 | Aimi Inc. | Music generator |
US10838980B2 (en) * | 2018-07-23 | 2020-11-17 | Sap Se | Asynchronous collector objects |
WO2021044563A1 (ja) * | 2019-09-04 | 2021-03-11 | ローランド株式会社 | 自動演奏装置および自動演奏プログラム |
JP7140096B2 (ja) * | 2019-12-23 | 2022-09-21 | カシオ計算機株式会社 | プログラム、方法、電子機器、および演奏データ表示システム |
US20210248213A1 (en) | 2020-02-11 | 2021-08-12 | Aimi Inc. | Block-Chain Ledger Based Tracking of Generated Music Content |
EP4350684A1 (en) * | 2022-09-28 | 2024-04-10 | Yousician Oy | Automatic musician assistance |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000187671A (ja) * | 1998-12-21 | 2000-07-04 | Tomoya Sonoda | ネットワ―クを利用した歌声による曲検索システム及び検索時に用いる歌声の入力端末装置 |
JP2002215632A (ja) * | 2001-01-18 | 2002-08-02 | Nec Corp | 携帯端末を用いた音楽検索システム、音楽検索方法、および購入方法 |
JP2005227850A (ja) * | 2004-02-10 | 2005-08-25 | Toshiba Corp | 情報処理装置、情報処理方法及びプログラム |
JP2005338353A (ja) * | 2004-05-26 | 2005-12-08 | Matsushita Electric Ind Co Ltd | 音楽検索装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0887297A (ja) * | 1994-09-20 | 1996-04-02 | Fujitsu Ltd | 音声合成システム |
DE69908226T2 (de) | 1998-03-19 | 2004-03-25 | Tomonari Sonoda | Vorrichtung und Verfahren zum Wiederauffinden von Melodien |
JP2000029487A (ja) * | 1998-07-08 | 2000-01-28 | Nec Corp | 発音記号を用いた音声データ変換・復元装置 |
JP2002047066A (ja) | 2000-08-02 | 2002-02-12 | Tokai Carbon Co Ltd | SiC成形体およびその製造方法 |
CN100511422C (zh) * | 2000-12-07 | 2009-07-08 | 索尼公司 | 内容检索方法和装置、通信系统和通信方法 |
JP2006106818A (ja) | 2004-09-30 | 2006-04-20 | Toshiba Corp | 音楽検索装置、音楽検索方法及び音楽検索プログラム |
JP4520490B2 (ja) * | 2007-07-06 | 2010-08-04 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム |
JP5560861B2 (ja) * | 2010-04-07 | 2014-07-30 | ヤマハ株式会社 | 楽曲解析装置 |
-
2011
- 2011-12-01 EP EP11822840.2A patent/EP2648181B1/en not_active Not-in-force
- 2011-12-01 JP JP2012513378A patent/JP5949544B2/ja not_active Expired - Fee Related
- 2011-12-01 WO PCT/JP2011/077839 patent/WO2012074070A1/ja active Application Filing
- 2011-12-01 US US13/395,433 patent/US9053696B2/en active Active
- 2011-12-01 CN CN2011800038408A patent/CN102640211B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000187671A (ja) * | 1998-12-21 | 2000-07-04 | Tomoya Sonoda | ネットワ―クを利用した歌声による曲検索システム及び検索時に用いる歌声の入力端末装置 |
JP2002215632A (ja) * | 2001-01-18 | 2002-08-02 | Nec Corp | 携帯端末を用いた音楽検索システム、音楽検索方法、および購入方法 |
JP2005227850A (ja) * | 2004-02-10 | 2005-08-25 | Toshiba Corp | 情報処理装置、情報処理方法及びプログラム |
JP2005338353A (ja) * | 2004-05-26 | 2005-12-08 | Matsushita Electric Ind Co Ltd | 音楽検索装置 |
Also Published As
Publication number | Publication date |
---|---|
US9053696B2 (en) | 2015-06-09 |
US20120192701A1 (en) | 2012-08-02 |
EP2648181A4 (en) | 2014-12-03 |
JPWO2012074070A1 (ja) | 2014-05-19 |
WO2012074070A1 (ja) | 2012-06-07 |
CN102640211A (zh) | 2012-08-15 |
EP2648181B1 (en) | 2017-07-26 |
CN102640211B (zh) | 2013-11-20 |
EP2648181A1 (en) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5949544B2 (ja) | リズムパターンの類似度に基づく楽音データの検索 | |
JP6056437B2 (ja) | 音データ処理装置及びプログラム | |
JP5982980B2 (ja) | 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記憶媒体 | |
US20210326102A1 (en) | Method and device for determining mixing parameters based on decomposed audio data | |
JP5970934B2 (ja) | 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体 | |
US7626112B2 (en) | Music editing apparatus and method and program | |
JP3598598B2 (ja) | カラオケ装置 | |
JP5799977B2 (ja) | 音符列解析装置 | |
US8791350B2 (en) | Accompaniment data generating apparatus | |
JP5879996B2 (ja) | 音信号生成装置及びプログラム | |
JP6175812B2 (ja) | 楽音情報処理装置及びプログラム | |
JP3879524B2 (ja) | 波形生成方法、演奏データ処理方法および波形選択装置 | |
JP7425558B2 (ja) | コード検出装置及びコード検出プログラム | |
JP6036800B2 (ja) | 音信号生成装置及びプログラム | |
JP2012168323A (ja) | 音信号生成装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130822 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151013 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151119 |
|
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: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160523 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5949544 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |