JP6229273B2 - 楽曲生成装置、楽曲生成方法及びプログラム - Google Patents

楽曲生成装置、楽曲生成方法及びプログラム Download PDF

Info

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
Application number
JP2013024202A
Other languages
English (en)
Other versions
JP2014153597A (ja
JP2014153597A5 (ja
Inventor
綿貫 正敏
正敏 綿貫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2013024202A priority Critical patent/JP6229273B2/ja
Publication of JP2014153597A publication Critical patent/JP2014153597A/ja
Publication of JP2014153597A5 publication Critical patent/JP2014153597A5/ja
Application granted granted Critical
Publication of JP6229273B2 publication Critical patent/JP6229273B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

この発明は、楽曲生成装置、楽曲生成方法及びプログラムに関する。
従来から、撮像した画像に応じて変化する制御パラメータに対応して、発音した楽音の発音形態を制御することにより、音楽に慣れ親しみ易くするような新たな楽しみを創出することができる楽音装置が提案されている(例えば、特許文献1)。
この装置によれば、楽曲を表わす楽譜や楽曲データの準備がなくとも、任意の被写体を撮影するだけで、新たな楽曲を即興で自動的に生成することが可能となる。
特開2006−178268
しかしながら、こうして作られる楽曲の構成は、用いられる画像の構成、あるいは画像のどの領域を用いるかによって大きく変化し、ユーザーがコントロールできるものでない。
ユーザーが、特定のテンポ、拍子あるいは調の楽曲の生成を希望したとしも、その希望に即した楽曲が生成されるとは限らない。
また、こうして生成される楽曲は、元となる画像の構成によっては、音高や強さ、さらには一音の長さ等が極端に大きく変化したり、あるいは細かく変化したりして、聴感上違和感のあるものとなる可能性がある。
さらに、生成される楽曲は単なる音符の羅列であってテンポに関するデータを有していないので、後でテンポを変更して再生させようとしてもできない場合が多い。
このように、従来の楽曲生成装置は上述のような問題があり、更なる改良が必要であった。
本発明の目的は、画像データに基づいて楽曲を生成するに際し、ユーザーの意向がある程度反映され、かつ聴感上違和感がなく、テンポ変更も自由にできる楽曲生成装置、楽曲生成方法およびプログラムを提供することにある。
上記目的を達成するために、本発明の楽曲生成装置は、楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する音楽情報指定手段と、画像を指定する画像指定手段と、前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセル夫々割り当てる割り当て手段と、前記割り当て手段により割り当てられたピクセルデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成する音符データ生成手段と、前記音符データ生成手段により、前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する補正手段と、を有することを特徴とする。
また、本発明の楽音生成方法は、
楽曲生成装置が、楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定し、画像を指定し、前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセル夫々割り当てる割り当て、前記割り当てられたピクセルデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成し、前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する、ことを特徴とする。
また、本発明のプログラムは、
コンピュータに、楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する処理と、画像を指定する処理と、前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセル夫々割り当てる割り当て処理と、前記割り当てられたピクセルデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成する処理と、前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する処理と、を実行させることを特徴とする。
本発明によれば、画像データに基づいて楽曲を生成するに際し、ユーザーの意図がある程度反映させることができようになる。また、生成される楽曲は聴感上違和感がなく、かつテンポ変更を行って再生することも可能になる。
は、本発明の実施形態における楽曲生成装置のブロック図である。 は、本発明の実施形態において用いられるテンプレートデータ群をディレクトリ別に分類したツリー図である。 は、本発明の実施形態における楽曲生成装置の処理動作全体を現したフローチャートである。 は、図3におけるバックトラック生成処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図3におけるバックトラック生成処理の詳細な処理動作を表わしたフローチャートの残りの一部である。 は、本発明の実施形態におけるメロディ生成の様子を図解した説明図である。 は、図3におけるメロディ生成処理の詳細な処理動作を表わしたフローチャートである。 は、図7における音高・音長登録処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図8に続く音高・音長登録処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図9に続く音高・音長登録処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図10に続く音高・音長登録処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図7における音の強さ登録処理の詳細な処理動作を表わしたフローチャートである。 は、図7における全体調整処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図13に続く全体調整処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図14に続く全体調整処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図15に続く全体調整処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図16に続く全体調整処理の詳細な処理動作を表わしたフローチャートの一部である。 は、図17に続く全体調整処理の詳細な処理動作を表わしたフローチャートの一部である。 は、本発明の実施形態におけるループタイマー処理の処理動作を表わすフローチャートである。
図1は、本発明の実施形態における楽曲生成装置のブロック図である。
図において、メインブロック部1は、装置全体を制御するものであり、このメインブロック部1に、制御部2、バックトラック合成部3、メロディ合成部4及び再生データ再生部5が接続されている。
制御部2は、ユーザーの操作に基づいて外部よりデータ(設定パラメータ、画像、MIDIデータ等)を入出力する。
バックトラック合成部3は、生成すべき楽曲の伴奏部分となるバックトラックを予め用意されたテンプレートデータより生成する。
メロディ生成部4は、このバックトラック合成部3により生成されたバックトラックと、入力される画像データとに基づいて、メロディを生成する。
再生データ再生部5は、メロディ生成部4にて生成された楽曲(例えば、MIDI形式で表現された)を再生するためのMIDIシーケンサを有するブロックである。
バックトラック合成部3にてバックトラックを生成するためのテンプレートデータは以下の情報を持つ。
(a)音楽情報
本実施形態においては、拍子・小節数・調・コード進行、あらかじめ定義されている音楽ジャンルに対する相性度等である。
音楽ジャンルとの相性度は定義済みの音楽ジャンルとしてロックやジャズなどが考えられ、それらとの相性度が、例えば5段階で評価される。
(b)ひとつまたは複数の再生データ(MIDI形式)
これら再生データは音楽情報に則ったものである。ひとつのテンプレートデータ内に複数の再生データが登録されている場合、これら複数の再生データそれぞれが、テンプレート・データの音楽情報に則っている。
また再生データ夫々が互いに関連性を持っていることが望ましく、バリエーション、あるいはフィル・インとなる再生データを有するように構成されていてもよい。
本実施形態においては、テンプレートデータは複数存在し、それらは以下の三つにグループに大別できる。また、これらグループ夫々には数十 〜 百以上程度のテンプレートデータが存在する。
(a)ドラム・トラック・テンプレート
(b)ベース・トラック・テンプレート
(c)バッキングリフ・トラック・テンプレート
ここで、ドラム・トラック・テンプレートはドラム等打楽器の再生データを有するテンプレートデータである。この音楽情報には調・コード進行の情報は登録されていない。
一方、ベース・トラック・テンプレートはベースの再生データを有するテンプレートデータである。本実施形態においては、このグループに含まれるテンプレートデータ全てがハ長調であり、コード進行はCまたはCM7のワンコードとなっている。
さらに、バッキングリフ・トラック・テンプレートはギターやピアノなどのバッキングリフの再生データを有するテンプレートデータである。
テンプレートデータ群は、図2のようにディレクトリ別に保存されている。
種別dirはテンプレートデータ群を分ける3つのグループごとのディレクトリであり、本実施形態においては、この3つのグループは夫々、drums10−1、bass10−2、及びbacking10−3である。
これら種別ディレクトリ夫々には、サブディレクトリとしての拍子dirが存在する。これは4/4拍子や3/4拍子のように、拍子ごとにテンプレートデータに分類している。本実施形態においては、説明を明瞭にするため4/4拍子11のみ存在するものとしている。
さらに、この拍子dirのサブディレクトリとしてのスケールdirであるmajor12−1、minor12−2が存在している。
本実施形態においては、種別dirがdrums10−1では、調は関係せず、種別dirがbass10−2の場合はハ長調固定としているため、このサブディレクトリはbacking10−3以外では存在しない。ここにおいても、説明を明瞭にするため調はハ長調とイ短調のみが存在するものとしている。
backing10−3の場合はスケールdirの下位、その他のテンプレートは拍子dirの下位に存在するディレクトリ群がテンプレートdir13−1、13−2・・・となる。夫々のディレクトリ内に音楽情報ファイル14−1(図中 *.mgi)と、再生データ群14−2(同*.mid)とが収められている。
図3は、図1に示された楽曲生成装置において実行される、楽曲生成のための処理動作全体を表わすフローチャートである。
まず、制御部2により外部から入力された複数の画像データの中から、楽曲生成に用いられる画像を選択するとともに、この画像上にある所望のピクセルを、メロディ作成先頭ピクセルとしてメロディ生成部に登録する(ステップS1)。続いてステップS2に進み、予め用意されたテンプレート群を用いてバックトラックとしての音楽情報を生成するバックトラック生成処理を実行する。
図4及び図5に、このバックトラック生成処理の動作をより詳細に表わしたフローチャートを示す。
ここではまず、予め用意された複数のドラム・トラック・テンプレートの中から所望のトラック・テンプレートをひとつ選択する(ステップS30)。そして予め複数用意されているバッキングリフ・トラック・テンプレートの中から、ステップS30にて選択されたドラム・トラック・テンプレートと拍子が合致するものを選択する(ステップS31)。ここでもし、拍子が合致するテンプレートが複数存在する場合は、合致するテンプレート全てを選択しておく。
続いて、ステップS32に進み、この選択されたバッキングリフ・テンプレートの中から、前述の選択されたドラム・トラック・テンプレートと音楽ジャンル相性度が最も良いバッキングリフ・トラック・テンプレートをひとつに絞り込む。ここでステップS31にて選択されたバッキングリフ・トラック・テンプレートがひとつしかなかった場合は、このステップS32の処理は省略される。
次に、上述のバッキングリフ・トラック・テンプレートの選択と同様な方法で、予め複数用意されたベース・トラック・テンプレートの中から、選択されたドラム・トラック・テンプレートと拍子が合致しかつ音楽ジャンル相性度が最も良いものをひとつ選択する(ステップS33)。
こうして選ばれた、ドラム、バッキングリフ及びベースのトラック・テンプレート夫々は小節数が同一でなく長さが異なる場合がある。この長さをそろえるために、ステップS34において、各テンプレートが有する小節数間における最小公倍数を取得する。そしてこの最小公倍数を選択されたバッキングトラック、つまりベース・トラック・テンプレートの小節数で除算して、その結果をレジスタrepeatに格納する(ステップS35)。
この後、ベース・トラック・テンプレートに登録されているコード進行情報を、レジスタrepeatに格納された値だけ繰り返すことにより、最小公倍数の小節数に対応する長さに伸ばして、新たなコード情報として登録する(ステップS36)。
続いて図5のステップS37に進み、各トラック・テンプレートのいずれかを指定するポインタcntの値を0とする。
そして、ステップS38において、このポインタcntの値に対応するトラック・テンプレートを取得する。このcntの値が0の場合は、ドラム・トラック・テンプレートを、1の場合はバッキングリフ・トラック・テンプレートを、そして2の場合は、ベース・トラック・テンプレートを取得するように構成されている。従って、ポインタcntの値が0である最初は、ドラム・トラック・テンプレートを取得する。
続くステップS39において、この取得されたトラック・テンプレートの小節数を取得してレジスタnumに格納するとともに、ステップS34で求めた最小公倍数を、このnumに格納された値で除算し、この除算した結果をレジスタrepeatに格納する。
この後、繰り返し回数を表わすポインタiの値を0に設定し(ステップS40)、続いて取得されたトラック・テンプレートが有する複数の再生データの中からひとつの再生データを選択する(ステップS42)。
ここで、ポインタcntの値が2、つまり取得されたトラック・テンプレートがベース・トラック・テンプレートか否か判別する(ステップS42)。最初の場合は、ドラム・トラック・テンプレートなので、ステップS44に進み、(num*i)+1小節を先頭に、S41で選択された再生データを登録する。
続いてポインタiをインクリメントし(ステップS45)、このiの値が、つまり繰り返し回数がレジスタrepeatに格納された値と同じになったか否か判別する(ステップS46)。ここで同じでないと判別された場合は、ステップS41以降の処理を繰り返し、同じと判断された場合は、ステップS47に進む。
これにより、取得されたトラック・テンプレートにおいて、順次選択される再生データを、直列に接続する形式で最小公倍数の小節数を有する長さの再生データを生成する。
ステップS47に進むと、ポインタcntはインクリメントされ、続くステップS48にてインクリメントされた値が3未満か否かが判別される。
ここで、3未満であれば、ステップS38に戻り、S38〜S48の処理を再び実行する。ポインタcntの値が1の場合は、バッキングリフ・トラック・テンプレートにおける最小公倍数の小節数を有する長さの再生データを生成し、ポインタcntの値が2の場合は、ベース・トラック・テンプレートにおける最小公倍数の小節数を有する長さの再生データを生成する。ただし、ベース・トラック・テンプレートの場合は、cntが2なので、ステップS42からS43に移行し、選択されたベース・トラック・テンプレートの再生データを、対応する音楽情報の調、コード進行に従って音高変換してから、ステップS44に進む。
こうして、各トラック・テンプレートの再生データは、最小公倍数の小節数を有する長さにそろえられる。この後、ステップS48からステップS49に進み、各トラック・テンプレートの再生データを合成するとともに、各トラック・テンプレートに登録されている音楽情報も、最小公倍数の小節数を有する長さにそろえることにより、新たな音楽情報を生成する。そしてこの処理が終了すると、図3の全体フローに戻る。
こうしてバックトラック音楽情報が生成されるとステップS3に進み、この生成されたバックトラックの音楽情報をメロディ生成部4に送付する。続いてメロディ生成部4に対して、メロディ生成のための条件のひとつである音変換ルールを含むメロディ生成ルールを登録して(ステップS4)、メロディ生成処理に進む(ステップS5)。
本実施形態において、メロディ生成部4は、この送付されたバックトラックの音楽情報と、ステップS1にて設定された画像のピクセルデータを取得して、これをバックトラックの拍子、調、コード進行に従ってメロディに変換していく手法をとっている。
そして本実施形態においては、ピクセルのRGB 3バイトのデータを各々音の高さ、長さ、強さに変換し、RGBのうちBを音の高さ、Gを音の長さ、Rを音の強さに変換する。
なお、このRGBと、音高、音長および音の強さとの関係はあくまでもひとつの態様であり、上述のもののみに限られるものでない。例えば、Gを音の高さ、Rを音の長さ、Bを音の強さに変換する、というようにしてもよい。
また、前述のメロディ生成ルールのひとつである、音変換ルールは、以下のように設定されるものとする。
ルール1:コードの構成音以外の音は最も近いコードの構成音に変換。コード構成音は変換しない。変換する候補が複数ある場合は任意に選択
ルール2:コードの構成音以外は休符にする。構成音は変換しない。
ルール3:コード及びスケールの構成音以外は最も近いスケールの構成音に変換。構成音は変換しない。変換する候補が複数ある場合は任意に選択。
ルール4:コード及びスケールの構成音以外は休符にする。構成音は変換しない。
ルール5:音変換は行わない。
本実施形態においては、これらの音変換ルールは、各小節の拍毎に設定する。従って、各小節の1拍目と2拍目とでは異なる音変換ルールに基づいてメロディが生成されことになる。
図6は、本実施形態におけるメロディ生成方法を図解したものであり、図7は、ステップS5のメロディ生成処理の詳細な処理動作を示すフローチャートである。
これに従って以下にメロディ生成手順を詳細に説明する。ここにおいて、生成されたバックトラックは4小節、4/4拍子、ハ長調、コード進行はI(1−1) → IV(2−1) → I(3−1) → V(3−4)(()内はコード指定されている位置、小節−拍)とする。また640*480の画像データがひとつ選択されているものとする。
まず、ステップS70においてバックトラック生成部3にて生成されたバックトラックの音楽情報よりコード進行を取得する。そして各小節を16音符長単位で分割する(ステップS71)。図6(a)に示すように、ひとマスを16分音符ひとつとみなし、各マスには画像のピクセル、コード情報、音の高さ、強さ、および長さを関連付ける。
続いて、画像の中からひとつのピクセルを選択し先頭ピクセルとする。この先頭ピクセルを1小節目一拍目のマスに関連付ける。先頭ピクセルに続く以降のピクセルを、ひとマス1ピクセルで順に関連付けていく(ステップS72)。
次に、ステップS73にて対応するマスの位置にコード情報を付加する(図6(b))。コード情報にはその各々の構成音が1〜12の12音階の高さで登録されている。この設定したマスから次にコードが設定されているマスの一つ前までは同じコードが設定されているとみなす。
続いてステップS74に進み、12音階での音の高さと長さを登録する音高・音長登録処理を実行する。このステップの詳細な処理動作を示すフローチャートを図8〜図11に示す。
まず、ポインタloop及びiを0に設定する(ステップS80)。ここで、ポインタiは、各小節内に割り当てられたマスを順次指定していくものであり、ポインタloopは、格納される値に応じて、以下のように小節・拍を指定する。
loop=0の場合、各小節1拍目の位置またはコード設定のあるマス
loop=1の場合、各小節3拍目の位置またはコード設定のあるマス
loop=2の場合、各小節2拍目と4拍目の位置またはコード設定のあるマス
loop=3の場合、各小節裏拍の位置のマス
loop=4の場合、その他のマス
従って、最初はポインタloopに0が設定されるので、各小節1拍目の位置またはコード設定のあるマスが対象となる。
続くステップS81において、マス[i]にコード情報が設定されているならば、そのコード情報をレジスタCdに保持する。
次に、ポインタiで指定されるマス[i]が、ポインタloopで指定される小節と拍の位置にあるか否か判別する(ステップS82)。ここでYesと判別されたならば、このマス[i]に継続音、つまりその前のマスに格納されている音と同じ音が既に格納されているか否か判別する(ステップS83)。本実施形態において、継続音であるか否かの判別は、マス[i]に設定されている継続フラグの状態を判別することにより行われ、当該フラグが1であれば、継続音であると判断し、当該フラグが0であれば継続音でないと判断する。
ここで継続音でない、つまりNoと判別されたなら、レジスタBに、マス[i]に格納されるピクセルのBデータ(RGBのB)を格納する(ステップS84)。
一方、ステップS82でNoあるいはステップS83でYesと判別された場合については後述する。
ステップS84の後、レジスタBに格納された値を13で除算した余りを求め、レジスタRtに格納する。これにより、レジスタRtの値は、0〜12のいずれかの値となる。本実施形態においては、この0という値は休符を示し、1〜12夫々の値は、1オクターブ内の12音階に対応させている。
この後図9の処理に移行して、バックトラックの音楽情報の中の調情報を取得する(ステップS86)。続いて、ポインタloopの値、つまり指定されている小節の拍がいずれであるかに基づき、前述のステップS4で設定登録された音変換ルールを取得する(ステップS87)。
そして、レジスタRtに格納された値が0、つまり休符であるか否か判断する(ステップS88)。ここで休符であると判断されたならば、レジスタNtに0の値を格納する(ステップS89)。
レジスタRtに格納された値が0でないなら、レジスタCdに格納されたコード情報で示されるコードの構成音であるか否か判別される(ステップS90)。ここでコード構成音であると判別されたならステップS91に進み、レジスタNtにレジスタRtの値をそのまま格納する。
コード構成音でないと判別されたならステップS92に進み、ステップS87で取得した音変換ルールがルール1(コードの構成音以外の音は最も近いコードの構成音に変換)であるか否か判別する。ここでルール1であると判別されたなら、ステップS93に進み、Rtに格納された音階値に最も近いコード構成音をレジスタNtに格納する。最も近いコード構成音が複数存在する場合は、いずれかひとつのコード構成音をランダムに選択するようにする。
取得した音変換ルールがルール1でないと判別された場合は、ステップS94に進み、取得した音変換ルールがルール2(コードの構成音以外は休符にする)であるか否か判別する。ここでルール2であると判別された場合は、ステップS95に進み、レジスタNtに0を格納する。これはつまり、コード構成音以外は休符と判断することを意味する。
取得した音変換ルールがルール2でないと判別された場合は、ステップS96に進み、取得した音変換ルールがルール3(コード及びスケールの構成音以外は最も近いスケールの構成音に変換)であるか否か判別する。ここでルール3であると判別された場合はステップS97に進み、レジスタRtに格納された音階値と同一、もしくは最も近いスケール構成音をレジスタNtに格納する。最も近いスケール構成音が複数存在する場合は、いずれかひとつのスケール構成音をランダムに選択するようにする。
取得した音変換ルールがルール3でないと判別された場合は、ステップS98に進み、取得した音変換ルールがルール4(コード及びスケールの構成音以外は休符にする)であるか否か判別する。ここでルール4であると判別された場合はステップS99に進み、レジスタNtに0を格納する。
取得した音変換ルールがルール4でないと判別された場合は、ルール5(音変換は行わない)が取得されたものと判別してステップS100に進み、レジスタNtにレジスタRtの値をそのまま格納する。
ステップS89、S91、S93、S95、S97、S99及びS100の処理の後、図10のステップS101の処理に移行する。ここでレジスタNtに格納された値が1〜12のいずれかの値であるならば、マス[i]の音高と定義する。0の場合は休符と定義する(図6(c)参照)。
このステップS101の処理の後、ステップS82でNoと判別された場合、あるいはステップS83でYesと判別された場合は、ステップS102に進み、ポインタiをインクリメントする。このポインタiの値が、ポインタloopの値で指定された小節の拍に割り当てられたマス数を超えたか否か判別する(ステップS103)。超えていない場合は、ステップS81に戻り、超えている場合は、図11のステップS104に移行する。
ステップS104において、ポインタiに0をセットする。続くステップS105にて、このポインタiで指定されるマス[i]が、音高設定済みでかつ音長が未設定であるか否かを判別する。ここでYesと判別された場合は、レジスタCntにマス[i]と、その次に音高の設定されているマスとの間にあるマスの数を格納する(ステップS106)。
そしてステップS107に進み、マス[i]に割り当てられたピクセルのGデータ(RGBのB 本実施形態では8ビット)に基づいて音長を設定する。まず、Gデータの上位4ビットで音長に対応するマス数、つまり整数部を決定する。
具体的には、Gデータを右へ4ビットシフトし、このシフトされた値を「15」で除算する。これは、Gデータの上位4ビットの値と、2進法で「1111」(10進法で「15」)との比率を求めるためである。そしてCntの値に対して、この比率を乗算した値をレジスタCtn2に格納する。この処理動作は、式(1)で表わされる。
Cnt2=Cnt*(ピクセルG値>>4)/15・・・・(1)
続いて、この整数部に付加される小数部を加える。小数部はGデータの下位4ビットに基づいて決定する。
具体的には、ピクセルのGデータに「00001111(=0F)」を乗算し、下位4ビットを抽出する。この下位4ビットの値に、レジスタCnt2と「16」とを乗算した値を加算してレジスタDrにストアする。
この処理動作は、式(2)で表わされる。
Dr=16*Cnt2+(ピクセルG値&0x0F)・・・(2)
次にステップS109に進み、このレジスタDrに格納された値を、マス[i]の音長データとして登録し(ステップS108)、マス[i]に続くCnt2の個数のマスに対しては、継続音を登録する(図6(d)参照)。
具体的には、継続音として登録する場合は、各マスには継続音を表わすフラグを1とし、継続音登録を解除するには、このフラグを0とする。
このステップS109の処理の後、あるいはステップS105でNoと判別された場合に、ステップS110に進み、ポインタiをインクリメントする。そしてこのポインタiの値が予め設定されたマス数未満であるか否か判別する(ステップS111)。
ここでYesと判別された場合は、ステップS105に戻り、Noの場合は、ステップS112に進み、ポインタloopに格納されていた値をインクリメントする。
そして、ポインタloopに格納されている値が4を超えたか否か、続くステップS113で判別し、超えていないと判別された場合は、ポインタiの値を0にセットし(ステップS114)、ステップS81に戻る。ここでポインタiの値が1であるなら、各小節3拍目に割り当てられているマスを対象としてテップS81〜S114の処理動作を行う。この結果、図6(e)に示すように、各小節3拍目において、まず音高が設定され、この後図6(f)に示すように、音長が設定される。
この後ポインタloopの値が2となると、各小節3拍目において、音高・音長が設定され(図6(g)参照)、続いてポインタloopの値が3となると、各小節裏拍において、音高・音長が設定される(図6(h)参照)。そしてポインタloopの値が4となると、音高が未登録かつ継続音としても未登録の全てのマスに対し音高・音長が設定される(図6(i)参照)。
以上の順で各小節のマスにピクセルのデータが割り当てられて、音高・音長が設定されるが、先に設定された音長により継続音が登録されたマスには、その後の処理によりピクセルデータは登録されないように構成されている。つまり、例えばloop=0で1拍目に二分音符が登録されたなら、loop=1では二拍目にピクセルは割り当てられない。
この後、ポインタloopの値が5になると、ステップS113でNoと判断され、この処理を終了して、図7にフローチャートに戻る。
この音高・音長登録処理(ステップS74)が終了すると、ステップS75の音の強さ登録処理を実行する。このステップの処理動作を示す詳細なフローチャートを図12に示す。
図12においてまず、図6に示すように、各小節に割り当てられたマスを指定するポインタiの値を0とする(ステップS120)。
続いて、このポインタiで指定されるマス[i]に登録されているのが継続音か否か判別する(ステップS121)。具体的には、マス[i]に設定された継続音フラグが1か否かを判別する。
ここで継続音でないと判別された場合は、ステップS122に進み、マス[i]に割り当てられているピクセルのRデータ(RBGのR 本実施形態では8ビット)を1ビット右側にシフトする。これにより、Rデータの取り得る値は、0〜127となり、これはMIDIにおける音の強さを表わすベロシティの取り得る値と一致する。
このシフトしたRデータの値をレジスタVeloに格納する。そして、このレジスタVeloに格納された値をマス[i]の音の強さとして登録する。
このステップS122の後、ステップS123に進む。また、ステップS121で継続音と判別された場合もこのステップS123に進む。
このステップS123においては、ポインタiの値をインクリメントし、続くステップS124でこのポインタiの値が、ピクセルが割り当てられたマス数を超えたか否か判断し、超えていないなら、ステップS121に戻り、超えていたならこの処理を終了して図7に戻る。
この処理動作により、各小節内に登録された音夫々に対して、音の強さが登録される。
再び図7において、ステップS75の音の強さ登録処理が終了すると、ステップS76の全体調整処理に移行する。
この全体調整処理は、各マスに登録された音高、音長あるいは音の強さを、生成されたメロディ全体の状態から、調整する処理であり、その詳細な処理動作は図13〜図18のフローチャートで表わされている。
まず、図13において、各マスを指定するポインタiを0に設定する(ステップS130)。続いてこのポインタiにより指定されるマス[i]には、継続音あるいは休符のいずれかが登録されているか否か判別する(ステップS131)。ここでYesと判別された場合は、後述するステップS159に進むが、Noと判別された場合は、レジスタDrにマス[i]に登録されている音長の値を格納する(ステップS132)。
そして、このレジスタDrに格納された音長が、予め設定された値である16以下であるか否かを判別し(ステップS133)、ここで16以下であると判別された場合は、さらにこのマス[i]の前あるいは後に存在するマスに休符が登録され、かつ休符が登録されている区間が連続して一拍以上であるか判別する(ステップS134)。
このステップS134の判別がYesの場合は、マス[i]に登録されている音高(=1〜12のいずれか)を、休符(=0)に変更する(ステップS135)。
これにより、休符と休符の間に短い音長の音符が存在していた場合は、その音符は削除される。
このステップS135の処理の後、あるいはステップS133、S134でNoと判別された場合、図14のステップS140に進み、マス[i]に休符が登録されているか否か判別する。ここで休符が登録されていないと判別されると、ステップS141に進み、
このマス[i]に続くマスのうち、継続音が登録されていないマス[j]を検索して取得する。
そして、マス[i]とマス[j]とに登録された音高が一致しているか否か判別し(ステップS135)、一致しているなら乱数を取得し、その最下位ビット(LSB)が1か否か判別する。ここで1と判別されたならば、マス[i]に登録されている音長に、マス[j]に登録されている音長を加算し、マス[j]を継続音に変更する(ステップS143)。
これは同一音高の音符が続く場合は、ひとつの音符に統合する場合が生じることを意味する。ひとつの音符に統合するか否かは、乱数によって決められる。
このステップS143の後、ステップS140でYesと判別された場合、ステップS141でNoと判別された場合、あるいはステップS142でNoと判別された場合に、図15のステップS150に進む。
ここで、マス[i]に登録された音の強さをレジスタVeloに格納するとともに、音長をレジスタDrに格納する。そして、このレジスタDrに格納された音長の値が「16」以下か否か判別し(ステップS151)、以下であるなら、レジスタVeloに格納された音の強さの値に対して、0.8を乗じる(ステップS152)。
一方、ステップS151で16を超えると判別された場合は、ステップS153に進み、このレジスタDrに格納された音長の値が「32」以下であるか否かを判別する。ここで「32」以下と判別された場合は、レジスタVeloに格納された音の強さの値に対して、0.9を乗じる(ステップS154)。
このステップS153で「32」を超えると判別された場合、ステップS152あるいはS154の処理の後、ステップS155に進む。ここでは、マス[i]は小節内の裏拍に存在するか否か、あるいは裏拍と表拍の間に存在するか否かを判別する。
ここでYesと判別された場合は、ステップS156に進み、このマス[i]に登録されている音高の音が、次の小節の一拍目とタイの関係なっているか、つまり次小節まで続いているか否か判別する。ここでNoと判別された場合はステップS157に進む。そしてマス[i]が裏拍の場合は、レジスタVeloに格納された音の強さの値に対して、0.9を乗じる。裏拍以外の場合は、レジスタVeloに格納された音の強さの値に対して、0.9を乗じる。
ステップS157の処理の後、ステップS155でNoと判別された場合、あるいはステップS155でNoと判別された場合はステップS158に進み、レジスタVeloの値を、マス[i]の音の強さとして登録する。
このステップS158の後、あるいは図13のステップS131でNoと判別された場合に、ステップS159に進み、ポインタiをインクリメントする。このインクリメントされたiの値がピクセルの割り当てられたマス数を超えているか否か判断する(ステップS160)。ここでNoと判断されたなら、図13のステップS131に戻り、Yesなら図16のステップS161に進む。
このように本実施形態においては、この図15に示された処理により、マスに割り当てられた音の強さを、音長、裏拍か否かに基づいて調整している。
次に、図16のステップS161において、今回ピクセルの割り当てられたマス全てに登録された音の強さ(ベロシティ)の最大値、最小値及び平均値を取得する。ここにおいて、継続音の登録されたマスに関しては、その継続音の発音開始となる音が割り当てられているマスと同等とみなす。つまり平均値演算の場合には、発音開始となる音が割り当てられているマスが1個存在しているものとして取り扱う。また、休符の割り当てられているマスは無視する。
続いて、取得された最大値と最小値との差分が20を超えているか否か判別する(ステップS162)。ここでYesと判別された場合は、ステップS163に進み、マスを指定するポインタiに0を設定する。
そして、このポインタiで指定されるマス[i]には継続音が登録されているか否か判別し(ステップS164)、ここでNo、登録されていないと判別され場合は、ステップS165に進み、レジスタdiffに、マス[i]に登録されている音の強さの値から取得された平均値を減じた値の絶対値を格納する。
続いて、このレジスタdiffの値が、10<diff<20を満足するか否か判別する(ステップS166、167)。満足しているなら、レジスタdiffの値を(3)式により変更する(ステップS168)。
diff=(diff−10)/2+10・・・(3)
また、diff≧20であるなら、レジスタdiffの値を(4)式により変更する(ステップS169)。
diff=(diff−20)/2+15・・・(4)
一方、diff≦10であるならば、diffの値は変更しない。
この後、ステップS170に進み、ステップS165で求められた。もともとのレジスタdiffの値が平均値より小さい場合は、以下の(5)式の変換を行う(ステップS170)。
diff=−diff・・・(5)
こうして求められたレジスタdiffの値に平均値を加算した値を、マス[i]の音の強さとして登録する(ステップS171)。
このステップS171の後、あるいはステップS164にてYesと判断されていた場合にポインタiをインクリメントし(ステップS172)、このインクリメントされたiの値がピクセルの割り当てられたマス数を超えているか否か判断する(ステップS173)。ここでNoと判断されたならステップS164に戻り、Yesなら図17のステップS174に進む。また、ステップS162にて、Noと判別された場合も、そのまま図17のステップS174に進む。
このように本実施形態においては、この図16に示された処理により、音の強さの急激な変化を抑制している。
続く図17においては、まずステップS174において、再びピクセルの割り当てられたマス全てに登録された音の強さ(ベロシティ)の中から最大値を取得する。そして、レジスタvOffsetに(6)式で求めた値を設定する。
vOffset=120−音の強さの最大値・・・(6)
続いてポインタiを0に設定し(ステップS175)、このポインタiで指定されるマス[i]に継続音が登録されているか否か判別する(ステップS176)。ここでNoと判別された場合は、マス[i]の音の強さとして、当該音の強さに対してvOffsetの値を加算した値を登録する(ステップS177)。
これらの処理により、全体の音の強さのレベルを調整する。
この後、ステップS178に進み、レジスタNtiにマス[i]に登録された音高を、レジスタC4に基底音高番号を、さらにレジスタNti2に(7)式で求めた値を格納する。
Nti2=C4+Nti−1 ・・・(7)
そしてステップS179に進み、マス[i]の前方、つまり時間的に先に存在するマスの中から継続音の登録されていないマス[h]が存在するか否かの判別を行う。ここでYesと判別された場合は、レジスタNthにマス[h]に登録された音高の値を格納し(ステップS180)、続いて以下の(8)式が成立するか否か判別する(ステップS181)。
|Nti−Nth|≦7? ・・・(8)
これがNoと判別された場合は、上記(8)式を満足するレジスタNtiの値を(9)式により求める(ステップS182)。
Nti=Nti2±12*N ・・・(9)
Nは自然数
一方、ステップS179でNoと判断された場合、あるいはステップS181でYesと判別された場合には、レジスタNtiにレジスタNti2の値を格納する(ステップS183)。
こうして求められたレジスタNtiの値を、マス[i]の音の高さとして登録する(ステップS184)。
この後図18のステップS185に進み、ポインタiをインクリメントする。このインクリメントされたiの値がピクセルの割り当てられたマス数を超えているか否か判断する(ステップS186)。ここでNoと判断されたなら、図17のステップS176に戻り、Yesならこの全体調整処理を終了する。
図7に戻って、全体調整処理が終了すると、メロディ生成処理も終了し、図3の全体フローに戻る。この後SMFデータ作成処理(ステップS6)を実行する。ここにおいては、上記で生成したバックトラックとメロディより再生データ(MIDI)を生成する。
つまり、バックトラックに使われている各テンプレートの再生データ(MIDI)を用いてバックトラックのMIDIデータを出力する。この際MIDI分解能の違いなどがあれば調整する。テンポ設定がされている場合はこれを無視する。メロディ生成データはMIDI変換を行う。メロディ生成処理でマスに登録された音高、音長及び強さをMIDIに変換するが、音の長さが1小節あたりの分解能を、バックトラックのMIDIデータに合わせて変換する。そしてこれらを統合して全体のMIDIデータを生成する。
この生成されたMIDIデータは、待機中のMIDループシーケンサに、SMF(Standard MIDI File)として登録される(ステップS7)。
そして、このMIDIシーケンサが再生中であるか否か判別し(ステップS8)、再生中でなければ、登録されているSMFの再生を開始し、待機中MIDIシーケンサを再生中の状態に変更するとともに、ループ用タイマーを起動させる(ステップS9)。
このステップS9の処理の後、あるいはステップS9でNoと判別された場合に、ステップS10に進み、外部よりメロディの設定変更要求が指示されたか否かを判別する。ここでYesと判別されたなら、ステップS1に戻り、Noと判断されたならば、ステップS11に進み、終了指示がなされたか否か判別する。ここでNoと判別されたなら再びステップS10に戻り、Yesと判別されたなら、ステップS12に進んで、全ての処理動作を終了させる終了処理を実行して本処理を終了する。
図19は、ループタイマー処理であり、図1のステップS9の処理が実行される度により起動される。
まず、ステップS190において、ステップS9にて再生開始されたSMFが再生終了時刻に達したか否かを判断する。ここで達していない場合はこの状態を維持し、達したと判断された場合は、ステップS191に進み、SMFを再生停止させる。
この後、待機中シーケンサに別のSMFが登録済みであるか否か判別する(ステップS192)。ここでNoと判別されたならステップS193に進み、再生中のMIDIシーケンサのSMFの再生位置を先頭に戻す。この処理が終了した後、あるいはステップS192でYesと判別された場合に、ステップS194に進んで、SMFの再生を開始するとともに、待機中の待機中MIDIシーケンサを再生中の状態に変更するとともに、ループ用タイマーを起動させて、この処理を終了させる。
このループタイマー処理により、生成されたメロディとバックトラックとに基づいて作成された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]
コンピュータに、
楽曲の伴奏を構成する各小節の予め指定された位置に対応して、画像の任意の位置から取得した複数のピクセルデータを夫々割り当てる割り当てステップと、
前記割り当てられたピクセルデータに基づいてメロディを構成する音符データを生成する音符データ生成ステップと、
前記生成された音符データを所定のルールに従って補正する補正ステップと、
を実行させるプログラム。
1 メインブロック
2 制御部
3 バックトラック合成部
4 メロディ生成部
5 再生データ再生部

Claims (9)

  1. 楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する音楽情報指定手段と、
    画像を指定する画像指定手段と、
    前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセル夫々割り当てる割り当て手段と、
    前記割り当て手段により割り当てられたピクセルデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成する音符データ生成手段と、
    前記音符データ生成手段により、前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する補正手段と、
    を有する楽曲生成装置。
  2. 前記補正手段は、前記音符データ生成手段により生成された複数の音符データを、所定の条件に応じて1つの音符データに統合する補正を行なう請求項1記載の楽曲生成装置。
  3. 前記音符データ生成手段は、前記ピクセルの色を指定する複数のデータに基づいて、音の高さ、長さ、強さのうちの複数を含む音符データを生成する請求項1または2に記載の楽曲生成装置。
  4. 前記音楽情報指定手段は、楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを任意に指定する請求項1乃至3のいずれかに記載の楽曲生成装置。
  5. 楽曲の拍子または小節数のデータを有する第1音楽情報と、
    楽曲の調またはコード進行のデータを有する複数の第2音楽情報と、
    前記第1音楽情報が指定された場合に、前記第1音楽情報と最も相性度の高い第2音楽情報を前記複数の第2音楽情報の中から選択する選択手段と、
    を更に有し、
    前記音楽情報指定手段は、前記第1音楽情報と前記第2音楽情報とに基づいて、前記楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する
    請求項1乃至4のいずれかにに記載の楽曲生成装置。
  6. 楽曲の拍子または小節数のデータの異なる前記第1音楽情報を複数有し、
    前記選択手段は、前記複数の第1音楽情報のいずれかが選択された場合に、前記選択された第1音楽情報と最も相性度の高い第2音楽情報を前記複数の第2音楽情報の中から選択し、
    前記音楽情報指定手段は、前記選択された前記第1音楽情報と前記選択された前記第2音楽情報とに基づいて、前記楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する
    請求項5に記載の楽曲生成装置。
  7. 前記画像指定手段は、複数の画像の中から、前記音楽情報指定手段により指定された音楽情報に対応する画像を選択する請求項1乃至6のいずれかに記載の楽曲生成装置。
  8. 楽曲生成装置が、
    楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定し、
    画像を指定し、
    前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセル夫々割り当てる割り当て、
    前記割り当てられたピクセルデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成し、
    前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する、楽曲生成方法。
  9. コンピュータに、
    楽曲の拍子または小節数と、前記楽曲の調またはコード進行との組み合わせを指定する処理と、
    画像を指定する処理と、
    前記組み合わせとして指定された拍子または小節数に基づいて、前記楽曲構成する複数の小節を設定するとともに、各小節内の各拍に対応して、前記画像を構成する複数のピクセル夫々割り当てる割り当て処理と、
    前記割り当てられたピクセルデータに基づいて、音の高さ、長さ、強さのうちの少なくとも1つを含む音符データを生成する処理と、
    前記楽曲を構成する各小節内の各拍に対応して生成された複数の音符データを、前記組み合わせとして指定された調またはコード進行に従って補正する処理と、
    を実行させるプログラム。
JP2013024202A 2013-02-12 2013-02-12 楽曲生成装置、楽曲生成方法及びプログラム Active JP6229273B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 財団法人ヤマハ音楽振興会 演奏補助装置

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