---
title: 音楽の知識表現：自動作編曲への応用
tags: 
author: [Kitahara Lab](https://convert.docswell.com/user/kthrlab)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/PERWDV1LJ9.jpg?width=480
description: 2019年8月の人工知能学会知識ベースシステム（ＫＢＳ）研究会で行った招待講演で使用したスライドです。
published: September 30, 24
canonical: https://convert.docswell.com/s/kthrlab/Z22M81-kbs-2019-kitahara
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/PERWDV1LJ9.jpg)

音楽の知識表現：
自動作編曲への応用
日本大学 文理学部 情報科学科
北原 鉄朗
Twitter: @tetsurokitahara


# Page. 2

![Page Image](https://bcdn.docswell.com/page/P7XP1ZG6JX.jpg)

自己紹介
●
2002年3月：
– 東京理科大学 理工学部 情報科学科 卒業
●
2002年4月～2007年3月：
– 京都大学 大学院 情報学研究科
– 指導教員： 奥乃 博教授 （後藤 真孝氏（産総研））
●
2007年4月～2010年3月：
– 関西学院大学 博士研究員
– 研究代表者： 片寄 晴弘 教授
●
2010年4月～現在：
– 日本大学 文理学部 専任講師→准教授
一貫して 音楽情報処理 の研究に従事


# Page. 3

![Page Image](https://bcdn.docswell.com/page/37KD284GED.jpg)

「音楽情報処理」とは
音楽とコンピュータが関わる全てを対象とする研究分野
オーディオ対象
音楽推薦
音楽情報検索
応用
寄り
MIDI対象
ジャムセッション
システム
能動的
音楽鑑賞
自動伴奏
N次創作支援
自動伴奏
自動採譜
類似度計算
ピッチ抽出
楽器練習支援
カラオケ
生成
新音楽I/F
歌声合成
演奏表情付け
楽音合成
基礎
寄り
演奏分析
作曲支援
BGM生成
自動作曲
旋律予測
楽曲分析


# Page. 4

![Page Image](https://bcdn.docswell.com/page/LJ3R42L5E5.jpg)

研究テーマ例（私の研究室の場合）
音楽を聴く人を助けたい
演奏する人を助けたい
複数人が同じBGMを
ピアノ初見支援
MIDIギターの
精度向上
聴く場面の楽曲推薦 演奏時の筋活動の分析
歌う人を助けたい
カラオケを盛り上げる
スマートタンバリン
ハモリ練習支援
音痴な人の分析
作曲する人を助けたい
旋律概形による作曲
ループシーケンサ
マッシュアップの
ための選曲支援
四声体和声の
自動生成
ベーシストの
特徴分析
etc
土台となる技術
HCI
音響信号処理
機械学習


# Page. 5

![Page Image](https://bcdn.docswell.com/page/8JDYQZNYJG.jpg)

音楽と情報科学/ITの関わり
音楽活動のための
ツールとしてのIT
シンセサイザー、
エレクトーンなど
情報科学研究の
題材としての音楽
人工知能、
知識情報処理
情報検索、
推薦システム
DTM、DAW
HCI


# Page. 6

![Page Image](https://bcdn.docswell.com/page/VEP6LD5278.jpg)

今日のAgenda
音楽のデータ表現
音楽の法則の知識表現
応用


# Page. 7

![Page Image](https://bcdn.docswell.com/page/27V3Q1PXJQ.jpg)

音楽のデータ表現


# Page. 8

![Page Image](https://bcdn.docswell.com/page/5JG3W2PREL.jpg)

音楽のデータ表現
コード（chord）
C
C
D/F
G
コード認識
楽譜（score）
自動採譜（後段）
ピアノロール
（piano-roll）
自動採譜（前段）
スペクトログラム
（spectrogram）
周波数分析
（フーリエ変換など）
波形（waveform）


# Page. 9

![Page Image](https://bcdn.docswell.com/page/47Q53P2YEP.jpg)

波形 vs スペクトログラム
波形
●
●
●
●
スペクトログラム
時間領域の表現
周波数に関することは
読み取れない
音楽的な内容・特徴を
読み取るのはほぼ無理
アナログ信号に対して
標本化・量子化を行う
ことで得られる
●
●
●
時間・周波数表現
倍音の存在により、
複数音が重なった時の
読み取りは困難
波形に対して
短時間フーリエ変換を
繰り返すことで得られる


# Page. 10

![Page Image](https://bcdn.docswell.com/page/KE491YLZJ1.jpg)

スペクトログラム vs ピアノロール
スペクトログラム
●
●
●
ピアノロール
時間・周波数表現
信号処理のみで得られる
（パターン認識 不必要）
倍音がそのまま表示
●
●
●
時間・音高平面上の
記号的表現
「音符」の集合
音符::=
(発音時刻, 音高, 音長)
音色は読み取れない


# Page. 11

![Page Image](https://bcdn.docswell.com/page/L71KG6LDEG.jpg)

ピアノロール vs 楽譜
ピアノロール
楽譜
●
●
●
発音時刻や音長は、実際
の演奏に基づいて表示
●
楽器演奏の記録方式で
であるMIDIの視覚表現
●
発音時刻や音長は、実際
の演奏とは異なる
音長などの細かな特徴は
指示記号として表現
演奏者に対する指示で、
解釈の余地がある


# Page. 12

![Page Image](https://bcdn.docswell.com/page/G7WDKWV8E2.jpg)

楽譜 vs コード表記
楽譜
コード表記
C C D/F G
●
具体的な演奏内容を指示
●
●
●
コード名で表記された
コードをどう演奏するか
演奏者が考える
ヴォイシングの違い
（ド・ミ・ソ vs ド・ソ・ミ）
は表現されない
楽器間の互換性は高い


# Page. 13

![Page Image](https://bcdn.docswell.com/page/4JZGZ54973.jpg)

なぜ、音楽は計算機利用が盛んか
記号的表現（楽譜、ピアノロール、コード名）の確立
その土台となっているのが「離散性」
音の
高さ
262Hz
277Hz
293Hz
311Hz
329Hz
・・・・・・
ド
音の
長さ
ド#
レ
レ#
ミ
0.25秒
0.5秒
1秒
0.125秒
2秒
（テンポ=120の場合）


# Page. 14

![Page Image](https://bcdn.docswell.com/page/YE6YZ93DJV.jpg)

なぜ離散的な値しか使わないのか
（音の高さの場合）
1つに聞こえる音も、実はいくつもの音が重なってできている
振幅
440Hz（ラ）の音
基本周波数
同時に鳴らすと・・・
周波数
振幅
660Hz（ミ）の音
振幅
紫の部分が重なる
基本周波数
周波数
周波数


# Page. 15

![Page Image](https://bcdn.docswell.com/page/GE5GWNL8E4.jpg)

もしも、片方の周波数がずれていたら・・・
振
幅
440Hz（ラ）の音
基本周波数
同時に鳴らすと・・・
うなりの原因になる
周波数
振
幅
振
幅
620Hz（ミ♭）の音
基本周波数
周波数
周波数
基本周波数が 2:3 とか 3:4 だと「うなり」が起きない


# Page. 16

![Page Image](https://bcdn.docswell.com/page/972YQ5LV7R.jpg)

周波数を選んでみよう
2つの音の周波数比が次のようになるように周波数を選ぼう
ド:ソ=2:3
ソ:レ=2:3
ファ : ド = 2 : 3
ド:ミ=4:5
ソ:シ=4:5
ファ : ラ = 4 : 5
× 3/2
× 3/2
× 5/4
× 5/4
ド
264Hz
× 5/4
レ
ミ ファ
ソ
ラ
シ ド
レ
330Hz
396Hz
495Hz
594Hz
440Hz
297Hz
352Hz
528Hz
÷2
×2
× 2/3
※ 実際の周波数は少し異なる場合がある


# Page. 17

![Page Image](https://bcdn.docswell.com/page/DJYGWKQQJM.jpg)

純正律と平均律
純正律
周波数比に基づいて決めたドレミと周波数の関係
× 3/2
× 5/4
× 5/4
ド
レ
× 3/2
× 5/4
ソ× 2/3 ラ
ミ ファ
シ
ド
レ
※隣同士の周波数比が一定にならない
平均律
隣同士の周波数比が一定になるように決めた
ドレミと周波数の関係
× 12√2 ・・・・・・
ド
ド# レ レ# ミ
（レ♭）
（ミ♭）
ファ ファ# ソ ソ# ラ ラ# シ
（ソ♭）
（ラ♭）
（シ♭）
ド ド# レ
（レ♭）


# Page. 18

![Page Image](https://bcdn.docswell.com/page/V7NG9RK2E8.jpg)

このように、周波数軸を離散化することで、
離散的なモデルを使うことができる
以降、離散化された（記号的な）表現
（特に、楽譜、コード名）を前提に話を進める


# Page. 19

![Page Image](https://bcdn.docswell.com/page/YJ9W2MVDJ3.jpg)

音楽の法則の知識表現


# Page. 20

![Page Image](https://bcdn.docswell.com/page/GJ8N5LP5ED.jpg)

音階 （スケール）
ある楽曲において、主に使う音高を集めたもの
半音階
{ド, ド#, レ, レ#, ミ, ファ, ファ#, ソ, ソ#, ラ, ラ#, シ}
長音階
{ド, レ, ミ, ファ, ソ, ラ, シ} （ハ長調）
短音階
{ド, レ♭, ミ♭, ファ, ソ, ラ♭, シ♭} （ハ短調）
♭
♭ ♭


# Page. 21

![Page Image](https://bcdn.docswell.com/page/LJLPYL13ER.jpg)

長音階・短音階をunigramで表す
●
ハ長調の楽曲は、主に {ド, レ, ミ, ファ, ソ, ラ, シ} が
使われるが、それらだけが使われるわけではない。
その傾向を確率モデル (unigram) で表す
ハ長調の楽曲（約250曲）のunigram
０.25
このunigramに沿ってメロディを
０
ド
レ
ミ ファ
ソ
ラ
シ
生成すれば、ハ長調っぽくなる?


# Page. 22

![Page Image](https://bcdn.docswell.com/page/47M4NMWMEW.jpg)

その他の音階
五音階（ペンタトニックスケール）
●
長音階・短音階から5つの音を選んだ音階
●
【例】沖縄音階
{ド, ミ, ファ, ソ, シ}（ハ長調の場合）
０.2
ブルーススケール
●
ブルースで使われる音階
●
{ド, レ, ミ♭, ミ, ファ ,
ソ♭, ソ, ラ, シ♭, シ}
０
ド
レ
ミ ファ
ソ
ラ
シ


# Page. 23

![Page Image](https://bcdn.docswell.com/page/P7RWDVYLE9.jpg)

音高の遷移をN-gramで表す
順次進行に比べて跳躍進行は頻度が低い
●
特に跳躍進行が連続することは滅多にない
●
順次進行
音高の遷移でbigramでモデル化
from
to
ド
レ
跳躍進行
ミ
ファ
ソ
ラ
シ
ド
レ
ミ ファ
ソ
ラ
シ


# Page. 24

![Page Image](https://bcdn.docswell.com/page/PJXP1Z46EX.jpg)

和音（コード）
ハ長調の音階の各音高に2つ上（3度上）の音を乗せて、
さらにその2つ上の音を乗せて和音を作る
和音の遷移の傾向を
オートマトンで書く
Dominant(D)
Tonic(T) Sub-dominant(S)
和音の遷移の傾向
T (→ S) → D → T
（ブルースなどだとちょっと違う場合もある）
S
T
D


# Page. 25

![Page Image](https://bcdn.docswell.com/page/3JKD28ZG7D.jpg)

※ブルース
の場合
コードの遷移をN-gramで表す
直前のコードがCの場合
コードの出現確率
0.2
0.5
0.18
0.45
0.16
0.4
0.14
0.35
0.12
0.3
0.1
0.25
0.08
0.2
0.06
0.15
0.04
0.1
0.02
0.05
0
0
C
Db
D
Eb
E
F
Gb
G
Ab
A
Bb
B
直前のコードがFの場合
C
0.7
0.3
0.6
0.25
0.5
0.2
0.4
0.15
0.3
0.1
0.2
0.05
0.1
0
0
Db
D
Eb
E
F
Gb
G
D
Eb
E
F
Gb
G
Ab
A
Bb
B
Ab
A
Bb
B
直前のコードがGの場合
0.35
C
Db
Ab
A
Bb
B
C
Db
D
Eb
E
F
Gb
G


# Page. 26

![Page Image](https://bcdn.docswell.com/page/LE3R42D575.jpg)

メロディとコードの関係をHMMで表す
C
C
Dm
G
隠れ
状態
C
C
Dm
G
観測
記号
ド
●
●
●
ド
ド
ミ
レ
ド
レ
ミ
レ
メロディの背後にはコードがあり、これを隠れ状態とする
メロディの各音高は、コード（＝隠れ状態）に依存した
確率分布に従って出力されると考える
観測記号からの隠れ状態の推定で、和声付けができる


# Page. 27

![Page Image](https://bcdn.docswell.com/page/8EDYQZPYEG.jpg)

コード進行をPCFGで表す
言語と同様、コード進行は文脈自由文法で書ける
例1
H→T
● T → T T
● T → D T
● T → C
● D → G
●
この文法で扱える
コード進行の例：
「C G C」
例2
H→T
● T → T T
● T → D T
● T → T S
●
T→C
● D → G
● S → F
●
この文法で扱えるコード進行の例：
「C G C」「C F G C」
「C F C G C」
通常は、非決定的なので確率化したPCFGを用いる


# Page. 28

![Page Image](https://bcdn.docswell.com/page/V7P6LDN2J8.jpg)

PCFGにメロディも追加する [諸岡 他, 音響学会 2007]
導出規則にメロディの音高も入れると、
コード進行からメロディが生まれる過程を書ける
例
H→T
● T → T T
● T → D T
● T → C
● D → G
●
H
C→ド
● C → ミ
● G → レ
●
ド→ド レ
●
ミ → ミ ファ
●
この文法は「ド レ ミ ファ」という
メロディを受理でき、対応する
コード進行は「C」
T
T
T
C
C
ド
ミ
ド レ ミ ファ


# Page. 29

![Page Image](https://bcdn.docswell.com/page/2JV3Q1KXEQ.jpg)

2次元PCFG [Kameoka et al. ISMIR 2012]
縦・横両方に拡がるポリフォニー（多声音楽）のモデル
ポリフォ
ニーの例
時間軸・
音高軸の
それぞれに
導出規則
いずれの図も
[Kameoka et al.
ISMIR 2012] より


# Page. 30

![Page Image](https://bcdn.docswell.com/page/5EG3W2QR7L.jpg)

応用


# Page. 31

![Page Image](https://bcdn.docswell.com/page/4JQ53PKY7P.jpg)

応用
●
自動採譜のトップダウンな知識として利用
●
自動作曲・自動編曲に利用
– 作曲： 何か → メロディ
– 編曲： メロディ（＋何か） → 伴奏（コード進行含む）
（あくまで便宜的な定義）
ここでは、自動作曲・自動編曲への応用を取り上げる


# Page. 32

![Page Image](https://bcdn.docswell.com/page/K7491YPZE1.jpg)

（2013年度修了 鈴木峻平氏の研究成果）
【事例1】
四声体和声の自動生成
ソプラノパートが与えられ、残りの3パートを自動的に生成する
PLAY
C
F Em G
C C G7
C F
C Am C G C


# Page. 33

![Page Image](https://bcdn.docswell.com/page/LJ1KG69D7G.jpg)

何が難しいのか
C G7
C G7
同時に鳴る各パートの音の関係（同時性）
ソプラノの音が「ミ」のときに、
そのときのバスの音が「ド」は妥当か?
旋律の横方向のつながり（継続性）
ある音が「ミ」のときに、その次の音が「レ」は妥当か?
同時性と継続性の両方を満たす音を探す必要がある
和声学の分野で様々なルールが提案されているが、
すべてを矛盾なく適用するのは簡単ではない


# Page. 34

![Page Image](https://bcdn.docswell.com/page/GJWDKWQ872.jpg)

ベイジアンネットワークの利用
直前の音
現在の音
次の音
個々の
には、
各音名に対する
確率が入る。
y
x
は、
x の確率が y に依存
して決まることを表す
与えられる or 決定済
確率計算対象


# Page. 35

![Page Image](https://bcdn.docswell.com/page/4EZGZ5W9J3.jpg)

データ
学習データ
●
賛美歌254曲
●
すべてハ長調に
移調して使用
評価データ
●
和声学の教科書
から抽出した
32個のメロディ


# Page. 36

![Page Image](https://bcdn.docswell.com/page/Y76YZ9GDEV.jpg)

別の実行例


# Page. 37

![Page Image](https://bcdn.docswell.com/page/G75GWNV874.jpg)

【事例2】
コードヴォイシング
（関西学院大学
長田研との共同研究）
与えられたコード進行に対して
音の配置（ヴォイシング）を決定
エレクトーンに着目
ヴォイシングの例
C F G
Naive
C
Jazzy
課題
テンションノート
音の省略
転回形
例： 9ths, 11ths, …
ジャズなどで特に重要
不協和音や
物理的制約を避ける
音の流れをスムーズに


# Page. 38

![Page Image](https://bcdn.docswell.com/page/9J2YQ53VJR.jpg)

ベイジアンネットワークの利用


# Page. 39

![Page Image](https://bcdn.docswell.com/page/DEYGWK1QEM.jpg)

結果の一例
“Misty”
(by Erroll Garner)
左手ヴォイシング
• テンションノートが
付与された
• 自然な転回形が
選択された
ベースヴォイシング
• ほとんどでルート音が
選択された
b１３ｔｈ
９ｔｈ
９ｔｈ
Non-root note
Top tones are
smoothly connected


# Page. 40

![Page Image](https://bcdn.docswell.com/page/VJNG9R2278.jpg)

【事例3】
（Universitat Pompeu Fabra との共同研究）
曲線描画に基づく即興演奏支援システム
画面上に「旋律概形」
を描くと、その場で
メロディが生成


# Page. 41

![Page Image](https://bcdn.docswell.com/page/YE9W2M1DE3.jpg)

音高決定法
基本的なアイディア
3
曲線への近さ と 音楽的妥当性 の
両方を満たす音高列を
「遺伝的アルゴリズム」（GA）で探す
C
A
F
適合度の設計
F(N) = w0 sim(N) + w1 seq(N) + w2 h(N) + w3 ent(N)
旋律概形
への近さ
音高遷移の
もっともらしさ
コードと
音高の
関係
メロディの
複雑さ
ブルースの旋律53曲との比較に基づいて計算


# Page. 42

![Page Image](https://bcdn.docswell.com/page/GE8N5L457D.jpg)

（2017年度卒業 白石美南氏・小笠原梢氏の研究成果）
【事例4】
カラオケのためのハモリ練習支援システム
この研究が目指すところ
カラオケでハモりたい人が、ハモリパートを練習できる
原曲にハモリパートがなくてもハモれるようにしたい
●
原曲のハモリパート（ある場合）異なっても構わない
●
●
家などで1人で練習したい
技術的課題
●
●
ハモリパートの自動生成
ハモリパートの練習環境
の提供
解決策
ルール or 確率モデル
歌唱者の音高表示
などでフィードバック


# Page. 43

![Page Image](https://bcdn.docswell.com/page/LELPYL637R.jpg)

ハモリパートの自動生成
何が難しいか
M3
m3
P4
上ハモリ
主旋律
下ハモリ
解決策
HMMでモデル化
（別途、ルールベース
の手法も実装）
主旋律に対して、
M3（半音4つ分）、
m3（半音3つ分）、
P4（半音6つ分）
どれがいいかは、
調やコード進行
などに依存
ハモリ
hi-1
hi
hi+1
主旋律
ni-1
ni
ni+1
伴奏
bi-1
bi
bi+1


# Page. 44

![Page Image](https://bcdn.docswell.com/page/4JM4NM5M7W.jpg)

統一的なモデルに向けて
レイヤーごとに時系列モデルを作り、レイヤー内の
時間的依存関係とレイヤー間の依存関係を記述
→ 様々なタスクの統一的なモデルを作れるはず
Chord-level
(melody)
Score-level
or
Pianoroll-level
(bass)
Spectrogramlevel


# Page. 45

![Page Image](https://bcdn.docswell.com/page/PJRWDV3L79.jpg)

今後に向けて
●
●
●
●
大局的な依存関係をどう記述・学習するか
– フレーズ単位の依存関係
– 曲の構成（A-B-Aなど）や繰返し構造
予測モデルとしての可能性
– リアルタイムシステムにするなら予測は不可欠
DNN（CNN、RNNなど）の活用
– 増えつつあるが、認識系の研究に比べて少数
評価をどうするか


# Page. 46

![Page Image](https://bcdn.docswell.com/page/PEXP1Z967X.jpg)

まとめ
●
●
メロディの音の遷移、コード進行のコードの遷移、
メロディとコードの関係を確率モデルで表現
それを用いて、自動作曲、自動編曲などを実現
音楽は数理的扱いに適した芸術メディア
●
数理モデルを用いた音楽理論の精緻化・再構築
●
音楽を題材とした数理（特に時系列）モデルの研究
●
音楽を題材とした数理モデルの教育
…などなど、様々な可能性アリ。ぜひ皆さんも算入を！


