118 Views
October 07, 24
スライド概要
音学シンポジウム2021にて講演した際に使用したスライドです。
日本大学 文理学部 情報科学科 北原研究室。 「Technology Makes Music More Fun」を合言葉に、音楽をはじめとするエンターテインメントの高度化に資する技術の研究開発を行っています。
音学シンポジウム2021 招待講演 誰もが創作を通じて 音楽を楽しめる世界を目指して 日本大学 文理学部 情報科学科 北原 鉄朗 Twitter: @tetsurokitahara
コメントスクリーンのお願い 上のQRコード または 下のURL から お入りください。 https://commentscreen.com/comments?&room=otogaku
自己紹介 (誰も興味がない私の半生)
小学生時代 (音楽篇) 某Y音楽振興会のジュニア音楽教室でピアノと作曲を学ぶ コースの概要 ● 個人レッスンとグループ レッスンの2本立て ● 個人レッスン:ピアノ演奏 ● グループレッスン:作曲法 ● 毎年、年度末に オリジナル楽曲を発表 ● ピアノグレードも受ける 通っていたYミュージック札幌センター(中島公園近く) (https://hre-net.com/keizai/keizaisougou/16306/) 作曲は楽しいけど、演奏は練習が面倒 そもそも、人が書いた楽譜通りに弾くのがつまらない
小学生時代 (コンピュータ篇) 家に古いコンピュータ(たぶんFM-77?)が転がっていた それで遊んでいた(お絵描きとか) 『ダ・ビンチ』(グラフィックソフト) FM77(富士通) (いずれも http://fm-7.com/museum/ より引用)
中学生時代 (コンピュータ篇) 家にPC-98のノートPCがやってくる N88-BASICでプログラミングをするようになる PC-9801N (通称:98ノート) N-88 BASIC (https://dbnst.nii.ac.jp/pro/detail/641) (https://ja.wikipedia.org/wiki/N88-BASIC)
中学生時代 (音楽篇) お年玉をはたいて DTMキット『Hello! Music!』を購入 『Hello! Music!』にバンドルされていたソフトウェア のOEM元のソフトウェア(『Micro Musician II』) (http://slt.retroprograms.com/MM2.html) 『Hello! Music!』のパンフレット (藤本 健『DTMの原点』より)
高校生~大学生時代 ● 新しいPCを入手し、本格的にDTMで作曲 ● 友人とバンドを組んでオリジナル曲を制作 ● 大学入学後は、本格的にプログラミングを学習 ● 研究室配属後は、音楽情報処理の研究をスタート Cakewalk (Wikipedia英語版より) ヤマハ MD8 (Wikimedia Commonsより)
大学生のときに思った「問い」 「いいメロディ」「ダサいメロディ」の客観的基準はあるのか 「好み」から独立した普遍的なメロディの評価基準はあるか (あってほしい。作曲する立場からすると) 大学生なりに思ったこと 良さ 好み 音楽は物理現象で、物理現象は数式で 書けるんだから、メロディも数式で分析 すれば何かわかるんじゃない? メロディの「いい」「悪い」を判定するコンピュータを作る 「いいメロディ」を作れるコンピュータを作る
今日のAgenda 1 作曲(編曲)するコンピュータ 2 人間の音楽活動 を手助けする 3 4 人と一緒に 作曲するコンピュータ コンピュータの手助けで 人が即興演奏をする ≒ コンピュータと一緒に 人間が作曲する 5 その他の話題 (時間があれば)
[1] 作曲(編曲)するコンピュータ
自動作曲の仕組み ● ルールベース – どんな条件を満たすとどんな音を出力するかをルール化。 ● ランダムベース – 乱数を使って曲を作る。 – 「まとも」な曲にするには、出力を選別する必要がある。 – 選別基準はルールだったり、学習ベースだったり。 ● 事例ベース – 既存の曲の断片をデータベース化し、組み合わせて作曲。 ● 学習ベース – 既存のメロディの特徴を学習し、それに基づいて作曲。 – ニューラルネットワークや確率モデルなどが主流。
何を人手で与え、何を与えないか 具体 詳細 音符の具体的な選択ルール 音高の遷移確率などの確率パラメータ 和声音・非和声音、協和音程・不協和音程の知識 音階、リズム候補 抽象 楽曲の構造
【事例1】 [S. Suzuki & T. Kitahara 2014] Bayesian Netを使った四声体和声生成 Model 課題 右の両方を考慮 経時的妥当性 同時的妥当性 Learning-based - Neural net (Hild ‘91) - HMM (Allen, ‘05) - Weighted finite transducer (Buys ‘12) Non-learning-based - Expert system (Ebcioglu ‘90) - Constraint satisfaction problem (Pachet ‘98) - GA (Phon, ‘99)
コード(和音)ノード 従来研究の多くは、 コード(和音)名か和声機能を表すノードを導入していた C コードノードの問題点 Am G E C ヴォイシングを区別するとすると、 A E C C6 C6 on G C Am Am7 取り得る値が多すぎる ヴォイシングを区別しないとすると、 C Am あいまいすぎる コードノードを使わない方がいいのでは?
与えられるか決定済み モデル コードノードはヴォイシング区別しない モデルは、楽曲の最初から最後にかけて順番に適用
データ 学習データ ● 254個の讃美歌の メロディ ● ハ長調に移調 テストデータ ● 和声学の教科書 から抜粋した 32個のメロディ
生成例 ▶
【事例2】 LSTMを用いた四声体和声生成 [T. Yamada, T. Kitahara, H. Arie & T. Ogata 2017] Sop Alto Ten Bass Time steps
【事例3】 [北原,勝占,片寄,長田 2009] Bayesian Netを用いたコードヴォイシング 与えられたコード進行に対して 実際の音符を割り当てる (エレクトーンを対象とする) ルールベース (Emura ‘08) 事例ベース推論 (Hirata ‘01) (研究事例は多くない) 課題 テンションノート 音の省略 転回形 e.g. 9ths, 11ths, … ジャズでは重要 不協和音を防ぐため 物理的な制約のため 時間的なつながりを なめらかにするため
モデル {C, C#, …, B} ×{maj., min., …} {C, C#, …, B} {C, C#, …, B}+ {C, C#, …, B} To melody nodes From voicing nodes {0.0, 0.2, …, 1.0} 各ピッチクラスの 相対的な出現時間
生成結果の一例 “Misty” 主旋律なし (by Erroll Garner) Left-hand voicing • テンションノートが付与 • 自然な転回形を選択 Bass • 多くの場合で、 ルート音を選択 b13th 9th Non-root note 9th Top tones are smoothly connected
[2] 人間の音楽活動を手助けする
人間の音楽活動 難? 即興演奏 ジャム セッション ジャムセッション ライブ出演 作曲 仲間と 共同制作 YouTubeなどで 発表 演奏 合奏 ライブ出演 鑑賞 ライブに参加 易? 単独 コミュニケーション
技術上の課題 入力情報・入力UI 楽曲自動生成 「こんな曲」というあいまいな イメージしかないユーザに、 あいまいな入力データから どんなデータをどんなUIで 入力させるか どのように音楽的に妥当な 楽曲・メロディを生成するか
[3] 人と一緒に作曲するコンピュータ (コンピュータと一緒に人間が作曲)
【事例4】 旋律概形を用いたメロディ編集 [Y. Tsuchiya & T. Kitahara 2013] 想定場面 自動作曲結果が一部気に食わず、編集したい 問題 通常のメロディ編集ソフト(MIDIシーケンサ)では、 どの音を選べば伴奏との不協和を避けられるか分からない 解決策 旋律概形を描き直させる 旋律概形の抽出: 音高の軌跡をFFT →低次のみで逆FFT 旋律概形から旋律の生成: HMMを利用
【事例5】 Smart Loop Sequencer 既存のループシーケンサ [T. Kitahara, K. Iijima, M. Okada, Y. Yamashita & A. Tsuruoka 2015] ● 短い音素材をつなぎ重ねて曲作り ● テクノ系の作曲には最適 ● 音楽に関する専門知識が不要 ● Audio-based なので高品質 Sony Creative Software: ACID Pro 7
ループシーケンサの問題点 問題点 音素材が多すぎる 着眼点 テクノ音楽で大事なのは、盛り上がりの変化 解決策 盛り上がりの時間変化を描画させる その盛り上がりを実現する音素材を自動選択 5 盛り上がり度が高いほど 音素材を多く挿入する 1 盛り上がり度が高いほど 盛り上がり度の高い素材を選択
HMMで定式化 観測信号 x に対して最ももっとも らしい [s1, ..., sN] を推定 音素材を入れるかどうかの組を状態として定義
各音素材に対する盛り上がり度の計算 盛り上がり度が高い ←Drums Synth→ 盛り上がり度が低い ←Drums Synth→ Basic idea 1) 各時刻・各周波数における振幅を閾値処理 2) 閾値を超えている時刻・周波数の割合を計算
【事例6】 [安坂, 北原 2020] 動画の盛り上がり度に基づく自動作曲 動画における動きの量から「盛り上がり度」を分析 ● Smart loop sequencerで音素材を自動で選択・挿入 ● ● テクノの典型的な曲構成になるように制約を付与 Demo
[4] コンピュータの手助けで 人が即興演奏をする
ある夜… 酒を飲みながら、1人でYouTubeを見ていた。 すると、こんなものがあるのを知った。 クリヤマコト NOTHIN' BUT JAZZ リリース記念 アドリブコンテスト2014 公式Webサイト http://music-seraph.com/contest/ 北原のお気に入り https://youtu.be/vr3zA_7M21o 大阪部門優勝 https://youtu.be/WAt5-c-5Z-k
これを見て思ったこと ● 自分もこれだけ弾けたらいいな ● でも、練習するのは面倒だな ● 自分にはコンピュータがあるじゃないか
【事例7】 JamSketch [T. Kitahara, S. Giraldo & R. Ramirez 2017] ピアノロール上に旋律概形を描くと、即座にメロディ生成 旋律概形が描画されると、 その小節のメロディを GAで自動生成
リズムの決め方 (not with GA) 基本アイディア 傾きが急 → 短い音を多く ● 傾きが緩やか → 長い音を ● 3 アルゴリズムの詳細 0 リズム候補 1 仮リズムの決定 3 3 3 3 3 3 3 傾きを 閾値処理 2 リズムの本決定 最も近いもの をリズム候補 から選ぶ 3
音高の決め方 基本アイディア 旋律概形への と 音楽的な 近さ 妥当性 3 を 両立する音高列を GA で探す C A F 定式化の詳細 個体の定義 N = (n0, n1, …, nL-1) (ni: note number) 適合度関数 旋律概形 への類似度 Bigram P(ni | ni-1) Delta bigram P(ni-ni-1 | ni-1-ni-2) F(N) = w0 sim(N) + w1 seq1(N) + w2 seq2(N) + w3 harm(N) + w4 ent(N) P(notes | chord) Entropy
実験により得られた演奏 音楽経験 実験で使用 演奏 即興 KB Syst. ? System s2 ? System s1 ? KB (P2) u2 P1 Yes Yes Yes No P2 Yes No Yes Yes ? KB (P1) u1 P3 Yes No No Yes ? System s4 P4 No No No Yes ? KB (P5) u3 ? System s3 ? KB (P6) u4 P5 P6 Yes Yes No Yes Yes Yes Yes No STOP
【事例8】 身体障碍者に対する即興演奏支援 [T. Kitahara, Y. Saito, S. Giraldo & R. Ramirez 2018] 市販のアイトラッカーで、 ユーザが見つめるディスプレイ上の座標を検出 その座標の動きを使って旋律概形を描画 Demo JamSketch Eye SteelSeries Sentry Gaming Eye Tracker (TobiiからのOEM)を使用
議論 ● 作曲(編曲)するコンピュータ – 音楽理論を与えなくても、機械学習で実現可能 – 2016年ごろから世界的に競争激化の状況 – 結局、メロディの「いい」「悪い」の基準はわからず ● コンピュータの助けを借りて人が作曲・即興演奏 – 旋律の大まかなアイディアを表す「旋律概形」 – 旋律を素人がどのように認知し記憶するか → 知覚認知分野の研究者と協同すべき研究課題 – よりモダンな機械学習技術による質改善が急務
Special Thanks (本講演で取り上げた研究に関わった皆様) 私の研究室の卒業生 ● 鈴木 峻平さん、土屋 裕一さん、山下 雄史さん、岡田 美咲さん ● 飯島 孔右さん、 鶴岡 亜也佳さん、安坂 文汰さん ポスドク時代の共同研究者 ● 片寄 晴弘さん、長田 典子さん、勝占 真規子さん LSTMを用いた四声体和声の共同研究者 ● 尾形 哲也さん、有江 浩明さん、山田 竜郎さん JamSketch / JamSketch Eyeの共同研究者 ● Rafael Ramı́rezさん、Sergio Giraldoさん、斉藤 康之さん