JP6229273B2 - 楽曲生成装置、楽曲生成方法及びプログラム - Google Patents
楽曲生成装置、楽曲生成方法及びプログラム Download PDFInfo
- Publication number
- JP6229273B2 JP6229273B2 JP2013024202A JP2013024202A JP6229273B2 JP 6229273 B2 JP6229273 B2 JP 6229273B2 JP 2013024202 A JP2013024202 A JP 2013024202A JP 2013024202 A JP2013024202 A JP 2013024202A JP 6229273 B2 JP6229273 B2 JP 6229273B2
- Authority
- JP
- Japan
- Prior art keywords
- music
- data
- sound
- music information
- note 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.)
- Active
Links
Images
Landscapes
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
この装置によれば、楽曲を表わす楽譜や楽曲データの準備がなくとも、任意の被写体を撮影するだけで、新たな楽曲を即興で自動的に生成することが可能となる。
ユーザーが、特定のテンポ、拍子あるいは調の楽曲の生成を希望したとしも、その希望に即した楽曲が生成されるとは限らない。
さらに、生成される楽曲は単なる音符の羅列であってテンポに関するデータを有していないので、後でテンポを変更して再生させようとしてもできない場合が多い。
このように、従来の楽曲生成装置は上述のような問題があり、更なる改良が必要であった。
楽曲生成装置が、楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定し、画像を指定し、前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲を構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセルを夫々割り当てる割り当て、前記割り当てられたピクセルのデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成し、前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する、ことを特徴とする。
コンピュータに、楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する処理と、画像を指定する処理と、前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲を構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセルを夫々割り当てる割り当て処理と、前記割り当てられたピクセルのデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成する処理と、前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する処理と、を実行させることを特徴とする。
図において、メインブロック部1は、装置全体を制御するものであり、このメインブロック部1に、制御部2、バックトラック合成部3、メロディ合成部4及び再生データ再生部5が接続されている。
バックトラック合成部3は、生成すべき楽曲の伴奏部分となるバックトラックを予め用意されたテンプレートデータより生成する。
メロディ生成部4は、このバックトラック合成部3により生成されたバックトラックと、入力される画像データとに基づいて、メロディを生成する。
再生データ再生部5は、メロディ生成部4にて生成された楽曲(例えば、MIDI形式で表現された)を再生するためのMIDIシーケンサを有するブロックである。
(a)音楽情報
本実施形態においては、拍子・小節数・調・コード進行、あらかじめ定義されている音楽ジャンルに対する相性度等である。
音楽ジャンルとの相性度は定義済みの音楽ジャンルとしてロックやジャズなどが考えられ、それらとの相性度が、例えば5段階で評価される。
(b)ひとつまたは複数の再生データ(MIDI形式)
これら再生データは音楽情報に則ったものである。ひとつのテンプレートデータ内に複数の再生データが登録されている場合、これら複数の再生データそれぞれが、テンプレート・データの音楽情報に則っている。
また再生データ夫々が互いに関連性を持っていることが望ましく、バリエーション、あるいはフィル・インとなる再生データを有するように構成されていてもよい。
(a)ドラム・トラック・テンプレート
(b)ベース・トラック・テンプレート
(c)バッキングリフ・トラック・テンプレート
一方、ベース・トラック・テンプレートはベースの再生データを有するテンプレートデータである。本実施形態においては、このグループに含まれるテンプレートデータ全てがハ長調であり、コード進行はCまたはCM7のワンコードとなっている。
さらに、バッキングリフ・トラック・テンプレートはギターやピアノなどのバッキングリフの再生データを有するテンプレートデータである。
種別dirはテンプレートデータ群を分ける3つのグループごとのディレクトリであり、本実施形態においては、この3つのグループは夫々、drums10−1、bass10−2、及びbacking10−3である。
これら種別ディレクトリ夫々には、サブディレクトリとしての拍子dirが存在する。これは4/4拍子や3/4拍子のように、拍子ごとにテンプレートデータに分類している。本実施形態においては、説明を明瞭にするため4/4拍子11のみ存在するものとしている。
本実施形態においては、種別dirがdrums10−1では、調は関係せず、種別dirがbass10−2の場合はハ長調固定としているため、このサブディレクトリはbacking10−3以外では存在しない。ここにおいても、説明を明瞭にするため調はハ長調とイ短調のみが存在するものとしている。
backing10−3の場合はスケールdirの下位、その他のテンプレートは拍子dirの下位に存在するディレクトリ群がテンプレートdir13−1、13−2・・・となる。夫々のディレクトリ内に音楽情報ファイル14−1(図中 *.mgi)と、再生データ群14−2(同*.mid)とが収められている。
まず、制御部2により外部から入力された複数の画像データの中から、楽曲生成に用いられる画像を選択するとともに、この画像上にある所望のピクセルを、メロディ作成先頭ピクセルとしてメロディ生成部に登録する(ステップS1)。続いてステップS2に進み、予め用意されたテンプレート群を用いてバックトラックとしての音楽情報を生成するバックトラック生成処理を実行する。
ここではまず、予め用意された複数のドラム・トラック・テンプレートの中から所望のトラック・テンプレートをひとつ選択する(ステップS30)。そして予め複数用意されているバッキングリフ・トラック・テンプレートの中から、ステップS30にて選択されたドラム・トラック・テンプレートと拍子が合致するものを選択する(ステップS31)。ここでもし、拍子が合致するテンプレートが複数存在する場合は、合致するテンプレート全てを選択しておく。
次に、上述のバッキングリフ・トラック・テンプレートの選択と同様な方法で、予め複数用意されたベース・トラック・テンプレートの中から、選択されたドラム・トラック・テンプレートと拍子が合致しかつ音楽ジャンル相性度が最も良いものをひとつ選択する(ステップS33)。
この後、ベース・トラック・テンプレートに登録されているコード進行情報を、レジスタrepeatに格納された値だけ繰り返すことにより、最小公倍数の小節数に対応する長さに伸ばして、新たなコード情報として登録する(ステップS36)。
そして、ステップS38において、このポインタcntの値に対応するトラック・テンプレートを取得する。このcntの値が0の場合は、ドラム・トラック・テンプレートを、1の場合はバッキングリフ・トラック・テンプレートを、そして2の場合は、ベース・トラック・テンプレートを取得するように構成されている。従って、ポインタcntの値が0である最初は、ドラム・トラック・テンプレートを取得する。
この後、繰り返し回数を表わすポインタiの値を0に設定し(ステップS40)、続いて取得されたトラック・テンプレートが有する複数の再生データの中からひとつの再生データを選択する(ステップS42)。
ここで、ポインタcntの値が2、つまり取得されたトラック・テンプレートがベース・トラック・テンプレートか否か判別する(ステップS42)。最初の場合は、ドラム・トラック・テンプレートなので、ステップS44に進み、(num*i)+1小節を先頭に、S41で選択された再生データを登録する。
これにより、取得されたトラック・テンプレートにおいて、順次選択される再生データを、直列に接続する形式で最小公倍数の小節数を有する長さの再生データを生成する。
ここで、3未満であれば、ステップS38に戻り、S38〜S48の処理を再び実行する。ポインタcntの値が1の場合は、バッキングリフ・トラック・テンプレートにおける最小公倍数の小節数を有する長さの再生データを生成し、ポインタcntの値が2の場合は、ベース・トラック・テンプレートにおける最小公倍数の小節数を有する長さの再生データを生成する。ただし、ベース・トラック・テンプレートの場合は、cntが2なので、ステップS42からS43に移行し、選択されたベース・トラック・テンプレートの再生データを、対応する音楽情報の調、コード進行に従って音高変換してから、ステップS44に進む。
こうしてバックトラック音楽情報が生成されるとステップS3に進み、この生成されたバックトラックの音楽情報をメロディ生成部4に送付する。続いてメロディ生成部4に対して、メロディ生成のための条件のひとつである音変換ルールを含むメロディ生成ルールを登録して(ステップS4)、メロディ生成処理に進む(ステップS5)。
そして本実施形態においては、ピクセルのRGB 3バイトのデータを各々音の高さ、長さ、強さに変換し、RGBのうちBを音の高さ、Gを音の長さ、Rを音の強さに変換する。
なお、このRGBと、音高、音長および音の強さとの関係はあくまでもひとつの態様であり、上述のもののみに限られるものでない。例えば、Gを音の高さ、Rを音の長さ、Bを音の強さに変換する、というようにしてもよい。
ルール1:コードの構成音以外の音は最も近いコードの構成音に変換。コード構成音は変換しない。変換する候補が複数ある場合は任意に選択
ルール2:コードの構成音以外は休符にする。構成音は変換しない。
ルール3:コード及びスケールの構成音以外は最も近いスケールの構成音に変換。構成音は変換しない。変換する候補が複数ある場合は任意に選択。
ルール4:コード及びスケールの構成音以外は休符にする。構成音は変換しない。
ルール5:音変換は行わない。
本実施形態においては、これらの音変換ルールは、各小節の拍毎に設定する。従って、各小節の1拍目と2拍目とでは異なる音変換ルールに基づいてメロディが生成されことになる。
これに従って以下にメロディ生成手順を詳細に説明する。ここにおいて、生成されたバックトラックは4小節、4/4拍子、ハ長調、コード進行はI(1−1) → IV(2−1) → I(3−1) → V(3−4)(()内はコード指定されている位置、小節−拍)とする。また640*480の画像データがひとつ選択されているものとする。
続いて、画像の中からひとつのピクセルを選択し先頭ピクセルとする。この先頭ピクセルを1小節目一拍目のマスに関連付ける。先頭ピクセルに続く以降のピクセルを、ひとマス1ピクセルで順に関連付けていく(ステップS72)。
まず、ポインタloop及びiを0に設定する(ステップS80)。ここで、ポインタiは、各小節内に割り当てられたマスを順次指定していくものであり、ポインタloopは、格納される値に応じて、以下のように小節・拍を指定する。
loop=0の場合、各小節1拍目の位置またはコード設定のあるマス
loop=1の場合、各小節3拍目の位置またはコード設定のあるマス
loop=2の場合、各小節2拍目と4拍目の位置またはコード設定のあるマス
loop=3の場合、各小節裏拍の位置のマス
loop=4の場合、その他のマス
従って、最初はポインタloopに0が設定されるので、各小節1拍目の位置またはコード設定のあるマスが対象となる。
次に、ポインタiで指定されるマス[i]が、ポインタloopで指定される小節と拍の位置にあるか否か判別する(ステップS82)。ここでYesと判別されたならば、このマス[i]に継続音、つまりその前のマスに格納されている音と同じ音が既に格納されているか否か判別する(ステップS83)。本実施形態において、継続音であるか否かの判別は、マス[i]に設定されている継続フラグの状態を判別することにより行われ、当該フラグが1であれば、継続音であると判断し、当該フラグが0であれば継続音でないと判断する。
一方、ステップS82でNoあるいはステップS83でYesと判別された場合については後述する。
ステップS84の後、レジスタBに格納された値を13で除算した余りを求め、レジスタRtに格納する。これにより、レジスタRtの値は、0〜12のいずれかの値となる。本実施形態においては、この0という値は休符を示し、1〜12夫々の値は、1オクターブ内の12音階に対応させている。
そして、レジスタRtに格納された値が0、つまり休符であるか否か判断する(ステップS88)。ここで休符であると判断されたならば、レジスタNtに0の値を格納する(ステップS89)。
コード構成音でないと判別されたならステップS92に進み、ステップS87で取得した音変換ルールがルール1(コードの構成音以外の音は最も近いコードの構成音に変換)であるか否か判別する。ここでルール1であると判別されたなら、ステップS93に進み、Rtに格納された音階値に最も近いコード構成音をレジスタNtに格納する。最も近いコード構成音が複数存在する場合は、いずれかひとつのコード構成音をランダムに選択するようにする。
取得した音変換ルールがルール2でないと判別された場合は、ステップS96に進み、取得した音変換ルールがルール3(コード及びスケールの構成音以外は最も近いスケールの構成音に変換)であるか否か判別する。ここでルール3であると判別された場合はステップS97に進み、レジスタRtに格納された音階値と同一、もしくは最も近いスケール構成音をレジスタNtに格納する。最も近いスケール構成音が複数存在する場合は、いずれかひとつのスケール構成音をランダムに選択するようにする。
取得した音変換ルールがルール4でないと判別された場合は、ルール5(音変換は行わない)が取得されたものと判別してステップS100に進み、レジスタNtにレジスタRtの値をそのまま格納する。
このステップS101の処理の後、ステップS82でNoと判別された場合、あるいはステップS83でYesと判別された場合は、ステップS102に進み、ポインタiをインクリメントする。このポインタiの値が、ポインタloopの値で指定された小節の拍に割り当てられたマス数を超えたか否か判別する(ステップS103)。超えていない場合は、ステップS81に戻り、超えている場合は、図11のステップS104に移行する。
具体的には、Gデータを右へ4ビットシフトし、このシフトされた値を「15」で除算する。これは、Gデータの上位4ビットの値と、2進法で「1111」(10進法で「15」)との比率を求めるためである。そしてCntの値に対して、この比率を乗算した値をレジスタCtn2に格納する。この処理動作は、式(1)で表わされる。
Cnt2=Cnt*(ピクセルG値>>4)/15・・・・(1)
具体的には、ピクセルのGデータに「00001111(=0F)」を乗算し、下位4ビットを抽出する。この下位4ビットの値に、レジスタCnt2と「16」とを乗算した値を加算してレジスタDrにストアする。
この処理動作は、式(2)で表わされる。
Dr=16*Cnt2+(ピクセルG値&0x0F)・・・(2)
具体的には、継続音として登録する場合は、各マスには継続音を表わすフラグを1とし、継続音登録を解除するには、このフラグを0とする。
ここでYesと判別された場合は、ステップS105に戻り、Noの場合は、ステップS112に進み、ポインタloopに格納されていた値をインクリメントする。
以上の順で各小節のマスにピクセルのデータが割り当てられて、音高・音長が設定されるが、先に設定された音長により継続音が登録されたマスには、その後の処理によりピクセルデータは登録されないように構成されている。つまり、例えばloop=0で1拍目に二分音符が登録されたなら、loop=1では二拍目にピクセルは割り当てられない。
この後、ポインタloopの値が5になると、ステップS113でNoと判断され、この処理を終了して、図7にフローチャートに戻る。
図12においてまず、図6に示すように、各小節に割り当てられたマスを指定するポインタiの値を0とする(ステップS120)。
ここで継続音でないと判別された場合は、ステップS122に進み、マス[i]に割り当てられているピクセルのRデータ(RBGのR 本実施形態では8ビット)を1ビット右側にシフトする。これにより、Rデータの取り得る値は、0〜127となり、これはMIDIにおける音の強さを表わすベロシティの取り得る値と一致する。
このステップS122の後、ステップS123に進む。また、ステップS121で継続音と判別された場合もこのステップS123に進む。
このステップS123においては、ポインタiの値をインクリメントし、続くステップS124でこのポインタiの値が、ピクセルが割り当てられたマス数を超えたか否か判断し、超えていないなら、ステップS121に戻り、超えていたならこの処理を終了して図7に戻る。
再び図7において、ステップS75の音の強さ登録処理が終了すると、ステップS76の全体調整処理に移行する。
まず、図13において、各マスを指定するポインタiを0に設定する(ステップS130)。続いてこのポインタiにより指定されるマス[i]には、継続音あるいは休符のいずれかが登録されているか否か判別する(ステップS131)。ここでYesと判別された場合は、後述するステップS159に進むが、Noと判別された場合は、レジスタDrにマス[i]に登録されている音長の値を格納する(ステップS132)。
このステップS134の判別がYesの場合は、マス[i]に登録されている音高(=1〜12のいずれか)を、休符(=0)に変更する(ステップS135)。
これにより、休符と休符の間に短い音長の音符が存在していた場合は、その音符は削除される。
このマス[i]に続くマスのうち、継続音が登録されていないマス[j]を検索して取得する。
そして、マス[i]とマス[j]とに登録された音高が一致しているか否か判別し(ステップS135)、一致しているなら乱数を取得し、その最下位ビット(LSB)が1か否か判別する。ここで1と判別されたならば、マス[i]に登録されている音長に、マス[j]に登録されている音長を加算し、マス[j]を継続音に変更する(ステップS143)。
これは同一音高の音符が続く場合は、ひとつの音符に統合する場合が生じることを意味する。ひとつの音符に統合するか否かは、乱数によって決められる。
ここで、マス[i]に登録された音の強さをレジスタVeloに格納するとともに、音長をレジスタDrに格納する。そして、このレジスタDrに格納された音長の値が「16」以下か否か判別し(ステップS151)、以下であるなら、レジスタVeloに格納された音の強さの値に対して、0.8を乗じる(ステップS152)。
このステップS153で「32」を超えると判別された場合、ステップS152あるいはS154の処理の後、ステップS155に進む。ここでは、マス[i]は小節内の裏拍に存在するか否か、あるいは裏拍と表拍の間に存在するか否かを判別する。
このステップS158の後、あるいは図13のステップS131でNoと判別された場合に、ステップS159に進み、ポインタiをインクリメントする。このインクリメントされたiの値がピクセルの割り当てられたマス数を超えているか否か判断する(ステップS160)。ここでNoと判断されたなら、図13のステップS131に戻り、Yesなら図16のステップS161に進む。
このように本実施形態においては、この図15に示された処理により、マスに割り当てられた音の強さを、音長、裏拍か否かに基づいて調整している。
そして、このポインタiで指定されるマス[i]には継続音が登録されているか否か判別し(ステップS164)、ここでNo、登録されていないと判別され場合は、ステップS165に進み、レジスタdiffに、マス[i]に登録されている音の強さの値から取得された平均値を減じた値の絶対値を格納する。
diff=(diff−10)/2+10・・・(3)
diff=(diff−20)/2+15・・・(4)
一方、diff≦10であるならば、diffの値は変更しない。
この後、ステップS170に進み、ステップS165で求められた。もともとのレジスタdiffの値が平均値より小さい場合は、以下の(5)式の変換を行う(ステップS170)。
diff=−diff・・・(5)
このステップS171の後、あるいはステップS164にてYesと判断されていた場合にポインタiをインクリメントし(ステップS172)、このインクリメントされたiの値がピクセルの割り当てられたマス数を超えているか否か判断する(ステップS173)。ここでNoと判断されたならステップS164に戻り、Yesなら図17のステップS174に進む。また、ステップS162にて、Noと判別された場合も、そのまま図17のステップS174に進む。
このように本実施形態においては、この図16に示された処理により、音の強さの急激な変化を抑制している。
vOffset=120−音の強さの最大値・・・(6)
続いてポインタiを0に設定し(ステップS175)、このポインタiで指定されるマス[i]に継続音が登録されているか否か判別する(ステップS176)。ここでNoと判別された場合は、マス[i]の音の強さとして、当該音の強さに対してvOffsetの値を加算した値を登録する(ステップS177)。
これらの処理により、全体の音の強さのレベルを調整する。
Nti2=C4+Nti−1 ・・・(7)
|Nti−Nth|≦7? ・・・(8)
これがNoと判別された場合は、上記(8)式を満足するレジスタNtiの値を(9)式により求める(ステップS182)。
Nti=Nti2±12*N ・・・(9)
Nは自然数
こうして求められたレジスタNtiの値を、マス[i]の音の高さとして登録する(ステップS184)。
この後図18のステップS185に進み、ポインタiをインクリメントする。このインクリメントされたiの値がピクセルの割り当てられたマス数を超えているか否か判断する(ステップS186)。ここでNoと判断されたなら、図17のステップS176に戻り、Yesならこの全体調整処理を終了する。
つまり、バックトラックに使われている各テンプレートの再生データ(MIDI)を用いてバックトラックのMIDIデータを出力する。この際MIDI分解能の違いなどがあれば調整する。テンポ設定がされている場合はこれを無視する。メロディ生成データはMIDI変換を行う。メロディ生成処理でマスに登録された音高、音長及び強さをMIDIに変換するが、音の長さが1小節あたりの分解能を、バックトラックのMIDIデータに合わせて変換する。そしてこれらを統合して全体のMIDIデータを生成する。
そして、このMIDIシーケンサが再生中であるか否か判別し(ステップS8)、再生中でなければ、登録されているSMFの再生を開始し、待機中MIDIシーケンサを再生中の状態に変更するとともに、ループ用タイマーを起動させる(ステップS9)。
まず、ステップS190において、ステップS9にて再生開始されたSMFが再生終了時刻に達したか否かを判断する。ここで達していない場合はこの状態を維持し、達したと判断された場合は、ステップS191に進み、SMFを再生停止させる。
このループタイマー処理により、生成されたメロディとバックトラックとに基づいて作成されたSMFデータは繰り返し再生されることになる。
このため、ユーザーはいずれのテンプレートを選択するかにより、生成されるメロディを構成する音符夫々の音高、音長あるいは音の強さをコントロールでき、ユーザーの意図をある程度反映することが可能となる。
これにより、生成される楽曲は音高の極端な変更、異常に短い音符の存在によるノイズの発生など、聴感上違和感を生じさせる原因を除去することが可能となる。
[付記1]
楽曲の伴奏を構成する各小節の予め指定された位置に対応して、画像の任意の位置から取得した複数のピクセルデータを夫々割り当てる割り当て手段と、
前記割り当て手段により割り当てられたピクセルデータに基づいてメロディを構成する音符データを生成する音符データ生成手段と、
前記音符データ生成手段により生成された音符データを所定のルールに従って補正する補正手段と、
を有する楽曲生成装置。
[付記2]
前記楽曲の伴奏データとして、少なくとも拍子及び小節数を有する音楽情報と、再生シーケンスデータとを夫々有する第1のトラックテンプレートデータを複数有する付記1記載の楽曲再生装置。
[付記3]
前記楽曲再生装置は、前記音楽情報としてさらに調及びコード進行のデータを有する複数の第2のトラックテンプレートデータをさらに有する付記1又は2記載の楽曲再生装置。
[付記4]
前記楽曲再生装置はさらに、前記複数の第1のテンプレートデータのいずれかを選択し、この選択された第1のトラックテンプレートデータの音楽情報基づいて、前記選択された第1のテンプレートデータと最も相性度の高い第2のトラックテンプレートデータを選択する選択手段と、
この選択手段により選択された第1及び第2のトラックテンプレートデータに基づいて、前記楽曲の伴奏データを生成する付記1乃至3いずれかに記載の楽曲生成装置。
[付記5]
前記補正手段は、前記コード進行情報を構成するコード情報に基づいて前記生成された音符データを補正する付記3記載の楽曲生成装置。
[付記6]
前記音符データ生成手段は、前記割り当てられたピクセルデータを構成するRデータにより前記音符データの音の強さを、Gデータにより音長を、そしてBデータで当該音符の種類及び音高を決定する付記1記載の楽曲生成装置。
[付記7]
前記音符データ生成手段は、前記Bデータが所定の値であると判別された場合は、前記音符データの種類を休符とする付記6記載の楽曲生成装置。
[付記8]
前記補正手段は、前記音符データの音長が所定値以下でかつ、当該音符データの前後所定区間内に休符のみ存在する場合は、前記音符データを休符データに変更する付記6記載の楽曲生成装置。
[付記9]
前記補正手段は、同じ音高の音符データが連続して続く場合は、当該同じ音高の音符データをひとつの音符データに変換する付記6記載の楽曲生成装置。
[付記10]
前記補正手段は、前記音符データの音長が所定値以下の場合は、前記Rデータにより決定された音の強さを減ずる付記6記載の楽曲生成装置。
[付記11]
前記補正手段は、前記音符データが前記メロディを構成する各小節の裏拍及び当該裏拍と表拍との間のいずれかにある場合でかつ、当該音符データの音長が次の小節まで及ばない場合は、前記Rデータにより決定された音の強さを減ずる付記6記載の楽曲生成装置。
[付記12]
前記補正手段は、
前記生成されたメロディを構成する各音符データの音の強さに基づいて、その最大値、最小値及び平均値を算出する算出手段と、
前記算出された最大値と最小値とのさが所定値を超える場合は、前記算出された平均値に基づいて、前記各音符データの音の強さを変更する変更手段と、
を有する付記6記載の楽曲生成装置。
[付記13]
前記補正手段は、
前記生成されたメロディを構成する各音符データの音の強さに基づいて、その最大値、を算出する最大値算出手段と、
前記算出された最大値と前記音の強さが取り得る最大値との差分値に基づいて、前記各音符データの音の強さを変更する変更手段と、
を有する付記6記載の楽曲生成装置。
[付記14]
前記補正手段は、対象となる音符データの音高と、当該音符データの前に位置する音符データの音高との差分が所定値を超える場合に、当該差分が前記所定値以下となるように、前記対象となる音符データの音高を補正する付記6記載の楽曲生成装置。
[付記15]
前記割り当て手段は、前記各小節の予め指定された拍位置に前記画像のピクセルデータを夫々割り当てる付記1記載の楽曲生成装置。
[付記16]
前記画像のピクセルデータは、前記各小節の1拍目及びコード指定位置、3拍目、2拍目及び4拍目、裏拍、さらに残りの位置の順序で割り当てられる付記15記載の楽曲生成装置。
[付記17]
楽曲の伴奏を構成する各小節の予め指定された位置に対応して、画像の任意の位置から取得した複数のピクセルデータを夫々割り当てる割り当て、
前記割り当てられたピクセルデータに基づいてメロディを構成し、
前記生成された音符データを所定のルールに従って補正する、楽曲生成方法。
[付記18]
コンピュータに、
楽曲の伴奏を構成する各小節の予め指定された位置に対応して、画像の任意の位置から取得した複数のピクセルデータを夫々割り当てる割り当てステップと、
前記割り当てられたピクセルデータに基づいてメロディを構成する音符データを生成する音符データ生成ステップと、
前記生成された音符データを所定のルールに従って補正する補正ステップと、
を実行させるプログラム。
2 制御部
3 バックトラック合成部
4 メロディ生成部
5 再生データ再生部
Claims (9)
- 楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する音楽情報指定手段と、
画像を指定する画像指定手段と、
前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲を構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセルを夫々割り当てる割り当て手段と、
前記割り当て手段により割り当てられたピクセルのデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成する音符データ生成手段と、
前記音符データ生成手段により、前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する補正手段と、
を有する楽曲生成装置。 - 前記補正手段は、前記音符データ生成手段により生成された複数の音符データを、所定の条件に応じて1つの音符データに統合する補正を行なう請求項1記載の楽曲生成装置。
- 前記音符データ生成手段は、前記ピクセルの色を指定する複数のデータに基づいて、音の高さ、長さ、強さのうちの複数を含む音符データを生成する請求項1または2に記載の楽曲生成装置。
- 前記音楽情報指定手段は、楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを任意に指定する請求項1乃至3のいずれかに記載の楽曲生成装置。
- 楽曲の拍子または小節数のデータを有する第1音楽情報と、
楽曲の調またはコード進行のデータを有する複数の第2音楽情報と、
前記第1音楽情報が指定された場合に、前記第1音楽情報と最も相性度の高い第2音楽情報を前記複数の第2音楽情報の中から選択する選択手段と、
を更に有し、
前記音楽情報指定手段は、前記第1音楽情報と前記第2音楽情報とに基づいて、前記楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する
請求項1乃至4のいずれかにに記載の楽曲生成装置。 - 楽曲の拍子または小節数のデータの異なる前記第1音楽情報を複数有し、
前記選択手段は、前記複数の第1音楽情報のいずれかが選択された場合に、前記選択された第1音楽情報と最も相性度の高い第2音楽情報を前記複数の第2音楽情報の中から選択し、
前記音楽情報指定手段は、前記選択された前記第1音楽情報と前記選択された前記第2音楽情報とに基づいて、前記楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する
請求項5に記載の楽曲生成装置。 - 前記画像指定手段は、複数の画像の中から、前記音楽情報指定手段により指定された音楽情報に対応する画像を選択する請求項1乃至6のいずれかに記載の楽曲生成装置。
- 楽曲生成装置が、
楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定し、
画像を指定し、
前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲を構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセルを夫々割り当てる割り当て、
前記割り当てられたピクセルのデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成し、
前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する、楽曲生成方法。 - コンピュータに、
楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する処理と、
画像を指定する処理と、
前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲を構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセルを夫々割り当てる割り当て処理と、
前記割り当てられたピクセルのデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成する処理と、
前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する処理と、
を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013024202A JP6229273B2 (ja) | 2013-02-12 | 2013-02-12 | 楽曲生成装置、楽曲生成方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013024202A JP6229273B2 (ja) | 2013-02-12 | 2013-02-12 | 楽曲生成装置、楽曲生成方法及びプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014153597A JP2014153597A (ja) | 2014-08-25 |
JP2014153597A5 JP2014153597A5 (ja) | 2016-03-31 |
JP6229273B2 true JP6229273B2 (ja) | 2017-11-15 |
Family
ID=51575500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013024202A Active JP6229273B2 (ja) | 2013-02-12 | 2013-02-12 | 楽曲生成装置、楽曲生成方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6229273B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102294528B1 (ko) * | 2020-07-03 | 2021-08-27 | 김형찬 | 영상 기반 작곡 장치 및 방법 |
CN113160781B (zh) * | 2021-04-12 | 2023-11-17 | 广州酷狗计算机科技有限公司 | 音频生成方法、装置、计算机设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2520512Y2 (ja) * | 1990-05-09 | 1996-12-18 | カシオ計算機株式会社 | 自動伴奏パターン登録装置及びそれを用いた自動伴奏装置 |
JP3234593B2 (ja) * | 1992-10-05 | 2001-12-04 | 株式会社河合楽器製作所 | 電子楽器 |
EP1020843B1 (en) * | 1996-09-13 | 2008-04-16 | Hitachi, Ltd. | Automatic musical composition method |
JP2001350473A (ja) * | 2000-06-08 | 2001-12-21 | Web Logic:Kk | 画像情報を音声情報に変換するシステム及び画像情報を音声情報に変換する方法 |
JP4172703B2 (ja) * | 2003-07-30 | 2008-10-29 | 財団法人ヤマハ音楽振興会 | 演奏補助装置 |
-
2013
- 2013-02-12 JP JP2013024202A patent/JP6229273B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014153597A (ja) | 2014-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5949544B2 (ja) | リズムパターンの類似度に基づく楽音データの検索 | |
US10170090B2 (en) | Music information generating device, music information generating method, and recording medium | |
US20170084261A1 (en) | Automatic arrangement of automatic accompaniment with accent position taken into consideration | |
US9558726B2 (en) | Automatic composition apparatus, automatic composition method and storage medium | |
JP3541706B2 (ja) | 自動作曲装置および記憶媒体 | |
US6756533B2 (en) | Automatic music composing apparatus and automatic music composing program | |
US20160148605A1 (en) | Automatic composition apparatus, automatic composition method and storage medium | |
US7982121B2 (en) | Drum loops method and apparatus for musical composition and recording | |
JP2008537180A (ja) | 音楽作曲装置の運用方法 | |
JP4548424B2 (ja) | 楽音処理装置およびプログラム | |
CN106652655A (zh) | 一种音轨替换的乐器 | |
US8791350B2 (en) | Accompaniment data generating apparatus | |
CN1770258B (zh) | 表演风格确定设备和方法 | |
JP6760450B2 (ja) | 自動アレンジ方法 | |
JP6229273B2 (ja) | 楽曲生成装置、楽曲生成方法及びプログラム | |
JP6175812B2 (ja) | 楽音情報処理装置及びプログラム | |
JP2008276169A (ja) | オンライン作曲のためのシステム、方法及びコンピュータ読取り可能な記録媒体 | |
JP5472261B2 (ja) | 自動調判定装置、自動調判定方法及びそのプログラム | |
JP3623557B2 (ja) | 自動作曲システムおよび自動作曲方法 | |
JP6406273B2 (ja) | カラオケ装置,及びプログラム | |
Oliwa | Genetic algorithms and the abc music notation language for rock music composition | |
KR102269591B1 (ko) | 자동작곡장치 및 그 방법 | |
CN114005424A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
KR20220145675A (ko) | 음악적 요소를 이용한 인공지능 기반의 발레동작 평가 방법 및 장치 | |
Dean | The serial collaborator: A meta-pianist for real-time tonal and non-tonal music generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160210 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170321 |
|
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: 20170919 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6229273 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |