10.6K Views
April 15, 24
スライド概要
滋賀大学 第157回データサイエンスセミナー
日本大学 文理学部 情報科学科 北原研究室。 「Technology Makes Music More Fun」を合言葉に、音楽をはじめとするエンターテインメントの高度化に資する技術の研究開発を行っています。
滋賀大学 第157回データサイエンスセミナー 音楽を題材に情報科学を研究する 日本大学 文理学部 情報科学科 北原 鉄朗 Twitter: @tetsurokitahara
自己紹介 ● 札幌生まれ。現在、45歳 ● 小~中学時代: – ● – 情報科学科に入学し、プログラミング を本格的に学ぶ – バンド活動も本格的に行う – 4年生から、音楽情報処理の研究を 家にあったPCをいじる (当時、PCをいじる≒プログラミング) – 大学時代: 進学のため柏に引っ越す 某音楽教室でピアノや作曲を学ぶ 始める (中学からはDTMも) ● 高校時代: – バンド活動を始める – プログラミングも適当に手を出す ● ● 大学院時代: 京都の大学院に進学 – 音楽情報処理の研究を本格展開 – バンド活動はほとんど休止 その後: 関西の大学の研究員を経て、 現在、東京在住
北原研究室 ● 2010年度に日本大学文理学部に設立 ● 合言葉:「Technology Makes Music More Fun」 ● 例年のメンバー構成: – 教員: 1名、 臨時職員:数名 – M2: 0~2名、 M1: 0~2名 – B4: 6~8名、 B3: 6~8名 ● 学生自身の問題意識に従って、教員と2人3脚で研究テーマを設定 ● 積極的な情報発信: – 対外発表の義務化、卒業論文の公開、YouTube Liveでの配信、 – Zennでの技術系記事の執筆
本研究室で行ってきた研究テーマ(主なもの) 音楽を聴く人を助けたい 複数人が同じBGMを 聴く場面の楽曲推薦 歌う人を助けたい カラオケを盛り上げる スマートタンバリン ハモリ練習支援 音痴な人の分析 HCI 演奏する人を助けたい MIDIギター精度改善 ピアノ初見支援 演奏時の筋活動分析 即興演奏支援 作曲する人を助けたい 旋律概形による作曲 ループシーケンサ マッシュアップ支援 イコライザー支援 土台となる技術 音響信号処理 四声体和声生成 ベースライン生成 ベーシストの 特徴分析 etc 機械学習
本日のアジェンダ 研究の話 ● 研究全体をつらぬく動機 ● 研究事例1: 自動和声付け ● ● 研究事例2: 即興演奏支援 研究事例3: ループシーケンサ 教育の話 ● 音楽を題材に、情報科学 /情報工学を教育する ● 研究室(ゼミ)運営の実態 ● 卒業研究の事例
研究の話 (自動作編曲、作曲支援)
研究の動機 コンピュータの支援を受けながら、 非専門家が音楽創作・即興演奏を楽しめる環境を作りたい 熟練者 ゆくゆくは… 創造性 高いレベルの 創造性 セッション 対等な立場で (従来:高い方が 熟達者 低い方に合わせる) コンピュータ が支援 非熟達者 熟練者 非熟練者 コンピュータ による支援
技術的課題 入力情報・入力UI 楽曲自動生成 「こんな曲」というあいまいな イメージしかないユーザに、 あいまいな入力データから どのように音楽的に妥当な 楽曲・メロディを生成するか どんなデータをどんなUIで 入力させるか
本講演で紹介する研究事例 ● 四声体和声の生成 ● 旋律概形に基づく即興演奏支援システム「JamSketch」 ● 盛り上がり度に基づくループシーケンサ
【事例1-1】 [S. Suzuki & T. Kitahara, JNMR, 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個のメロディ
生成例 ▶
【事例1-2】 LSTMを用いた四声体和声生成 [T. Yamada, T. Kitahara, H. Arie & T. Ogata, CMMR 2017] Sop Alto Ten Bass Time steps
【事例2】 旋律概形に基づく即興演奏支援 即興演奏が なぜ難しいのか [T. Kitahara, S. Giraldo & R. Ramirez, CMMR 2017] [T. Kitahara & A. Yonamine, ACMMMAsia 2023] メロディの アイディア 音楽知識 (和声、音階など) 具体的な音符列 即興演奏では、 こののプロセスを 楽曲進行中に行う。 ● 伴奏と協和する音を選ぶ ● メロディの動きにメリハリをつける 実際に演奏 非専門家でも、即興演奏「もどき」を 楽しめるようにしたい などなど
即興演奏支援システム「JamSketch」 ユーザが描画: 旋律概形 直感的! 簡単に描ける! システムが生成: メロディ
学習の仕組み Weimar Jazz DB ニューラルネットで実現 (CNN) これを 「旋律概形」とみなす ブルースのアドリブソロの採譜データ 変換 平 滑 化
なぜCNNなのか ● 実装が楽 ● メロディの持つ拍節構造を自然に表せる 畳み込み 畳み込み
入力と出力 コード time 出力 メロディ(音符) 旋律概形 Input 入力 time
メロディ用にどのようにフィルタを設計するか 音楽(ピアノロール)は、シフト不変ではない 音高軸 時間軸 ハ長調では滅多に現れない 異なる音名には、 異なる役割がある ハ長調では最も重要な音名 強拍 弱拍 強拍と弱拍では、 音名出現の傾向が異なる
実際のフィルタ設計 フィルタサイズ 音高方向のシフトを防ぐ conv. フィルタサイズ conv. pitch Melodic outline ch ch Chord progression time 強拍と弱拍が入れ替わるのを防ぐ deconv. deconv. ch pitch time time Pitch (cont) Pitch time time
データセット 入力データ 出力データ 右のメロディの音高系列を 平滑化して旋律概形を作成 Weimar Jazz Database から 半分を学習に、 残りをテストに使用 ブルース96曲
デモ Colabでのデモ JamSketchのデモ(実演) https://bit.ly/3zB2Tja コードはGitHubに (でもちょっと古い) Groovyにて実装 Folder
【事例3】 盛り上がり度に基づくループシーケンサ [T. Kitahara, K. Iijima, M. Okada, Y. Yamashita & A. Tsuruoka 2015] ループシーケンサとは Sony Creative Software: ACID Pro 7 ● 短い音素材をつなぎ重ねて曲作り ● テクノ系の作曲には最適 ● 音楽に関する専門知識が不要 ● Audio-based なので高品質
ループシーケンサの問題点と解決策 問題点 音素材が多すぎる 着眼点 テクノ音楽で大事なのは、盛り上がりの変化 解決策 盛り上がりの時間変化を描画させる その盛り上がりを実現する音素材を自動選択 入力された 盛り上がり度が 高いほど… 5 音素材を多く挿入 1 盛り上がり度の高い素材を選択
隠れマルコフモデル(HMM)による定式化 盛り上がり度曲線 =観測信号 観測信号に対して 最尤の状態遷移を推定 各パートの音素材 ・音素材を入れるかどうか ・入れるなら何を入れるか に分けて考える 状態 (0 or 1) ランダムに選ぶ (ユーザ適応を検討中)
各音素材に対する盛り上がり度の計算 Basic idea 盛り上がり度が高い 1) 各時刻・各周波数 の振幅を閾値処理 Drums Synth 盛り上がり度が低い Drums 2) 閾値を超えている 時刻・周波数の 割合を計算 Synth
教育の話 (音楽を題材に、情報科学/ 情報工学を教育する) 話を簡単にするため、 大学院進学しない学生に対する教育に限定する
音楽を題材に情報科学/情報工学を教育する どんな人材を育てたいのか 世の中の問題を、情報科学的/情報工学的手法により 解決できる能力を有する人材 情報科学的/情報工学的な問題解決能力とは ● プログラミング 問題や解法の客観的な記述 ● 数理的な問題理解 (定式化) 最大化や最小化などに落とし込む (本質を取り出す力)
なぜ音楽なのか ● ● 学生にとって身近な娯楽 – (鑑賞も含めれば)誰にも音楽経験がある – 自分なりの経験をもとに研究テーマを見つけやすい 豊富なデータ – ● 音楽CD、楽譜などが大量に流通(ただし、machine-readableとは限らない) 計算機処理との相性 – 楽譜という離散的な情報表現が確立されている
どのように卒業研究を進めていくのか 4月 研究テーマ検討 本人が持ってきた研究テーマ案を揉む インタラクションで発表 Aさんの研究テーマに関して2人で発表 2人1組でシステム開発 今度はBさんの研究テーマを進める 学会(ECなど)で発表 Bさんの研究テーマに関して2人で発表 7月 3 プログラミング予備検討 データ処理など始めやすいところから始める 年 生 11月 2人1組でシステム開発 AさんとBさんが組になって、 Aさんの研究テーマを進める 3月 4 8月 年 生 2月 3月 各自で開発・評価 1人1人で研究を進める 卒研発表・学会発表 情報処理学会全国大会など
研究テーマを決める際のポリシー ● 学生がアイディアを持ってくることを原則とする – ● 各学生の趣味・特技などを活かした研究テーマを探る – ● 楽器演奏、スポーツ、その他 ある程度、ニッチなところを狙う – ● 「サラリーマン的研究」ではなく「自分ドリブン研究」を Googleが本気を出したら我々は勝てない 卒業後にB~C級の国際会議に通せるのを目標とする – 北原が投稿して北原が発表。研究室としてpublicationを確保
【事例1】 複数ユーザが同一楽曲を聴くための 選曲・再生システム(鈴木、2017修了) ISMIR2017 採録 複数の人が同じ場所で同じBGMを聴く環境で、 研究の 目的 できるだけ多くの人が気に入るBGMを自動選曲したい パーティー ドライブ 友達と勉強
技術的 課題 その場にいる人たちの音楽的好みをどう取得するか 仮定 各自のスマートフォンに好きな曲のmp3を保存 (面倒な操作などを求めずに) [仮定1] 再生頻度の高い曲は、好みである可能性が高い [仮定2] 好みの曲に似た曲は、好みである可能性が高い ユーザ2 【よく聴く曲】 楽曲A ユーザ1 楽曲D 【よく聴く曲】 楽曲E 類似 楽曲A : 楽曲B 楽曲C : ユーザ3 Bluetooth通信で スマートフォン同士がやりとり 【よく聴く曲】 楽曲A 楽曲D 楽曲F : Good! Good!?
処理手順 1. 各自が本アプリを立ち上げる (1人は親機モードで) 2. 親機が他の端末から所持楽曲の情報を収集 3. 各ユーザの各楽曲に対する「期待度」を計算 • 再生頻度 高⇒ 期待度高 • 高期待度曲に類似⇒期待度高 4. 期待度の合計が高い順に再生 https://www.youtube.com/watch?v=yb4Tc2EKBAQ
【事例2】 パターン認識を用いた特定ベーシストの CSMC2017 特徴の分析(松浦、2017卒) 採録 研究の目的 あるベーシストの特徴の変遷を定量的に分析したい 取り上げるベーシスト Flea (Red Hot Chilli Peppers) 1999年(John復帰)を境に特徴が変わったと言われている 「フリーのベース・プレイは、それまでのスラップ一辺倒気味 のプレイからよりファンクなアプローチになり、無駄をそぎ落 とした2フィンガー・ピッキングを主軸に(中略)歌のバックで はよりシンプルでストレートに」 「バンドの変化にともない、フリーのベース・プレイもかなり 変化=深化しており、シンプルに弾くべき楽曲はルート弾き を主に徹底してシンプルに弾いている」 Year 1989 Year 1999 (『ベース・マガジン』 2007年6月号) Ba. Ba. 『Higher Ground』 『Parallel Universe』
課題 ① 1999年に特徴が変わったことをどう示すか ② 1999年前後の変化(よりシンプル、より高音…)をどう示すか アプローチ パターン認識的アプローチ バンドスコアからベースパートのMIDIデータを作成し、 ① 以前・以後識別 1999 以前 以後 高精度 ② 特徴量選択 以前 2002 以後 低精度 1999年の方が特徴変化が顕著 1999 以前 以後 特徴量A、B、C を利用 高精度 特徴量、A、B、Cに変化の秘密が!
結果 ① (10-fold cross validation) J48 IBk Bayes MLP Net 1999 76% 78% 73% 84% 2002 61% 54% 61% 63% 2006 65% 55% 62% 50% 1999年以前・以後で分けたときが 一番高精度 たしかに1999年に特徴が変化 ② ● 楽曲全体の音高の平均値 隣接音の音高差の絶対値が0の割合 ● 隣接音の音高差の絶対値が3の回数 ● 全使用音高における頻出音高上位 5位までが占める割合 ● この4つの特徴量だけで82%の識別率 音の高さ、シンプルさが変化のキーに
【事例3】 グラフィックイコライザーによる 音色操作と印象の関係 (増田、2019卒) 研究の 「歌ってみた」動画作成で、 目的 歌唱のイコライジングを もっと直感的にやりたい (Steinbergの webサイトより) WIMP2019 採録
印象語(例:明るさ +2)でイコライザー操作を 目標 技術的 イコライザーの設定と聴いたときの印象の関係の定式化 課題 解決策 線形回帰で、印象とイコライザーの設定の関係を近似 (目的変数: 印象語評価、説明変数: イコライザー設定) 線形回帰で近似: y=Bx ...... Bright- Warmness ness y1 y2 ユーザが 指定 自動 逆推定: 500 Hz 2 kHz 8 kHz 推定 x1 x2 x3 x = B-1 y (実際には一般化逆行列)
Low Mid-lo Mid-hi High Low Mid-lo Mid-hi High 0 0 0 0 0 0 0 + > 0 0 + + > > 0 0 + 0 > + 0 0 > + 0 + 0 0 + + + 0 > > 0 0 + 0 + 0 0 0 > 0 0 - + > 0 0 0 - > 0 - 0 + > 0 0 - 0 > - 0 0 + > 0 - 0 0 > 0 0 + - > - 0 0 0 > 0 + 0 - > >
主観評価の 実施 線形回帰
Verbally controllable equalizerのプロトタイプ Direct controller Verbal controller 相互変換可能
【事例4】 アニメの主題歌による 類似アニメ検索の検討 (本間、2019卒) MIPR2021 採録 研究の目的 類似アニメ検索を類似楽曲検索技術で実現する 着眼点 似ているアニメは、主題歌も似ているのではないか 試したこと ● 主題歌からMFCC抽出→ベクトル量子化 ● Earth Mover's Distanceが小さい順に出力 ● アニメに付与されたタグの共通性を評価 データ出典
実行例 コードギアス 反逆のルルーシュ (主題歌:COLORS) [SF/Fantasy] [Robot/Mech.] [Bloom of Youth/Drama] ©SUNRISE/PROJECT GEASS Theme song: ©FLOW Demo
まとめ 教育の話 研究の話 目標: 非専門家が なぜ音楽なのか ● 研究室(ゼミ)運営の実態 ● 音楽創作を楽しめる環境 ● 盛り上がり度に基づく ループシーケンサ 旋律概形による 即興演奏支援 卒業研究の事例 – 選曲 – ベーシストの分析 – イコライザー – アニメ などなど 一緒に研究してくれる仲間、大募集!!!