JP7371962B2 - 編曲システム、編曲方法、およびコンピュータプログラム - Google Patents

編曲システム、編曲方法、およびコンピュータプログラム Download PDF

Info

Publication number
JP7371962B2
JP7371962B2 JP2022041410A JP2022041410A JP7371962B2 JP 7371962 B2 JP7371962 B2 JP 7371962B2 JP 2022041410 A JP2022041410 A JP 2022041410A JP 2022041410 A JP2022041410 A JP 2022041410A JP 7371962 B2 JP7371962 B2 JP 7371962B2
Authority
JP
Japan
Prior art keywords
style
arrangement
model
music
probability
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
JP2022041410A
Other languages
English (en)
Other versions
JP2022088461A (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.)
Kyoto University
Original Assignee
Kyoto University
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 Kyoto University filed Critical Kyoto University
Priority to JP2022041410A priority Critical patent/JP7371962B2/ja
Publication of JP2022088461A publication Critical patent/JP2022088461A/ja
Application granted granted Critical
Publication of JP7371962B2 publication Critical patent/JP7371962B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)

Description

特許法第30条第2項適用 研究集会での発表 研究集会名 :44th IEEE International Conference on Acoustics,Speech and Signal Processing(ICASSP) 論文タイトル:UNSUPERVISED MELODY STYLE CONVERSION 論文公開日 :2019年4月17日 口頭発表日 :2019年5月16日 〔刊行物等〕 出版物による公開 出版物名 :研究報告音楽情報科学 発行者名 :一般社団法人 情報処理学会 論文名 :教師なしスタイル変換によるメロディーの自動生成 発行日 :2019年8月20日 〔刊行物等〕 研究集会での発表 研究集会名 :第124回音楽情報科学研究会 タイトル :教師なしスタイル変換によるメロディーの自動生成 スタイル変換による多様なスタイルのメロディー自動生成(デモンストレーション) 発表日 :2019年8月27日 〔刊行物等〕 ウェブサイトでの公開 サイト名 :多様なスタイルによる自動音楽生成 URL :https://melodyarrangement.github.io/demo-ja.html https://melodyarrangement.github.io/demo-en.html 公開日 :2019年6月12日
本発明は、AI(Artificial Intelligence)を適用した作曲または編曲の技術に関す
る。
従来、コンピュータによる自動作曲の技術が提案されている。例えば、Orpheusは、日本語の歌詞が入力されスタイルが指定されると、入力された歌詞に応じかつ指定されたスタイルを有する楽曲を自動的に生成する(非特許文献1)。
東京大学 大学院 システム情報学 第一研究室 ウェブサイト、http://www.orpheus-music.org/
しかし、従来の技術によると、スタイルのデータを用意するためには、人間がスタイルの特徴を分析しなければならない。したがって、指定可能なスタイルを増やすには、コストが嵩んでしまう。
本発明は、このような課題に鑑み、従来よりも容易にAIによる作曲を実現することを目的とする。
本発明の一形態に係る編曲システムは、一のスタイルを有する対象メロディを第二のスタイルへ編曲する編曲システムであって、前記対象メロディの編曲として、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高くまたは所定の値以上であり、かつ、前記対象メロディと音符数が同じであるメロディを、動的計画法によって探索する探索手段、を有する。
本発明の他の一形態に係る編曲システムは、一のスタイルを有する対象メロディを第二のスタイルへ編曲する編曲システムであって、前記対象メロディと音符数が同じでありかつ前記第二のスタイルを有する複数のメロディのうちの、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高いものまたは所定の値以上のものを前記対象メロディの編曲として探索する探索手段、を有する。
好ましくは、前記探索手段は、前記複数のメロディそれぞれの前記適切度を算出し、前記複数のメロディのうちの、前記適切度が最も高くまたは所定の値以上であるものを選出することによって、前記編曲を探索する。
本発明によると、第一のスタイルを有する対象メロディを第二のスタイルへ従来よりも容易に編曲することができる。
自動音楽生成装置を含むネットワークシステムの例を示す図である。 自動音楽生成装置のハードウェア構成の例を示す図である。 自動音楽生成装置の機能的構成の例を示す図である。 自動音楽生成装置の全体的な処理の流れの例を説明するフローチャートである。 作曲学習処理の流れの例を説明するフローチャートである。 作曲処理の流れの例を説明するフローチャートである。 編曲学習処理の流れの例を説明するフローチャートである。 編曲処理の流れの例を説明するフローチャートである。
〔1 自動音楽生成装置1の全体〕
図1は、自動音楽生成装置1を含むネットワークシステムの例を示す図である。図2は、自動音楽生成装置1のハードウェア構成の例を示す図である。図3は、自動音楽生成装置1の機能的構成の例を示す図である。図4は、自動音楽生成装置1の全体的な処理の流れの例を説明するフローチャートである。
図1に示す自動音楽生成装置1は、ユーザの好みのスタイルの楽曲を自動的に作曲し、または、ある原曲をユーザの好みのスタイルに編曲するシステムである。「スタイル」は、クラシック、ポピュラー、カントリー、ロック、演歌、およびジャズなどの音楽スタイルである。または、中世西洋音楽、ルネサンス音楽、バロック音楽、古典派音楽、およびロマン派音楽のような、より具体的なスタイルであってもよい。
従来の自動作曲システムおよび自動編曲システムは、スタイルごとの音楽的な特徴を人間が解析してルール化したデータに基づいて作曲しまたは編曲する。つまり、ルールベースの人工知能によって作曲しまたは編曲する。
これに対し、自動音楽生成装置1は、機械学習によってモデル(学習済モデル)を生成し、生成したモデルに基づいて作曲しまたは編曲する。機械学習のアルゴリズムとして、統計的でありかつ教師なしの機械学習のアルゴリズムが用いられる。以下、この仕組みを説明する。
なお、楽曲には、主旋律および対旋律など複数のメロディーが含まれていることがあるが、本実施形態では、説明の簡単のため、単音の主旋律のみからなりかつ4分の4拍子の楽曲を作曲しまたは編曲する場合を例に説明する。
自動音楽生成装置1は、図2に示すように、メインプロセッサ10、RAM(Random Access Memory)11、ROM(Read Only Memory)12、補助記憶装置13、ネットワークアダプタ14、キーボード15、ポインティングデバイス16、データ入出力ボード17、ディスプレイ18、および音声再生ユニット19などによって構成される。
ROM12または補助記憶装置13には、オペレーティングシステムのほか種々のプログラムがインストールされている。特に、本実施形態では、プログラムの1つとして音楽生成プログラム2(図3参照)がインストールされている。補助記憶装置13として、ハードディスクまたはSSD(Solid State Drive)などが用いられる。
RAM11は、自動音楽生成装置1のメインメモリである。RAM11には、オペレーティングシステムのほか音楽生成プログラム2などのプログラムがロードされる。
メインプロセッサ10は、RAM11にロードされたプログラムを実行する。メインプロセッサ10として、GPU(Graphics Processing Unit)またはCPU(Central Processing Unit)などが用いられる。
ネットワークアダプタ14は、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルで通信回線42を介して端末装置41など他の装置と通
信するための装置である。ネットワークアダプタ14として、NIC(Network Interface Card)またはWi-Fi用の子機が用いられる。
キーボード15およびポインティングデバイス16は、コマンドまたはデータなどをオペレータが入力するための入力装置である。
データ入出力ボード17は、周辺機器とデータのやり取りを行うための装置である。データ入出力ボード17として、例えば、USB(Universal Serial Bus)またはBluetooth(登録商標)などに準拠した入出力ボードが用いられる。
ディスプレイ18は、コマンドもしくはデータを入力するための画面またはメインプロセッサ10による演算の結果などを表示する。音声再生ユニット19は、音声ボードおよびスピーカなどによって構成され、楽曲を再生する。
音楽生成プログラム2には、図3に示すメインモジュール20、作曲モジュール21および編曲モジュール25が含まれる。作曲モジュール21は、ユーザの好みのスタイルの楽曲を自動的に作曲するためのモジュールである。編曲モジュール25は、ある原曲をユーザの好みのスタイルに編曲するモジュールである。
〔2 メインモジュール〕
メインモジュール20は、全体的な処理を規定するモジュールである。メインモジュール20によると、自動音楽生成装置1は、図4に示す手順で全体的な処理を実行する。
メインモジュール20の起動後、自動音楽生成装置1は、メニュー画面を表示する(S101)。
作曲のための学習のコマンドがメニュー画面において入力されると(S102でYes)、自動音楽生成装置1は、作曲学習処理を実行する(S103)。または、作曲のコマンドが入力されると(S104でYes)、作曲処理を実行する(S105)。作曲学習処理および作曲処理は、後述するように、作曲モジュール21に基づいて行われる。
または、編曲のための学習のコマンドが入力されると(S106でYes)、自動音楽生成装置1は、編曲学習処理を実行する(S107)。または、編曲のコマンドが入力されると(S108でYes)、編曲処理を実行する(S109)。編曲学習処理および編曲処理は、後述するように、編曲モジュール25に基づいて行われる。
〔3 作曲モジュール〕
作曲モジュール21は、図3に示すように学習データ記憶部211、初期化処理部212、トニック推定部213、事後確率算出部214、パラメータ更新部215、収束判定部216、スタイルモデル記憶部217、音符決定部218、系列変換部219、および
作曲データ生成部220などによって構成される。上述の通り、作曲モジュール21は、作曲学習処理および作曲処理を実行するためのモジュールである。作曲学習処理が機械学習のフェーズに相当し、作曲処理が推論のフェーズに相当する。
以下、作曲モジュール21の各部の処理を機械学習のフェーズおよび推論のフェーズに大別して説明する。
〔3.1 機械学習のフェーズ〕
〔3.1.1 概要〕
図5は、作曲学習処理の流れの例を説明するフローチャートである。機械学習のフェーズにおいては、作曲用の学習済モデルが、図5に示す手順で生成される。
図3の初期化処理部212ないし収束判定部216は、学習器を構成し、推論つまり自動作曲のための学習済モデルを教師なし機械学習によってスタイルごとに生成する。
オペレータは、モデルを必要とするスタイル(以下、「対象スタイル」と記載する。)ごとに、機械学習用の学習データとして多数の楽曲の楽曲データ60を用意し自動音楽生成装置1へ入力する。これらの楽曲データ60は、学習データ記憶部211に記憶される(図5のS701)。楽曲データ60の構成および用意については、後述する。さらに、オペレータは、対象スタイルの数を入力する。以下、対象スタイルの数を「対象スタイル数NM」と記載する。例えば、対象スタイルがロックおよび演歌の2つである場合は、対
象スタイル数NMとして「2」を入力する。すると、対象スタイル数NMが初期化処理部212によって受け付けられる(S702)。
なお、本実施形態では、教師なし機械学習によって学習済モデルを生成するので、それぞれの楽曲データ60がどのスタイルに属するのかを入力する必要がない。
初期化処理部212は、対象スタイル数NMのマルコフモデルを用意し、各マルコフモ
デルのパラメータにランダムな値を設定する(S703)。この時点において、オペレータは、どのマルコフモデルがどの対象スタイルに対応するのか分からない。なお、これらのマルコフモデルのうちの2つ以上が偶然、一致することがある。このような場合は、各マルコフモデルのパラメータが相違するように、ステップS703の処理をやり直す。
事後確率算出部214およびパラメータ更新部215は、EM(Expectation-Maximization)アルゴリズムによって各マルコフモデルのパラメータを調整する。
事後確率算出部214は、Eステップの処理を行い(S704)、パラメータ更新部215は、Mステップの処理を行う(S705)。Eステップの処理およびMステップの処理を交互に繰り返すことによって、各マルコフモデルにいずれかの対象スタイルの特徴が表われるように徐々に調整される。
収束判定部216は、収束の判定を行う(S706)。例えば、マルコフモデルのパラメータのうちの少なくとも1つまたは全部が、Eステップの処理およびMステップの処理を繰り返してもほとんど変化しなくなった場合に、理想的な値に収束したと判定する。または、所定の回数、Eステップの処理およびMステップの処理を繰り返した場合に、収束したと判定する。そして、収束したと判定した場合は(S707でYes)、その時点の各マルコフモデルを学習済モデルとしてスタイルモデル記憶部217に記憶させる(S708)。
収束していないと判定された場合は(S707でNo)、ステップS704に戻って、
Eステップの処理およびMステップの処理が再度、実行される。
〔3.1.2 楽曲データ60の構成および用意〕
楽曲データ60は、次の式(1)のように、楽曲のメロディーすなわち楽曲を構成する音符ごとの音高および発音時刻を示す。
Figure 0007371962000001
「M」は楽曲に含まれる小節の数であり、「Nm」はm番目の小節に含まれる音符の数
である。pmnおよびsmnは、それぞれ、m番目の小節のn番目の音符の音高および発音時刻である。
音高は、MIDI(Musical Instrument Digital Interface)規格におけるノートナンバと同様の値によって表わされる。つまり、音高は、半音上がるごとに「1」上がり、半音下がるごとに「1」下がる。音高の範囲は、0~127の各整数値および休符を表わす「-1」からなる。つまり、pmn∈{-1,0,1,2,…,127}であり、中央のド(C
)の値は「60」である。
本実施形態では、楽曲の拍子が4分の4拍子であるものとする。また、1つの音の長さの最短が16分音符の1/3であり、最長が1小節(つまり、全音符)である。したがって、例えば4分音符の長さは、「12」である。また、楽曲の先頭の時刻が「0」である。したがって、発音時刻smn∈{0,1,…,47}である。
または、楽曲データ60は、次の式(2)のように、楽曲を小節ごとに区切らずに楽曲を構成する音符ごとの音高および発音時刻を示してもよい。
Figure 0007371962000002
「I」は、楽曲に含まれる音符の数である。「pi」および「si」は、それぞれ、i番目の音符の音高および発音時刻である。楽曲がj小節からなる場合は、si∈{0,1,…,(48j-1)}である。
楽曲のMIDIまたはMusicXML(Extensible Markup Language)のフォーマットのファイルがあれば、このファイルを変換することによって楽曲データ60が得られる。そこで、オペレータは、MIDIまたはMusicXMLのファイルを楽曲データ60に変換し、ネットワークアダプタ14またはデータ入出力ボード17を介して自動音楽生成装置1へ入力し学習データ記憶部211に記憶させればよい。または、変換を自動音楽生成装置1が実行してもよい。
なお、逆に、楽曲データ60をMIDIまたはMusicXMLのファイルに変換することもできる。この方向の変換は、後述するように、作曲および編曲の際に用いられる。
ところで、以下に説明する、音楽生成のための統計学習手法において、式(1)または式(2)で表わす値をそのまま使用すると、モデルのパラメータが多すぎるので効果的な
学習ができないことがある。
そこで、楽曲データ60において、自由度をより低くするために、次の式(3)のように、オクターブ内のドを基準とする相対値(音高クラス、ピッチクラス)によって音高を表わし、かつ、小節内の先頭を基準とする相対位置(拍節位置)で発音時刻を表わしてもよい。
Figure 0007371962000003
「qmn」および「bmn」は、それぞれ、m番目の小節のn番目の音符の音高クラスおよび拍節位置である。以下、音高クラスの個数を「Q」と記載し、音符の長さのパターン数を「B」と記載する。本実施形態では、Q=12、B=48、である。
または、楽曲データ60は、(4)式のように各音符の音高を音高クラスによって表わし発音時刻を拍節位置によって表わしてもよい。
Figure 0007371962000004
「qi」および「bi」は、それぞれ、i番目の音符の音高クラスおよび拍節位置である。
音符が休符である場合を除くと、qi≡pi(mod12)∈{0,1,…,11}={C,C#,…,B}の関係が成り立つ。音符が休符である場合は、qi=pi、である。さらに、bi≡si(mod48)∈{0,1,…,47}の関係が成り立つ。これらの関係に基づいて、式(1
)から式(3)へ変換し、または式(2)から式(4)へ変換することができる。
したがって、楽曲のMIDIまたはMusicXMLのファイルがあれば、式(3)または式(4)形式でメロディーを示すデータが楽曲データ60として得られる。後述する各処理においては、式(3)または式(4)の形式の値が適宜、用いられる。
以下、H(H≧2)曲の楽曲の楽曲データ60が用意された場合を例に説明する。各楽曲には、1、2、3、…、Hのいずれかのシーケンス番号が付いている。説明の簡単のため、H曲の楽曲すべてが4分の4拍子であるものとする。また、説明の簡単のため、休符を扱わない場合を例に説明する。なお、h∈{1,…,H}である。式(4)で表わされる系列を「qb系列」と記載する。また、式(2)で表わされる系列を「ps系列」と記載する。
特にh番目の楽曲のメロディーを表わしたい場合は、式(3)および式(4)をそれぞれ式(5)または式(6)式のように記載することができる。
Figure 0007371962000005
〔3.1.3 マルコフモデルの構成〕
各マルコフモデルには、スタイル変数確率、初期確率、および遷移確率の3つのパラメータよって構成され、それぞれ、次の式(7)、式(8)、および式(9)によって表わされる。
θ(ρ) …(7)
πini(q,b|ρ) …(8)
π(q,b|q',b',ρ) …(9)

式(7)は、ρ番目の対象スタイルが出現する確率を表わしている。したがって、NM
個の要素からなる確率ベクトルである。なお、ρ∈{1,…,NM}である。
式(8)は、スタイルがρ番目の対象スタイルである場合の最初の音符として(q,b)
が出現する確率を表わしている。したがって、QB個の確率ベクトルがNM個、集まった
ものである。
式(9)は、スタイルがρ番目の対象スタイルである場合において(q',b')の直後に(q,b)が出現する確率すなわち(q',b')から(q,b)へ遷移する確率を表わしている。したがって、QB×QB個の要素からなる確率行列がNM個、集まったものである。
ところで、これらの楽曲データ60のそれぞれに示される楽曲(メロディー)の音階(調)がすべて同じであれば、自動音楽生成装置1は、音階を揃える処理を行うことなく後述の方法で機械学習を行うことができる。または、それぞれの音階が異なっていても、それぞれの音階が分かっている場合は、自動音楽生成装置1は、すべての楽曲を共通のトニックの音階に移調し、後述の方法で機械学習を行う。
しかし、音階が揃っておらず、かつ、音階が分からない場合は、楽曲データ60をそのまま使用して機械学習を行うと、精度のよい学習済モデルが得られないことがある。
そこで、自動音楽生成装置1は、楽曲の調が分からない場合であっても機械学習を行うことができるように、トニックの自由度を持った移調対称マルコフモデルを使用する。なお、式(7)~(9)が表わすような、トニックの自由度のないマルコフモデルは、「単純マルコフモデル」と呼ばれる。
移調対称マルコフモデルは、単純マルコフモデルと同じ初期確率πini(q,b)およ
び遷移確率π(q,b|q',b')を有し、さらに、トニック確率P(k)を有する。「k」は
トニック変数であって、k∈{0,1,…,11}={C,C#,…,B}である。ただし、楽曲を移調しても生成確率が変わらないという移調対称性を仮定する。すると、次の式(10)、式(11)、および式(12)が成り立つ。
P(k)=1/12 …(10)
πini(q,b|k)=πini(q-k,b) …(11)
π(q,b|q',b',k)=π(q-k,b|q'-k,b') …(12)

このように、式(11)および式(12)それぞれの右辺に示すパラメータは、単純なマルコフモデルのパラメータである。以下、それぞれのパラメータを「ベース初期確率」および「ベース遷移確率」と記載する。また、ベース初期確率およびベース遷移確率を有する単純マルコフモデルを「ベースマルコフモデル」と記載する。
なお、トニック変数kおよびqb系列(式(4)で表わされる系列)の同時生成確率とベースマルコフモデルとの関係は、次の式(13)の通りである。
Figure 0007371962000006
さらに、トニック変数kが与えられた場合のqb系列の条件付き生成確率は、次の式(14)の通りである。
Figure 0007371962000007
そして、式(13)および式(14)より、次の式(15)が成り立つ。
Figure 0007371962000008
さらに、式(10)、式(11)、および式(12)にスタイル変数ρを、それぞれP(ρ,k)、πini(q,b|ρ,k)、およびπ(q,b|q',b',ρ,k)のように導入することによって、NM個の移調対称マルコフモデルを混合させる。そして、移調対称性を仮定する
と、これらの式を式(16)、式(17)、および式(18)のように書き換えることができる。
P(ρ,k)=(1/12)P(ρ)=(1/12)θ(ρ) …(16)
πini(q,b|ρ,k)=πini(q-k,b|ρ) …(17)
π(q,b|q',b',ρ,k)=π(q-k,b|q'-k,b',ρ) …(18)

各スタイル(スタイル変数ρが1、…、NMであるそれぞれのスタイル)に対するこの
移調対称マルコフモデル(移調混合対称マルコフモデル)も、ベース初期確率およびベース遷移確率を有する単純マルコフモデルなので、ベースマルコフモデルである。なお、トニック変数kおよびqb系列の同時生成確率とこのベースマルコフモデルとの関係は、次の式(19)の通りである。
Figure 0007371962000009
後半の項は、トニック変数が与えられた場合の、qb系列の条件付生成確率である。この条件付生成確率は、次の式(20)~(21)のように表わされる。
Figure 0007371962000010
これを用いると、式(19)の左辺に示す同時生成確率は、次の式(22)のように表わされる。
Figure 0007371962000011
そして、スタイル変数確率、ベース初期確率、およびベース遷移確率の3つのパラメータとして、式(16)、式(17)、および式(18)それぞれの右辺の値を有するベースマルコフモデルが、学習用のベースマルコフモデルとして用いられる。
ところで、学習済の移調対称マルコフモデルが存在する場合は、図3のトニック推定部213は、楽曲データ60に示される楽曲のqb系列の調(トニック)を次のように推定することができる。
ベイズの公式により、次の式(23)が成り立つ。
Figure 0007371962000012
式(23)の右辺の分母はkに依らないので、次の式(24)が成り立つ。
Figure 0007371962000013
ここで、トニック変数条件付き確率は、式(11)、式(12)、式(14)、および式(15)より、次の式(25)式のように表わすことができる。
Figure 0007371962000014
左辺がトニック変数条件付き確率である。式(25)によると、qb系列をトニック変数kだけ移調して、ベース初期確率およびベース遷移確率を用いて計算した生成確率と見なせる。よって、与えられた系列のトニックがトニック変数kに対応する音高クラスである確率は、この系列をトニック変数kだけ移調した時のベースマルコフモデルに対する生成確率に比例する。そこで、この確率を最大にするkを求めることによって、この系列の最も尤もらしいトニックを推定することができる。
トニックを推定することができる場合は、式(16)~(18)それぞれの右辺の値をパラメータとして有するベースマルコフモデルの代わりに、式(7)~(9)それぞれの値をパラメータとして有するベースマルコフモデルを、学習用のベースマルコフモデルとして用いることができる。
以下、式(7)~(9)それぞれの値をパラメータとして有するベースマルコフモデルを学習用のモデル61(図3参照)として用いる場合を例に説明する。
〔3.1.4 学習用のモデルの準備〕
初期化処理部212は、対象スタイルごとのモデル61のスタイル変数確率θ(ρ)、ベース初期確率πini(q,b|ρ)、およびベース遷移確率π(q,b|q',b',ρ)の各パラメ
ータの初期値をランダムに設定する。
スタイル変数確率、ベース初期確率、およびベース遷移確率は、上述の通り、Eステップの処理およびMステップの処理が交互に繰り返されることによって調整される。以下、t回目のEステップの処理およびMステップの処理の直後のスタイル変数確率、ベース初期確率、およびベース遷移確率それぞれの値を次の式(26)、式(27)、および式(28)のように表わす。
Figure 0007371962000015
なお、t=0のときの式(26)、式(27)、および式(28)の各値がスタイル変数確率、ベース初期確率、およびベース遷移確率の初期値である。また、式(26)、式(27)、および式(28)をそれぞれθ tπ ini t、およびπ tと記載する。このように、本実施形態では、ベクトルの記号として下線を用いる。
〔3.1.5 EMアルゴリズムによる処理〕
事後確率算出部214は、EMアルゴリズムのうちのEステップの処理を次のように行う。具体的には、次の式(29)によって表わされる確率を算出する。
Figure 0007371962000016
「ρh」および「kh」は、それぞれ、h番目の楽曲のスタイル変数およびトニック変数である。
この確率は、モデルパラメータの値に依存するので、tステップ目の各パラメータが変数として記されている。これは、次の式(30)に従って計算することができる。
Figure 0007371962000017
なお、式(30)は、次のように導かれたものである。まず、学習済の移調対称マルコフモデルがある場合に、与えられた楽曲のqb系列(式(4)参照)に合致するスタイルおよびトニックは、次の式(31)で表わされる条件付き確率を計算することによって推定することができる。
Figure 0007371962000018
この条件付き確率を最大にするρおよびkが、この楽曲に最も合致するスタイルおよびトニックである。さらに、ベイズの公式により、次の式(32)のように表わすことができる。
Figure 0007371962000019
式(32)の右辺の分母は、スタイル変数ρおよびトニック変数kに依らない。したがって、上記の式(30)が成り立つ。なお、スタイルおよびトニックを推定する方法は、後述する原曲属性推定部256においても用いられる。
パラメータ更新部215は、EMアルゴリズムのうちのMステップの処理を行う。具体的には、次の式(33)~(35)式に従ってベースマルコフモデルの各パラメータを更新する。
Figure 0007371962000020
δijは、はクロネッカーデルタである。つまり、i=jであればδij=1であり、i≠jであればδij=0である。式(33)~(35)それぞれの比例係数は、それぞれの確率値の総和が「1」になるように選択される。
収束判定部216は、事後確率算出部214およびパラメータ更新部215がそれぞれ1回、Eステップの処理およびMステップの処理を行うごとに、パラメータの変化が収束したか否かを判定する。例えば、θ tに対するθ tθ t-1との差の絶対値の比が所定の値
(例えば、10-6)以下になったら、収束したと判定する。または、π ini tに対するπ ini tπ ini t-1との差の絶対値の比が所定の値以下になったら、収束したと判定してもよい。または、π tに対するπ tπ t-1との差の絶対値の比が所定の値以下になったら、収束
したと判定してもよい。
または、収束判定部216は、上記の比に関わらず、EMアルゴリズムを所定の回数(例えば、50回)繰り返したら、収束したと判定してもよい。
そして、スタイルモデル記憶部217は、収束したと収束判定部216によって判定されたら、EMアルゴリズムの処理を終了し、EMアルゴリズムの処理が施された対象スタイルそれぞれのモデル61を学習済モデル62として記憶する(図3参照)。以下、T回目に収束したと判定された場合を例に説明する。
なお、以上の処理だけでは、オペレータは、どの学習済モデル62がどの対象スタイルのものであるのか判別することができない。そこで、オペレータは、次に説明する作曲処理をこれらの学習済モデル62を用いて1回ずつ自動音楽生成装置1に実行させ、自動作曲された楽曲を聴くことによって、それぞれの学習済モデル62の対象スタイルを判別する。そして、それぞれの学習済モデル62に、判別した対象スタイルをラベリングする。
例えば、対象スタイルがロックおよび演歌の2つである場合は、オペレータは、生成された2つの学習済モデル62それぞれによって自動作曲された楽曲を聴き、ロックおよび演歌それぞれの学習済モデル62を判別し、ラベリングする。
〔3.2 推論のフェーズ〕
図6は、作曲処理の流れの例を説明するフローチャートである。推論のフェーズにおいては、新しい楽曲が、図6に示す手順で自動的に生成される。
自動音楽生成装置1は、作曲の条件として音符数Iおよびスタイルを受け付けると(図6のS711)、受け付けたスタイルの学習済モデル62に基づいて1番目の音符を決定する(S712、S713)。2~I番目それぞれの音符を、その学習済モデル62および直前の音符に基づいて決定する(S714~S716)。そして、1~I番目それぞれの決定した音符を所定のフォーマットのデータに変換する(S717)。以下、図6の各処理をさらに具体的に説明する。
図3の音符決定部218ないし作曲データ生成部220は、推論器であって、指定されたスタイルの楽曲をそのスタイルの学習済モデル62に基づいて生成する。
学習済モデル62には、π ini Tおよびπ Tが含まれている。π ini Tおよびπ Tには、スタイル(対象スタイル)ごとの初期確率πini(q,b)および遷移確率π(q,b|q',b')が
含まれる。
オペレータは、自動音楽生成装置1に生成させたい楽曲のスタイルおよび音符の数Iを自動音楽生成装置1に対して指定する。
すると、音符決定部218は、これらの指定を受け付け、楽曲のI個の音符を次のように決定する。
音符決定部218は、I個の区間(0,1)の一様乱数を発生させる。以下、i番目の一様乱数を「乱数ri」と記載する。なお、i∈1,…,Iである。そして、離散確率分布
P(x)(x=1,…,X)および乱数rに基づいてxの値を生成(サンプル)する方法で、各音符をサンプルする。つまり、次の式(36)を満たすxを選ぶことによってサンプルする。
Figure 0007371962000021
具体的には、音符決定部218は、1番目の音符つまり(q1,b1)を、乱数r1および指定されたスタイルの初期確率πini(q,b)に基づいてサンプルする。次に、2番目の音符つまり(q2,b2)を、乱数r2および指定されたスタイルの遷移確率π(q,b|q1,b1)に
基づいてサンプルする。以下、同様に、i番目の音符を、乱数riおよび指定されたスタ
イルの遷移確率π(q,b|qi-1,bi-1)に基づいてサンプルする。これにより、qb系列
のデータが楽曲のメロディーのデータとして得られる。
系列変換部219は、楽曲のメロディーのデータを式(4)のフォーマットつまりqb系列から式(2)のフォーマットつまりps系列へ次のように変換する。
系列変換部219は、小節線の位置を楽曲のメロディーのデータのうちの各音符の拍節位置つまり次の式(37)の値より特定する。
Figure 0007371962000022
すなわち、系列変換部219は、bi≦bi-1、を満たすときの(i-1)番目の音符とi番目の音符との間に小節線があると特定する。そして、小節線の位置に基づいて、式(37)の値を式(38)の値に変換する。
Figure 0007371962000023
さらに、系列変換部219は、次のように、楽曲のメロディーのデータのうちの音高すなわち式(39)の値を式(40)の値に変換する。
Figure 0007371962000024
系列変換部219は、最初の音高p1のオクターブを適当な方法で定める。そして、後
続の音符の音高piを、直前の音符の音高pi-1および音高クラスqi、qi-1から決定する。具体的には、
qi-qi-1<-6 ならば、pi=pi-1+qi-qi-1+12
-6≦qi-qi-1<6 ならば、pi=pi-1+qi-qi-1
i-qi-1≧6 ならば、pi=pi-1+qi-qi-1-12
とする。
この方法によると、ある音符が想定の音域から外れる場合があるが、この場合は、想定の音域の中に収まるようにオクターブ修正を行えばよい。これにより、想定の音域内に収まる音符列が生成される。
作曲データ生成部220は、系列変換部219によって得られた楽曲のps系列のデータをMIDIまたはMusicXMLのフォーマットのファイルに変換することによって、作曲データ63を生成する。作曲データ63は、自動音楽生成装置1の所定の記憶領域に保存される。または、端末装置41などへ送信される。または、ps系列のデータに従って楽曲を音声再生ユニット19(図2参照)によって再生してもよい。
なお、オクターブ情報が学習済モデルに含まれるように機械学習を行ってもよい。つまり、オクターブ情報に対してもマルコフモデルなどの確率モデルを生成してもよい。すると、推論のフェーズにおいて、オクターブの確率モデルに基づいて式(39)の系列のデータから式(40)の系列のデータを生成することができる。
以上説明したように、作曲モジュール21によると、教師なし機械学習によって学習済モデルを生成するので、楽曲データ60ごとにタグ付けすることなく従来よりも容易に自動作曲のAI(Artificial Intelligence)を構築することができる。
本実施形態では、初期化処理部212は、θ(ρ)の初期値としてランダムな値を設定したが、用意した楽曲の総数に対する対象スタイルごとの楽曲の比率をθ(ρ)の初期値として設定してもよい。
本実施形態では、初期化処理部212は、各モデル61の各パラメータにランダムな値を与えたが、モデル61ごとに異なる値を与えることができれば、ランダムな値でなくてもよい。例えば、それぞれに異なる所定の値を与えてもよい。
〔4 編曲モジュール〕
編曲モジュール25は、図3に示すように、初期化処理部251、事後確率算出部252、パラメータ更新部253、収束判定部254、編集モデル記憶部255、原曲属性推定部256、候補楽曲生成部257、最適候補選出部258、および編曲データ生成部259などによって構成され、ある楽曲を、目標のスタイルの楽曲に変換する。つまり、編曲を行う。上述の通り、編曲モジュール25は、編曲学習処理および編曲処理を実行するためのモジュールである。編曲学習処理が機械学習のフェーズに相当し、編曲処理が推論のフェーズに相当する。
以下、変換対象の楽曲を「原曲」と記載し、原曲のスタイルを「原曲スタイル」と記載する。目標のスタイルを「目標スタイル」と記載し、原曲が目標スタイルに変換されたものを「編曲」と記載する。また、原曲スタイルおよび目標スタイルそれぞれのシーケンス番号を「ρS」および「ρT」とする。原曲スタイルと目標スタイルとが同じであっても構わない。また、スタイルモデル記憶部217に、NM個のスタイルの学習済モデル62が
記憶されているものとする。
〔4.1 概要〕
図7は、編曲学習処理の流れの例を説明するフローチャートである。図8は、編曲処理の流れの例を説明するフローチャートである。
図3の初期化処理部251ないし収束判定部254は、学習器であって、編集モデルを、図7に示す手順で生成する。なお、編集モデルは、推論のフェーズにおいて原曲を編曲するための学習済モデルとして用いられる。
初期化処理部251は、ランダムに初期化した編集モデルを予め用意する(S721)。事後確率算出部252およびパラメータ更新部253は、編集モデルに対してEステップの処理およびMステップの処理を実行する(S722、S723)。収束判定部254は、収束の判定を行う(S724)。そして、収束したと判定した場合は(S725でYes)、その時点の編集モデルを学習済モデルとして編集モデル記憶部255に記憶させる(S726)。
収束していないと判定された場合は(S725でNo)、ステップS722に戻って、Eステップの処理およびMステップの処理が再度、実行される。
このように、編集モデルは、EMアルゴリズムを繰り返し実行されることによって、学習済モデルになる。なお、ρS∈{1,…, NM}かつρT∈{1,…, NM}なので、NM×
M個の編集モデルを用意し、それぞれについてステップS722~S726の処理が行
われる。
原曲属性推定部256ないし編曲データ生成部259は、生成器であって、原曲の編曲を、図8に示す手順で生成する。
原曲属性推定部256は、編曲の条件として原曲および目標スタイルなどを受け付けると(図8のS731)、原曲スタイルを推定する(S732)。候補楽曲生成部257は、原曲と音符の数が同じである目標スタイルの候補楽曲を複数、作曲モジュール21によって生成する(S732)。最適候補選出部258は、候補楽曲ごとに編集モデルに基づいて適切度を算出し(S733)、最も適切度の高い候補楽曲を原曲の編曲として選出する(S734)。そして、編曲データ生成部259は、選出した候補楽曲を所定のフォーマットのデータに変換する(S735)。
なお、適切度は、Q(X~|X)と表わされ、次の式(41)の通り、候補楽曲の目標スタイルへの合致度および候補楽曲の原曲との類似度の2つの尺度によって算出される。
Figure 0007371962000025
「X」は原曲の系列であって次の式(42)のように表わされ、「X~」は候補楽曲の
系列であって次の式(43)のように表わされる。
Figure 0007371962000026
「PL(X~)」は、候補楽曲の目標スタイルへの合致度を表わす確率である。「PE(X|
~)」は、原曲と候補楽曲との類似度を表わす確率である。「αL」および「αE」は、合致度と類似度とのバランスを調整するためのパラメータであって、目的に応じてオペレータによって指定される。
適切度、合致度、および類似度は、原曲スタイルまたは目標スタイルに依るので、式(41)を次の式(44)のように記述することができる。
Q(X~|X;ρST):=PL(X~;ρTLE(X|X~;ρSTE …(44)

〔4.2 編集モデル〕
上の式(41)の右辺を構成する因子のうち、PE(X|X~;ρST)に編集モデルが用いられる。PE(X|X~;ρST)は、次の式(45)のように記述される。
Figure 0007371962000027
右辺の2番目の因子は原曲および候補楽曲それぞれのi番目の音高クラスの二乗距離であり、σpは、距離尺度の基準を与えるパラメータである。右辺の3番目の因子は原曲の
系列Xおよび候補楽曲の系列X~それぞれのi番目の拍節位置の二乗距離であり、σrは、距離尺度の基準を与えるパラメータである。本実施形態では、σp=0.7、σr=3がデフォルトで設定されている。これら2つの因子は、すべてのρSおよびρTに対して一定である。つまり、ρSおよびρTに依らない。
右辺の最初の因子PF(X|X~;ρS, ρT)は、音高クラス系列の統語構造に基づいた類
似度を表わし、音符の統語機能が潜在変数で表現されるように隠れマルコフモデル(HMM:Hidden Markov Model)を用いて記述される。「Z」は、確率分布の規格化係数であるが、候補楽曲の生成には用いられない。
ところで、HMMは、自然言語の単語列からその統語機能を表わす品詞を教師なしで学習するために用いられている(S. Goldwater and T. Griffiths, "A Fully Bayesian Approach to Unsupervised Part-of-Speech Tagging," in Proc. ACL, pp. 744-751, 2007. 参照)。音楽においても、コード記号の系列からその統語機能を表わす和声機能を学習するために用いられている(H. Tsushima et al., "Generative statistical models with self-emergent grammar of chord sequences," J. New Music Res., vol. 47, no. 3, pp. 226-248, 2018. 参照)。本実施形態では、音高の統語機能を学習するためにHMMが
用いられる。
また、HMMは、一般に、マルコフモデルに従って生成される潜在変数の系列と、この系列から観測される記号列とを生成するモデルである。本実施形態においては、観測される記号列は、音高クラスの系列および系列~であってそれぞれ次の式(46)および
式(47)のように表わされる。
Figure 0007371962000028
潜在変数zは、{1,…,NF}の中の値を取る離散確率変数であり、音符ごとに1つず
つ生成される。つまり、潜在変数ziは、i番目の音符の離散確率変数である。「NF」は、仮定する統語機能の数であり、目的に応じて決められる変数である。本実施形態では、NF=7とする。
そして、本実施形態において編集モデルとして用いられるHMMは、次の式(48)~(51)のそれぞれの左辺に示されるパラメータを有する。
ψini(z1)=P(z1) …(48)
ψ(zi|zi- 1)=P(zi|zi- 1) …(49)
φ(q|z,ρS)=P(qi=q|zi=z) …(50)
φ(q~|z,ρT)=P(q~i=q~|zi=z) …(51)

式(48)のψini(z1)は、潜在変数zの初期確率を表わす、NF個の確率の確率ベク
トルである。式(49)は、潜在変数zの遷移確率を表わす、NF×NF個の要素を持つ確率行列である。
式(50)のφ(q|z,ρS)は、原曲スタイルにおける、音高クラスごとの(つまり、
Q個の)出力確率の確率ベクトルをNF個分、表わしている。式(51)は、目標スタイ
ルにおける、音高クラスごとの出力確率の確率ベクトルをNF個分、表わしている。式(
50)と式(51)とを比較して分かるように、音高クラスqiおよび音高クラスq~ i
、各潜在変数zから、互いに異なる離散確率分布に従って生成される。
また、系列、系列 ~、およびについて、次の式(52)~(54)の関係
が成り立つ。
Figure 0007371962000029
パラメータが定まっている場合に、このHMMを用いて因子PF(X|X~;ρST)を
計算する手順は以下の通りである。この因子をHMMに基づいて、PF(X|X~;ρST)=P( ~)と定めることにより次の表現が得られる。
Figure 0007371962000030
Z'は規格化定数であるが、編曲の生成には用いられない。式(58)により左辺の因
子が原始的に求まるが、すべての和記号を同時に計算することは組合せの数が多すぎて困難である。そこで、動的計画法(フォアワードアルゴリズム)を用いて逐次計算することにより効果的に計算することができる。
フォアワードアルゴリズムの手順は、次の通りである。まず、各i∈{1,…,I}に対してフォアワード変数を次のように定義する。
i(zi):=P(q1:i,q~ 1:i,zi) …(59)

1:i=(q1,…, qi)である。以下、同様の記法を用いる。Fi(zi)は、i=1から順に以下の通り逐次的に計算する。
Figure 0007371962000031
そして、次の式(64)を用いて確率P(, ~)が得られる。
Figure 0007371962000032
〔4.3 機械学習のフェーズ〕
上述の通り、ρS∈{1,…, NM}かつρT∈{1,…, NM}なので、NM×NM通りの編集モデルが生成される。以下、機械学習の内容を、ロックから演歌に編曲するための編集モデルを生成する場合を例に説明する。
初期化処理部251は、機械学習のためのデータを次のように準備する。学習に使用する系列および系列~を生成する。
系列は、ロックの音高クラスの系列であって、(x1,…, xN)である。「N」は、
機械学習に必要な音符の数であって、十分に大きな整数である。初期化処理部251は、作曲モジュール21の推論のフェーズと同様に、ロックの学習済モデル62に基づいてロックの楽曲を作曲する方法で系列を生成する。
系列~は、演歌の音高クラスの系列であって、(x~1,…, x~N)である。初期化処理部251は、演歌の学習済モデル62に基づいて演歌の楽曲を作曲する方法で系列~を生
成する。
さらに、初期化処理部251は、式(48)~(51)それぞれの左辺に示した4つのパラメータψini(z1)、ψ(zi|zi-1)、φ(q|z,ρS)、およびφ(q~|z,ρT)を有する編集モデル64を生成し、これらのパラメータを初期化する。ランダムな値を与えることによって初期化してもよいが、統語機能が音階音と類似した構造を表すことを期待して、φ0(q|z,ρS)は確率行列の対角に近い成分が大きな値を持つように初期化するのが望ましい。具体的には次の式(65)のように初期化する。ただし、比例係数は適切に正規化されるように定める。
φ0(q|z,ρS)∝exp(-(q-12z/NF)2/2) …… (65)

また、ψ(zi|zi-1)およびφ(q~|z,ρT)は、一様分布になるように初期化する。
事後確率算出部252およびパラメータ更新部253は、HMM(Hidden Markov Model)の教師なし学習方法として一般的であるBaumとWelchの方法(C. M. Bishop, Pattern Recognition and Machine Learning, Springer, 2006. 参照)によって、編集モデルを生成する。BaumとWelchの方法は、EMアルゴリズムの一種であり、Eステップでは潜在変
数の事後確率を算出し、Mステップではパラメータの更新を行う。Eステップの処理およびMステップの処理が交互に繰り返される。
事後確率算出部252は、Eステップの処理として、次の式(66)および式(67)でそれぞれ定義する潜在変数のtステップ目の事後確率γt(zi)およびζt(zi-1,zi)を計算する。
γt(zi)=P(zi|,~,Θt) …… (66)
ζt(zi-1,zi)=P(zi-1,zi|,~,Θt) …… (67)

「Θ」は、4つのパラメータのうちψ(zi|zi-1)、φ(q~|z,ρS)、およびφ(q|z,ρT)の集合を表わす。「Θt」は、tステップ目における、これら3つのパラメータの集
合である。以下、これらの式の計算方法を説明する。
まず、次の式(68)および式(69)でそれぞれ定義するフォアワード変数At(zi)およびバックワード変数Bt(zi)を計算する。
t(zi):=P(x1:i,x~1:i,zit) …… (68)
t(zi):=P(x(i+1):N,x~ (i+1):N|zit) …… (69)

これらは、次の式(70)~(73)に手順に従って再帰的に計算することができる。
Figure 0007371962000033
さらに、計算されたAt(zi)およびバックワード変数Bt(zi)を用いて、事後確率を次の式(74)および式(75)に従って計算する。

γt(zi)∝At(zi)Bt(zi)…(74)
ζt(zi-1,zi)∝At(zi-1t(zi|zi-1t(xi|ziS)
φt(x~i|ziT)Bt(zt) …(75)

ただし、比例係数は、各フォアワード変数が潜在変数ziに関して、足して1になるよ
うに適切に与える。
なお、初期確率すなわちψini(z1)は、学習に用いる系列が1ペアのみであるので、学習を行わない。初期確率の算出方法については、後述する。
パラメータ更新部253は、Mステップの処理を実行する。具体的には、次の式(76)~(78)に従って編集モデルの各パラメータを更新する。この際に、各式の比例係数を、それぞれの確率値の合計が「1」になるように選択する。
Figure 0007371962000034
収束判定部254は、Eステップの処理およびMステップの処理を繰り返しても編集モデルの各パラメータがほとんど変化しなくなった場合に、各パラメータが理想的な値に収束したと判定する。そして、収束したと判定された時点の編集モデル64を学習済モデル65として編集モデル記憶部255に記憶させる。または、EMアルゴリズムを所定の回数だけ繰り返したら、収束したと判定してもよい。
以上、ロックから演歌に編曲するための学習済モデル65(編集モデル)を生成する方法の例を説明したが、他の方向に編曲するための学習済モデル65も同様の方法によって生成される。
〔4.4 推論のフェーズ〕
原曲属性推定部256ないし編曲データ生成部259は、指定された原曲を、指定されたスタイルに編曲する。
オペレータは、複数の楽曲の中から編曲したい楽曲を原曲として指定するとともに、どのスタイルに編曲したいかを指定する。
すると、原曲属性推定部256は、その原曲のスタイルおよびトニックを推定する。推定の方法は、前に式(30)、式(32)を用いて説明した通りである。
つまり、原曲の系列X(式(42)参照)に合致するスタイルおよびトニックは、式(32)の左辺の条件付き確率Pを最大にするρおよびkを求めることによって推定することができる。
候補楽曲生成部257は、指定されたスタイルの楽曲を多数、候補楽曲として生成する。生成する方法は、音符決定部218が楽曲を生成する方法と同様である。つまり、式(36)を満たすxを選出することによって各音符をサンプルする。
ただし、ここでは、「I」は、原曲の音符数である。また、指定されたスタイルの学習済モデル62が用いられる。また、12個のトニック変数すべてについて、候補楽曲の生成が実行される。
最適候補選出部258は、候補楽曲生成部257によって生成された多数の候補楽曲の中から原曲に最も類似するものを編曲として選出する。具体的には、式(44)の左辺すなわちQ(X~|X;ρS, ρT)を最大にする候補楽曲を編曲として選出する。ただし、「ρS」は、原曲スタイルのスタイル変数であり、「ρT」は、オペレータが指定したスタイル(目標スタイル)のスタイル変数である。したがって、この原曲スタイルおよびこの目標スタイルに対応する学習済モデル65が選出のために用いられる。
ところで、原曲の音符数が多いと、候補楽曲の生成可能なパターン数が膨大になる。そこで、いわゆる部分サンプリング法によって編曲を生成してもよい。すなわち、候補楽曲生成部257は、原曲を複数の部分(例えば、小節)に分け、部分ごとに多数の系列を生成する。そして、最適候補選出部258は、部分ごとに、生成した系列の中から最も類似するものを選出し、選出した系列を連結することによって編曲を生成する。
または、動的計画法によって編曲を生成してもよい。動的計画法によると、Q(X~|X
;ρST)を最大にするX~が、Viterbiアルゴリズムによって探索される。
音高クラスおよび発音時刻がそれぞれ12および48なので、i番目の音符は576(
=12×48)通りある。そして、音符の数がIであるので、576I通りの音符の並び
がある。
これらの楽曲の中からQ(X~|X;ρST)を最大にするもの(ビタビ経路)を次のよ
うに探索する。Q(X~|X;ρST)は正の値なので、Q(X~|X;ρST)を最適化したものは、Q(X~|X;ρST)の対数をとったものの最適化と等価である。Q(X~|X;ρST)の対数は、式(21)、(44)、(45)、(57)を用いることによって次のように与えられる。
Figure 0007371962000035
ただし、constは、最適化には関係しない定数項を表わしている。以下、同様である。
この関数は、lnPF(X~|X;ρST)を含んでいるので、直接は、最適化することができない。そこで、入力の楽曲に対して事後確率P(z|)=P(|z)P(z)/P()を最大とする潜在変数の系列z^をまず求めて、和をこの系列で置き換える。これにより次の式(81)が得られる。
Figure 0007371962000036
系列z^は、Viterbiアルゴリズムを用いて以下の手順で求められる。まず、事後確率
の最大化は次の式(82)で表わされ、その対数をとったものの最大化と等価である。
Figure 0007371962000037
Viterbi変数を次の式(83)および(84)のように定義する。
Figure 0007371962000038
Figure 0007371962000039
式(83)および(84)は、次の式(85)~(87)によって再帰的に計算することができる。

次の式(88)の値は、式(89)~(90)のように後ろから再帰的に求めることができる。
Figure 0007371962000040
式(81)のconstを除いた部分は、q~iおよびb~iの関数として次の(91)のよう
に書き換えられる。
Figure 0007371962000041
ただし、
Figure 0007371962000042
である。これらを最大化するqb系列(式(4)参照)は、Viterbiアルゴリズムによっ
て求められる。Viterbi 変数を次の式(94)で定義する。
Figure 0007371962000043
これらは、次のように再帰的に計算する。
Figure 0007371962000044
これらの式に基づいて、式(89)および式(90)による方法と同様の方法によって、最適な編曲がX~として得られる。
図3の編曲データ生成部259は、最適候補選出部258によって原曲の編曲として選出された候補楽曲の系列X~を、MIDIまたはMusicXMLのフォーマットのファ
イルに変換することによって、編曲データ66を生成する。編曲データ66は、自動音楽生成装置1の所定の記憶領域に保存される。または、端末装置41などへ送信される。または、ps系列のデータに従って候補楽曲を音声再生ユニット19(図2参照)によって再生してもよい。
以上説明したように、編曲モジュール25によると、作曲モジュール21によって生成された学習済モデル62(作曲用のモデル)を用いて学習済モデル65(編曲用のモデル)を生成するので、従来よりも容易に自動編曲のAIを構築することができる。
本実施形態では、自動音楽生成装置1は、適切度を算出するモデル(学習済モデル65)として、類似度および適合度の両方を因子として含むモデルを生成したが、類似度および適合度のうちの類似度のみを因子として含むモデルを生成してもよい。
本実施形態では、自動音楽生成装置1は、適切度の最も高い候補楽曲を原曲の編曲として選出したが、適切度が所定の値以上である候補楽曲を複数、原曲の編曲として選出してもよい。
〔5 変形例〕
ところで、一般に、楽曲の途中でスタイルまたはトニックなどが変わる場合がある。例えば、スタイルがクラシックからロックに変わったり、ハ長調からホ長調へ転調したり、長調から短調へ移旋したりすることがある。そこで、自動音楽生成装置1は、途中でスタイルまたはトニックなどが変わるように構成したモデルを生成しておき、このようなモデルを用いて作曲してもよい。
このようなモデルは、楽曲の各小節mごとにスタイル変数ρmおよびトニック変数kmを導入することによって定式化することができる。曲中のいくつかの場所において転調したりスタイルが変わったりしても、その他の多くの場所では調やスタイルが継続していることを表現するため、スタイル変数ρmおよびトニック変数kmは、それぞれ、1つ前のスタイル変数ρm-1およびトニック変数km-1に依存する確率により生成されるものとする。つまり、スタイル変数とトニック変数に対して次の式(99)および式(100)に示すマルコフモデルを考えればよい。
θini(ρ,k)=P(ρ1=ρ,k1=k) …(99)
θ(ρ',k',ρ,k)=P(ρm=ρ,km=k|ρm-1=ρ',km-1=k') …(100)

各音符の音高クラスおよび拍節位置は、生成された各小節のスタイル変数ρmおよびト
ニック変数kmに条件付けられたマルコフモデルにより、次の式(101)および式(1
02)に基づいて生成される。
πini(q11,b111,1)=P(q11,b111,1) …(101)
πini(qmn,bmn|q'mn,b'mn,ρm,m)=P(q11=q,b11=b|ρm,m)
…(102)

ただし、q'mnおよびb'mnは、それぞれqmnおよびbmnの1つ前の音符の音高クラスおよび拍節位置を表わす。
このようなモデルを用いれば、学習データとして与えられた楽曲に対して、小節ごとの合致するスタイルとトニックとを推定することができる。また、このモデルも、上述のモデルと同様にEMアルゴリズムを用いて学習することができる。推定および学習のために、次の式(103)の、スタイル変数およびトニック変数の事後確率を計算する必要がある。これは、隠れマルコフモデルに適用されるフォアワード・バックワードアルゴリズムを用いて計算することができる。
Figure 0007371962000045
また、原曲が、途中でスタイルまたはトニックなどが変わる場合は、自動音楽生成装置1は、原曲をサンプリング法によって編曲すればよい。サンプリング法によると、部分(例えば、小節)ごとに最も類似するメロディーを採用するので、原曲の変化に応じて原曲を編曲することができる。
本実施形態では、学習済モデルを生成する際に、マルコフモデルをベースとした移調対称性を持つ混合時系列生成モデルを用いたが、移調対称性の導入、混合モデルによるスタイル、およびトニックの自由度を持たせたモデルであれば、マルコフモデル以外の時系列生成モデルを用いてもよい。つまり、記号列Y=(y1,…,yI)の生成確率P(Y)を与える生成モデルであり、生成確率の計算、系列データからのモデルパラメータの学習、およびサンプリングによる系列の生成ができるモデルであれば、上記の定式化により移調対称性を持った混合モデルを構成し、学習および生成(推論)が可能である。このような生成モ
デルの例として、音楽情報学および計算言語学などで広く用いられるモデル、例えば、高次のマルコフモデルおよび可変次マルコフモデル、隠れマルコフモデル、確率的文脈自由文法モデル、長短期記憶(long short-term memory; LSTM)ネットワークを含む再起型ニューラルネットワーク(recurrent neural network; RNN)、変分自己符号化器(variationalautoencoder; VAE)および敵対的生成ネットワーク(Generative Adversarial Network; GAN)に基づく生成モデルなどが挙げられる。
本実施形態では、音符の時間的な要素を拍節位置によって表わしたが長さで表わしてもよい。
本実施形態では、音高と発音時刻の系列として表されるメロディーあるいは単旋律の楽曲を学習に用いるデータおよび生成する対象として用いたが、記号列として表されるデータであればこれ以外の形式の音楽データを用いてもよい。このような音楽データの例として、コード進行、ドラム楽譜、ギターやピアノなど多声部を含む楽曲、および複数の楽器または声部からなる合奏曲の形式のデータなどが挙げられる。
本実施形態では、自動音楽生成装置1を1台のコンピュータによって実現する場合を例に説明したが、複数のコンピュータによって実現してもよい。例えば、メインモジュール20、作曲モジュール21、編曲モジュール25のそれぞれを別々のコンピュータによって実行してもよい。または、メインモジュール20、作曲モジュール21の学習フェーズ、作曲モジュール21の推論フェーズ、編曲モジュール25の学習フェーズ、および編曲モジュール25の推論フェーズのそれぞれを別々のコンピュータによって実行してもよい。
その他、自動音楽生成装置1の全体または各部の構成、処理の内容、処理の順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
1 自動音楽生成装置(音楽モデル生成システム、編曲システム)
212 初期化処理部(初期処理手段)
214 事後確率算出部(出現確率算出手段)
215 パラメータ更新部(調整手段)
216 収束判定部(判定手段)
217 スタイルモデル記憶部(記憶手段)
218 音符決定部(作曲手段)
251 初期化処理部(編集モデル生成手段)
252 事後確率算出部(編集モデル生成手段)
253 パラメータ更新部(編集モデル生成手段)
254 収束判定部(編集モデル生成手段)
257 候補楽曲生成部(メロディ生成手段)
258 最適候補選出部(類似度算出手段、選出手段、編曲手段)
61 モデル(仮モデル)
62 学習済モデル(音楽モデル)
65 学習済モデル(編集モデル)

Claims (9)

  1. 一のスタイルを有する対象メロディを第二のスタイルへ編曲する編曲システムであって、
    前記対象メロディの編曲として、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高くまたは所定の値以上であり、かつ、前記対象メロディと音符数が同じであるメロディを、動的計画法によって探索する探索手段、
    を有することを特徴とする編曲システム。
  2. 一のスタイルを有する対象メロディを第二のスタイルへ編曲する編曲システムであって、
    前記対象メロディと音符数が同じでありかつ前記第二のスタイルを有する複数のメロディのうちの、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高いものまたは所定の値以上のものを前記対象メロディの編曲として探索する探索手段、
    を有することを特徴とする編曲システム。
  3. 前記探索手段は、前記複数のメロディそれぞれの前記適切度を算出し、前記複数のメロディのうちの、前記適切度が最も高くまたは所定の値以上であるものを選出することによって、前記編曲を探索する、
    請求項2に記載の編曲システム。
  4. 一のスタイルを有する対象メロディを第二のスタイルへ編曲する編曲方法であって、
    前記対象メロディの編曲として、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高くまたは所定の値以上であり、かつ、前記対象メロディと音符数が同じであるメロディを、動的計画法によって探索する、
    ことを特徴とする編曲方法。
  5. 一のスタイルを有する対象メロディを第二のスタイルへ編曲する編曲方法であって、
    前記対象メロディと音符数が同じでありかつ前記第二のスタイルを有する複数のメロディのうちの、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高いものまたは所定の値以上のものを前記対象メロディの編曲として探索する、
    ことを特徴とする編曲方法。
  6. 前記複数のメロディそれぞれの前記適切度を算出し、前記複数のメロディのうちの、前記適切度が最も高くまたは所定の値以上であるものを選出することによって、前記編曲を探索する、
    請求項5に記載の編曲方法。
  7. 一のスタイルを有する対象メロディを第二のスタイルへ編曲するコンピュータに用いられるコンピュータプログラムであって、
    前記コンピュータに、
    前記対象メロディの編曲として、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高くまたは所定の値以上であり、かつ、前記対象メロディと音符数が同じであるメロディを、動的計画法によって探索する処理を実行させる、
    ことを特徴とするコンピュータプログラム。
  8. 一のスタイルを有する対象メロディを第二のスタイルへ編曲するコンピュータに用いられるコンピュータプログラムであって、
    前記コンピュータに、
    前記対象メロディと音符数が同じでありかつ前記第二のスタイルを有する複数のメロディのうちの、前記対象メロディとの類似度と前記第二のスタイルへの合致度とが反映された適切度が最も高いものまたは所定の値以上のものを前記対象メロディの編曲として探索する処理を実行させる、
    ことを特徴とするコンピュータプログラム。
  9. 前記処理は、前記複数のメロディそれぞれの前記適切度を算出し、前記複数のメロディのうちの、前記適切度が最も高くまたは所定の値以上であるものを選出することによって、前記編曲を探索する処理である、
    請求項8に記載のコンピュータプログラム。
JP2022041410A 2020-01-29 2022-03-16 編曲システム、編曲方法、およびコンピュータプログラム Active JP7371962B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022041410A JP7371962B2 (ja) 2020-01-29 2022-03-16 編曲システム、編曲方法、およびコンピュータプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020012430A JP7122010B2 (ja) 2020-01-29 2020-01-29 音楽モデル生成システム、自動作曲システム、音楽モデル生成方法、およびコンピュータプログラム
JP2022041410A JP7371962B2 (ja) 2020-01-29 2022-03-16 編曲システム、編曲方法、およびコンピュータプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020012430A Division JP7122010B2 (ja) 2020-01-29 2020-01-29 音楽モデル生成システム、自動作曲システム、音楽モデル生成方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2022088461A JP2022088461A (ja) 2022-06-14
JP7371962B2 true JP7371962B2 (ja) 2023-10-31

Family

ID=77174790

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020012430A Active JP7122010B2 (ja) 2020-01-29 2020-01-29 音楽モデル生成システム、自動作曲システム、音楽モデル生成方法、およびコンピュータプログラム
JP2022041410A Active JP7371962B2 (ja) 2020-01-29 2022-03-16 編曲システム、編曲方法、およびコンピュータプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020012430A Active JP7122010B2 (ja) 2020-01-29 2020-01-29 音楽モデル生成システム、自動作曲システム、音楽モデル生成方法、およびコンピュータプログラム

Country Status (1)

Country Link
JP (2) JP7122010B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090071315A1 (en) 2007-05-04 2009-03-19 Fortuna Joseph A Music analysis and generation method
JP2011118218A (ja) 2009-12-04 2011-06-16 Ryukoku Univ 自動編曲システム、および、自動編曲方法
WO2021106694A1 (ja) 2019-11-26 2021-06-03 ソニーグループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090071315A1 (en) 2007-05-04 2009-03-19 Fortuna Joseph A Music analysis and generation method
JP2011118218A (ja) 2009-12-04 2011-06-16 Ryukoku Univ 自動編曲システム、および、自動編曲方法
WO2021106694A1 (ja) 2019-11-26 2021-06-03 ソニーグループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
JP2021117434A (ja) 2021-08-10
JP7122010B2 (ja) 2022-08-19
JP2022088461A (ja) 2022-06-14

Similar Documents

Publication Publication Date Title
Hadjeres et al. Deepbach: a steerable model for bach chorales generation
Raczyński et al. Melody harmonization with interpolated probabilistic models
Lim et al. Chord generation from symbolic melody using BLSTM networks
Brunner et al. JamBot: Music theory aware chord based generation of polyphonic music with LSTMs
Benetos et al. Automatic music transcription: challenges and future directions
Lopez-Rincon et al. Algoritmic music composition based on artificial intelligence: A survey
Benetos et al. Automatic music transcription: Breaking the glass ceiling
US8494847B2 (en) Weighting factor learning system and audio recognition system
Paiement et al. A probabilistic model for chord progressions
Nakamura et al. Statistical piano reduction controlling performance difficulty
CN113010730A (zh) 音乐文件生成方法、装置、设备及存储介质
Ewert et al. A dynamic programming variant of non-negative matrix deconvolution for the transcription of struck string instruments
Maruo et al. A feedback framework for improved chord recognition based on NMF-based approximate note transcription
JP7371962B2 (ja) 編曲システム、編曲方法、およびコンピュータプログラム
Kim et al. Statistical approach to automatic expressive rendition of polyphonic piano music
CN116229922A (zh) 基于Bi-LSTM深度强化学习网络的鼓乐生成方法
Madhumani et al. Automatic neural lyrics and melody composition
JP2006201278A (ja) 楽曲の拍節構造の自動分析方法および装置、ならびにプログラムおよびこのプログラムを記録した記録媒体
Vincent et al. A roadmap towards versatile MIR
Martins et al. Similarity measures for rhythmic sequences
Tamás et al. Development of a music generator application based on artificial intelligence
Wallace et al. Comparing models for harmony prediction in an interactive audio looper
WO2022202297A1 (ja) 文章提供方法、プログラムおよび文章提供装置
Hiramatsu et al. Statistical Correction of Transcribed Melody Notes Based on Probabilistic Integration of a Music Language Model and a Transcription Error Model
JP5318042B2 (ja) 信号解析装置、信号解析方法及び信号解析プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230626

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231012

R150 Certificate of patent or registration of utility model

Ref document number: 7371962

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150