東海地区

教育システム情報学会 2020年度学生研究発表会

コード進行推薦による作曲支援アプリケーション試作の試み
An Attempt to Develop an Application to Support Music Composition
with Recommendation of Chord Progression
朴 成翼*1, 宮崎 佳典*2
Seongik BAK*1, Yoshinori MIYAZAKI*2*1 静岡大学 情報学部
*1Faculty of Informatics, Shizuoka University*2 静岡大学学術院 情報学領域*2College of Informatics, Shizuoka University
Email: bak.seongik.17@shizuoka.ac.jp
あらまし：作曲の初心者にとってはメロディーとリズムの生成は比較的簡単であるが，そこにハーモニー（以後， コード）を付すには相当量の知識が必要となる．これに対し，我々は現存する楽曲のコード進
行データを用い，コードを推薦することで作曲をサポートするアプリケーション開発に取り組んでいる．
本発表では，コード推薦のための具体的なアルゴリズムについて考究し，その有効性を検証するために行った実験そして分析結果について考察する．
キーワード：作曲，コード進行，推薦アルゴリズム

1.

はじめに音楽は人の心と体に様々な影響を及ぼす．緊張緩
和やストレスの解消は勿論，合唱や合奏など共同で協調する行為による社会性の向上，芸術活動としての美的感動体験など様々な効果が得られることが知られている（1）．作曲し，その曲を聴いたり聴かせた
りする行為を通じて上記のような様々な効果を享受できると考え，初心者を含め多くの人が比較的簡単に楽しく音楽を作ることができる方法について考究した．曲を作るにはメロディー（単音を軸とした音の時間方向の動き），リズム（一定の間隔で刻んだ音），ハーモニー（和声．多数の異なる音程の音が同時に鳴ることで起こる現象）の 3 要素が必要であり（2）(3)，
本稿では上記の 3 要素の中で特にハーモニーに関するコードを主に扱う．コードとはハーモニーを起こす 3 つ以上の音の塊である．作曲初心者にとってはメロディーとリズムは比較的簡単に作ることできるかもしれないが，そこにコードをつけるにはある程度の知識が必要となるため，コードは初心者が曲を作るとき直面する初めての難関とも言える．
そこで我々はそのような問題を抱えている作曲初心者にコード進行を推薦することで作曲を支援するアプリケーションを開発している．コード進行推薦の関連研究としては，Google Scholar その他 Web で「chord progression」,「sequences of chords」,「music chord sequence」,「harmonic progression」,「composition support progression chord」,「コード進行」,「和声進行」等のキーワードで検索した
結果，ヒットしたもののうち多くが自動楽曲生成であり，推薦システムはほとんど見当たらなかった．
類似研究としてマイニングによる和声進行提示システムが見つかった（4）が，同システムではコードを自ら入力する必要があり，コードの弾き方が分からない初心者にとっては難しいと思われる．他にも市販

105の類似製品として「Captain Chords」，「Scaler」等のプラグインが存在するが，スケールから派生する様々なコードを提示するだけであり，以降ユーザ自身が自分の知識と経験を利用してコード進行を作らなければならない．対して本アプリケーションでは実際の楽曲で使われたコード進行のデータに基づいてコード推薦を行うため，ユーザは専門知識が欠如していても推薦されたコードから選ぶことで簡単にコード進行を作成可能である．

2.

アプリケーションの概要

アプリケーション本体の動作を説明する前にコード進行データベースについて説明する．同データベースには約 200 曲程度の楽曲の楽曲名・アーティスト名・ジャンル・コード進行のデータを今回準備した．次に本アプリケーションの基本的な動作を図 1に示す．プログラム起動と共に初期設定が行われ，データ更新があった場合は検証作業(A)を行う．これはコードの推薦にあたり適用アルゴリズムを決定する作業である．コード進行データベースはコードから別コードに進行する回数をコードごとに有しており，コード進行において主に用いるダイアトニック・ダイアトニックセブンスのコード（5）を主要コードと位置付ける．各主要コードから別コードに進行する
データベース上のインスタンスが全主要コードに対して 10 以上ある場合は多重推定アルゴリズムを適用し，満たさなければ単純推定を適用する．検証作
業の結果は config ファイルに記録される(B)．デー
タの更新がなかった場合は，検証作業を行わず(C)にconfig ファイルより適用するアルゴリズムを読み取る(D)．適用アルゴリズムが決まった後ユーザ操作部に入る．ユーザはスケールを選び，そのスケールのダイアトニックコードから最初のコードを 1 つ選択する(E)．最初のコードを選択すると，次のコードからは(D)で読み取ったアルゴリズムを適用し推薦東海地区

教育システム情報学会 2020年度学生研究発表会を行う(F)．ユーザは推薦されたコード群からコードを選択し，継続あるいは終了することができる(G)．

図 2 に多重推定の実行例を示す．単純推定の拡張版である多重推定は実際の楽曲のコード進行そのものとマッチするコードを推薦するため安定的なコード進行を作ることが期待される．

4.

実験

単純推定と多重推定の間でより自然な楽曲が生成される元になったコード進行の推薦アルゴリズムを確認するためにパイロット実験を実行した．某大学の大学（院）生 7 名を対象に単純ならびに多重推定によって作られたコード進行の音源 5 つずつ（計 10つ）に対し，より聞きやすい音源 5 つを選んでもらった．得られた実験結果を以下の表 1 に示す．
表 1：パイロット実験結果
1 2 3 41 2 1 14 3 4 4

実験協力者 ID
単純推定の音源を選んだ数
多重推定の音源を選んだ数

6
14723

上記の実験結果をもとに両者間の結果に統計的な有意差があるかを T 検定とχ2 検定を用いて検証した．T 検定は，Ｆ検定を行ったのち等分散性を確認し，対応のない T 検定を適用した．得られた P 値は
T 検定で P=0.0000072<0.001（0.1%有意水準），χ2 検定で P=0.011<0.05（5%有意水準）であり，多重推定で作られたコード進行の方を好む傾向が認められた．

図 1： アプリケーションの動作アルゴリズム

3.

5
2
3

推薦アルゴリズム

5.

まとめ

本稿では，現在開発中のコード進行推薦アプリケーションの動作の流れと推薦アルゴリズムについて述べた．また実験の結果，単純推定より多重推定の方がより曲として自然なコード進行を推薦できることを統計的に検証することができた．現段階ではコード推薦に加えメロディーの要素も加えたコード進行推薦にも着手している（具体的には MIDI 信号によるメロディーの入力から使用されるコードを推測し，既存のコード進行推薦に反映するアルゴリズム生成を終え，これから実装の予定）．最終的にはリズムを含めた音楽 3 要素に対するコード進行推薦を目指す．
図 2： 多重推定による推薦アルゴリズム
ここでは 2 つの推薦アルゴリズムである単純推定と多重推定について説明する．単純推定は，直前のコードだけを対象としてコードを推薦する．コードを選択するとコード進行データベースから次に来るコードの出現頻度が記載されているデータを読み込み，出現回数が 1 回でもあるコードを全て推薦する．
多重推定は作成されたコード進行についてデータベースからそのコード進行が存在するかをコード進行の最初から確認してゆき，後続のコードが見つからなくなったところで探索を中止する．その時点のコードをコード進行の最初のコードと仮定し，そのコードから再探索していく．作成された最終コードまで探索が終わった所で継続のコードを推薦する．

106

参考文献
(１) 谷口高士，“音楽を聴くということの心理的意味を考える : 心理学からのアプローチ”，日本音響学会誌
62(9)，pp. 682-687 (2006)(２) 川村誠護，寺田英雄，庄野逸，“音楽の三要素からの生成モデルアプローチによる音楽生成手法の提案”，情報処理学会第 79 回全国大会，pp. 117-118 (2017)(３) 野口義修， 多田鏡子“楽しく覚える楽譜の読み方入門―音符・リズム・メロディー・ハーモニーが基本からわかる”，日本文芸社，(1996)(４) 篠原透，大野将樹，沼尾雅之，“作曲支援のためのマイニングによる和声進行提示システムの提案”，情報処理学会第 75 回全国大会，pp. 285-286 (2013)(５) 彦坂恭人“実践! 作曲・アレンジに活かすためのポピュラー和声学”，自由現代社，(2016)