JP6056437B2 - 音データ処理装置及びプログラム - Google Patents
音データ処理装置及びプログラム Download PDFInfo
- Publication number
- JP6056437B2 JP6056437B2 JP2012268640A JP2012268640A JP6056437B2 JP 6056437 B2 JP6056437 B2 JP 6056437B2 JP 2012268640 A JP2012268640 A JP 2012268640A JP 2012268640 A JP2012268640 A JP 2012268640A JP 6056437 B2 JP6056437 B2 JP 6056437B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- rhythm
- pattern
- rhythm pattern
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
-
- 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/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- 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
- G10H1/42—Rhythm comprising tone forming circuits
-
- 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
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/02—Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
-
- 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
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/091—Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
- G10H2220/101—Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
- G10H2220/106—Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters using icons, e.g. selecting, moving or linking icons, on-screen symbols, screen regions or segments representing musical elements or parameters
-
- 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
-
- 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
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/541—Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
- G10H2250/641—Waveform sampler, i.e. music samplers; Sampled music loop processing, wherein a loop is a sample of a performance that has been edited to repeat seamlessly without clicks or artifacts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Electrophonic Musical Instruments (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は上述の背景に鑑みてなされたものであり、選択されたパートについてユーザが意図する楽音等の音のパターンに基づいて検索された自動伴奏等に関する音データのうち、少なくともユーザの意図する音のパターンに対し所定の条件に合う音データを特定することを目的とする。
1.第1実施形態
(音楽データ作成システム)
第1実施形態は、音楽データ処理システムの一例としての音楽データ作成システムであり、音楽データの一例として自動伴奏データを作成するシステムである。本実施形態における自動伴奏データは、電子楽器やシーケンサなどに読み込まれ、いわゆるMIDIの自動伴奏データと同様の役割を果たす。
図1は、第1実施形態における音楽データ作成システム100を表す図である。音楽データ作成システム100は、リズム入力装置10、及び情報処理装置20を備えており、各々が通信線により接続されて相互に通信ができるようになっている。この通信は、無線によって実現されてもよい。第1実施形態において、リズム入力装置10は、入力手段として例えば鍵盤とパッドを備えている。ユーザが、リズム入力装置10に設けられた鍵盤を押鍵することにより、リズム入力装置10は、押鍵されたこと、すなわち演奏操作がなされたことを示すトリガーデータと、押鍵の強度、すなわち当該演奏操作の強度を示すベロシティデータとを、1小節を単位として、情報処理装置20に入力する。ここで、トリガーデータは、ユーザが鍵盤を押鍵する毎に生成されるものであって、押鍵されたことを示すキーオン情報で表される。トリガーデータの各々にはベロシティデータが対応付けられている。1小節内に生成されたトリガーデータとベロシティデータの集合は、この1小節において、ユーザがリズム入力装置10を用いて入力したリズムのパターン(入力リズムパターンという)を表している。ユーザは、この入力リズムパターンを鍵盤の鍵域に対応したパートについて入力することになる。また、打楽器を示すパートについては、ユーザは、パッドを使って入力リズムパターンを入力する。このように、リズム入力装置10は、ユーザによる演奏操作が入力される入力手段の一例である。
、自動伴奏データとその自動伴奏データを構成する各パートに用いられる楽音データを複数含んだデータベースとそれを利用するアプリケーションを備えている。このアプリケーションは、楽音データを検索する際に入力された入力リズムパターン(すなわちこの場合リズムパターンが検索キーである)に基づいてパートを選択するための選択機能と、作成中の自動伴奏データや作成後の自動伴奏データを再生する再生機能とを備えている。自動伴奏データは、各々が固有のリズムパターンを持つ複数のパートで構成され、各パートは、例えば、ベース、和音からなるコード、単音からなるフレーズ、バスドラム、スネアドラム、ハイハット、及びシンバル等であり、それらを組み合わせたものとなっている。具体的には、これらのデータは、自動伴奏データテーブルと該テーブルに規定されるリズムパターンデータ(例えばtxt形式のデータ)や楽音データ(例えばWAVE形式のデータ)等の各種ファイルで構成される。各パートのデータである楽音データは、それぞれ1つの音色で所定の長さ(例えば、2小節、4小節又は8小節など)を有する演奏音の波形を示す波形データであり、例えばWAVEやmp3といったファイルフォーマットで記録されたものである。なお、データベースには、自動伴奏データを差替えする際に利用される、現時点では自動伴奏データにおいて未使用の楽音データも記録されている。
例えば、極端に小さなベロシティデータを持つものなど)を除外する。そしてコンピュータのCPUは、ゴーストノートを除外した後のMIDI形式のデータにおいて、和音入力のように一定時間内に複数の入力があった場合、これら複数の入力を1つのリズム入力にまとめる処理を行うことで、リズムパターンデータの作成を自動で行う。
1−2−1.検索
次に、図7及び図8を用いて、検索機能がONの状態において、制御部21が入力リズムパターンに基づいて自動伴奏データの検索を行う一連の処理について説明を行う。
まず、ユーザが、リズム入力装置10の図示しない操作子で自動伴奏データ作成を指示すると、本フローのプログラムが実行される。情報処理装置20は、ユーザの指示に基づいて、プログラムの実行開始後、初期設定を行う。(ステップSa0)。初期設定では、ユーザは、操作部25を用いて各鍵域それぞれに対応する楽器種類および入力パッドに対応する楽器種類を指定し、BPM入力操作子13を用いてBPMを入力する。また、制御部21は、図4、図5A及び図5Bに示した各種テーブルをRAMに読み出す。初期設定後、ユーザは、リズム入力装置10を用いて、鍵盤11における所定の鍵域又は入力パッド12a〜12dにおけるいずれか、すなわちパートを指定してリズムパターンを入力する。リズム入力装置10は、指定されたパートを識別する情報と、指定された楽器種類を識別する情報と、入力BPMを識別する情報と、入力リズムパターンとを含むMIDI情報を情報処理装置20に送信する。制御部21は、入出力インターフェース部23を用いてリズム入力装置10からMIDI情報を受信すると、図7に示すフローに沿って処理を実行する。
(a)0,0.25,0.375,0.5,0.625,0.75,0.875
制御部21は、(a)のリズムパターンから、以下の(b)で表されるオンセット時刻間隔を算出する。
(b)0.25,0.125,0.125,0.125,0.125,0.125
次に制御部21は、(b)で算出された各々のオンセット時刻間隔に48を乗算し、さらに0.5を加算した数値の小数点以下を切り捨てる処理(クオンタイズという)を行うことで、以下の(c)で表す数値群を算出する。
(c)12,6,6,6,6,6
ここでクオンタイズとは、制御部21が、各オンセット時刻間隔を分解能にあわせて補正することを意味している。クオンタイズを行う理由は、以下のとおりである。リズムパターンテーブルにおけるリズムパターンデータに記述された発音開始時刻は、分解能(ここでは48)に従ったものとなっている。よって、オンセット時刻間隔を用いてリズムパターンテーブルを検索する際には、検索に用いるオンセット時刻間隔も分解能に従ったものでないと、検索の精度が低くなってしまう。このような理由により、制御部21は、(b)で表される各々のオンセット時刻間隔に対して、上述したクオンタイズの処理を施す。
・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
制御部21は、上記(A)〜(F)に対して上述したのと同様の計算方法を用いて、リズムカテゴリ毎にオンセット時刻間隔の分布を求める。図9(a)は、制御部21がリズムカテゴリ毎に計算したオンセット時刻間隔の分布を、分布表に割り当てたものである。
図9(a)は入力リズムパターンにおけるオンセット時刻間隔の分布表である。図9(a)において、横軸は、1小節を48の時刻で区切ったときの時刻の間隔(時刻間隔という)を表し、縦軸は、横軸で表された各々の時刻間隔に相当する、クオンタイズされたオンセット時刻間隔の個数の比率を表す。図9(a)では、入力リズムパターンに基づく、上述した(c)の数値群が分布表に割り当てられている。この個数比率は、合計が1となるように制御部21によって正規化されている。図9(a)では、クオンタイズされたオンセット時刻間隔である(c)の数値群において、最も個数が多い「6」の時刻間隔に分布のピークがあることが分かる。
(1)制御部21は、入力リズムパターンJにおける各オンセット時刻を基準として、リズムパターンKにおける最も近いオンセット時刻との時刻差の絶対値を算出する(図10における(1))。
(2)制御部21は、手順(1)で算出した各絶対値の積分値を算出する。
(3)制御部21は、リズムパターンKにおける各オンセット時刻を基準として、入力リズムパターンJにおける最も近いオンセット時刻との時刻差の絶対値を算出する(図10における(3))。
(4)制御部21は、手順(3)で算出した各絶対値の積分値を算出する。
(5)制御部21は、手順(2)で算出した積分値と手順(4)で算出した積分値との平均値を、リズムパターンJとリズムパターンKとのズレとして算出する。
JとKのリズムパターンの距離=(Jと、Kが所属するリズムカテゴリとの類似度距離)×(JとKとのリズムパターンのズレ)
ここで、JとKのリズムパターンの距離が小さいほど、KのリズムパターンがJの入力リズムパターンに類似している度合いが高いことを意味している。つまりここでは、JとKのリズムパターンの距離が、類似の度合いを表している。以降、このリズムパターンの距離が小さいことを、「類似の度合いが高い」ということがある。なお、この計算に際して、基本的には、ステップSb5で入力リズムパターンが該当すると判定されたリズムカテゴリ内から、検索結果が出力されるように、以下のような処理が行われる。制御部21は、ステップSb5で判定されたリズムカテゴリと、リズムパターンKの属するリズムカテゴリとが一致するかを判定し、一致しない場合には、上記計算式において予め定められた定数(例えば0.5)を加算する。このようにすれば、ステップSb5で判定されたリズムカテゴリと一致しないリズムカテゴリに属するリズムパターンレコードについては、リズムパターン同士の距離が大きく算出されるため、ステップSb5で入力リズムパターンが該当すると判定されたリズムカテゴリ内から、検索結果が出力されやすくなる。
れたBPMの倍のBPMとなるように楽音データにタイムストレッチを施す(図12(b))。また、「(楽音データが有するBPM×21/2)」<(ユーザにより指定されたBPM)」の場合、制御部21は、ユーザにより指定されたBPMの半分のBPMとなるように楽音データにタイムストレッチを施す(図12(c))。このようにすることで、楽音データが有するBPMとユーザにより指定されたBPMとの差が大きいことに起因して再生時の音質が劣化するような事態を少なくすることができる。上述の(1/21/2)や21/2といった係数は一例であり、他の値であってもよい。これにより、ユーザによる入力リズムパターンにおけるオンセット時刻とオフセット時刻との差が、ユーザによる押鍵時間が長いために大きくなったり、逆にユーザによる押鍵時間が短いために小さくなったりしたときに、タイムストレッチにより伸張する音の長さの変化を予め決められた範囲に収めることが可能となる。結果として、ユーザは、入力リズムパターンに対する検索結果に感じる違和感が少ないものとなる。
次に、ループ再生モード、演奏再生モード、及び演奏ループ再生モードの各々において、制御部21が行う処理の詳細について説明を行う。上述したように、ユーザは、入力リズムパターンを入力することで、検索結果のリズムパターンレコードに基づく音を出力させることが可能である(ループ再生モード及び演奏ループ再生モード)。また、上述したように、ユーザは、検索結果のリズムパターンレコードにおける構成音を用いて、リズム入力装置10に対して演奏操作を行い、この演奏操作によるフレーズの音を出力させることが可能である(演奏再生モード及び演奏ループ再生モード)。以下において、ループ再生モード、演奏再生モード、及び演奏ループ再生モードにおける各々の違いについて説明する。
音を、小節線クロックが刻むBPMで、伴奏に合わせて制御部21が繰り返し再生対象として出力するモードである。小節線クロックが、1小節内における検索結果のリズムパターンレコードの各構成音の発音開始時刻を越えると、制御部21は、この構成音を再生対象とする。ここで、小節線クロックは、その値が1に達する、すなわち1小節が経過すると、再び0の値となり、以降、0から1の間の値を繰り返す。従って、この小節線クロックの繰り返しの周期で、検索結果のリズムパターンレコードに基づく音が繰り返し再生対象として出力されることとなる。図14において、矢印で表されるように、小節線クロックが、検索結果のリズムパターンレコードの各構成音の発音開始時刻を越えると、制御部21が各構成音を再生対象とするようになっている。ループ再生モードは、主に、ユーザが、検索結果フレーズがどのような音量、音色、リズムパターンで構成されているかを確認する際に指定されるモードである。
演奏操作を行った時刻においてのみ、音が再生対象とされる。つまり、演奏再生モードは、ループ再生モードとは異なり、ユーザがリズム入力装置10を用いて演奏操作を行わない時刻においては、音が出力されることはない。ここで、ユーザが、検索結果におけるリズムパターンと全く同一のリズムパターンで演奏操作を行った場合、検索結果のリズムパターンに基づく音そのものが出力されることとなる。演奏再生モードは、ユーザが、検索結果のリズムパターンにおける構成音を用いて、自ら演奏を継続的に行いたいときに指定されるモードである。
次に、本発明の第2実施形態について説明する。
(スタイルデータの検索システム)
2−1.構成
第2実施形態は、音楽データ処理システムの例としてのスタイルデータを検索するシステムである。第1実施形態の音楽データ作成システム100において、自動伴奏DB221が、スタイルデータを記憶するとともに、スタイルデータを検索するためのスタイルテーブルを有している。その他の構成については、第1実施形態と第2実施形態は同様である。
図16Aは、スタイルテーブルの一例を表した図である。図16Aにおいては、スタイルテーブルの一例として、「ジャンル」が「Swing&JAZZ」である複数のスタイルデータが表されている。1件のスタイルデータは、「スタイルID」、「スタイル名」、「セクション」、「キー」、「ジャンル」、「BPM」、「拍子」、「ベースリズムパターンID」、「コードリズムパターンID」、「フレーズリズムパターンID」、「バスドラムリズムパターンID」、「スネアドラムリズムパターンID」、「ハイハットリズムパターンID」、及び「シンバルリズムパターンID」といった複数の項目からなる。「スタイルID」は、スタイルデータを一意に識別するための識別子である。「スタイル名」は、各スタイルデータを一意に識別する名称である。
セクション進行情報テーブルは、楽曲演奏の進行に従って、スタイルデータ中からセクションを時系列的に順次指定するための情報を取りまとめたテーブルである。図16B(a)の構成例に示されるように、セクション進行情報は、スタイルID、スタイルを指定するスタイル指定データSt、セクションを指定するセクション情報Sni、各セクションの開始時間と終了時間との位置(通常、小節単位)を表すセクション開始タイミングデータTssi,Tsei(i=1,2,3,…)、及びセクション進行情報の最終位置を表すセクション進行エンドデータSeから構成することができ、例えば記憶部22に記憶される。つまり、各セクション情報Sniは、対応するセクションに関するデータの記憶領域を指定し、その前後にあるタイミングデータTssi,Tseiは、指定されたセクションによる伴奏の開始及び終了を指示する。従って、このセクション進行情報を用いて、伴奏スタイル指定データStで指定された伴奏スタイルデータの中から、タイミングデータTssi,Tsei及びセクション情報Sniの組合わせの繰返しで、セクションを順次指定することができる。
和音進行情報テーブルは、楽曲演奏の進行に従って演奏されるべき和音を時系列的に順次指定するための情報を取りまとめたテーブルである。和音進行情報は、図16B(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の組合わせの繰返しによって、演奏すべき和音を順次指定することができる。
図17は、第2実施形態に係る情報処理装置20が行う処理のフロー図である。図17において、ステップSd0〜Sd5については、第1実施形態に係る図7のステップSa0〜Sa5と同様である。第2実施形態のステップSd6において、制御部21は、ステップSd5における検索結果のリズムパターンレコードと同一のパターンIDが、いずれかのパートのリズムパターンIDに設定されたスタイルデータを検索結果として表示させる。
第3実施形態において、音楽データ作成システム100は、第1実施形態で説明した検索機能に加えて(または代えて)、楽音データの編集機能を有する。検索により発見された楽音データにより示される演奏音がユーザの所望するものとは完全に一致しておらず、ユーザがその楽音データを修正したい場合がある。本実施形態は、このような要求に応えるものである。以下において、第1実施形態または第2実施形態と共通する事項についてはその説明を省略する。
以上の実施形態は次のように変形可能である。尚、以下の変形例は適宜組み合わせて実施しても良い。
実施形態では、ループ再生モード或いは演奏ループ再生モードにおいて1件のリズムパターンレコードが検索結果として出力されていたが、これに限らず、リズムパターン検索部213が、入力リズムパターンを基準として、一定以上の類似度を持つ複数のリズムパターンレコードを、類似度の高い順番に並び替えて検索結果として出力してもよい。このとき、検索結果として出力されるリズムパターンレコードの件数は、ROMに定数として記憶されていてもよいし、記憶部22に変数として記憶され、ユーザにより変更可能としてもよい。例えば検索結果として出力されるリズムパターンレコードの件数が5件である場合、各リズムパターンレコードの楽音データの名称が5件分、表示部24にリスト形式で表示される。そしてユーザが選択したリズムパターンレコードに基づく音が、音声出力部26から出力される。
実施形態において、楽器の種類が音高に幅のある楽器の場合、楽音データにおける各構成音のキーと、外部音源を含む伴奏のキーが一致しない場合がある。このような場合に備えて、ユーザが操作部25を通じて操作を行うことで、制御部21が、楽音データにおける各構成音のキーを変更可能としてもよい。また、このようなキーの変更は、操作部25を介して行われてもよいし、リズム入力装置10に設けられたフェーダー、つまみ、ホイール、ボタン等の操作子を介して行われてもよい。また、予め上記構成音のキーを表すデータを自動伴奏DB221に記憶させておくことで、ユーザがキーを変更した場合に、制御部21が、変更後のキーが何かをユーザに告知するようにしてもよい。
実施形態において、楽音データによっては、構成音の終了付近で波形の振幅(パワー)が0近くに収束されていないものがあり、この場合、構成音に基づく音声が出力された後に、クリップノイズが発生する場合がある。これを防ぐために、制御部21が、構成音の開始及び終了付近の一定範囲を自動でフェードイン又はフェードアウトする機能を有していてもよい。ここでユーザは、上記フェードイン又はフェードアウトを適用させるかどうかを、操作部25あるいはリズム入力装置10に設けられた何らかの操作子を介して選択可能である。
ユーザが演奏操作を行った結果であるフレーズを、制御部21が録音し、この録音した内容を、一般的に音源ループ素材で用いられているようなファイルフォーマットで出力可能としてもよい。例えば、楽曲制作において、ユーザ自らが欲するリズムパターンが自動伴奏DB221に記憶されていない場合に、このように自身の演奏を記録する機能があると、ユーザは、欲していたものとイメージが近いフレーズ楽音データを手に入れることが可能となる。
制御部21は、再生対象とする楽音データを1つに限らず、複数の楽音データを再生対象として、複数のフレーズを音声として重ねて出力可能としてもよい。この場合、例えば表示部24に複数のトラックが表示され、ユーザは各々のトラックに対して、それぞれ異なる楽音データ及び再生モードを割り当てることが可能である。これにより、例えばユーザは、トラックAにコンガの楽音データをループ再生モードで割り当てることでこれを伴奏とし、トラックBにおいてジャンベの楽音データを演奏再生モードで割り当てることで演奏を行う、といったことが可能となる。
実施形態において、ユーザの演奏操作によって入力されたベロシティデータに対して、検索結果の楽音データにおける、上記ベロシティデータに紐付けられたトリガーデータと同じ時刻を持つ構成音(構成音Aとする)のアタック強度の大きさが極端に異なる(ここでは予め定められた閾値を超える場合とする)場合、以下のような処理が行われてもよい。上述のような場合、制御部21は、上記楽音データにおいて、入力されたベロシティデータにほぼ対応した大きさのアタック強度を持つ複数の構成音から、ランダムに選択した構成音と構成音Aを差し替える。ここでユーザは、上述した処理を適用させるかどうかを、操作部25あるいはリズム入力装置10に設けられた何らかの操作子を介して選択可能である。このようにすれば、ユーザは自らが行った演奏操作により近い出力結果を得ることが可能となる。
第1実施形態においては、楽音データはWAVEやmp3といったファイルフォーマットからなるとしたが、これに限らず、例えばMIDI形式のようなシーケンスデータとしてもよい。この場合、記憶部22には、MIDIデータの形式でファイルが記憶され、音声出力部26に相当する構成はMIDI音源となる。特に第1実施形態及び第2実施形態において、楽音データがMIDI形式である場合、キーシフトやピッチ変換に際してタイムストレッチなどの処理が不要となる。従って、この場合、制御部21は、ユーザによりキー指定鍵盤202を用いてキーが指定されたときは、楽音データが表すMIDI情報のうちキーを示す情報を指定キーに変更する。また、この場合、リズムパターンテーブルにおいて、各リズムパターンレコードが複数のコードに応じた楽音データを有する必要がない。制御部21は、ユーザによりコード指定ボックス203を用いてコードが指定されたときは、楽音データが表すMIDI情報のうちコードを示す情報を、指定されたコードに変更する。このように、楽音データがMIDI形式のファイルであっても、上述した実施形態と同様の効果を奏することができる。また、第2実施形態においては、オーディオデータを使ったスタイルデータを利用してもよい。この場合、基本的な構成は、第2実施形態のスタイルデータと同様だが、各パートの演奏データがオーディオデータとして記憶されている点が異なるものである。また、MIDIとオーディオが組み合わされたスタイルデータを利用してもよい。いずれの実施例においても、特にデータ形式を実施形態に記述したものに限定するものではなく、所望の形式で、単独あるいは複数の組み合わせた形で音データを利用するようにすればよい。
実施形態においては、ユーザの演奏操作によるトリガーデータと、自動伴奏DB221に含まれるリズムパターンデータとの比較によって、制御部21が特定のリズムパターンレコードを検出していたが、これに限らず、制御部21は、ユーザの演奏操作によるトリガーデータ及びベロシティデータの双方を用いて自動伴奏DB221を検索するようにしてもよい。この場合、同じリズムパターンを持つ楽音データが2つ存在した場合に、各構成音のアタック強度が、ユーザの演奏操作によるベロシティデータと、より近い楽音データが検索結果として検出される。このようにすれば、アタック強度についても、ユーザがイメージしていたものに近い楽音データが、検索結果として出力されることが可能となる。
実施形態におけるリズムパターン同士のズレの計算方法は一例に過ぎず、異なる計算方法を用いてもよい。以下には、その計算方法のバリエーションを記載する。
4−9−1.変形例9
例えば、確実にリズムカテゴリが一致した検索結果が出力されるように、入力リズムパターンに該当するリズムカテゴリを判定した後、判定結果のリズムカテゴリに属するフレーズレコード又はリズムパターンレコードのみを対象として、リズムパターンのズレの計算(ステップSb6)、及びリズムパターン同士の距離の計算(ステップSb7)が行われるようにしてもよい。このようにした場合、計算量が少なくてすむため、情報処理装置20における負荷が下がるとともに、ユーザにとっての応答時間も短くなる。
ズレが基準より小さいものは、ズレを0とみなしてもよい。ステップSb6におけるリズムパターン同士のズレの計算において、以下のような処理を施してもよい。変形例10において、制御部21は、入力リズムパターンにおいて比較対象のリズムパターンにおけるオンセット時刻との時刻差の絶対値が閾値より小さいオンセット時刻については、その時刻差の絶対値はユーザの手入力による意図しないものであるとみなして、ズレの値を0あるいは本来の値より小さくなるように補正する。この閾値は、例えば「1」という値であり、予め記憶部22に記憶されている。例えば、入力リズムパターンのオンセット時刻が「1,13,23,37」であり、比較対象のリズムパターンのオンセット時刻が「0,12,24,36」であったとする。この場合、各オンセット時刻の差の絶対値は、「1,1,1,1」となる。ここで閾値が「1」であったとすると、制御部21は、各オンセット時刻の差の絶対値に係数αを乗算して補正を行う。係数αは0から1の間を取り、ここでは0であるものとする。この場合、補正後の各オンセット時刻の差の絶対値は、「0,0,0,0」となるから、制御部21は、両者のリズムパターンのズレを0と算出する。係数αは、予め決められて記憶部22に記憶されていてもよいが、2つのリズムパターンのズレの大きさに係数αの値を対応付けた補正カーブをリズムカテゴリ毎に記憶部22に記憶させることで、制御部21がこの補正カーブに従って係数αを決定してもよい。
ズレが基準より大きいものは計算に用いられなくてもよい。ステップSb6におけるリズムパターン同士のズレの計算において、以下のような処理を施してもよい。変形例11において、制御部21は、入力リズムパターンにおいて比較対象のリズムパターンにおけるオンセット時刻との時刻差の絶対値が閾値より大きいオンセット時刻については、計算に用いない、あるいは本来の値より小さくなるようにズレを補正する。これにより、例えばユーザが1小節の前半部分や後半部分だけリズムパターンを入力した場合であっても、リズムパターンが入力された区間を対象として検索が行われる。従って、1小節通して同一のリズムパターンを有するリズムパターンレコードが自動伴奏DB221に含まれなくても、ユーザは、入力リズムパターンに或る程度類似したリズムパターンレコードを検索結果として得ることができる。
ベロシティパターンの差が考慮されてもよい。ステップ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を満たす予め決められた係数であり、記憶部22に記憶されている。ユーザは、操作部25を用いて係数αの値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、オンセット時刻の一致度とベロシティの一致度とのどちらを優先するかによって、係数αの値を設定すればよい。このようにすれば、ユーザは、ベロシティを考慮した検索結果を得ることができる。
デュレーションパターンの差が考慮されてもよい。ステップ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を用いて係数βの値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、オンセット時刻の一致度とデュレーションパターンの一致度とのどちらを優先するかによって、係数βの値を設定すればよい。このようにすれば、ユーザは、デュレーションを考慮した検索結果を得ることができる。
以上が、リズムパターン同士のズレの計算方法のバリエーションについての説明である。
第1実施形態及び第2実施形態における、リズムパターン同士の距離の計算方法は一例に過ぎず、異なる計算方法を用いてもよい。以下には、その計算方法のバリエーションを記載する。
両者の値の総和に係数が用いられてもよい。実施形態におけるステップSb7において、制御部21は、ステップSb4でリズムカテゴリについて算出した類似度距離と、ステップSb6で算出したリズムパターンのズレとを乗算することで、リズムパターン同士の距離を計算していたが、上記類似度距離又は上記ズレのどちらか一方が「0」の値であると、リズムパターン同士の距離が「0」と算出され、他方の値を反映しないものとなってしまう。これに対して、ステップSb7において制御部21が以下の式(3)に従ってリズムパターン同士の距離を算出してもよい。
リズムパターン同士の距離=(ステップSb4でリズムカテゴリについて算出した類似度距離+γ)×(ステップSb6で算出したリズムパターンのズレ+δ)・・・式(3)
式(3)において、γ及びδは予め決められた定数であり、記憶部22に記憶されている。ここで、γ及びδは適当に小さな値であればよい。このようにすれば、ステップSb4でリズムカテゴリについて算出した類似度距離と、ステップSb6で算出したリズムパターンのズレのどちらか一方が「0」の値であっても、他方の値が反映されたリズムパターン同士の距離が算出される。
両者の値を定数倍したものの和が用いられてもよい。ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例15では、ステップSb7において制御部21が以下の式(4)に従ってリズムパターン同士の距離を算出する。
リズムパターン同士の距離=ε×ステップSb4でリズムカテゴリについて算出した類似度距離+(1−ε)×ステップSb6で算出したリズムパターンのズレ・・・式(4)
式(4)においてεは0<ε<1を満たす予め決められた係数である。係数εは記憶部22に記憶されており、ユーザは操作部25を用いてその値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、リズムカテゴリについて算出した類似度距離と、リズムパターンのズレとのどちらを優先するかによって、係数εの値を設定すればよい。このようにすれば、ユーザは、より自らの所望する検索結果を得ることができる。
入力時のテンポに近いテンポを持つものの距離が小さく算出されてもよい。ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例16では、ステップSb7において制御部21が以下の式(5−1)に従ってリズムパターン同士の距離を算出する。
リズムパターン同士の距離=(ステップSb4でリズムカテゴリについて算出した類似度距離+ステップSb6で算出したリズムパターンのズレ)×з×|入力BPM−リズムパターンレコードのBPM|・・・式(5−1)
式(5−1)においてзは0<з<1を満たす予め決められた定数である。зは記憶部22に記憶されており、ユーザは操作部25を用いてその値を変更可能である。例えば、ユーザは、リズムパターンを検索するにあたり、BPMの差をどの程度優先するかによって、係数зの値を設定すればよい。このとき、入力BPMとそのBPMとの差が予め決められた閾値を越えるようなリズムパターンレコードは、制御部21が検索結果から除外するようにしてもよい。このようにすれば、ユーザは、BPMを考慮した検索結果を得ることができる。
リズムパターン同士の距離=(ステップSb4でリズムカテゴリについて算出した類似度距離+ステップSb6で算出したリズムパターンのズレ)+з×|入力BPM−リズム
パターンレコードのBPM|・・・式(5−2)
式(5−2)においても、式(5−1)と同様に、зは0<з<1を満たす予め決められた定数である。зは記憶部22に記憶されており、ユーザは操作部25を用いてその値を変更可能である。式(5−2)を用いれば、例えばεをかなり小さい値にすることで、基本的にはリズムパターンが近いものほど高順位で結果が出力され、更に、リズムパターンが一致しているものの中からテンポが近い順に表示されるようにすることができる。
入力時の音色に近い音色を持つものの距離が小さく算出されるように補正されてもよい。ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例17では、ステップSb7における上述した式のいずれかにおいて、制御部21が、右辺に対して、リズムパターンの入力時に指定された楽音の音色と比較対象のリズムパターンレコードの音色との一致度を乗算する。音色の一致度の算出方法については、周知の方法が用いられればよい。ここでは、一致度の値が小さい程、両者の音色が近いものであり、一致度の値が大きい程、両者の音色が離れているものとする。このようにすれば、ユーザはリズムパターンの入力時に体感する音色に近い音色のリズムパターンレコードが検索結果として得られやすいため、ユーザは検索結果により納得感を持つことができる。
付けて予めスタイルテーブルに記述しておく。ユーザは、操作部25を用いて音色データを指定して、リズムパターンを入力する。そして、制御部21は、指定された音色データと一致する音色データに対応したスタイルデータが検索候補として出力されやすくなるように制御する。または、音色IDを単位として音色データ毎の類似度合が予め記述されたデータテーブルを予め記憶部22に記憶させておき、制御部21が、類似度合の高い音色データの音色IDを有するスタイルデータを優先して検索するように制御してもよい。
入力時のジャンルに近いジャンルを持つものの距離が小さく算出されるように補正されてもよい。ステップSb7におけるリズムパターン同士の距離の計算は、上述したものに限らず、次のような方法を用いてもよい。変形例18では、ユーザは、リズムパターンの入力時に、操作部25を用いてジャンルを指定することが可能である。変形例18では、ステップSb7における上述した式のいずれかにおいて、制御部21が、右辺に対して、リズムパターンの入力時に指定されたジャンルと比較対象のリズムパターンレコードのジャンルとの一致度を乗算する。ここで、ジャンルは、大ジャンル、中ジャンル、小ジャンルといったように、段階的に区分けされていてもよい。制御部21は、指定されたジャンルと一致する又は含むリズムパターンレコードと入力リズムパターンとの距離がより小さくなるように、また、指定されたジャンルと一致しない又は含まないリズムパターンレコードと入力リズムパターンとの距離がより大きくなるように、ジャンルの一致度を算出し、ステップSb7における式に補正を行えばよい。このようにすれば、ユーザはリズムパターンの入力時に指定したジャンルと一致する又は含むリズムパターンレコードが検索結果として得られやすいため、ユーザは検索結果により納得感を持つことができる。
以上が、リズムパターン同士の距離の計算方法のバリエーションについての説明である。
上述した入力リズムパターンとリズムカテゴリとの距離の算出方法は一例に過ぎず、異なる計算方法を用いてもよい。以下には、その算出方法のバリエーションを記載する。
カテゴリに特有の入力時刻間隔の個数に応じて距離が計算されてもよい。変形例19において、制御部21は、入力リズムパターンにおいて比較対象のリズムカテゴリを象徴するオンセット時刻間隔が含まれる個数に基づいて、入力リズムパターンと各リズムカテゴリとの距離を算出する。図21は、オンセット時刻間隔テーブルの一例を表す図である。オンセット時刻間隔テーブルは記憶部22に予め記憶されている。オンセット時刻間隔テーブルは、リズムカテゴリの分類を示す名称と、各リズムカテゴリにおいて対象となるオンセット時刻間隔との組み合わせからなる。なお、ここでは1小節を48に等分して正規化したものとしてオンセット時刻間隔テーブルの内容が予め決められている。
(d)12,6,6,6,6,6
制御部21は、算出した数値群と、図21に示すオンセット時刻間隔テーブルとに従って、4分のオンセット時刻間隔が1個、8分のオンセット時刻間隔が5個であると特定する。そして制御部21は、以下の式(6)に従って、入力リズムパターンと各リズムカテゴリとの距離を算出する。
入力リズムパターンとリズムカテゴリNとの距離=1−(入力リズムパターンにおけるリズムカテゴリNの対象となるオンセット時刻間隔の個数/入力リズムパターンにおけるオンセット時刻間隔の総数)・・・(6)
上述した式は一例であり、対象となるオンセット時刻間隔がより多く含まれているリズムカテゴリほど、入力リズムパターンとの距離が小さく算出されるものであればよい。式(6)に従った結果、制御部21は、例えば入力リズムパターンと8分のリズムカテゴリとの距離を、0.166と算出する。また、式(6)に従った結果、制御部21は、例えば入力リズムパターンと4分のリズムカテゴリとの距離を、0.833と算出する。制御部21は、このようにして入力リズムパターンと各リズムカテゴリとの距離を算出し、最も距離が小さく算出されたリズムカテゴリに入力リズムパターンが属する、と判定する。
DBリズムカテゴリと入力リズムカテゴリとのマトリクスに応じて距離が計算されてもよい。入力リズムパターンとリズムカテゴリとの距離の算出方法は、上述したものに限らず、次のようにしてもよい。変形例20では、距離参照表なるものを記憶部22が記憶している。図22は、距離参照表の一例を表す図である。距離参照表では、入力リズムパターンの属し得るリズムカテゴリと、自動伴奏DB221に記憶された各リズムパターンレコードが属し得るリズムカテゴリとの距離が、マトリクス状に表されている。例えば、制御部21が、入力リズムパターンが属するリズムカテゴリを8分と判定したとする。制御部21は、判定結果である入力リズムパターンが属するリズムカテゴリと、距離参照表とに基づいて、入力リズムパターンと各リズムカテゴリとの距離を特定する。例えば、この場合、制御部21は、入力リズムパターンと4分のリズムカテゴリとの距離を「0.8」と特定し、入力リズムパターンと8分のリズムカテゴリとの距離を「0」と特定する。これにより、制御部21は、8分のリズムカテゴリが入力リズムパターンと最も距離が小さいと判定する。
カテゴリに特有の入力時刻とスコアに基づいて距離が計算されてもよい。入力リズムパターンとリズムカテゴリとの距離の算出方法は、上述したものに限らず、次のようにしてもよい。変形例21において、制御部21は、入力リズムパターンにおいて比較対象のリズムカテゴリを象徴するオンセット時刻が含まれる個数に基づいて、入力リズムパターンと各リズムカテゴリとの距離を算出する。図23は、オンセット時刻テーブルの一例を表す図である。オンセット時刻テーブルは記憶部22に予め記憶されている。オンセット時刻テーブルは、リズムカテゴリの分類を示す名称と、各リズムカテゴリにおいて対象となるオンセット時刻と、入力リズムパターンに対象となるオンセット時刻が含まれる場合に加算するスコアとの組み合わせからなる。なお、ここでは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では、図5Aに示すリズムパターンテーブルにおいて、「リズムパターンID」という項目名は「パターンID」となる。また、変形例22において、図5Aに示すリズムパターンテーブルにおける各リズムパターンレコードには、「音高パターンデータ」という項目が追加される。音高パターンデータは、1小節を構成するフレーズにおける各構成音の音高の時系列に沿った変化が記録されたデータファイルである。音高パターンデータは、例えばテキストファイルに、構成音の音高の時系列に沿った変化が記述されたものである。また、前述したように、オンセット情報には、トリガーデータ以外に鍵盤のノートナンバーが含まれている。このうち、トリガーデータにおけるオンセット時刻の並びが入力リズムパターンに相当し、鍵盤のノートナンバーの並びが入力音高パターンに相当する。ここで、情報処理装置20が音高パターンを検索するときには周知の方法のいずれかを用いればよい。例えば、ユーザがパートにコードを指定して、「C−D−E」というルートの音高シーケンスを入力した場合、情報処理装置20の制御部21は、このシーケンスにおける音高の進行を「0−2−4」という相対的な数値で表した音高パターンデータを持つリズムパターンレコードを検索結果として出力する。
ユーザがパートを指定して入力したリズムパターンによって検索が行われた結果のうち、上記音高パターンがより類似したリズムパターンレコードが検索結果として出力されるようにしてもよい。変形例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音階のパターンの類似度)}・・・式(12)
ここで、X、Y及びκは、0<X<1、Y>0、0<κ<1をそれぞれ満たす予め決められた定数である。なお、上記式は一例であってこの限りではない。
制御部21は、ユーザの演奏操作によるトリガーデータ及びベロシティデータの双方を用いて自動伴奏DB221を検索するようにしてもよい。この場合、極めて類似したリズムパターンを持つリズムパターンデータが2つ存在したときは、制御部21は、アタック強度パターンデータに記述された各構成音のアタック強度がユーザの演奏操作によるベロシティデータとより近いリズムパターンデータを検索結果として出力する。このようにすれば、アタック強度についても、ユーザがイメージしていたものに近い自動伴奏データが、検索結果として出力されることが可能となる。
制御部21が自動伴奏DB221を検索するにあたって、トリガーデータ及びベロシティデータに加えて、同一の音が鳴り続ける長さを表すデュレーションデータを用いてもよい。ここで、各構成音におけるデュレーションデータは、オフセット時刻から直前のオンセット時刻を差し引いた時間の長さで表される。デュレーションデータは、リズム入力装置10における入力手段が鍵盤である場合に、情報処理装置20がオフセット時刻を明確に取得することが可能であるため、特に有効に活用することができる。この場合、フレーズテーブル及びリズムパターンテーブルにおいて、「デュレーションパターンデータ」という項目が追加されることとなる。デュレーションパターンデータは、1小節を構成するフレーズにおける各構成音の鳴り続ける長さが記録されたデータファイルであり、例えばテキストファイルに、各構成音の鳴り続ける長さが記述されたものである。この場合、情報処理装置20は、ユーザにより入力された、1小節におけるデュレーションのパターンを用いて、フレーズテーブル又はリズムパターンテーブルから、上記入力されたデュレーションのパターンと最も類似するデュレーションパターンデータを持つフレーズレコード又はリズムパターンレコードを検索結果として出力するようにすればよい。このようにすれば、類似したリズムパターンを持つフレーズレコード又はリズムパターンレコードが複数存在しても、情報処理装置20が、スラー(伸ばす)のあるリズムパターンや、スタッカート(はねる)のあるリズムパターン等を識別して検索結果として出力することが可能となる。
情報処理装置20が検索を行うにあたって、入力リズムパターンにおける音色と同一又は類似の度合いが高い音色を持つフレーズを持つ自動伴奏データを検索するようにしてもよい。例えば、それぞれのリズムパターンデータに対し、使用される音色毎にその音色の識別情報を対応付けて持たせておき、ユーザがリズムパターンを入力する際に、事前に音色を指定しておくことで、対応する音色で発音するリズムパターンに絞ったうえでそのリズムパターンの類似度が高いものを検索されるようにすればよい。この場合、リズムパターンテーブルにおいて、項目「音色ID」が追加される。ユーザは、演奏操作子を用いてリズムパターンを入力する際に、例えば操作部25を用いて音色を指定する。音色の指定は、リズム入力装置10が備える操作子によって行われてもよい。ユーザが演奏操作を行うと、演奏操作が行われた際に指定された音色のIDが、MIDI情報の一部として情報処理装置20に入力される。情報処理装置20は、入力された音色IDに基づく音の音色と、リズムパターンテーブルにおける指定されたパートの各リズムパターンレコードにおける音色IDに基づく音の音色を比較し、比較結果に基づいて、両者が予め決められた対応関係にある場合、そのリズムパターンレコードを特定する。この対応関係は、例えば、比較結果に基づいて両者の楽器種類が同じであると識別可能なように予め決められており、記憶部22に記憶されている。ここで、音色の比較については、各々の音の波形におけるスペクトラムを比較するなど、周知の方法を用いればよい。このようにすれば、リズムパターンが類似していることに加え、指定したパートについて音色が類似した自動伴奏データをユーザは得ることが可能となる。なお、具体的な手法としては、変形例17に記載した内容と同様の手法で実現できる。
入力時刻間隔ヒストグラムと発音時刻間隔ヒストグラムとの差分の絶対値が最も小さいことを、入力時刻間隔ヒストグラムに対する発音時刻間隔ヒストグラムの類似度が高いと判断していたが、両者の類似度が高いことを示す条件は、上記のような両ヒストグラムの差分の絶対値に限らない。例えば、両ヒストグラムの各時刻間隔成分の積などの相関度が最も大きいとか閾値を超えるといったことや、両ヒストグラムの差分の2乗が最も小さいとか閾値未満であるといったこと、両ヒストグラムの各時刻間隔成分における値が類似していることを示すような条件であれば、どのような条件を用いてもよい。
リズム入力装置10から入力されたリズムパターンに従って、情報処理装置20が、当該リズムパターンに類似するリズムパターンを持つ楽音データを検索し、検索結果の楽音データを音に変換して出力していたが、次のようにしてもよい。例えば、上記実施形態に相当する内容をウェブサービスによって実施する場合、上記実施形態において情報処理装置20が備える機能を、当該ウェブサービスを提供するサーバ装置が備えることとなる。そして、ユーザの操作によって、クライアント装置である自端末(例えばPC)が、インターネットや専用線等を介して入力リズムパターンを上記サーバ装置に送信する。サーバ装置は、受信した入力リズムパターンに基づいて、記憶手段から当該入力リズムパターンに類似するリズムパターンを持つ楽音データを検索し、検索結果の楽音データを自端末に送信する。そして自端末は、受信した楽音データに基づく音を出力する。なお、この場合、サーバ装置の提供するウェブサイトやアプリケーションにおいて、小節線クロックがユーザに提示されるようにすればよい。
リズム入力装置10における演奏操作子は、ユーザが演奏操作したときに、少なくともトリガーデータを出力するものであれば、鍵盤やドラムパッドのような形状に限らず、弦楽器、吹奏楽器、あるいはボタンなどの形状であってもよい。また、その他に演奏操作子は、タッチパネルを備えたタブレットPC、スマートフォン、携帯電話等であってもよい。また、リズム入力装置10は、楽器の操作子に限らず、例えば、車のダッシュボードやハンドルデスクに衝撃センサを設け、打撃を与えたときにトリガーデータ(及びベロシティデータ)を出力させるようにした、いわゆる操作子として機能するものであってもよい。また、リズム入力装置10は、パソコンのキーボードやマウス、タッチパネルなど、OA(Office Automation)機器や家電機器に備えられた操作子であってもよい。これらの
場合、各操作子を操作したときに出力される信号を、トリガーデータとして入力し、情報処理装置20から出力される楽音信号に基づいて、各機器に備えられたスピーカーから音が出力されるように構成されれば良い。
上述した実施形態では、リズムパターンレコードには本来のBPMが情報として含まれているから、ユーザが操作部25を用いて行った操作に従って、制御部21が、リズムパターンレコードに含まれる楽音データが示す楽音を本来のBPMで再生するようにしてもよい。また、検索結果から特定のリズムパターンレコードがユーザにより選択されて制御部21がこれを特定すると、制御部21が、特定された直後は上記入力されたBPMまたは上記指定されたBPMに基づく速度でリズムパターンレコードに含まれる楽音データが示す楽音を再生し、時間の経過に伴って、BPMがリズムパターンレコードの持つ本来のものに徐々に近づくように制御してもよい。
ユーザが検索結果に対してより納得感を持てるようにするための方法は、上述したフィルタリング機能に限ったものではない。
<類似度にBPMの差による重み付けを行う>
例えば、入力リズムパターンとリズムパターンテーブルに含まれるリズムパターンレコードとの距離を求める算出式に、入力BPMとリズムパターンレコードが有する本来のBPMとの差に基づく重み付けを導入してもよい。ここで、aを予め定められた定数とし、入力リズムパターンとリズムパターンテーブルに含まれるリズムパターンレコードとの距離をLとすると、上記重み付けを導入した場合の類似度を求める計算式は、例えば以下の式(13)のように表せる。
類似度=L+|入力BPM−リズムパターンレコードの有するBPM|/a・・・式(13)
なお、上記類似度を求める計算式は式(13)のようなものに限ったものではなく、入力BPMとリズムパターンレコードの持つBPMとが近いほど類似度が小さくなる(すなわち類似の度合いが高くなる)ような計算式であればよい。
上述の実施形態のように、プルダウンで特定の対象をユーザが指定して表示結果を絞るように使用してもよいが、リズムパターン入力時の演奏情報を自動で解析して自動で表示結果を絞るような方法でもよい。また、鍵盤などから入力したリズム入力のピッチの演奏情報から、コードタイプやスケールを判定してそのコードタイプやスケールで登録された伴奏が自動で検索結果として表示されるようにしてもよい。例えばロックっぽいコードでリズム入力したら、ロックのスタイルが検索されやする。他には、中東っぽいスケールでリズムを入力したら、中東っぽいフレーズが検索されやすくなる。また、鍵盤入力時に指定された音色の情報によって、同じ音色情報を持ち、且つリズムパターンが一致するものを検索するようにしてもよい。例えば、スネアドラムのリムショットでリズム入力した場合、同じリズムパターンを持つ候補の中でもリムショットの音色の伴奏が優先して表示されるようにする。
リズム入力装置10が入力パッド12を備えない場合、リズム入力装置10が次のような構成を取ってもよい。この場合、デフォルトの状態では鍵盤11には、ベース入力音域鍵盤11a、コード入力音域鍵盤11b、及びフレーズ入力音域鍵盤11cが所定の鍵域に各々割り当てられている。ここでユーザが、操作部25を介してドラムスのパートの入力を行う旨を指示すると、制御部21は、鍵盤11の所定の鍵域にドラムのパートを割り当てる。例えば、制御部21は、C3にバスドラムのパートを割り当て、D3にスネアドラムのパートを割り当て、E3にハイハットのパートを割り当て、F3にシンバルのパートを割り当てる、といった具合である。なお、この場合、制御部21は、鍵盤11の全鍵域における操作子(すなわち各鍵)に、各々異なる楽器音を割り当てることが可能である。ここで制御部21が、鍵盤11における各操作子(各鍵)の上部や下部に、割り当てられる楽器音に関する画像(例えばスネアドラムの画像)を表示するようにしてもよい。
ユーザが、どの操作子を操作すれば、どのパートが制御部21によって検索されるのかを視覚的に分かりやすくするために、次のようにしてもよい。例えば、制御部21が、鍵盤11における各操作子(各鍵)の上部や下部に、割り当てられるパートに関する画像(例えば、ギターのコードが押さえられた画像、ピアノが単音で演奏されている画像(例えば単一の鍵が指で押さえられている画像)、又はスネアドラムの画像等)を表示する。また、制御部21が、上述の画像を各操作子の上部や下部に表示するに限らず、表示部24に表示させてもよい。この場合、表示部24には、例えば鍵盤11を模した鍵盤の画像が表示されるとともに、実際の鍵盤11の各鍵域に割り当てられているのと同じ割り当て状態で、鍵盤の画像の各鍵域に対して割り当てられたパートの画像が表示される。または、ユーザが、どの操作子を操作すれば、どのパートが制御部21によって検索されるのかを聴覚的に分かりやすくするために、次のようにしてもよい。例えば、ユーザがベース入力音域鍵盤11aに対して入力を行うと、制御部21は、音声出力部26からベースの音声を出力させる。このようにすれば、ユーザは、どの操作子を操作すれば、どのパートが検索されるのかを視覚的又は聴覚的に判別可能となるため、操作入力が容易なものとなり、結果として自らが望む伴奏音源を得やすくなる。
図8の処理フローにおいて、リズムカテゴリ毎のオンセット時刻間隔の分布を計算(ステップSb1)した後に、入力リズムパターンにおけるオンセット時刻間隔の分布を計算していた(ステップSb3)が、ステップSb1とステップSb3の順番を入れ替えてもよい。また、処理ステップの入れ替えに関わらず、制御部21が、リズムカテゴリ毎のオンセット時刻間隔の分布を計算した後、計算結果をRAMや記憶部22に記憶させるようにしてもよい。このようにすれば、制御部21は一度計算した結果を再度計算する必要がなく、処理速度の向上を見込むことが可能となる。
例えば、ユーザがベース入力音域鍵盤11aにおいて、和音となるように鍵盤を押下したとき等のように、ユーザが所定時間内において複数の操作子を操作してリズムパターンを入力する場合には、次のような問題がある。例えば、1小節において、ユーザが「0.25」のタイミングでリズムを入力したかったとする。ここで、ユーザが、自身では同一のタイミングのつもりで複数の操作子を操作しても、実際には、或る操作子が「0.25」のオンセット時刻で操作され、他の操作子が「0.26」のオンセット時刻で操作された場合、制御部21は、これらのオンセット時刻のとおりに入力リズムパターンを記憶してしまう。このような場合、ユーザが意図していたものとは異なる検索結果が出力される可能性があり、ユーザにとっては操作性がよいものとはいえない。これに対して、次のようにしてもよい。
制御部21が小節単位で入力リズムパターンを記憶するタイミングを、小節線クロックに基づく小節の切り替えタイミングと同じものとすると、以下のような問題が生じることがある。例えば、ユーザの操作によってリズムパターンが入力される場合、ユーザが自身で感じている時刻間隔と小節線クロックとのズレによって、ユーザが意図していたリズムパターンと実際のオンセット時刻との間に数msec〜数十msecの誤差が生じる。従って、例えば、ユーザが小節頭の拍を入力しているつもりでも、上記誤差によって1つ前の小節のリズム入力として扱われてしまうことがあり、この場合、このリズム入力は入力リズムパターンとして記憶されないことがある。このような場合、ユーザが意図していたものと異なる検索結果が出力されてしまい、ユーザにとって操作性がよいとはいえない。このような問題に対しては、制御部21がRAMに入力リズムパターンを記憶させる際に、小節の頭よりも数十msec早い時点(すなわち直前の小節における最後の数十msec)から、最後の数十msecを除く小節の終わりまでを処理の対象範囲とすればよい。つまり、制御部21は、RAMに記憶させる入力リズムパターンの対象範囲を数十msec分だけ前にずらすこととなる。このようにすれば、ユーザが意図していたものと異なる検索結果が出力されることを少なくすることができる。
制御部21がリズムパターン検索を行うタイミングを、小節線クロックに基づく小節の切り替えタイミングと同じものとすると、以下のような問題が生じることがある。例えば、本発明における検索方法は、検索結果の楽音データが、リズム入力の直後の小節で小節線クロックと同期して再生されるようなプレイバック機能を備えた楽音データ処理装置にも応用可能である。この場合、リズム入力の直後の小節における頭から検索結果の楽音データが再生されるには、上記小節の頭の時点より以前、つまりリズム入力が行われた小節内で検索結果が出力される必要がある。また、RAMの記憶容量の問題等により、事前に再生対象である楽音データを予め読み込んでRAMに記憶させておくことが不可能な場合には、リズム入力が行われた小節内で検索結果の楽音データを読み込んでRAMに記憶させる必要がある。このような問題に対しては、制御部21がリズムパターン検索を行うタイミングを、小節の切り替えタイミングよりも、例えば数十msec早いものとすればよい。このようにすれば、小節の切り替えが行われる前に検索が行われ、検索結果の楽音データがRAMに記憶されることで、リズム入力の直後の小節における頭から検索結果の楽音データが再生されることが可能となる。
入力リズムパターンを1小節単位に限らず、複数小節(N小節とする)に跨るリズムパターンを検索できるように、以下のようにしてもよい。説明の便宜上、ここでは第2実施形態及び第3実施形態を例に挙げて説明する。この場合、例えば、制御部21が、N小節のまとまりを持った入力リズムパターンを用いてリズムパターンテーブルを検索する方法がある。しかしこの方法では、ユーザが、小節線クロックに合わせてリズムパターンを入力する際に、1小節目がどこかを指定する必要がある。また、検索結果がN小節後に出力されるため、検索結果が出力されるまでに時間がかかってしまう。これに対して、次のようにしてもよい。
制御部21が、入力リズムパターンをRAMに記憶させるにあたり、上述した方法に限らず、以下のようにしてもよい。式(14)は、入力リズムパターンにおいてn番目に入力されたオンセット時刻を求める計算式である。式(14)において、Lは或る小節の先頭を0としたときの、この小節の末尾を表し、0以上の実数である。また、式(14)においてNは、1小節内のクロック回数である分解能を表す。
|(n番目のオンセット時刻−小節の開始時刻)/(小節の終了時刻−小節の開始時刻)×N+0.5|×L/N・・・式(14)
式(14)において、「0.5」の値は、オンセット時刻が算出されるにあたり、端数に対して四捨五入の効果をもたらすものであり、これを、0以上1未満の別の数値に置き換えてもよい。例えば、この値を「0.2」とすると、端数に対して七捨八入の効果がもたらされる。この値は、パラメータとして記憶部22に記憶されており、ユーザが操作部25を用いて変更可能である。
本発明は、リズム入力装置10及び情報処理装置20が一体となった装置により実現されてもよい。例えば、第1実施形態及び第2実施形態における、このような例を考える。この場合、この装置として、例えば、携帯電話や、タッチスクリーンを備えた移動通信端末などが考えられる。本変形例では、この装置がタッチスクリーンを備えた移動通信端末である場合を例に挙げて説明する。
本発明は、楽音データ処理装置以外にも、これらを実現するための方法や、コンピュータに図6に示した機能を実現させるためのプログラムとしても把握される。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等を介して、コンピュータにダウンロードさせ、これをインストールして利用させるなどの形態でも提供されたりする。
検索モードについては、上述の実施形態における自動伴奏モード、差し替え検索モード、追従検索モードの3種類とは別に、以下のようなモードの切り替えが考えられる。1つ目は、常に検索処理が小節ごとに自動で動作しており、類似した最上位の1つあるいは類似した所定数の検索結果が自動で再生されるモードである。このモードは、主に自動伴奏などを用途として用いられる。2つ目は、ユーザが検索の開始を指示したときにメトロノームのみが再生され、ユーザがリズムを入力すると、リズム入力が終了後、自動で又は操作の指示を与えたことを契機として、検索結果が表示されるモードである。
図32は、変形例44に係るUIを例示する図である。この例で、情報処理装置20には、LED付きのマトリックスパッド90がUIとして接続されている。マトリックスパッドとは、パッド(操作子の一例)がマトリックス状に(すなわち2次元的に)配置された装置である。なお、操作子はパッドに限られず、ボタンなどでもよい。この例で、各パッドには1以上のLEDが設けられており、LEDの点灯または消灯、もしくはその色により、各種の状態を示す。以下、このマトリックスパッドを用いた再生制御の例を説明する。
ステップSb6におけるリズムパターンのズレの計算において、Aを基準としたBの時刻差と、Bを基準としたAの時刻差との2つを用いていたが(symmetric Distance方式という)、これに限らず、両者のうちどちらか一方のみを用いて計算を行ってもよい。
また、MIDIデータを用いて検索又は再生を行う場合、マルチトラックで複数のパートの演奏データを再生するものにおいて、特定のトラックに対して検索を行うようにしてもよい。
また、リズムカテゴリの判定(ステップSb2〜ステップSb5)を省略して、リズムパターンのズレの計算(ステップSb6)の結果のみを用いて、ステップSb7におけるリズムパターン同士の距離を行ってもよい。
また、リズムパターンのズレの計算(ステップSb6)において、算出されたズレの値に、相当する構成音のアタック強度を乗算することで、より強いアタック強度を持つ構成音を含むリズムパターンレコードが、検索結果の候補から外れやすくなるようにしてもよい。
実施形態においては、自動伴奏データに1小節のものを用いていたが、音声の長さはこれに限る必要はない。
また、リズム入力装置10において、バスドラム入力パッド12a、スネアドラム入力パッド12b、ハイハット入力パッド12c、シンバル入力パッド12dというように、音色の異なる各々のリズムパートにパッドをひとつずつ割り当てていたが、これに限らず、音色の異なる複数のリズムパートについて単独のパッドで入力可能としてもよい。この場合、ユーザは、操作部25を用いて、リズムパートの音色を指定することが可能である。
また、上記の各実施形態では、リズムパターンデータは、0〜1の小数値で表記しているが、複数の整数値(例えば、0〜96)で表記するようにしてもよい。
また、検索キーとなるパターンはリズムパターンに限定されない。演奏のパターンを示すものであれば、ピッチパターン(音の高低のパターン)など、リズムパターン以外のパターンが検索キーとして用いられてもよい。
また、楽音データ、自動伴奏データ、スタイルデータ等を編集する機能を備えさせてもよい。この場合、検出結果を表示した画面から、ユーザが、所望の楽音データ、自動伴奏データ、スタイルデータを選択する。そして、選択されたものを表示した画面では、選択されたデータがパート毎に展開して表示される。このような画面において、ユーザは、それぞれのパートについて、所望の楽音データ、自動伴奏データ、演奏データ等の各種データを編集できるようにしてもよい。
また、楽音データ、自動演奏データ及びスタイルデータに適用される音の内容は、楽器の音に限らず、人の声や動物の鳴声や効果音等、種々の音に適用できる。この場合、検索に必要な最低限のパラメータ(進行上の発音タイミング、音の強さ、音高等)を得られるものであればよい。音の内容として楽器以外の音も含む楽音データを「音データ」とする。
さらに、入力パターンは、演奏操作による入力だけでなく、ある閾値以上の音量の音声等を集音してそれを入力として入力パターンを得る等、他の手法で得られるようにしてもよい。
Claims (5)
- 複数の演奏パートのなかから選択された特定パートについて入力パターンを取得するパターン取得手段と、
前記複数の演奏パートをそれぞれ個別の音のデータで構成し、その音のデータを組み合わせた音データを複数記憶したデータベースを検索して、前記音データに含まれる前記特定パートの音のパターンと前記入力パターンとの比較結果に基づいて、音データを検索結果として取得する検索手段と、
前記取得された検索結果のうち、前記特定パートの音のパターンが所定の範囲に入る音データを特定する特定手段と、
ユーザにより指定されたコードの入力を受け付けるコード受付手段を備え、
その演奏パートがコードである前記音のデータを含む音データは楽音のコードを識別するコード識別情報と対応付けられており、
前記検索手段は、
前記特定パートがコードである場合、前記コード受付手段により入力が受け付けられたコードを識別するコード識別情報と対応付けられた前記音データを検索して、当該音データが示す音のパターンと前記入力パターンとの比較結果に基づいて、音データを検索結果として取得する
ことを特徴とする音データ処理装置。 - 前記特定パートを前記ユーザの指定に基づいて選択するパート選択手段を備え、
前記検索手段は、
前記パート選択手段によって選択された特定パートについて前記音データを検索して、前記音データが示す音のパターンと前記入力パターンとの比較結果に基づいて、音データを検索結果として取得する
ことを特徴とする請求項1に記載の音データ処理装置。 - 前記ユーザによって指定された音の音高を表す音高情報の入力を受け付ける音高受付手段と、
前記特定手段により特定された音データのなかの一つを出力する出力手段と
を備え、
前記音データは楽音の調性の基音の音高を表すキー情報と対応付けられており、
前記出力手段は、
前記特定された音データが示す楽音を、当該音データに対応付けられたキー情報が表す調性の基音の音高を前記音高受付手段により受け付けられた音高情報が表す音高に応じてシフトして出力する
ことを特徴とする請求項1または2に記載の音データ処理装置。 - 所定の期間における演奏タイミングを時間経過に伴って進行させるとともに、当該演奏タイミングを前記ユーザに通知する通知手段を備え、
前記パターン取得手段は、前記通知手段により前記演奏タイミングが通知されているときに前記ユーザによって入力された操作に基づいて、当該操作のパターンに対応する前記演奏タイミングの並びを表す入力パターンを取得するものである
ことを特徴とする請求項1〜3のいずれかに記載の音データ処理装置。 - コンピュータを、
複数の演奏パートのなかから選択された特定パートについて入力パターンを取得するパターン取得手段と、
前記複数の演奏パートをそれぞれ個別の音のデータで構成し、その音のデータを組み合わせた音データを複数記憶したデータベースを検索して、前記音データに含まれる前記特定パートの音のパターンと前記入力パターンとの比較結果に基づいて、音データを検索結果として取得する検索手段と、
前記取得された検索結果のうち、前記特定パートの音のパターンが所定の範囲に入る音データを特定する特定手段と、
ユーザにより指定されたコードの入力を受け付けるコード受付手段と
して機能させ、
その演奏パートがコードである前記音のデータを含む音データは楽音のコードを識別するコード識別情報と対応付けられており、
前記検索手段は、
前記特定パートがコードである場合、前記コード受付手段により入力が受け付けられたコードを識別するコード識別情報と対応付けられた前記音データを検索して、当該音データが示す音のパターンと前記入力パターンとの比較結果に基づいて、音データを検索結果として取得する
ことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012268640A JP6056437B2 (ja) | 2011-12-09 | 2012-12-07 | 音データ処理装置及びプログラム |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011270633 | 2011-12-09 | ||
JP2011270633 | 2011-12-09 | ||
JP2012169821 | 2012-07-31 | ||
JP2012169821 | 2012-07-31 | ||
JP2012268640A JP6056437B2 (ja) | 2011-12-09 | 2012-12-07 | 音データ処理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014044386A JP2014044386A (ja) | 2014-03-13 |
JP6056437B2 true JP6056437B2 (ja) | 2017-01-11 |
Family
ID=47563003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012268640A Expired - Fee Related JP6056437B2 (ja) | 2011-12-09 | 2012-12-07 | 音データ処理装置及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9563701B2 (ja) |
EP (1) | EP2602786B1 (ja) |
JP (1) | JP6056437B2 (ja) |
CN (1) | CN103165115B (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103443849B (zh) * | 2011-03-25 | 2015-07-15 | 雅马哈株式会社 | 伴奏数据产生设备 |
KR101667004B1 (ko) * | 2014-12-17 | 2016-10-17 | 김좌한 | 전자 악보 서비스 제공 방법 |
CN104615359B (zh) * | 2015-02-13 | 2018-05-29 | 小米科技有限责任公司 | 对应用软件进行语音操作的方法及装置 |
JP6728754B2 (ja) * | 2015-03-20 | 2020-07-22 | ヤマハ株式会社 | 発音装置、発音方法および発音プログラム |
CN105161081B (zh) * | 2015-08-06 | 2019-06-04 | 蔡雨声 | 一种app哼唱作曲***及其方法 |
US10515615B2 (en) * | 2015-08-20 | 2019-12-24 | Roy ELKINS | Systems and methods for visual image audio composition based on user input |
WO2017056982A1 (ja) * | 2015-09-30 | 2017-04-06 | ヤマハ株式会社 | 楽曲検索方法および楽曲検索装置 |
CN106683651A (zh) * | 2015-11-11 | 2017-05-17 | 谢剑 | 乐谱的展现方法 |
US9640158B1 (en) * | 2016-01-19 | 2017-05-02 | Apple Inc. | Dynamic music authoring |
US9646587B1 (en) * | 2016-03-09 | 2017-05-09 | Disney Enterprises, Inc. | Rhythm-based musical game for generative group composition |
USD901523S1 (en) | 2016-06-18 | 2020-11-10 | Sunland Information Technology Co., Ltd. | Display screen of smart piano with transitional graphical user interface |
USD900864S1 (en) | 2016-06-18 | 2020-11-03 | Sunland Information Technology Co., Ltd. | Display screen of smart piano with transitional graphical user interface |
GB201620839D0 (en) * | 2016-12-07 | 2017-01-18 | Weav Music Ltd | Data format |
USD847851S1 (en) * | 2017-01-26 | 2019-05-07 | Sunland Information Technology Co., Ltd. | Piano display screen with graphical user interface |
USD823333S1 (en) * | 2017-05-30 | 2018-07-17 | Yamaha Corporation | Display screen with graphical user interface |
CN108062522B (zh) * | 2017-12-12 | 2020-03-06 | 广州德科投资咨询有限公司 | 一种机器人的演奏模式生成方法及机器人 |
JP2019200390A (ja) | 2018-05-18 | 2019-11-21 | ローランド株式会社 | 自動演奏装置および自動演奏プログラム |
CN109616090B (zh) * | 2018-12-24 | 2020-12-18 | 北京达佳互联信息技术有限公司 | 多音轨序列生成方法、装置、设备及存储介质 |
CN110278201B (zh) * | 2019-06-12 | 2022-08-23 | 深圳市腾讯计算机***有限公司 | 安全策略评价方法及装置、计算机可读介质和电子设备 |
CN112347300A (zh) * | 2019-08-08 | 2021-02-09 | 哈曼国际工业有限公司 | 用于实现节奏型曲目智能匹配与添加的方法和*** |
US20220301527A1 (en) * | 2019-09-04 | 2022-09-22 | Roland Corporation | Automatic musical performance device, non-transitory computer readable medium, and automatic musical performance method |
JP7419830B2 (ja) * | 2020-01-17 | 2024-01-23 | ヤマハ株式会社 | 伴奏音生成装置、電子楽器、伴奏音生成方法および伴奏音生成プログラム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2550825B2 (ja) | 1992-03-24 | 1996-11-06 | ヤマハ株式会社 | 自動伴奏装置 |
JP3340565B2 (ja) | 1994-07-25 | 2002-11-05 | ヤマハ株式会社 | 自動伴奏装置 |
JPH11120198A (ja) * | 1997-10-20 | 1999-04-30 | Sony Corp | 楽曲検索装置 |
US20050038819A1 (en) * | 2000-04-21 | 2005-02-17 | Hicken Wendell T. | Music Recommendation system and method |
US6188010B1 (en) | 1999-10-29 | 2001-02-13 | Sony Corporation | Music search by melody input |
IT1316734B1 (it) * | 2000-07-07 | 2003-05-12 | Korg Italy S P A | Dispositivo elettronico avvalentesi di piu' sequecers capaci difunzionare in maniera indipendente o coordinata |
JP3480433B2 (ja) | 2000-07-31 | 2003-12-22 | ヤマハ株式会社 | マルチトラック・ディジタル録音再生装置 |
US7392101B2 (en) | 2000-07-31 | 2008-06-24 | Yamaha Corporation | Multi-track digital recording/reproducing apparatus and method, multi-track digital recording/reproducing program |
KR100424677B1 (ko) * | 2001-04-16 | 2004-03-27 | 한국전자통신연구원 | 객체 기반의 대화형 멀티미디어 컨텐츠 저작 장치 및 그방법 |
US6528715B1 (en) | 2001-10-31 | 2003-03-04 | Hewlett-Packard Company | Music search by interactive graphical specification with audio feedback |
JP2007519092A (ja) * | 2003-12-08 | 2007-07-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | メロディデータベースの検索 |
JP2005227850A (ja) * | 2004-02-10 | 2005-08-25 | Toshiba Corp | 情報処理装置、情報処理方法及びプログラム |
JP2005338353A (ja) * | 2004-05-26 | 2005-12-08 | Matsushita Electric Ind Co Ltd | 音楽検索装置 |
JP2006106818A (ja) | 2004-09-30 | 2006-04-20 | Toshiba Corp | 音楽検索装置、音楽検索方法及び音楽検索プログラム |
US7890503B2 (en) * | 2005-02-07 | 2011-02-15 | Microsoft Corporation | Method and system for performing secondary search actions based on primary search result attributes |
US20070106405A1 (en) * | 2005-08-19 | 2007-05-10 | Gracenote, Inc. | Method and system to provide reference data for identification of digital content |
US20070124293A1 (en) * | 2005-11-01 | 2007-05-31 | Ohigo, Inc. | Audio search system |
WO2008030197A1 (en) * | 2006-09-07 | 2008-03-13 | Agency For Science, Technology And Research | Apparatus and methods for music signal analysis |
JP5007563B2 (ja) | 2006-12-28 | 2012-08-22 | ソニー株式会社 | 音楽編集装置および方法、並びに、プログラム |
JP5023752B2 (ja) | 2007-03-22 | 2012-09-12 | ソニー株式会社 | コンテンツ検索装置、コンテンツ検索方法及びコンテンツ検索プログラム |
JP5982980B2 (ja) * | 2011-04-21 | 2016-08-31 | ヤマハ株式会社 | 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記憶媒体 |
-
2012
- 2012-12-07 JP JP2012268640A patent/JP6056437B2/ja not_active Expired - Fee Related
- 2012-12-07 US US13/708,723 patent/US9563701B2/en not_active Expired - Fee Related
- 2012-12-07 EP EP12196037.1A patent/EP2602786B1/en not_active Not-in-force
- 2012-12-10 CN CN201210528900.4A patent/CN103165115B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP2602786A3 (en) | 2016-08-17 |
CN103165115B (zh) | 2017-11-28 |
CN103165115A (zh) | 2013-06-19 |
US20130151556A1 (en) | 2013-06-13 |
JP2014044386A (ja) | 2014-03-13 |
EP2602786B1 (en) | 2018-01-24 |
US9563701B2 (en) | 2017-02-07 |
EP2602786A2 (en) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6056437B2 (ja) | 音データ処理装置及びプログラム | |
JP5949544B2 (ja) | リズムパターンの類似度に基づく楽音データの検索 | |
JP5982980B2 (ja) | 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記憶媒体 | |
US20210326102A1 (en) | Method and device for determining mixing parameters based on decomposed audio data | |
US7626112B2 (en) | Music editing apparatus and method and program | |
JP5970934B2 (ja) | 楽音発生パターンを示すクエリーを用いて演奏データの検索を行う装置、方法および記録媒体 | |
US9263018B2 (en) | System and method for modifying musical data | |
US9251773B2 (en) | System and method for determining an accent pattern for a musical performance | |
WO2015154159A1 (en) | Systems and methods for musical analysis and determining compatibility in audio production | |
JP5879996B2 (ja) | 音信号生成装置及びプログラム | |
US8791350B2 (en) | Accompaniment data generating apparatus | |
JP2002023747A (ja) | 自動作曲方法と装置及び記録媒体 | |
US20030167907A1 (en) | Electronic musical instrument and method of performing the same | |
JP2002268632A (ja) | フレーズ分析装置及びフレーズ分析プログラムを記録した記録媒体 | |
JP3879524B2 (ja) | 波形生成方法、演奏データ処理方法および波形選択装置 | |
JP7425558B2 (ja) | コード検出装置及びコード検出プログラム | |
Stevens | An Analytical Study of the Sound Design and Production Techniques of IDM Artists | |
JPH10105172A (ja) | 音楽自動伴奏付与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151020 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161019 |
|
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: 20161108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161121 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6056437 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |