JP6960674B2 - 作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラム - Google Patents

作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラム Download PDF

Info

Publication number
JP6960674B2
JP6960674B2 JP2018022794A JP2018022794A JP6960674B2 JP 6960674 B2 JP6960674 B2 JP 6960674B2 JP 2018022794 A JP2018022794 A JP 2018022794A JP 2018022794 A JP2018022794 A JP 2018022794A JP 6960674 B2 JP6960674 B2 JP 6960674B2
Authority
JP
Japan
Prior art keywords
lick
data
melody
value
composition support
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
JP2018022794A
Other languages
English (en)
Other versions
JP2019139078A (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.)
Amadeus Code
Original Assignee
Amadeus Code
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 Amadeus Code filed Critical Amadeus Code
Priority to JP2018022794A priority Critical patent/JP6960674B2/ja
Publication of JP2019139078A publication Critical patent/JP2019139078A/ja
Application granted granted Critical
Publication of JP6960674B2 publication Critical patent/JP6960674B2/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では、特に既存楽曲の楽譜情報からフレーズデータを切出し、該フレーズデータを特徴ベクトルで表現した後、2つの特徴ベクトル間の距離により適合度を判定してフレーズデータを接合し、メロディを自動的に生成し作曲を行う方法が知られている。
また、作曲作業は、より一層人間の心に響くメロディを作曲すること、すなわち多くの聴衆の支持を獲得できるメロディを作曲することが求められるという側面もある。
特開2007−219139号公報
しかし、特許文献1では、特徴量に基づく楽曲の自動生成を行うことができるが、その楽曲が聴衆からの指示を獲得できる可能性を高めるための手法は取り入れられていなかった。
そのため、本開示では、過去の楽曲構造であるストラクチャデータと過去の楽曲のメロディの断片であるリックデータから、新たなメロディを構成することで、聴衆からの支持を獲得できる可能性の高い楽曲を構成する作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラムを提供することを目的とする。
上記の課題を解決するために、本開示の作曲支援サーバは、過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータを記憶するリック記憶部と、楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータを記憶するストラクチャ記憶部と、リック記憶部からリックデータを選択し、ユーザの指示に基づきストラクチャ記憶部から選択されたストラクチャデータの規則に従いリックデータを配置することで新たなメロディを生成するジェネレータエンジン部と、を備える。
また、本開示の作曲支援システムは、ユーザが操作するユーザ端末と、過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータを記憶するリック記憶部と、記楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータを記憶するストラクチャ記憶部と、リック記憶部からリックデータを選択し、ユーザ端末からの指示に基づきストラクチャ記憶部から選択されたストラクチャデータの規則に従いリックデータを配置することで新たなメロディを生成するジェネレータエンジン部と、を備える。
また、本開示の作曲支援方法は、過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータと、楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータと、を用いて、ジェネレータエンジン部が、リックデータを選択し、ユーザの指示に基づき選択されたストラクチャデータの規則に従いリックデータを配置することで新たなメロディを生成する。
また、本開示の作曲支援プログラムは、過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータと、楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータと、を用いて、リックデータを選択し、ユーザの指示に基づき選択されたストラクチャデータの規則に従いリックデータを配置することで新たなメロディの生成をコンピュータによって実現する。
上記の作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラムによれば、過去の楽曲構造であるストラクチャデータと過去の楽曲のメロディの断片であるリックデータから、新たなメロディを構成することで、聴衆からの支持を獲得できる可能性の高い楽曲を構成することができる。
実施形態に係る作曲支援システムの構成を示す概略ブロック図である。 実施形態に係る作曲支援サーバの構成を示す概略ブロック図である。 実施形態に係る鍵盤の中央音域部分を示す図である。 実施形態に係るユーザがソングを選択するための表示画面を示す図である。 実施形態に係る選択したソングに基づく楽曲の構成を示すための表示画面を示す図である。 実施形態に係る選択したソングに基づく楽曲の構成を示すための表示画面を示す図である。 実施形態に係る楽曲データの蓄積の動作について説明するためのフローチャートである。 実施形態に係る作曲支援の動作について説明するためのフローチャートである。 実施形態に係るコンピュータの構成を示す概略ブロック図である。
以下、本開示の実施形態について説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
<用語の説明>
まず、本開示の実施形態で用いる、ソング、メロディ、リック、ストラクチャ、ハーモニーの各用語について説明する。
<<ソング>>
ソング(Song)は、以下で説明するメロディ、ハーモニー、および、ストラクチャの情報が結合した楽曲を意味する。ソングは、ユニークIDが付されて楽曲単位に管理される。ユニークIDは作曲年、順位、分類、通し番号、BPM(Beat Per Minute)の情報により構成される。
ユニークIDについて具体的に下記の記述例1を用いて説明する。
[記述例1]
2012051000000000T129
記述例1で示すユニークIDの左から4桁は、そのユニークIDが付された楽曲の作曲年を示す。そのため記述例1の楽曲は2012年に作曲されたものである。次の2桁はその楽曲の順位を示す。順位は、ヒットチャート等による指標により定量化された値であり、その作曲年におけるヒットの程度を示す値である。記述例1の楽曲は、2012年に5位の順位であったものである。なお、順位情報の無い楽曲は00と記述する。次の1桁は、その楽曲の音楽分野の分類を示す値であり、例えば0は洋楽曲、1は邦楽曲、3から9が自動生成された楽曲のように示される。記述例1は1であることから、この楽曲は邦楽曲である。次の9桁は通し番号であり、楽曲の管理番号である。最後にTで始まる3桁は、後述するBPMの値を示しており、一般的なテンポ情報に対応する。記述例1ではT129であるため、この楽曲は129BPMである。
<<メロディ>>
メロディ(Melody)は、ソングの1要素を構成する単旋律の音の並びである。メロディは、1音の音名を示す「C」から「B」の文字と、音程を示す1桁の数値と、音価を示す2桁の値によって記述し、それぞれを「/」で区切りながら記述する。休符は「r」 と音価を示す2桁の値によって記述する。音名とは、音の振動数をもとに決められた音の高さであり、例えば440Hzの音は「A」で記述する。半音上がる場合には「+」で記述し、例えば「C4」が半音上がったC#は「C4+」として記述する。次に、本開示における音程とは、オクターブの位置を示す数字であり、例えば「C4」の1オクターブ高い音は「C5」と記述する。音価とは、ある音または休止に与えられる時間の長さを示すものである。一般的な楽譜においては、全音符を基準として1の音価を与え、半分の長さを2分音符、さらに半分の長さを4分音符として定義される。しかし、本開示における音価は、後述するリニア値として、音の長さの絶対値を示すものとして定義するものである。また、本開示において、例えば楽譜において4分音符のスタッカートである場合、「C401/r03」のように、音と休符の組み合わせで記述する。またスラーは「/」の代わりに「_」を用いて音の接続状態を記述する。例えば、「C4」と「D4」がスラーの場合、「C404_D404」と記述する。上記の記述方法により、メロディは、例えば下記の記述例2のように記述できる。
[記述例2]
r04/E402/E402/E402/r04/E402/D402/E402/E402/r02/C404_D404/C401/r03/C401/r03/…
<<リック>>
リック(Lick)は、メロディを断片化したものであり、3から10程度の音の連なりで構成される。リックは特徴値として、リックリニア値(Linear値)、韻律値(Cadence値)、リック傾向値(Tendency値)、および、評価値(Value値)で構成される4次元のベクトルとして特徴量が付与され管理される。例えば、上記で例に挙げたメロディからリックを抽出した場合、下記の記述例3で記述できる。
[記述例3]
r04/C402/C402/C402/r04/E402/D402/E402/E402/r02/
次に、各リックに付与される特徴値を示す4次元のベクトルである特徴量の各要素について説明する。
リニア値はリックを構成する各音、休符に付されている音価を合計した音価情報である。音価の情報は、リニア値として管理し、4リニア値(4Linear)はBPMで1Beatと定義する。例えば、上記の記述例3のリックの場合、音価は各音、休符に付与されている音価は04、02、02、02、04、02、02、02、02、02となる。そのため、当該リックのリニア値は合計値である24となる。リニア値は、音符(または休符)が拍に対する相対的な長さを示すものであることから、拍の長さ(テンポ)が変わればそれに伴って同じリニア値も長くなり短くなるように記述する。
2つ以上の音で構成されたメロディは、音楽的に次の音に進みたいという力を持つ。この力に従って導かれた音へとメロディが進む。韻律値は、隣接するリック間の隣接する音の差を示す値であり、リックの音が進もうとする次のリックとの関係を規定する値である。具体的には、あるメロディを構成するa番目のリックであるLick(a)の韻律値は、次の式(1)によって算出することができる。
韻律値=Lick(a)の終音とLick(a+1)の初音の差=Lick(a+1)の初音-Lick(a)の終音…(1)
メロディを分解して複数のリックを抽出した場合、例えば、前のリック(Lick(a))の終音が「C4」であり、隣接する次のリック(Lick(a+1))の初音が「G4」である場合、
・Lick(a)の終音=C4=60
・Lick(a+1)の初音=G4=67
となることから式(1)より、
韻律値=67-60=+7
を、算出することができる。
ここで、算出に用いた数値は、「C4」を60、「G4」を67としている。この値は半音を含めた1オクターブを12の値として、例えば、各音を図3に示すように割り当てる。図3は、ピアノやキーボード等の鍵盤の中央音域部分を示す図である。すなわち、「C4」の60の1オクターブ上の「C5」は60+12=72と割り当てられる。
リック傾向値は、1つのリック内での音の推移の傾向を数値化した値である。具体的には、あるメロディを構成するa番目のLickをLick(a)としてのリック傾向値は、次の式(2)によって算出することができる。
傾向値=Lick(a)の初音とLick(a)の終音の差=Lick(a)の終音-Lick(a)の初音…(2)
例えば、リックの初音が「G4」であり、リックの終音が「C4」である場合、
・Lick(a)の初音=G4=67
・Lick(a)の終音=C4=60
となることから式(2)より、
傾向値=60-67=-7
と算出することができる。ここで、算出に用いた数値は、韻律値を算出したときに使用した各音に対応するものである。
最後に評価値について説明する。評価値は、複数のリックのうち、それぞれのリックが、どの程度使用されたかを示す指標である。すなわち、本作曲支援システム1の動作に伴い、多くの人が、Lick(a)を使用した場合には、そのLick(a)の評価値が変化するものである。評価値は、その使用履歴から、Lick(a)がこれまでにどの程度「より一層人間の心に響くメロディ」の中で使用されたかを示すものと仮定することができる。評価値の初期値は、そのリックデータのもととなるソングのユニークIDの中の、順位によって定めることができる。1位の場合には10、2位の場合には9、のように付され10位が1となる。順位情報が無いソングの場合には1が付される。また、後述するリジェネレータ部で生成されてリック記憶部193に記憶されるリックデータも1が付される。なお、評価値は、一つの楽曲中で複数回同じリックデータが使用された場合も1の増加とする。なお、各リックデータには使用履歴からの使用度数データを付与し、そのデータに応じた順位付け、リックデータが使用される毎に更新を行い、順位を入れ替えるようにしてもよい。
このようにして、各リックには、そのリックの特徴量として4次元のベクトルが付与さる。例えば、リニア値が24、韻律値が+7、傾向値が-7、評価値が8であったとすると、(24、+7、-7、8)の特徴量のベクトルが付与されることになる。
<<ストラクチャ>>
ストラクチャ(structure)は、楽曲の構造を記述するものである。音楽は一般に、楽曲の導入部分であるヴァース(Verse、所謂Aメロ)、楽曲の展開部分であるブリッジ(Bridge、所謂Bメロ)、楽曲の盛り上がりであるコーラス(Chorus、所謂サビ)の各構成要素により構成されることが多い。そのため、楽曲はまず、ヴァース、ブリッジ、コーラスに分解することができる。ストラクチャデータの構造について、下記の記述例4を用いて説明する。
[記述例4]
structure{
V:[a016b016a016c012x004d032e028x004]-5
V:[d032e028x004d032e028]-5
C:[f016f016f016g016f016f016f016h024]-7
B:[i016j016i016k012x004i016j016i016l024]+9
C:[f016f016f016g016f016f016f016h024]-7
}
記述例4は、ある楽曲のストラクチャを示している。この楽曲は、ヴァース、ヴァース、コーラス、ブリッジ、コーラスの順で演奏される構造である。そのため、ストラクチャはヴァースを示すV、ブリッジを示すB、コーラスを示すCの各符号が付されたセクション(Section)に分割して記述することができる。セクションは、記述例4の1行に相当するものである。
次に、セクションについて説明する。セクションは、さらにブロック(block)に分割されて記述される。ブロックは楽曲を構成するメロディを断片化したものであり、曲の初めから、a、b、cの順に名称を割り当てられ、先のメロディの断片が再度出現する場合には、同じブロック名を割り当てる。名称の後ろには、各ブロックの音価の合計値としてセクションリニア値が付される。そのため、記述例4の1行目を見ると、
[a016b016a016c012x004d032e028x004]
で記述されており、これは16の音価を持つaのブロックと、次に16の音価を持つbのブロック、さらにaのブロックが再度繰り返される構造が記述されている。なおx004は4の音価を持つ無音部である。よって、記述例4のセクションリニア値は、
16+16+16+12+4+32+28+4=128
となる。
また、セクションは、セクション毎にセクション傾向値を持つ。すなわち、セクションを構成する初音と終音の差をセクション傾向値として有する。例えば、記述例4の1行目を見ると、
V:[a016b016a016c012x004d032e028x004]-5
であることから、a016のブロックの初音とe028のブロックの終音の差としてのセクション傾向値は-5であることを示している。
このように、ストラクチャは、楽曲の構造であってリックデータを配置するための規則であるブロック、セクションリニア値、セクション傾向値を有する複数のセクションからなるストラクチャデータにより記述することができる。
<<ハーモニー>>
ハーモニー(Harmony)は、メロディを倍音で補助し和音を構成するものである。ハーモニーはメロディの束として記述する。また、記述方法はメロディと同じである。ハーモニーデータの構造について、下記の記述例5を用いて説明する。
[記述例5]
harmony{
@H015
E306/E306/E304/G3+06/G3+06/G3+04/E306/E306/E304/E306/E306/E304/
@H016
C306/C306/C304/E306/E306/E304/C306/C306/C304/C306/C306/C304/
@H017
G206/G206/G204/B206/B206/B204/G206/G206/G204/G206/G206/G204/
@H018
C104/C106/C106/E104/E106/E106/A104/A106/A106/G104/G106/G106/
}
記述例5のハーモニーデータは@H015、@H016、@H017、@H018の4つのメロディで構成される和音を記述するものである。すなわち、記述例5は、「C1」、「G2」、「C3」、「E3」の4音の和音が06の音価で始まるものを記述している。
以上説明してきた、本開示におけるソング、メロディデータ、リックデータ、ストラクチャデータ、ハーモニーデータについて、その記述法は一例であって、各概念を記述できるものであれば他の記述法で代替することができるものである。
<構成>
図1を用いて本開示の実施形態における、ユーザ端末301からの操作により、作曲支援サーバ101内に記憶された過去に作曲された曲情報のデータベースを用いて作曲を行う作曲支援システム1の構成及びその概要について説明する。なお、図1は、本実施形態の作曲支援システム1のブロック図である。
本実施形態の作曲支援システム1は、図1に示すように、作曲支援サーバ101と、作曲支援サーバ101を操作するための管理端末201と、ユーザ端末301とが、例えばインターネットやLAN等のネットワークNWに接続可能に構成されている。
作曲支援サーバ101は、コンピュータやメインフレーム等の情報処理装置で構成される。詳細は後述する。
管理端末201は、作曲支援サーバ101を操作するための装置である。管理端末201は、コンピュータ、スマートフォン、携帯電話、PHS、PDA、腕時計、スマートウォッチ等の情報処理装置であり、インターネット(WAN)、LANなどのネットワークNWを介して作曲支援サーバ101に接続可能な装置である。なお、管理端末201と作曲支援サーバ101間の接続は、有線でもよいし無線でもよい。また、作曲支援サーバ101と一体に構成されていてもよい。また、後述するユーザ端末301で代替してもよい。
ユーザ端末301は、作曲を行おうとするユーザが作曲支援サーバ101にアクセスして作曲を行うための装置である。ユーザ端末301は、スマートフォン、携帯電話、PHS、コンピュータ、PDA、腕時計、スマートウォッチ、ヘッドマウントディスプレイ、画像生成装置等の情報処理装置であり、インターネット(WAN)、LANなどのネットワークNWを介して作曲支援サーバ101に接続可能な装置である。なお、ユーザ端末301と作曲支援サーバ101間の接続は、有線でもよいし無線でもよい。また、ユーザ端末301が管理端末201の機能を兼ねてもよい。
また、ユーザ端末301は、インストールされた専用のアプリケーションソフトウェアによって作曲支援サーバ101にアクセスしてもよい。また、コンピュータにインストールされたDAW(Digital Audio Workstation)ソフトウェアのプラグインソフトウェアからアクセスしてもよい。また、作曲支援サーバ101や、別途サーバ(不図示)が提供する動作環境(API(アプリケーションプログラミングインタフェース)、プラットフォーム等)を利用して作曲支援サーバ101にアクセスしてもよい。
次に、図2を用いて第1の実施形態における、作曲支援サーバ101の構成及びその概要について説明する。なお、図2は、本実施形態の作曲支援サーバ101のブロック図である。
通信部111は、ネットワークNWを介して管理端末201やユーザ端末301と通信を行う通信インタフェースである。通信部111は、管理端末201から送信された音楽情報や、ユーザ端末301から送信された制御信号を受信し、またユーザ端末301にMIDIデータを送信する。
ディストリビュータ(Distributor)部121は、管理者が管理端末201から送信されるソングに対応する音楽情報を、管理者の指示により、ストラクチャ、メロディ、ハーモニーに対応するストラクチャデータ、メロディデータ、ハーモニーデータとして分配する処理部である。ディストリビュータ部121で分解されたストラクチャデータは、後述するストラクチャ記憶部191に記憶される。また、分解されたハーモニーデータは、後述するハーモニー記憶部192に記憶される。また分解されたメロディデータは、後述するフラグメンター部122に送信される。分配されたストラクチャデータ、メロディデータ、ハーモニーデータには、送信されたソングに対応するユニークIDが付与される。
フラグメンター(Fragmentor)部122は、ディストリビュータ部121から送信されたメロディを、メロディを構成するリックデータに分解し、それぞれに管理者が選択したヴァース、ブリッジ、コーラスのいずれかに該当するかの情報に基づき、ヴァース、ブリッジ、コーラス を示すV、B、Cのリック属性情報をそれぞれ付与する処理部である。リック属性情報が付与されたリックデータは、メジャラー部123へ送信される。
メジャラー(Measurer)部123は、フラグメンター部122から送信された各リックデータの特徴量を算出し、特徴量を付与する処理部である。その際、当該リックデータの元となるリックがメロディ内のどの位置に存在していたかを示す情報は削除される。そして、特徴量を付与された各リックデータは、それぞれのリック属性情報に応じて、リック記憶部193のうちリック記憶部(Verse)193a、リック記憶部(Bridge)193b、リック記憶部(Chorus)193cに送信され、記憶される。
ジェネレータエンジン(Generate Engine)部131は、ストラクチャ記憶部191、ハーモニー記憶部192、リック記憶部193に記憶されているストラクチャデータ、ハーモニーデータ、リックデータに基づいて、曲データを生成する処理部である。具体的には、ユーザがユーザ端末301から選択したストラクチャに対して選択したストラクチャが有する規則に合致するリックデータを選択する。リックデータの選択においては、前に選択されたリックデータの韻律値に基づいて、次に選択するリックデータの候補を選択する。そのため、リックデータが配列した際に、リックデータのつながりが唐突で違和感のあるものとならず、音楽的に自然なものとなる。また、複数のリックデータにより完成されたメロディと、それに対応するセクションの傾向値が一致するようにリックデータを選択する。このように、次のリックデータの選択は、前のリックデータからの制限を受けることになる。なお、リックデータの選択において、韻律値は、オクターブの違い、すなわち±12、±24の値は韻律値が適合したものとすることができる。
また、ジェネレータエンジン部131は、選択するリックデータ候補となりうるリックをリック記憶部193から抽出し、それぞれに各リックデータに付与されている特徴量の中の評価値に応じて確率的に選択を行う。すなわち、ジェネレータエンジン部131は、評価値が大きいリックデータであるこれまで使用されてきた回数の多いリックデータより高い頻度で選択されるようにアルゴリズムが構成されている。このように、リックデータの選択において、ある程度の自由度が与えられることで、ユーザが同じソングが選択した場合でも、常に同じメロディとならずに新たなメロディを生成することができる。
ブラックエンジン(Black Engine)部132は、ジェネレータエンジン部131で付与されたハーモニーデータが、生成されたメロディデータに対して適切な倍音関係になっているかを確認する。ブラックエンジン部132は、メロディデータとハーモニーデータを、1リニア値毎に倍音関係を確認する。
リジェネレータ(Regenerator)部133は、完成した楽曲について、ユーザによる修正リクエストにより、修正の指示を受け付ける処理部である。修正指示のあった部分をジェネレータエンジン部131に戻し、リックデータの選択を繰り返すことで、修正指示のあった部分の後のリックデータの整合性が取れるように構成される。
また、リジェネレータ部133は、修正された部分のリックデータが、既存のリックデータであるかを判別する。すなわち、修正部分のリックデータが、リック記憶部193に記憶されたリックデータと同じであるかを判別する。リジェネレータ部133は、新たなリックデータであると判別すると、メジャラー部123でそのリックデータの特徴量を新たに算出し、新たなIDを付与してリック記憶部193に記憶する。これにより、新たなリックデータを作曲資源として蓄積することができる。
MIDI−オーディオコンバータ部181は、構成した楽曲をMIDIデータに変換する。変換したMIDIデータは、ユーザ端末301の音源で発音することでユーザの試聴を可能にする。
ストラクチャ記憶部191は、ディストリビュータ部121から送信されたストラクチャデータを記憶する記憶部である。また、ハーモニー記憶部192は、ディストリビュータ部121から送信されたハーモニーデータを記憶する記憶部である。
リック記憶部193は、メジャラー部123で特徴量が付与されたリックデータを記憶する記憶部である。リックデータはそれぞれのリック属性情報に応じて、リック記憶部193の中のリック記憶部(Verse)193a、リック記憶部(Bridge)193b、リック記憶部(Chorus)193cに記憶する。なお、各リックデータは、リックデータの使用状況に応じて評価値が動的に変化し、各リック記憶部193a、193b、193cの中で順位付けが行われる。
<表示画面>
次に、図4、5、6を用いて、ユーザ端末301から作曲支援の操作を行う際のユーザ端末301のディスプレイ310に表示される画面について説明する。なお、この場合のユーザ端末301はスマートフォンやタブレット端末等を想定しているが、コンピュータにインストールされたDAWソフトウェアのプラグインソフトウェアが表示する画面であっても同様である。
図4は、ユーザが作曲支援サーバ101からソングを選択するための表示画面である。画面には、左側にソングの名称と、その右側にそのソングのBPM値が表示される。また、縦方向に複数のソングが配列される。ユーザは、過去の名曲であるソングの名称を想起し、またBPM値から曲のテンポを想起し、作曲のベースとなるソングを選択することができる。
図5、図6は、選択されたソングに基づき新たに生成された楽曲の構造の表示画面である。構成要素表示321〜329は、選択されたソングの構成要素である、ヴァース、ブリッジ、コーラスの割り付けを示す表示である。例えば、図5では構成要素表示321はヴァース、構成要素表示322もヴァース、構成要素表示323はコーラス、構成要素表示324はブリッジ、構成要素表示325は構成要素表示323のコーラスと同じコーラスを示すものである。すなわち、このソングは、ヴァース、ヴァース、コーラス、ブリッジ、コーラスの順で構成されるストラクチャデータに基づくものである。また、円の一周が一曲の構成であり、割り付けの分配はその部分の再生長さに対応する。
次に、再生位置表示バー330は、再生アイコン331を押した場合に、選択されたソングに基づいて新たに生成された楽曲を再生する場合の再生位置を示している。再生位置表示バー330は、紙面の上方を起点として右回りで回転する。図5では、構成要素表示323のコーラス部分を再生している状態である。早送りアイコン332を押すことで、再生位置表示バー330を速く順方向に移動させ、また巻き戻しアイコン333を押すことで、再生位置表示バー330を速く逆方向に移動させ再生位置を変更することができるメロディ音色切換えアイコン334は、楽曲を再生する際のメロディの音を変更するものであり、図5では3種類の音から選択することができる。また、ハーモニー音色切換えアイコン335は再生する際のハーモニーの音を変更するものであり、図5、図6では5種類の音から選択することができる。ユーザ端末301は、メロディ音色切換えアイコン334は、ハーモニー音色切換えアイコン335のよる選択により、再生するMIDIの楽器アサインを変更することで、再生音を変化させることができる。
図6は、図5で説明したものと別のソングを選択した場合であり、構成要素表示326はヴァース、構成要素表示327はコーラス、構成要素表示328はブリッジ、構成要素表示329は構成要素表示327のコーラスと同じコーラスを示すものである。このように、選択されるソングによって、さまざまな楽曲の構造を切換え、新たな楽曲を生成することができる。
<処理の流れ>
次に、本開示の実施形態に係る作曲支援システムの動作について、図7、図8に示すフローチャートを参照しながら説明する。
<<楽曲データの蓄積>>
図7のフローチャートは、楽曲データの蓄積を行う動作について、作曲支援サーバ101、管理端末201の各動作の関連状態を示している。ステップS101において、管理端末201は、ユーザからの楽曲情報の入力を受け付け、受け付けた楽曲情報を作曲支援サーバ101に送信する。ユーザは、入力する楽曲であるソングを、メロディデータとハーモニーデータとストラクチャデータの楽曲情報として入力する。メロディデータは、さらにメロディを構成する音の断片としてリックデータとなるメロディの区切り情報が入力されている。ストラクチャデータは、ストラクチャを構成するセクションに分割されており、それぞれのセクションに含まれるリックをリニア値としたブロック情報に分割されている。また、各セクションは、それぞれV(Verse)、C(Chorus)、B(Bridge)のセクション属性情報が付与されている。また、ソングに対応するユニークIDを情報として入力する。入力されたメロディとハーモニーとストラクチャは、ユニークIDと対応して作曲支援サーバ101に送信される。
ステップS102において、ディストリビュータ部121は、管理端末201から送信された楽曲情報を、メロディデータとハーモニーデータとストラクチャデータに分類する。ディストリビュータ部121は、分類したストラクチャデータをストラクチャ記憶部191に送信する。また、分類したハーモニーデータをハーモニー記憶部192に送信する。また、メロディデータをフラグメンター部122に送信する。
ステップS103において、ストラクチャ記憶部191はディストリビュータ部121で分類されたストラクチャデータを、そのストラクチャデータに対応するソングのユニークIDとともに記憶する。ストラクチャデータは、複数のセクションで構成され、セクション内の音価の合計値であるセクションリニア値と、セクションの初音と終音の差であるセクション傾向値が算出され、当該セクションに付与される。
ステップS104において、フラグメンター部122は、ディストリビュータ部121から送信されたメロディデータをリックデータに分解する。具体的には、フラグメンター部122は、メロディデータに付与されたリックの区切り情報に基づいて、メロディデータを複数のリックデータに分解する。また、その際に、フラグメンター部122は、各リックデータに、それぞれV(Verse)、B(Bridge)、C(Chorus)のリック属性情報を付与する。
ステップS105において、メジャラー部123は、各リックデータの特徴量であるリックリニア値、韻律値、リック傾向値を演算し、付与する。評価値の初期値は、そのリックデータのもととなるソングのユニークIDの中の、順位等によって定めることができる。メジャラー部123は、リックデータが分解される前のメロディデータに基づいて、当該リックデータの前後のリックデータを用いて韻律値を求めることができる。
ステップS106において、リック記憶部193は、メジャラー部123で特徴量が付与されたリックデータを記憶する。その際、各リックデータに付与されたV、B、Cのリック属性情報から、それぞれリック記憶部(Verse)193a、リック記憶部(Bridge)193b、リック記憶部(Chorus)193cに記憶される。また、そのリックに対応するソングのユニークIDとともに記憶する。
ステップS107において、ハーモニー記憶部192はディストリビュータ部121で分類されたハーモニーデータを、そのストラクチャデータに対応するソングのユニークIDとともに記憶する。
以上の処理により、管理者がソングを音楽情報として入力することで、過去に作曲された楽曲のメロディデータとハーモニーデータとストラクチャデータをデータベースとして蓄積することができる。過去に作曲された楽曲を、ヒットした名曲であることを指標として選択し、データベースとして構築することにより、そのデータベースを用いて生成した新たな楽曲がヒットする可能性を高めることができる。
<<作曲支援>>
次に、図8のフローチャートを用いて、ユーザの作曲支援の動作について説明する。図8のフローチャートは、ユーザの作曲支援の動作について、作曲支援サーバ101、ユーザ端末301の各動作の関連状態を示している。ステップS201において、ユーザはユーザ端末301において、ソングの選択を行う。選択されたソングは、作曲支援サーバ101に送信される。
ステップS202において、ジェネレータエンジン部131は、ステップS201で受信した選択されたソングに対応したストラクチャデータを、ストラクチャ記憶部191から読出する。
ステップS203において、ジェネレータエンジン部131は、読出されたストラクチャデータからセクションxを選択する。ジェネレータエンジン部131は、初期値をx=1としてセクションを選択する。
ステップS204において、ジェネレータエンジン部131は、ステップS203で選択されたストラクチャxからブロックyを選択する。ジェネレータエンジン部131は、初期値をy=1としてブロックを選択する。
ステップS205において、ジェネレータエンジン部131は、ステップS204で選択されたブロックyが、既出のブロックであるか否かを判別する。例えば、ストラクチャx内のブロックの配列が、
[a016b016a016]
である場合、ブロック1は[a016]、ブロック2は[b016]、ブロック3は[a016]である。ブロック3が選択された場合、すでにブロック1で選択されている[a016]と同じであることから既出のブロックであると判別される。ブロックが既出である場合は[Y]としてステップS210へ処理を進め、既出のブロックで選択されたリックデータをブロックとして決定する。ブロックが既出でない場合は[N]としてステップS206へ処理を進める。
ステップS206において、ジェネレータエンジン部131は、リックデータをリック記憶部193から選択する。その際、ジェネレータエンジン部131は、ステップS203で選択されたセクションxのセクション属性情報に対応するリック記憶部193aから193cの中から選択する。例えば、セクションxのセクション属性情報がvである場合、ジェネレータエンジン部131は、vに対応するリック記憶部(Verse)193aに記憶されているリックデータから選択を行う。ジェネレータエンジン部131は、リックデータを、リック記憶部193内に記憶されているリックデータにそれぞれ付与されている評価値に応じて選択される確率を付与した上で、その確率に応じてランダムに選択する。また、先に選択されたリックデータにつなげるリックデータを選択する場合、ジェネレータエンジン部131は、先に選択されたリックデータに付されている特徴量の中の韻律値に基づいて、次に選択すべきリックデータを選択する。ある程度の選択秩序を持たせつつ、確率的な要素を取り入れることにより、多様性のある音楽を生成可能としている。
ステップS207において、ジェネレータエンジン部131は、ステップS206で選択されたリックデータのリックリニア値(或いは複数選択されたリックデータの合計のリニア値)と、ブロックyの音価の長さを比較する。リックリニア値とブロックyの音価が同じ場合、ステップS209へ処理を進める。リックリニア値よりもブロックyの音価が長い場合、ステップS208へ処理を進める。リックリニア値よりもブロックyの音価が短い場合、選択されたリックデータを採用することはできず、ステップS206へ処理を進め、再度リックデータの選択を行う。
ステップS208において、ジェネレータエンジン部131は、選択されたリックデータを仮に決定する。リックリニア値よりもブロックyの音価は長いため、ブロックyの残りの長さに対してリックデータをさらに選択するためにステップS206へ処理を進める。
ステップS209において、ジェネレータエンジン部131は、選択されたリックデータを仮に決定する。
ステップS210において、ジェネレータエンジン部131は、ブロックyを決定する。
ステップS211において、ジェネレータエンジン部131は、ブロックyの次のブロック、すなわちブロックy+1が有るか否かを判別する。ブロックy+1が有る[Y]と判別された場合、ステップS212へ処理を進める。ブロックy+1が無い[N]と判別された場合、当該セクションには決定していないブロックはないものとして、ステップS213へ処理を進める。
ステップS212において、ジェネレータエンジン部131は、ブロックyのy値をインクリメントし、ステップS204へ処理を進め、インクリメントした次のブロックの選択を行う。
ステップS213において、ジェネレータエンジン部131は、決定した複数のブロックにおける、最初のブロックの初音と最後のブロックの終音から傾向値を算出する。そして、算出された傾向値と、セクションxの傾向値を比較する。ジェネレータエンジン部131は、傾向値が同じと判別した場合、ステップS215に処理を進め、異なっていると判別した場合、ステップS214へ処理を進める。なお、最初に選択されたリックデータの列を一旦記憶し、ステップS213の処理を所定回数繰り返したのちに適合する条件を発見できない場合に、記憶された最初に選択したリックデータの列を採用しても構わない。それにより、作曲支援システムの処理が、長い時間にわたってステップS213の処理を繰り返すことを防ぎ、全体の処理を高速化させることができる。
ステップS214において、ジェネレータエンジン部131は、選択されたリックデータを破棄する。そして、再度リックデータを選択するために、ステップS206へ処理を進める。破棄するリックデータは、一つ前の処理で選択されたリックデータであっても良いし、さらに遡ったリックデータから破棄してもよい。
ステップS215において、ジェネレータエンジン部131は、セクションxを決定する。
ステップS216において、ジェネレータエンジン部131は、セクションxの次のセクション、すなわちセクションx+1が有るか否かを判別する。セクションx+1が有る[Y]と判別された場合、ステップS216へ処理を進める。セクションx+1が無い[N]と判別された場合、当該ストラクチャには決定していないセクションはないものとして、ステップS218へ処理を進める。
ステップS217において、ジェネレータエンジン部131は、セクションxのx値をインクリメントし、ステップS204へ処理を進め、インクリメントした次のブロックの選択を行う。
ステップS218において、ジェネレータエンジン部131は、仮に全てのセクションを決定し、ストラクチャデータに対応するメロディを仮完成させる。
ステップS219において、ジェネレータエンジン部131は、「仮に決定したリックデータ」に対して、一部を他のリックデータと置換して、メロディを再構成する。具体的には、ジェネレータエンジン部131は、リック記憶部193の中から、複数のリックデータを選択し、選択したリックデータから1つのリックデータを合成(生成)し、かつリック傾向値が「仮に決定されたリックデータ」と同じものを選択する。合成され、選択された当該リックデータを、「仮に決定したリックデータ」の一部とランダムに置換する。その置換の頻度は、全リックデータの30%とする。このことにより、生成されるメロディは、それまでに生成されたメロディとは異なり、かつ一定のクオリティ以上のメロディを持った楽曲を生成することができる。
ステップS220において、ジェネレータエンジン部131は、ストラクチャデータに対応するハーモニーデータを、ハーモニー記憶部192から選択する。
ステップS221において、ブラックエンジン部132は、ステップS220で選択されたハーモニーデータが、ステップS219で再構成されたメロディとハーモニーデータが、適切な倍音関係になっているかを確認する。ブラックエンジン部132は、1リニア値を単位として、倍音関係の確認を行う。すなわち、不適切な倍音関係を含むリックデータを抽出することができる。ブラックエンジン部132は、倍音関係が不適切、すなわち不協和音の関係に有る[Y]と判別した場合にはステップS221へ処理を進め、再度ハーモニーデータを選択する。適切である[N]と判別した場合にはステップS223に処理を進める。
ステップS222において、ジェネレータエンジン部131は、ステップS221で、不適切な倍音関係と判別され、抽出されたリックデータを破棄し、新たなリックデータの選択を行う。ジェネレータエンジン部131は、ステップS206からステップS218で説明してきたアルゴリズムで、選択するリックデータを選択することができる。ジェネレータエンジン部131は、新たなリックデータを選択するとステップS221へ処理を進め、再度ハーモニーデータとの倍音関係の確認を行う。
ステップS223において、ジェネレータエンジン部131は生成されたメロディとハーモニーデータが適切であるものとして、メロディを決定する。これで、メロディとハーモニーが決定して楽曲が構成されたことになる。
ステップS224において、MIDI−オーディオコンバータ部181は、ステップS223で構成されたメロディに基づく楽曲をMIDIデータに変換して、ユーザ端末301へ送信する。なお、当該処理は、楽曲に関するデータをユーザ端末301へ送信して、ユーザ端末301の内部でMIDIデータへの変換を行ってもよい。
ステップS225において、ユーザ端末301は、ステップS224で送信されたMIDIデータを再生する。それにより、ユーザはステップS223で決定された楽曲を音として確認することができる。
ステップS226において、ユーザは必要に応じて、ユーザ端末301から楽曲の修正を行うことができる。ユーザは、ストラクチャデータにおける、セクションのメロディ等を気に入らない場合、修正リクエストを作曲支援サーバ101へ送信することができる。
ステップS227において、リジェネレータ部133は、修正リクエストの情報を受信したか否かを判別する。修正リクエストが有り[Y]の場合、ステップS228へ処理を進める。修正リクエストが無し[N]の場合、ステップS230へ処理を進める。
ステップS228において、リジェネレータ部133は、修正リクエストに基づいてリックデータを破棄し、当該リックデータを再度選択する。リジェネレータ部133は、ステップS206からステップS223で説明してきたアルゴリズムで、選択するリックデータを選択することができる。
ステップS229において、ユーザはステップS225で確認した楽曲に満足した場合、ユーザ端末301から楽曲の記憶リクエストを行うことができる。すなわち、楽曲を完成データとして、記憶し、保存するためのリクエストを送ることができる。
ステップS230において、作曲支援サーバ101は、楽曲をデータとして記憶する。その際、合成されたリックデータを、リック記憶部193に記憶されたリックデータと比較し、既出であるか否かを判別する。すなわち、合成されたリックデータがリック記憶部193に記憶されたリックデータと同じであるか否かを判別する。記憶されたリックデータと異なる、すなわち、新たなリックデータが合成された場合、当該リックデータは、リック記憶部193へ送信され記憶される。その際、合成されたリックデータが、どのセクション属性情報に対応するセクションに含まれているかにより、その属性に対応するリック記憶部193のうち、リック記憶部(Verse)193a、リック記憶部(Bridge)193b、リック記憶部(Chorus)193cのいずれかに記憶される。その際、メジャラー部123で特徴量が算出され、リックデータに付与される。このように、リックデータが増加することで、新たな作曲資源を蓄積することができる。
以上の処理が終了し、ユーザが楽曲の記憶(セーブ)を行うことで、新たな楽曲の生成が完了する。なお、ユーザが楽曲のセーブを行わない場合、リックデータに付される評価値は変化させなくてもよい。また、修正されたリックデータは、破棄されてもよい。
以上説明してきた作曲支援サーバ101の動作は、任意に不必要なステップを除外してもよい。例えばハーモニーを用いない楽曲においては、ステップS220からステップS222を除外してもよい。また、ステップS219を除外して、楽曲を生成してもよい。
<作曲支援の具体例>
次に、先に説明した作曲支援の方法について、具体例を挙げて説明する。
図8で示す、ステップS201で、ユーザが選択したソングに対応して、ステップS202で読み出されるストラクチャデータを、以下の具体例1のデータとして説明する。
[具体例1]
structure{
V:[a016b016a016c012x004d032e028x004]-5
V:[d032e028x004d032e028]-5
C:[f016f016f016g016f016f016f016h024]-7
B:[i016j016i016k012x004i016j016i016l024]+9
C:[f016f016f016g016f016f016f016h024]-7
}
ステップS203において、x=1としてセクション1を選択する。すなわち以下の具体例2のセクションが選択される。
[具体例2]
V:[a016b016a016c012x004d032e028x004]-5
次にステップS204において、y=1としてセクション1におけるブロック1を選択する。すなわち、[a016]がブロック1として選択される。ブロック1は、選択されたストラクチャの先頭であるため[a]が付され、元となったソングにおいて16の音価を有するものである。
ステップS205において、ステップS204で選択されたブロック1が既出か否かを判別する。セクション1において、ブロック3はブロック1と同じであるため、ブロック3が選択された場合、既出のブロックであるとしてステップS210へ処理を進める。
ステップS206において、ステップS204で選択されたブロック1に対してリックデータを選択する。その際、セクション1はヴァースの属性であるため、リック記憶部(Verse)193aに記憶されたリックデータから選択される。ジェネレータエンジン部131は、リックデータを、リック記憶部(Verse)193a内に記憶されているリックデータに付与されている評価値に対応する確率に応じてランダムに選択する。評価値は10のリックデータ1、評価値が9のリックデータ2から評価値が1のリックデータ10の10個のリックデータから確率的にリックデータを選択する場合について説明する。リックデータ1に付与される確率は10/(1+2+3+4+5+6+7+8+9+10)=10/55となる。同様にリックデータ10に付与される確率は1/55となる。また、先に選択されたリックデータにつなげるリックデータを選択する場合、ジェネレータエンジン部131は、先に選択されたリックデータに付されている特徴量の中の韻律値に基づいて、次に選択すべきリックデータを選択する。先に選択されたリックデータの終音が「E4」であり、そのリックデータの韻律値が−4である場合、「E4」=64に−4とした60=「C4」が初音のリックデータを、リック記憶部193の中から選択する。なお、評価値が1の場合と10の場合の選択確率の差を小さくするような係数を設定し、評価値が1のリックデータと10のリックデータの選択確率を3倍程度に抑えることで、極端に評価値が高いリックデータばかりが選択されないように調整してもよい。また、選択確率の倍率は任意に設定してもよい。
ステップS207において、リックリニア値が16であるリックデータが選択された場合、ステップS209でそのリックデータは決定され、さらに、ステップS210でブロック1が決定する。リックリニア値が8であるリックデータが選択された場合、ステップS208でそのリックデータは決定され、さらに残りリックリニア値が8のリックデータを選択するためステップS206へ処理を進める。リックリニア値が24のリックデータが選択された場合、ブロック1の16の音価には入りきらないため、再度リックデータを選択するためにステップS206へ処理を進める。
ステップS211において、ブロック1の次のブロックがあるか否かを判別する。次のブロックがある場合、yを1だけインクリメントして、ステップS206へ処理を進め、次のブロックに対応するリックデータを選択する。セクション1ではブロック8の次のブロックはないため、その場合ステップS213へ処理を進める。
ステップS213において、セクション1のセクション傾向値である−5と、ブロック全体の傾向値、すなわち、ブロック1で選択されたリックデータの初音と、ブロック7(ブロック8は無音であるため)の終音の差が一致するか否かを判別する。一致しない場合、ブロック7で最後に選択されたリックデータが破棄され、ステップS206へ戻り、再度リックデータが選択される。リック記憶部193aに選択可能なリックデータが存在しない場合、さらに一つ前に選択されたリックデータを破棄し、再度選択を行う。選択可能なリックデータが決定するまで、破棄を遡る処理を行う。それでも一致しない場合には、セクション傾向値を±1として、再度リックデータの選択を行う。一致する場合、ステップS215においてセクション1は決定する。なお、前述したように、セクション傾向値とブロック全体の傾向値が一致しない、最初に選択されたリックデータの配列データを一旦記憶しておいてもよい。一致するリックデータの探索を行い、さらにセクション傾向値を±1として探索を行い、それでも選択が終了しない場合に、最初に選択されたリックデータの配列データを採用することができる。そのことで、システムの処理を高速化し、システムの動作の安定化を図ることができる。
ステップS216において、セクション1の次のセクションがあるかどうかを判別する。次のセクションがある場合、xを1だけインクリメントして、ステップS203へ処理を進め、次のセクションに対応するブロックを選択する。セクション5は次のセクションはないため、その場合ステップS218へ処理を進め、すべてのセクションが決定され、メロディが決定する。
ステップS219において、各セクション内で決定されたリックデータの置換を行う。
ステップS220からステップS222において、ステップS218で決定したメロディに適切なハーモニーが選択される。適切かどうかの判断は、メロディを構成する音を音価の単位で不協和音となっていないかを判別することで行う。不協和音が有ると判別されると、その不協和音を構成するリックデータをステップS222で破棄し、再選択し、再度ステップS221で不協和音の有無の確認を行う。これらのステップを繰り返すことで、最終的にステップS223でメロディとハーモニーが決定され、仮の楽曲が完成する。
ステップS224とステップS225において、ユーザは「仮の楽曲」の音を聴くことができる。ユーザ端末301は図5や図6の表示となり、選択したソングに対応する新しい楽曲の再生を行う。
ステップS227からステップS228において、ユーザからの、修正リクエストがある場合、修正リクエストのあった個所のリックデータを他のリックデータに置換する。例えば、図5において、ユーザが、構成要素表示322にヴァースを修正したいと思った場合、図5の画面上で、構成要素表示322をタップ及びスワイプすることで選択することで、当該箇所の修正をリクエストすることができる。構成要素表示322のヴァースに対応するセクションのリックデータはステップS203からステップS215の処理、及び、ステップS219からステップS223の処理のアルゴリズムを用いて、再度選択される。
ステップS229とステップS230において、ユーザはステップS225で確認した楽曲に満足した場合、ユーザ端末301から楽曲の記憶リクエストを行うことができる。すなわち、楽曲を完成データとして、記憶し、保存するためのリクエストを送ることができる。ユーザは記憶した楽曲のMIDIデータに基づいて、新たな作曲行為を行うことができる。また、作曲支援サーバ101の運営者は、楽曲の記憶が行われたことに基づいて、ユーザに対して課金を行うことができる。
以上のように、過去に作曲された楽曲から新たな楽曲を生成することができる。
<効果の説明>
以上のように、本開示の実施形態に係る作曲支援サーバ101は、過去の楽曲構造であるストラクチャデータと過去の楽曲のメロディの断片であるリックデータから、新たなメロディを構成することで、聴衆からの支持を獲得できる可能性の高い楽曲を生成することができる。また、リックデータに使用された頻度に応じて、使用された頻度の高い、すなわち人気の高いリックデータを用いる確率を高めることで、より聴衆からの支持を獲得する可能性の高いメロディや楽曲を生成することができる。また、生成したメロディに対して、リックデータを一定の制約のもと確率的要素で入れ替える、それをノイズとしてメロディに混入させることで、それまでに生成されたメロディとは異なり、かつ一定のクオリティ以上のメロディを持った楽曲を生成することができる。さらに、生成されたメロディや楽曲を、ユーザが確認し、適宜修正を行うことで、ユーザの作曲行為の支援を行うことができる。そして、修正により新たに生成されたリックデータを蓄積することで、再帰的に作曲資源であるリックデータを増加させ、新たに生成される楽曲のバリエーションを増やすことができる。
(プログラム)
図9は、コンピュータ801の構成を示す概略ブロック図である。コンピュータ801は、CPU802、主記憶装置803、補助記憶装置804、インタフェース805を備える。
ここで、実施形態に係る作曲支援サーバ101を構成する各機能を実現するためのプログラムの詳細について説明する。
作曲支援サーバ101は、コンピュータ801に実装される。そして、作曲支援サーバ101の各構成要素の動作は、プログラムの形式で補助記憶装置804に記憶されている。CPU802は、プログラムを補助記憶装置804から読み出して主記憶装置803に展開し、当該プログラムに従って上記処理を実行する。また、CPU802は、プログラムに従って、上記した記憶部に対応する記憶領域を主記憶装置803に確保する。
当該プログラムは、具体的には、コンピュータ801において、作曲支援プログラムは、過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータと、楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータと、を用いて、リックデータを選択し、ユーザの指示に基づき選択されたストラクチャデータの規則に従いリックデータを配置することで新たなメロディの生成をコンピュータによって実現するものである。
なお、補助記憶装置804は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェース805を介して接続される磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等が挙げられる。また、このプログラムがネットワークを介してコンピュータ801に配信される場合、配信を受けたコンピュータ801が当該プログラムを主記憶装置803に展開し、上記処理を実行してもよい。
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能を補助記憶装置804に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)
であってもよい。
以上、本開示のいくつかの実施形態を説明したが、これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。
1…作曲支援システム
101…作曲支援サーバ
111…通信部
121…ディストリビュータ部
122…フラグメンター部
123…メジャラー部
131…ジェネレータエンジン部
132…ブラックエンジン部
133…リジェネレータ部
181…MIDI−オーディオコンバータ部
191…ストラクチャ記憶部
192…ハーモニー記憶部
193…リック記憶部
193a…リック記憶部(Verse)
193b…リック記憶部(Bridge)
193c…リック記憶部(Chorus)
201…管理端末
301…ユーザ端末
310…ディスプレイ
321〜329…構成要素表示
330…再生位置表示バー
331…再生アイコン
332…早送りアイコン
333…巻き戻しアイコン
334…メロディ音色切換えアイコン
335…ハーモニー音色切換えアイコン
801…コンピュータ
802…CPU
803…主記憶装置
804…補助記憶装置
805…インタフェース

Claims (14)

  1. 過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータを記憶するリック記憶部と、
    前記楽曲の構造であってリックデータを配置する規則であるストラクチャデータを記憶するストラクチャ記憶部と、
    前記リック記憶部から前記リックデータを選択し、ユーザの指示に基づきストラクチャ記憶部から選択された前記ストラクチャデータの規則に従い前記リックデータを配置することで新たなメロディを生成するジェネレータエンジン部と、
    を備える作曲支援サーバ。
  2. 前記リックデータは、当該リックデータに含まれる音価の合計値であるリックリニア値を有し、
    前記ストラクチャデータは、前記ストラクチャデータを構成するセクション内の音価の合計値であるセクションリニア値を有し、
    前記ジェネレータエンジン部は、前記セクションリニア値と、リックデータのリックリニア値の合計値が一致するようにリックデータを選択する請求項1に記載の作曲支援サーバ。
  3. 前記リックデータは、前記リックデータの終音と当該リックデータに隣接するリックデータの初音の音程の差の情報である韻律値を有し、
    前記ストラクチャデータは、前記ストラクチャデータを構成するセクション内の初音と終音の音程の差であるセクション傾向値を有し、
    前記ジェネレータエンジン部は、前記韻律値に基づいて配列するリックデータを前記リック記憶部から順次選択し、かつ、配列したリックデータの初音と終音の差と前記セクション傾向値の比較結果に基づいてリックデータを決定し、又は前記リック記憶部から再度選択する請求項1又は2に記載の作曲支援サーバ。
  4. 前記リックデータは、当該リックデータの使用履歴に応じた評価値をさらに有し、
    前記ジェネレータエンジン部は、前記評価値に基づいて、前記リック記憶部から前記リックデータを選択する請求項1から3のいずれか一項に記載の作曲支援サーバ。
  5. 前記ジェネレータエンジン部は、前記評価値が高い前記リックデータを、前記評価値が低い前記リックデータよりも高い確率で選択する請求項4に記載の作曲支援サーバ。
  6. 前記リックデータは、音楽の構成要素であるヴァース、ブリッジ、コーラスのいずれかのリック属性情報が割り当てられ、
    セクションは、音楽の構成要素であるヴァース、ブリッジ、コーラスのいずれかのセクション属性情報が割り当てられ、
    前記ジェネレータエンジン部は、前記セクションに対応する前記リックデータを選択する際に、前記セクションのセクション属性情報と同じ前記リック属性情報が割り当てられたリックデータを選択する請求項1から5のいずれか一項に記載の作曲支援サーバ。
  7. メロディを倍音で補助し和音を構成するハーモニーデータを複数記憶するハーモニー記憶部をさらに備え、
    前記ジェネレータエンジン部は、前記ストラクチャデータに基づいて生成した前記新たなメロディに対応するハーモニーデータを前記ハーモニー記憶部から選択する請求項1から6のいずれか一項に記載の作曲支援サーバ。
  8. 前記ハーモニーデータが前記メロディに対して適切であるかを判別するブラックエンジン部をさらに備え、
    前記ブラックエンジン部が、前記ハーモニーデータと前記メロディの対応が適切でないと判別した場合、適切でないと判別された前記メロディを構成するリックデータを破棄し、前記ジェネレータエンジン部が、前記破棄したリックデータに代替するリックデータを新たに選択する請求項7に記載の作曲支援サーバ。
  9. 生成されたメロディのユーザ端末からの修正リクエストを受け付けるリジェネレータ部をさらに備え、
    前記リジェネレータ部は、前記修正リクエストに基づいて、前記生成されたメロディを構成するリックデータの一部を、他のリックデータと置換する請求項1から8のいずれか一項に記載の作曲支援サーバ。
  10. 前記ジェネレータエンジン部は、複数のリックデータを合成して生成したリックデータと、前記生成されたメロディを構成する前記リックデータの一部と置換する請求項1から9のいずれか一項に記載の作曲支援サーバ。
  11. リジェネレータ部は、前記複数のリックデータを合成して生成したリックデータを、前記リック記憶部に記憶されたリックデータと比較し、一致しないと判別した場合、前記合成して生成したリックデータをリック記憶部に記憶する請求項10に記載の作曲支援サーバ。
  12. ユーザが操作するユーザ端末と、
    過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータを記憶するリック記憶部と、
    前記楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータを記憶するストラクチャ記憶部と、
    前記リック記憶部から前記リックデータを選択し、前記ユーザ端末からの指示に基づきストラクチャ記憶部から選択された前記ストラクチャデータの規則に従い前記リックデータを配置することで新たなメロディを生成するジェネレータエンジン部と、
    を備える作曲支援システム。
  13. 過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータと、
    前記楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータと、
    を用いて、
    ジェネレータエンジン部が、前記リックデータを選択し、ユーザの指示に基づき選択された前記ストラクチャデータの規則に従い前記リックデータを配置することで新たなメロディを生成する作曲支援方法。
  14. 過去に作曲された楽曲を構成するメロディの一部であって音程と音価の情報の配列により構成される複数のリックデータと、
    前記楽曲の構造であってリックデータを配置する規則である複数のストラクチャデータと、
    を用いて、
    前記リックデータを選択し、ユーザの指示に基づき選択された前記ストラクチャデータの規則に従い前記リックデータを配置することで新たなメロディの生成をコンピュータによって実現するための作曲支援プログラム。

JP2018022794A 2018-02-13 2018-02-13 作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラム Active JP6960674B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018022794A JP6960674B2 (ja) 2018-02-13 2018-02-13 作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018022794A JP6960674B2 (ja) 2018-02-13 2018-02-13 作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラム

Publications (2)

Publication Number Publication Date
JP2019139078A JP2019139078A (ja) 2019-08-22
JP6960674B2 true JP6960674B2 (ja) 2021-11-05

Family

ID=67695285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018022794A Active JP6960674B2 (ja) 2018-02-13 2018-02-13 作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラム

Country Status (1)

Country Link
JP (1) JP6960674B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178104A (ja) * 2004-12-21 2006-07-06 Yoshihiko Sano 楽曲生成方法,その装置,そのシステム
KR100731761B1 (ko) * 2005-05-02 2007-06-22 주식회사 싸일런트뮤직밴드 인터넷을 통한 음악제작 시스템 및 방법

Also Published As

Publication number Publication date
JP2019139078A (ja) 2019-08-22

Similar Documents

Publication Publication Date Title
US9355627B2 (en) System and method for combining a song and non-song musical content
US8058544B2 (en) Flexible music composition engine
US7394011B2 (en) Machine and process for generating music from user-specified criteria
US6576828B2 (en) Automatic composition apparatus and method using rhythm pattern characteristics database and setting composition conditions section by section
US20070044639A1 (en) System and Method for Music Creation and Distribution Over Communications Network
US9459828B2 (en) Musically contextual audio advertisements
US11837207B2 (en) Method and system for generating an audio or MIDI output file using a harmonic chord map
US11869468B2 (en) Musical composition file generation and management system
US11996071B2 (en) Method and system for energy-based song construction
US11640815B2 (en) Lane- and rhythm-based melody generation system
JP3637775B2 (ja) メロディ生成装置と記録媒体
US20230206890A1 (en) Generative composition using form atom heuristics
JP6960674B2 (ja) 作曲支援サーバ、作曲支援システム、作曲支援方法及び作曲支援プログラム
JP2008527463A (ja) 完全なオーケストレーションシステム
US6852918B2 (en) Automatic accompaniment apparatus and a storage device storing a program for operating the same
Dean et al. Algorithmically-generated corpora that use serial compositional principles can contribute to the modeling of sequential pitch structure in non-tonal music
US11615138B2 (en) Method and system for hybrid AI-based song variant construction
DK202170064A1 (en) An interactive real-time music system and a computer-implemented interactive real-time music rendering method
KR20200048717A (ko) 두 곡을 연결하는 브릿지 음악을 생성하는 방법 및 그 장치
EP4068273A2 (en) System and methods for automatically generating a musical composition having audibly correct form
US20220319478A1 (en) System and methods for automatically generating a muscial composition having audibly correct form
Kim Cycling Tunes for Chamber Orchestra
GB2615223A (en) System and methods for automatically generating a musical composition having audibly correct form
GB2615221A (en) System and methods for automatically generating a musical composition having audibly correct form
GB2615224A (en) System and methods for automatically generating a musical composition having audibly correct form

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180801

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210929

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: 20211004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211005

R150 Certificate of patent or registration of utility model

Ref document number: 6960674

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150