Slide 1

Slide 1 text

楽曲の繋がりを考慮した⾳楽再⽣⼿法の研究 A Music Mixer considering the Connectivity of Songs 森 晴樹 岐⾩⼯業⾼等専⾨学校 電気情報⼯学科 ⽥島研究室

Slide 2

Slide 2 text

このスライドで話すこと 背景 : 楽曲再⽣時の違和感 ⽬的 : 違和感を解消する再⽣⼿法の開発 課題 : 楽曲間の距離、つなぎ⽬ ⼿法 : キーとBPMによる類似度算出、つなぎ⽬の処理 実験 : 提案⼿法とシャッフル再⽣の⽐較 考察 : 違和感が解消できた

Slide 3

Slide 3 text

⾳楽を聞く機会の増加 サブスクリプション型⾳楽ストリーミングサービスの普及、端末の ⼤容量化 プレイリストの⾃動編成 雰囲気の似た曲が⾃動で推薦される リスト内の楽曲はランダムに並んでいる 楽曲再⽣時の⾳のつながりは考慮していない

Slide 4

Slide 4 text

プレイリストを⾃動編成していても 楽曲間のつながりに⼀体感がない 現状

Slide 5

Slide 5 text

DJ(Disc Jockey)

Slide 6

Slide 6 text

クラブDJは⽚⽅の再⽣機器で曲を再⽣している間に、も う⽚⽅で次の曲の再⽣準備し、⾳を違和感なくクロスさ せるミックス操作で曲の流れをとめることなく次の曲へ と繋いでいく。 https://ja.wikipedia.org/wiki/ディスクジョッキー

Slide 7

Slide 7 text

違和感なく曲をつなぐ再⽣⼿法の開発 ⽬的

Slide 8

Slide 8 text

どのようにして違和感を解消するか?あ

Slide 9

Slide 9 text

1. 違和感のない曲順を定める 2. 違和感のないつなぎ⽬にする 曲順 つなぎ⽬ に着⽬する }

Slide 10

Slide 10 text

1. 違和感のない曲順を定める

Slide 11

Slide 11 text

曲の性質がどれだけ近いか? ↓ 曲と曲の類似度を求める

Slide 12

Slide 12 text

⾳楽の三⼤要素 メロディ : ⾳程の時間変化 ハーモニー : ⾳の重なりの時間変化 リズム : ⾳符や休符による⼀定のパターン

Slide 13

Slide 13 text

メロディ ハーモニー リズム } どのような⾳程を持つか どのような時間感覚を持つか

Slide 14

Slide 14 text

メロディ ハーモニー リズム } どのような⾳程を持つか どのような時間感覚を持つか キーが指標になる BPMが指標になる

Slide 15

Slide 15 text

キー 12⾳階のうち、楽曲が「基準としている⾳」と 「使⽤している⾳」を⽰すもの e.g.) Cmaj : [C D E F G A B] ハ⻑調 : [ド レ ミ ファ ソ ラ シ]

Slide 16

Slide 16 text

⼀定の速さで刻まれる基本的な時間の単位。 リズムが演奏されるスピードを1分あたりの拍数で表す。 BPM(Beats per minute)

Slide 17

Slide 17 text

!"" = #$% + &'( #$% = − ∗ 0.04 ).+ &'( = 1 − 1 7 ).+ 提案する楽曲間の距離

Slide 18

Slide 18 text

#$% = 1 − * 7 &.( e.g.) Cmaj ・ Amaj = [C D E F G A B]・[A B C# D E F# G#] = 4

Slide 19

Slide 19 text

曲と曲の類似度を求める ↓ 曲と曲の距離!"" を定義できた ↓ 距離!"" がもっとも⼩さいものを 次の曲として選択していく

Slide 20

Slide 20 text

あ 違和感のない曲順の決定をする

Slide 21

Slide 21 text

2. 違和感のないつなぎ⽬にする

Slide 22

Slide 22 text

曲A 曲B

Slide 23

Slide 23 text

曲と曲を重ねる

Slide 24

Slide 24 text

ごちゃごちゃ }

Slide 25

Slide 25 text

拍位置を合わせる

Slide 26

Slide 26 text

曲A 曲B 急に始まる 急に終わる

Slide 27

Slide 27 text

曲A 曲B Fade in Fade out

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

曲と曲を重ねる 拍位置のマッチを⾏う 接続部分にクロスフェードを適⽤ つなぎ⽬

Slide 30

Slide 30 text

① ぐちゃぐちゃ ② ⼿法を適⽤ 聴き⽐べ (ZEDD / Stay → Kygo / Stay)

Slide 31

Slide 31 text

あ 違和感のない曲順の決定をする あ 違和感のないつなぎ⽬にする

Slide 32

Slide 32 text

開発環境 OS macOS Mojave 10.14.6 Development language Python 3.7 Editor Atom 1.43.0 Library Use tempfile Store wav file. LibROSA Calc chroma vector, Beat tracking, and HPSS. pydub Make mix, Apply effects.

Slide 33

Slide 33 text

• Apple Musicから取得した雰囲気の似ている8曲を利⽤ • 曲順の決定⽅法を変えて本⼿法で再⽣ A) ランダム(Track1) B) BPMによる類似度のみを適⽤(Track2) C) キーによる類似度のみを適⽤(Track3) • つなぎ⽬の処理は3つとも同じ 評価実験

Slide 34

Slide 34 text

楽曲間距離の合計 dBPM dkey dall Track1(Random) 3.29 2.68 5.98 Track2(BPM) 1.23 1.63 2.85 Track3(Key) 3.48 2.42 5.90

Slide 35

Slide 35 text

実験結果 3つの中で最も違和感のないトラックは? (n=22)

Slide 36

Slide 36 text

得票数の順位と楽曲間距離の近さが⼀致 dBPM dkey dall Track1(Random) 3.29 2.68 5.98 Track2(BPM) 1.23 1.63 2.85 Track3(Key) 3.48 2.42 5.90

Slide 37

Slide 37 text

楽曲間距離の算出⽅法は ⼈間の感覚に沿っていた 考察

Slide 38

Slide 38 text

まとめ • ⾃動編成されたプレイリストに対して再⽣時の違和感の解消を⽬ 指す再⽣⼿法を開発し、評価を⾏なった BPMとキーによる類似度算出、拍位置のマッチングとクロス フェードが有効であると確認できた 再⽣プレーヤーとして実装できなかった

Slide 39

Slide 39 text

追加資料

Slide 40

Slide 40 text

五度圏(Circle of fifth)

Slide 41

Slide 41 text

1. 楽曲から調波⾳を分離しフレームに分割する 2. 各フレームのChromaベクトルを求める 3. 1をを時間⽅向に⾜し合わせる 4. 2とテンプレートベクトルとのコサイン類似度 !"# が最⼤になるキーを選択する キーの推定 !"# = $%&'() - *"(+,)*" $%&'() *"(+,"*"

Slide 42

Slide 42 text

キーの推定 Take dot product with template vector

Slide 43

Slide 43 text

キーの推定 Take dot product with template vector

Slide 44

Slide 44 text

キーの推定 Take dot product with template vector

Slide 45

Slide 45 text

キーの推定 Take dot product with template vector

Slide 46

Slide 46 text

キーの推定 Take dot product with template vector

Slide 47

Slide 47 text

キーの推定 Take dot product with template vector

Slide 48

Slide 48 text

テンプレートベクトル scale note on the scale C D♭ D E♭ E F G♭ G A♭ A B♭ B C 1 0 1 0 1 1 0 1 0 1 0 1 D♭(C#) 1 1 0 1 0 1 1 0 1 0 1 0 D 0 1 1 0 1 0 1 1 0 1 0 1 Eb 1 0 1 1 0 1 0 1 1 0 1 0 E 0 1 0 1 1 0 1 0 1 1 0 1 F 1 0 1 0 1 1 0 1 0 1 1 0 F#/G♭ 0 1 0 1 0 1 1 0 1 0 1 1 G 1 0 1 0 1 0 1 1 0 1 0 1 A♭ 1 1 0 1 0 1 0 1 1 0 1 0 A 0 1 1 0 1 0 1 0 1 1 0 1 B♭ 1 0 1 1 0 1 0 1 0 1 1 0 B(C♭) 0 1 0 1 1 0 1 0 1 0 1 1

Slide 49

Slide 49 text

1. 楽曲をフレームに分割する 2. フレームごとに振幅の実効値を求める 3. ⾳の開始強度を測定する 4. 1で求めた開始位置の⾃⼰相関からBPMを推定する BPMの推定

Slide 50

Slide 50 text

1. ⾳の開始位置を測定する 2. 1で求めた開始位置の⾃⼰相関からBPMを推定する 3. 2で求めたBPMのテンポとほぼ⼀致する開始強度の ピークを選択する 拍位置の推定

Slide 51

Slide 51 text

dBPM dkey Track1(Random) 3.29 2.68 Track2(BPM) 1.23 1.63 Track3(Key) 3.48 2.42 Track2 > Track1 Track3 > Track1