確率推論を用いた四声体和声の自動生成鈴木 竹内 佐藤

はじめに自分が考えたメロディーに伴奏が自動でついたらうれしいと思ったことはないだろうか？
私たちはそんなソフトを作りたいと思い、この研究を始めた。

ただバンド演奏の曲を作るのは作曲の自由度が高く、非常に扱いづらい。

空も飛べるはず歌

スピッツ

四声体和声そこで伴奏のついたメロディーの一番基本的で有名なものとして、四声体和声に着目した。
・四声体和声とは…
ソプラノ、アルト、テノール、バスの４声部からなる演奏である。

ユーザー

この研究では、ソプラノを決定・アルト・テノール・バス自動で決定
パート付けシステム

主旋律となるソプラノをユーザーが入力すれば、他の３パートが自動に決まるシステムを作成した。

四声体和声
１曲が完成

こういうものを専門的にはソプラノ課題といい、音楽大学では勉強課題としている。
ソプラノ課題の例題

音楽理論に基づき音符を入れていく外声となる、バスを入れる

内声となる、アルト、テノールを入れる

四声体和声を題材にする利点

教育として用いられているものなので、理論がしっかりしている。

文献もたくさんあるので、これを題材にするなら取り組みやすいと考えた。

関連研究

・Harmonising Chorales by ProbabilisticInference（確率推論によるコラールの和声付け）（Moray Allan 他・2004）
・バス課題の自然さを考慮したバス課題の自動生成(三浦他・2003)

Harmonising Chorales by
Probabilistic Inference（Moray Allan 他・2004）
・メロディが観測系列で、コードが隠れ状態系列である隠れマルコフモデルによってメロディから四声体和声の生成。

バス課題の自然さを考慮したバス課題の自動生成(三浦他・2003)
和音機能・和音機能と和音進行をもちいて、教科書にあるようなバス課題の自動生成。

ド・ミ・ソ

ソ・シ・レ

ファ・ラ・ド四声体和声における課題

音楽的同時性の両立

音楽的連続性

音楽的同時性とは不協和音

協和音

ソド

音を選ぶ際に、各パートごとの音でドミファシ♭再生ソ

不協和音を生み出さないようにすること。

ド再生音楽的連続性とは同時性と違い、前後の和音の繋がりを比較し自然な音の流れを生み出すこと
ド

ファレ

シ

ソ

ミ
ドラ
再生

連続性が考慮されると

ド
シラ
ソ
ファミ

滑らかにつながるレ
ド
再生同時性だけ考慮すればよければソプラノの音に対してアルト、テノール、バスの音をあらかじめ決めてしまえばよい？
同時性
四声体和声
連続性
音の繋がりが悪くなる!

連続性だけ考慮すればよければ同じく一つ前の音に対して、現在の音に滑らかにつながる音をあらかじめ決めてしまえばよい？
同時性
不協和音が生じる！！

四声体和声
連続性

両立の難しさ
この２つの条件を考慮し四声体和声の作成を行う。
ただしこれは全てのパート２オクターブくらいの音を取ると考えると、音符を決定する際に10,000パターンを越える組み合わせを考えなければならない

同時性

パート間の繋がり

四声体和声
連続性

前の音との繋がり課題の解決そこで、私たちは確率モデルの一種である
ベイジアンネットワークを用いてソプラノ課題を解決する手法を提案する。

音楽的同時性と連続性の両立片方が欠けると不快な曲になってしまう。
↓
これを別々ではなく同時に考慮するのが望ましい↓
それを行える枠組みがベイジアンネットワークである。

ベイジアンネットワークとは設定した事象の因果関係を要素（ノード）と矢印（アーク）によって表し、その関係を条件付き確率を用いて表したもの。

ABCに関係するAの条件

Cに関係するBの条件

複数の分かっている要素C分からない要素の条件付確率を推論するベイジアンネットワークを用いた例
ユーザが入力今日の天気・晴れ・曇り・雨
洗濯物の量・多い・少ない

BNが決定
洗濯・屋外に干す・室内に干す・洗濯しない

70%
20%
10%

条件付確率表の中の一例

条件付き確率表
屋外

屋内

洗濯しない

晴れ

多い

７０％

２０％

１０％

晴れ

少ない

５０％

３０％

２０％

曇り

多い

２０％

５０％

３０％

曇り

少ない

２０％

４５％

３５％

雨

多い

１０％

３０％

６０％

雨

少ない

１０％

１０％

８０％

本研究を用いての例
アルトを選び出す場合

ソプラノ
ド

レ

ミ

ファド

レ

ミ

ファソ

ラ

アルト
シラ

シドを選択

ファを選択

１つ前のアルト

ソソなぜソが選ばれたか？
ソプラノ
結果ソが選ばれる！

ドアルトの確率
１つ前のアルトファド・・・20%
レ・・・5%
ミ・・・5%
ファ・・20%
ソ・・・40%
ラ・・・5%
シ・・・5%

前の音
ソプラノの音

実際の条件付確率表
選ばれる音ベイジアンネットワークのモデルについて
ソプラノ

連続性

同時性
４つの音が同時に鳴る
その瞬間を見て、前の音とのつながりを考える。

アルト

アルト

テノール

テノール

パート間の繋がりを考える。

バス

バス

次の音も同じように比べるのでこれの繰り返し。

一つ前の音

現在の音

システム概要
ユーザー
作ったソプラノを取り込む

メロディー入力↓
メインシステム
音楽データをベイジアンネットワークに送りパートごとに音の選出をする

ベイジアンネットワーク
確率データから音の決まっていない３パートの確率値をそれぞれ計算する

確率計算
↓
音の選出
↓出力
四声体和声での曲の再生

出力

曲の前提条件
本研究はソプラノ課題を参考にした↓↓↓●
すべての音が同時にならなくてはいけない制約
さらにソプラノの音域はC4～A5までの音に制限する●
ソプラノの調はハ長調としダイアトニックスケール(白鍵のみの音) にする●

２つの確率データ確率をルールとして決めるシステム「ルールベース型」と確率をデータベースから学習させるシステム「事例ベース型」を比較する。

「ルールベース型」の狙い

ハ長調らしい音を出やすく協和音程を出やすく

前後の音は離れすぎず確率設定の仕組み
アルト

テノール

バス

ソプラノ

アルト

テノール

バス

外声を意識しバスはソプラノと、内声を意識しアルトはテノールと関連付けられている

アル
トを生
成
する
場
合

初期値設定

ソプラノとの関係

前のアルトとの関係

ド
0.4

完全4度5度×1.3前後の音程
5度以上
×0.3

ファ,ソ0.3

長短3度6度×1.1

前後の音程
１オクターブ以上
×0.3

ラ,ミ0.2

レ,シ0.1

その他
×1.0

上パートを越す×0アルト

実験
例として喜びの歌を用いる。

結果の考察上は出力結果を楽譜にしたものである。

良かった点コードネームを用いなくても、１５個のうち１０個の和音が協和音程になり、不協和音程が少なくなっているので、不協和音は出にくくなっている。

悪い点

同時にミ・レ・ドやソとファが同時にがなってしまうような所が出てしまっている。
これは２度や７度の関係なので、不協和音程であり不協和音を生み出す原因である。

第２小節について
１２

３

４

Sソ

フ

ミレ

A

ド

ドドソ

Tソソレ

レ

B

ミドド

フ

１２３４

悪い点
ソプラノ・テノール間でオクターブの関係になっており、聞こえが単調になっている。
ソプラノがミならテノールもミ、ソプラノがドならテノールもド、このようになっている部分が少し多い。

１小節についてST

この小節は不協和音ではないが、「ミミファソ」とオクターブの関係の音が出てしまっている。

理由

パート間の依存関係を簡略化
パート間では複雑に依存すべき依存関係を大幅に省略した。
よって・・・

ソプラノ・テノール間、アルト・バス間の音楽的同時性が十分に満たされなかったものと考えられる。

ソア

実現できない理由
確率設定がより複雑になる●

事例ベースでのデータの取得方法などに問題点がでる。
事例ベースについては次のページから。

テ●バ音楽データから確率統計を取る
事例ベース型の研究流れとしてはルールベース型と同じ。
使う確率データだけが別のもの。
既存の四声体和声の曲から確率データを学習するシステム。

MIDIファイルのデータをWEKAに読み込ませる流れ
MIDIデータ

パートごとの音符の確率が割り出せるシーケンサソフトを使いハ長調に移調
４パート同時に音が鳴るという条件を満たすように修正

Wekaを利用してベイジアンネットワークにmidiの音楽データを読み込ませる

音符を見つけてノートナンバーのデータを表に起こすプログラムを使用

出力結果をwekaというソフトで読める形式のファイルに書き込む

使用楽曲の条件
8分音符以上の音で構成されている●長調で構成された曲をハ長調に移調して使用●

今回はJ.S Bachの37曲を使用

実験方法

ソプラノが１オクターブ以上の音域で多く収集できた。
そのため、実験はまずソプラノを１オクターブ下げたデータで行い、その後確認として通常のソプラノで行う。

喜びの歌（１オクターブ下）の楽譜出力結果

１５個の和音のうち１３個が協和音

結果の考察協和音が多い。
しかし、すべて協和音にはなっていない。
データの増加とベイジアンネットワークの改良で解決すると考えられる。

喜びの歌の楽譜出力結果

１５個の和音のうち５個の和音が協和音程を取っている。
ルールベース型と比べ、不協和音が出易い。

結果の考察学習する楽曲データの不足↓
確率値が算出できない所が発生↓
すべての音の確率が同じになる↓
音がランダムで選ばれてしまい
協和音程を選ばない事が多くある

データの偏り
確率データの量多い

少ない

音域
低い

高い

ソプラノが低ければ、収集したデータは豊富だがソプラノが高いと、データが存在しない場合がある↓
すると、ベイジアンネットワークの性質上データがないのですべての音の確率が均等になっている↓
よって、現段階ではランダムに音が選ばれてしまう

事例ベース全体の考察
問題を解決する為には、サンプルを増やす事が先決。
更にデータ量が増えれば、ベイジアンネットワークの関係性の追加が可能になるので実装する。

終わりにベイジアンネットワークを用いて四声体和声の生成を行う手法を提案した。
完璧ではないが四声体和声に近いものはできた。
不協和音を完全に取り除くことはできなかったが、改善点は見出せた。
今後はベイジアンネットワークの改良によって改善していきたい。

北原鉄朗, 勝占真規子, 片寄晴弘, 長田典子, ``ベイジアンネットワークを用いた自動コードヴォイシング'',情報処理学会論文誌, Vol.50, No.3, pp.1067--1078, 2009.
三浦雅展, 下石坂徹, 斉木由美, 柳田益造, ``バス課題システムBDS のユーザインタ
フェースの改善とその評価'', 音響学会2000年秋季研究発表会, pp.535--536, 2000.
三浦雅展, 尾花充, 柳田益造, ``ソプラノ課題回答確認システム“SDS”の構築とその評価'',音響学会2001年秋季研究発表会, pp.723--724, 2001.
川上隆, 中井満, 下平博, 嵯峨山茂樹, ``隠れマルコフモデルを用いた旋律への自動和声付け'', 電子情報通信学会技術研究報告SP, pp.25--32, 2000.
S.Phon-Amnuaisuk and G.A.Wiggins, ``The Four-Part Harmonisation Problem: A
comparison between Genetic Algorithms and a Rule-Based System'',\textit{AISB'99 Symposium on Musical Creativity}, 1999.
M. Allan and C. K. I.Williams, ``Harmonising Chorales byProbabilisticInference'', \textit{Advances in Neural Information Processing Systems}, 2004.

島岡譲他, ``和声 理論と実習 I'',音楽之友社，1982.
深山 覚, 西本 卓也, 嵯峨山 茂樹, ``隠れマルコフモデルによるコードネームからの4声体和声生成'',音講論（春）, 3-1-5, pp.1037--1038, 2011.
安井希子, 三浦雅展, ``和声学におけるバス課題についての回答確認システムの構築とその評価'',信学論，Vol.J84-D-II, No.6, pp.936--945, 2001.
三浦雅展, ``和声法学習支援システムの構築に関する研究'', 博士論文(同志社大学), 2003.
北原鉄朗, 勝占真規子, 片寄晴弘, 長田典子, ``ベイジアンネットワークを用いた自動コードヴォイシング'',情報処理学会論文誌, Vol.50, No.3,pp.1067--1078, 2009.
三浦雅展, 下石坂徹, 斉木由美, 柳田益造, ``バス課題システムBDS のユーザインタフェースの改善とその評価'', 音響学会2000年秋季研究発表会,
pp.535--536, 2000.
三浦雅展, 尾花充, 柳田益造, ``ソプラノ課題回答確認システム“SDS”の構築とその評価'',音響学会2001年秋季研究発表会, pp.723--724, 2001.
川上隆, 中井満, 下平博, 嵯峨山茂樹, ``隠れマルコフモデルを用いた旋律への自動和声付け'', 電子情報通信学会技術研究報告SP, pp.25--32, 2000.