Comments
Description
Transcript
参考曲のコード情報解析に基づく旋律への自動コードネーム付与 システム
参考曲のコード情報解析に基づく旋律への自動コードネーム付与 システム Automatic Harmonization System with Chord Information Analysis on Given Pieces of Music 情報工学専攻 千布 佳菜子 Kanako CHIBU 要約: 与えられたメロディに対して, コードネームを付与す る場合に, コードを一意に定めず, ユーザが事前に入力した参 考曲のメロディに付与されているコードを学習し, その統計 結果に基づいてコードを決定する, 旋律への自動コードネー ム付与システムを作成した. キーワード: コードネーム付与 1 背景 システムの概要 4 本システムは, 参考曲の集合から参考曲の傾向を解析 する部分と, その学習結果に基づいてコードを生成する 部分とに分かれる. 実際にはこれに加えて細かな修正 が必要となる場合もあるが, これは本システムの範囲 外とする. 本システムの流れは以下の図 1 のとおりで ある. メロディにコードを付与する既存の研究では, コード を1つに定めるものが多いが, 1つのメロディに適合す るコード進行は1通りではなく多数考えられることが 多い. そのため, コードを1つに定めるようなシステム では正しいコード進行となっていても, ユーザの理想と するようなコードではない可能性がある. また, 曲を編曲するにあたって, コードを変化させ ることは曲調に大きな影響を与えることができるため, ユーザの理想に近いコード進行にすることで, 編曲する 際の曲調の制御ができると考えられる. 2 ユーザの入力した複数の参考曲のコード進行を学習 した上で, その結果を反映させたコードネームを付与す るシステムを作成する. 3 図1 目的 コンピュータによるメロディへのコード 付け コンピュータによるメロディへのコード付けでは, 決 められたルールに従う方法 [1], 多数の曲からとった統 計に従う方法 [2] などがある. それらの多くはメロディ の情報によって, 多数のコードの中から最適なコードを 1つのみに決めなければならなかった. しかし, 膨大な 数のコードから1つのコードを選択すること自体が難 しく, 精度をあげることが困難であった. そこで本研究では, 全ての曲には基本的なコードがつ いており, それを元に編曲され, 多様なコードが付与さ れているというモデルを設定した.そこで, メロディに コードをつけるにあたって, まず音楽理論上分類できる 最低限の数の少数の基本的なコードから最適なものを 選択した後, 多様なコードへと変化させることとする. また, 本研究ではこの音楽理論上分類できる最低限の 数の基本的なコードを基本コードと呼ぶこととする. 4.1 システムの流れ コード付与パラメータの作成 システムの 1 段階目であるコード付与パラメータの 解析・抽出について述べる. 編曲したい曲のメロディに コードネームをつけるにあたって用いるパラメータを 作成する. 手順は, 以下 1 から 5 である: 1. コードのついた状態の理想とする曲風の曲のメロ ディとコードネームを複数曲入力する. ここでこ の入力した理想とする曲風の曲を参考曲と呼ぶこ ととする. 2. 参考曲のメロディに着目し, 基本コードをつける. このとき, 参考曲の元のコードは考慮しない. 3. 2 でつけた基本コードと参考曲の元コードをそれ ぞれ, 1 小節から 4 小節程度の任意の単位で区切 る. ここでこの区切った単位をコードブロックと 呼ぶこととする. 4. 基本コードと参考曲の元コードをコードブロック ごとに関連付ける. 5. 全ての参考曲に対し, 2∼4 を行い, 基本コードの コードブロックがそれぞれどの参考曲の元コード のコードブロックと関連付けられたかを記憶する. また, 同様のコード進行の参考曲の元コードと複 数回関連付けられた場合, その回数も記憶する. こ れを入力した参考曲から抽出・学習したパラメー タとする. また, この情報をコード付与パラメータ と呼ぶこととする. 4.2 メロディへのコードネーム付与 システムの 2 段階目であるコード付与アルゴリズム について述べる. コード付与パラメータを用い, 入力さ れたメロディのコードネームを決定する. 手順は, 以下 1 から 3 である: 1. 与えられたメロディにコード付与パラメータを抽 出した際と同様に, 基本コードをつける. 2. 1 でつけた基本コードを参考曲からコード付与パ ラメータを抽出した際と同じ単位で区切り, コー ドブロックに分割する. を決定する. また, 基本コードの種類を変更・拡充する ことも考えられるがここではダイアトニックコードで ある上記表 1 の 3 種, もしくは表 1 の 3 種に加えて,3 種の代理コードとして考えられるコードと他の分類と して考えられる 2 種を, 表 2 のとおりに追加した 5 種を 基本コードとして固定した. 基本コードの付与方法は多数考えられるが, 今回, 基 本コードを付与するにあたっては, 基本コードを 3 種 類にする場合は表 1, 5 種にする場合は表 1, 表 2 に従っ て, それぞれのコードの構成音に当てはまる音の長さを カウントし, 任意の区間の合計の長さが最も長い分類を その区間の基本コードとした. 例えば, 下記の図 2 のようなメロディに, 基本コード を 3 種類とし, 1 小節に 1 つの基本コードを付与すると する. 3. 2 のコードブロックごとに, コード付与パラメータ を適用し, 基本コードから参考曲のコードを反映 したコードへ変換する. 4.3 基本コードの付与 本研究で考える基本コードは, トニック, ドミナント, サブドミナントの 3 種類, もしくはさらにサブドミナ ントマイナー, ドッペルドミナントを加えた 5 種類とす る. 対応するコード, それぞれの分類は以下の表 1, 表 2 に従う. 基本コードを付与する際にはメロディの情報のみか らコードを決定する. ここで基本コードの種類は音楽 理論上分類できる最低限の数が望ましいと考える. 基 本コードの種類が多すぎると 1 つのコードに決定する ことが困難になる. さらに, コードブロックに分割した 際に, 基本コードのコード進行のパターンが多数できて しまうため, 多様なコード付けを行うためには, より多 くの参考曲を入力しなければ, 結果に反映できなくなっ てしまうと考えられるからである. 表 1 ダイアトニックコードにおける基本コードの分類 分類 対応するコード トニック(T) IM7 , IIIm7 , VIm7 ドミナント(D) V7 , VII−5 m7 サブドミナント(SD) IIm7 , IVM7 図2 メロディの例 4 分音符の長さを 480 とし, 図 2 の 1 音ずつをそれぞ れの基本コードにあてはめると以下の表 3 のとおりに なる. 表 3 それぞれの音に当てはまるコード, 分類 音 C E G 長さ 240 240 480 当てはまる CM7 , Dm7 CM7 , Em7 CM7 , Em7 , コード FM7 , Am7 FM7 , Am7 G7 , Am7 分類 T, SD T, SD T, D E 480 CM7 , Em7 , FM7 , Am7 T, SD C 480 CM7 , Dm7 FM7 , Am7 T, SD よって, 表 2 基本コードを 5 種類にする場合の追加コードの 分類 分類 対応するコード −5 トニック(T) III−5 m7 , IV]m7 , I7 ドミナント(D) II[7 , VIIdim サブドミナント(SD) VII[M7 , IV7 サブドミナント II[, II−5 m7 , IVm , マイナー(SDm) VI[, VI[7 , VII[7 ドッペルドミナント(DD) II7 基本コードを付与する際には, 1 拍, 2 拍等, 任意の区 間の構成音から数種類の基本コードのうち最適なもの T = 240 × 2 + 480 × 3 = 1920 SD = 240 × 2 + 480 × 2 = 1440 D = 480 × 1 = 480 となるため, 値の一番大きいトニックがこの区間の基 本コードとなる. 5 参考曲の元コードと基本コードの対応付け コード付与パラメータを作成する際に参考曲の元コー ドと基本コードとの対応付けを行う. 基本コードと参考 曲の元コードの同じメロディに対するコードブロック を図 3 のように対応付ける. 図5 6 実験 6.1 図3 5.1 関連付けの方法 コード付与パラメータの適用 コード付与パラメータの適用方法は多数考えられる. 今回は以下の二つの方法でパラメータを適用すること とする. 5.1.1 最も確率の高いコードを適用する場合 任意の区間の基本コードのパターンごとに, 結び付け られる参考曲の元のコードのパターンをカウントする. その後, もっとも出現回数の多かった参考曲の元コード のパターンを編曲したい曲のメロディに適用する. 出現確率によりパラメータを適用する場合 実験方法 多数の曲が収録された編集者の違う 2 つの曲集の中 から, それぞれ 20 曲を選択して参考曲として採用した. それらをデータセット 1 とデータセット 2 とする. デー タセット 1 は比較的単純なコードが付いており, データ セット 2 はデータセット 1 と比較して複雑なコードが 付いている. データセット 1, データセット 2 をプログ ラムに入力し, 2 種類のコードネーム付与パラメータを 抽出した. その後, 編曲したい曲のメロディを入力し, それぞれのコード付与パラメータを適用した際の結果 を比較した. また, 今回の実験では Java 言語を用いて実装を行い, コードブロックは 2 小節に固定とし, 基本コードは上記 のとおり 3 種類もしくは 5 種類とした. 6.2 実験結果 最も出現回数の多いコードを適用した場合と出現確 率によりパラメータを適用した場合の結果は以下の図 6 から図 11 になった. 適切なコードが付与される箇所もあるが, 明らかに適 さないコードが付与される箇所もある. 最も出現回数 の多いコードを適用した結果と比較して, 出現確率によ るパラメータを適用した結果は適さないコードがつく ことが多いが, 多様なコード進行が適用されている. 6.2.1 図4 基本コードが 3 種類の場合 最も確率の高いコードを適用する場合 5.1.2 出現確率によりパラメータを適用する場合 最も確率の高いコードを適用する場合と同様に, 参考 曲の元のコードのパターンをカウントし, それぞれの 参考曲の元のコードのパターンごとに基本コードのパ ターンに対して確率を出す. その後, 確率に従って参考 曲の元コードのパターンを編曲したい曲のメロディに 適用する. 図 6 最も出現回数の多いコードを適用した結果の例 1 図 7 出現確率によりパラメータを適用した結果の例 1 図 11 基本コードを 5 種類にし, 出現確率によりパラ メータを適用した結果の例 2 7 図 8 最も出現回数の多いコードを適用した結果の例 2 図 9 出現確率によりパラメータを適用した結果の例 2 6.2.2 基本コードが 5 種類の場合 まとめと今後の課題 ユーザの理想とする曲風の多数の参考曲からパラメー タを抽出することで, ユーザの理想に近いコードネーム をメロディへ付与することができた. しかし, 本システ ムは対応していないコードネームがあること, 基本コー ドを 3 種類, もしくは 5 種類に固定したこと, コードブ ロックの単位を固定したことにより, 結果として適さな いコードネームが付与されてしまうことがあった. よっ て, 上記 3 点をより適切に調整することが必要である. また, 出現確率によりパラメータを適用した結果で は, 明らかに適していないコードが付与されることが あったが, 適していないコードの修正を行うことにより, 多様なコードが付与することができる. また, 複数の結 果の中からユーザが結果を選択することで, より理想 に近いコード進行をメロディに付与することができる. よって, 適切なコードをつける点では, 最も出現回数の 多いコードを適用した結果が優れているが, ユーザの 理想とするコードをつける点では出現確率によりパラ メータを適用した結果が優れていると考えられる. さらに, 今回の手法では, 基本コードを 5 種類にした 場合, 基本コードを 3 種類にした場合よりも良い結果 を得ることはできなかった. 基本コードを 5 種類にし たことを活かすためには基本コードの付与の方法を改 善する必要がある. また, より自然なコードネームを付与するために, 本 システムの処理の後, コードネームをチェックし, 適切 でないコードを修正する処理を追加する必要がある. 参考文献 [1] 三浦雅展・青山容子・谷口光・青井昭博・尾花充・柳田益三, “ ポップス系旋律に対する和声付与システム:AMOR”, 情報処理 学会論文誌, 2005 年 5 月, pp.1178-1187. [2] 川上隆・中井満・下平博・嵯峨山茂樹, “隠れマルコフモデルを 用いた旋律への自動和声付け”, 音楽情報技術, 1999 年 2 月, pp.59-66. 図 10 基本コードを 5 種類にし, 最も出現回数の多い コードを適用した結果の例 2 [3] 江村伯夫, 三浦雅展, 柳田益造, “与えられた旋律に対するコー ドネーム付与システムと, テンションノートを考慮したヴォイ シング・システムの統合”, 音楽音響研究会資料, 2007 年 8 月, pp.59-62. [4] ヤマハ音楽振興会, “エレクトーンメロディーズベストセレクショ ン VOL.1”, ヤマハミュージックメディア, 2003 年 8 月. [5] ヤマハ音楽振興会, “エレクトーンメロディーズベストセレクショ ン VOL.2”, ヤマハミュージックメディア, 2007 年 10 月. [6] 伊藤 伸吾, “スタンダードジャズハンドブック”, 中央アート, 2006 年 7 月.