[CC Lab21秋]Variable Flavor Remixの可能性と楽曲推薦機能の検証について

Kai Obara
Computational Creativity Lab at Keio SFC
22 min readFeb 7, 2022

はじめに

こんにちは、CC Lab所属のB4 小原 開です。
今学期もX-DJチームのプロジェクトリーダーとして、
B4の長谷川とB2の高梨、そしてM1の西門と共に活動をしてきました。
今学期をもって私は学部生活を終える予定ですが、本稿では今期CC Labで活動してきたこととをまとめ、今後の指針を固めたいと考えています。

研究背景

2021年2月現在、新型コロナウイルスの影響でクラブ現場の運営は、若干緩和されながらも、新規感染者数が急速に増えている現状で、以前のように、クラブ現場の営業停止を考えなければならない状況です。
これまで、状況を見ながらではありますが、継続的にDJ活動を続けてきた私にとっても、コロナウイルスが蔓延して以降、DJとして非常に苦しい日々が続いています。これまでクラブ現場では、コロナウイルスへの対応として、ライブストリーミングを通じ、顧客を獲得する試みをしてきました。パフォーマンスに関していえば、DJが約1時間程度のミックスを披露するといった形態に留まり、普段から日常的にDJミックスを聴いている人や、そもそもDJとして活動している私のような人にとっては有益であると考えています。しかし、本来このような状況下で、新規顧客を導入すべきであるクラブ現場の課題とは逆行したやり方なのではないかと感じています。事実、仮想空間内でDJとオーディエンスが関わり合う試みによって、
既存のクラブ現場のようなパフォーマンスを、別空間で提案されてきましたが、クラブ現場で味わうような、"DJとオーディエンスの一体感"のようなものとは、少し違った体験であったように思います。
その理由として"オーディエンスのリアクションを汲み取れないDJミックス"が問題なのではないかと私は考えました。特にクラブ現場では、
DJが流した音から得ることのできる、オーディエンスの動きを参照し、
次の曲を選ぶことができるため、その場限りのDJミックスを体験できると私は考えています。これをもとに私はX-DJチームとして、そして個人研究において、DJとオーディエンス間で音を介したインタラクションの可視化と、新しいDJパフォーマンス形式の提案を行いました。

今期取り組んだ課題

今学期、私が取り組んだ課題は、先ほど研究背景でも説明した、
新型コロナウイルスの影響で、普及しているDJのライブストリーミングでは、オーディエンスの嗜好を汲み取った、パフォーマンスを行うことが難しいといった課題を前提としました。オーディエンスの嗜好とは、
主に好きな音楽ジャンルやリズム、そして楽器(電子音を含む)を示します。基本的に、クラブ現場のDJはこの嗜好情報を、オーディエンスの身体的な動き歓声から判断し、次にかける楽曲の参考にすることが多い、と私は考えています。サカチュワン大学のGatesらの研究においても

DJはプレイ中オーディエンスの体の動きやうねりに着目した“視覚”の情報を基に選曲しミックス作業をすることが示された

とされています。これをもとに、今学期の研究では、春学期に取り組んだVariable Flavor Remixをライブストリーミングに向けて改良しました。音源分離やループ抽出の技術に関して、今回のMediumではあまり触れる予定がないので、よろしければ2021春学期の私のMediumを読んでいただけると幸いです。話を戻して、個人の研究ではライブストリーーミングなどの観点から、DJプレイ中にオーディエンスの嗜好情報が伝わりにくい状況でも、リアルタイムで楽曲推薦を行うことにより、常にオーディエンスの楽曲嗜好に寄り添ったDJパフォーマンスができるのではないか、
といった仮定をもとに、楽曲推薦機能の実装に向けた検証を行いました。

Variable Flavor Remixについて

春学期ではVariable Flavor Remix(以降VFR)を作り上げるといった段階で止まっており、具体的なアプローチをすることなく終わってしまいました。
ただ、春学期終了直後に開催された、研究室の展示会ではじめてVFRを披露させていただきました。

春学期に課題であった、音合わせの部分をCycling’74(以降Max)のtimestrech機能などを駆使しマスターテンポに合わせられるよう設計することができました。
展示会での、具体的なVFRシステム構成としては、まず初めに音楽制作にMaxを使って、展示の際に楽曲を再生するためのインターフェイスを構築しました。この構築されたインターフェイスを、トラックパット(Native Instruments MASCHINE MIKRO MK3)と連動させることで、来場者の方でも、簡単に任意のタイミングでループ音源を自由に再生できるよう設計しました。楽曲に関しては、来場者が自身で展示の際に、ビジュアライズしたモニターからQRコードを読み取ることで、Spotify内にあるお気に入りの楽曲を送るよう促し、先程のトラックパットに音源分離とループ抽出された楽曲を入力することで、自由にリミックス体験ができる場を提供しました。今回の展示での狙いは、大きく分けて2つあります。
それは

・DJが普段行うミックス作業を楽しみながら体験してもらうこと

・異なった音楽ジャンル同士のリミックスパフォーマンスに向けた挑戦

といった2つの狙いです。1つ目に関しては、繰り返しになってしまいますが、新型コロナウイルスが蔓延して以降、クラブ現場も自粛傾向にあり、このような状況下で、新規の顧客を作ることはとても厳しいと考えています。この現状を打開すべく、クラブ現場とは違った空間で、DJはどんなことをする人なのか、そして来場者それぞれの嗜好に基づいたリミックス体験をしてもらうことにより、少しでもクラブ現場の雰囲気を体感してもらい、このような状況下でもクラブ文化を知ってもらうきっかけになれば、といったことを使命に取り組みました。
2つ目についてですが、私は普段テクノといった音楽ジャンルを主としてディープミニマルからインダストリアルなどの楽曲をメインにDJをします。比較的ニッチなジャンルでDJをしているわけですが、僕自身は常にこの音楽ジャンルのかっこよさ、そして楽しさを伝えたいと日々努力しています。それはジャンルは違えど、ほとんどのDJに通ずることでしょう。
ただ、これは正直に言わなければならないことだと思いますが、
普段K-POPやポップスを聴いている方々に、僕のプレイしているようなジャンルを訴求したところで、そもそも解釈してもらうことに無理があるのでは、と考えています。ただ、理解してもらうためのステップは、必ずあると私は思います。僕自身も、テクノが好きになったきっかけは、
Joy DivisionDepeche Modeなどのパンクやエレクトロ・ロックなどといったジャンルが好きだったといった要因からでした。
今回の展示では、自身にとって嗜好のあるジャンルの楽曲に加え、来場者によって、異なる音楽ジャンルから選ばれた楽曲を、同時にリミックスすることで、

聴き馴染みがあるけどはじめて聴く楽曲

を連続的に生成し、このリミックス体験を楽しんでもらえれば、少々押しつけにはなってしまいますが、僕の好きな音楽ジャンルを含め、世の中に溢れる、たくさんの音楽ジャンルに触れてもらうきっかけを、作ることができるのではと思い、制作活動を続けてきました。

ライブパフォーマンスデモ動画
春学期が終了してから、展示発表にてVFRを披露する運びとなったが、本来私たちが目的とする、ライブパフォーマンスに向けたリミックスシステムの提案については今学期に取り組見ました。具体的な提案内容として、パフォーマンスデモといった形で研究成果を披露しました。先ほど説明した、展示発表時の設計とは若干異なり、パフォーマンスデモに関しては、Max の代わりにステージパフォーマンスでよく用いられる DAW ソフトの、Ableton Live で扱う、セッションビュー を使用しました。また、展示ではトラックパットを使用したと紹介しましたが、パフォーマンスでもでは、Ableton Push を使いました。理由としては、展示の際には最大でも4曲分の音源分離かつループ抽出された楽曲を扱う事しかできなかったのに対し、Ableton Pushを使えば、より多い数の楽曲を扱うことが可能となります。これによりライブパフォーマンスにて、複数のオーディエンスが参加し、リアルタイムにたくさんの楽曲が送られてきた場合にも対処できると考えました。さらに、 Reverb や Echo 等のエフェクトを利用することもできるため、クラブ現場でのDJパフォーマンスにより近い形で、ライブストリーミングパフォーマンスを行うための設計をしました。
今回の取り組みの中で、パフォーマンス時の音質問題が課題としてありました。これまで、私たちはSpleeterを使用し、音源分離をしていたことにより、早い処理速度によって音源分離された素材を扱っていました。
しかし、同じくディープラーニングを用いた、オープンソース音源分離ソフトウェアのopen unmixに使用を変更したことで、処理速度はSpleeterと比べ劣るが、音質が改善され、DJミックスパフォーマンスとしての質を高める結果となりました。以上により、オンラインライブ空間などで、普段は汲み取ることが難しい、オーディエンス嗜好情報を通じて、リミックスパフォーマンスすることを可能としたツールとしては、非常に有用性の高いものとなりました。以下はパフォーマンスでもとなっているので、システム構成も兼ねてご覧いただけると幸いです。

楽曲推薦システムの実装

ここからは、今学期に卒業プロジェクトも兼ねて行った楽曲推薦システムの実装と、それに伴う検証について話していきたいと思います。
今回は、主にVFRに向けた楽曲推薦の実装としてプロジェクトを進めました。そもそも、本プロジェクトを始めたきっかけとしては、VFRにて楽曲のループ抽出から音源分離の処理をした複数音源をリミックスする場合、オーディエンスの嗜好を楽曲情報から汲み取ることができても、DJ側からしたら、はじめて聴く曲やリミックスする曲として相応しいのかなど、瞬時に判断を求められる要求が多いように感じました。特にVFRではこのような要求に基づいて曲選びをすることは難しいと考えました。楽曲推薦システムの実装に関しては、Spotify APIを使用し、オーディエンスから送られてくる楽曲の特徴量と、ミックスをしている楽曲双方の特徴量抽出をし、類似度を算出することで、次に流すべき楽曲の推薦をすることを目的としました。また、Spotify APIで提供されている特徴量の総数としては、現時点で、14個抽出することが可能です。
その中から、今回の実装ではテンポやリズムの一定感、そしてビートの強さなどによって、算出されたdanceabilityを筆頭に、全8個の特徴量を使用しました。特徴量の抽出方法に関しては、英単語をランダムに選択し、Spotify APIより検索する機能を用いて、5曲ずつ楽曲を抽出し、それを2000回繰り返すことで、合計10,000曲入ったプレイリストを作成しました。このプレイリストから各楽曲の特徴量をSpotify APIより抽出しました。

今回扱ったSpotify APIの特徴量

次のステップとして、これまで抽出した特徴量はそれぞれ平均値と標準偏差が大きく異なることを想定し、単位ごとの値を揃える必要がありました。そこで、今回は平均値を0、標準偏差を1として特徴量を標準化する
Z-Scoreの計算手法を用いて、Spotify APIから抽出された各特徴量の値の偏りをなくしました。今回の検証における標準化の例として、10,000曲が入ったプレイリストが母集団とし、xは10,000曲の中での1つの楽曲データの特徴量(danceabilityなど)を意味します。μに関しては、1つの特徴量の中での平均値、そしてσは10,000曲の楽曲データにおける標準偏差であり、それをもとに平均値と標準偏差のばらつきを揃えるといった仕組みとなっています。

Z-Score計算式

以上の手順により、作成したプレイリストからSpotify APIの特徴量抽出によって、標準化された楽曲データを、ユークリッド距離コサイン類似度を使用し、楽曲推薦を行うためのランキング付け作業をしました。加えて、楽曲推薦を行う上でどの特徴量を用いることが、有用であるかを検証するために、先ほど紹介した8つの特徴量を含んだ、255個の特徴量の組み合わせを作成し、その特徴量からランキング付け作業をしました。こちらのランキング付け作業に関しては、事前に私の方でランダムに曲を選び作成したプレイリストの全23曲の中から1曲を選び、それを基にユークリッド距離とコサイン類似度から、楽曲同士の類似度を検出しました。
以上により、255個の特徴量セットの中から、類似度をもってランキング付けされた楽曲と、私を含む複数人が、実際に楽曲を聴いてランキング付けしたデータと比較をし、ユークリッド距離とコサイン類似度のどちらが、楽曲推薦として有用であるかの比較と、楽曲推薦を行う際に用いるべき特徴量として、最適なものは何かといった検証を行ないました。

検証実験
これまで説明してきた手順によって、コサイン類似度とユークリッド距離の.どちらが今回の楽曲推薦において有用であるかを、アンケート調査によって、定量的に検証しました。
また、Spotify APIを用いて楽曲推薦を行う場合、255個の組み合わせの中のどの特徴量が、楽曲推薦を行う際に適切であるかといった部分の調査も行いました。
今回は以下の方法でアンケート調査をし、合計で12人の被験者に参加したいただきました。

1,まず、対象とする楽曲を聞いてもらう

2,次にプレイリスト内にある楽曲を、こちらで事前に作成したランダムの順番で聴いてもらう

3.聴いてもらった楽曲の中から、対象とする楽曲(The Avalanches — Subways)と似ていると思った楽曲を1位から5位まで選んでもらう

それ以外に以下の内容のアンケートも行いました。

・年齢

・今回聴いた曲のなかで知っている楽曲はあったか

・被験者の音楽歴

アンケートの特徴としては、被験者に対して、ランダムでプレイリスト内の楽曲を聴いてもらった点と、音楽歴によって楽曲同士が似ているか否かを判断する基準に偏りがあるのではないか、つまり選ぶ特徴量に変化があるのではないかといった仮説を立てたことがあります。ランダムで、プレイリスト内の楽曲を聴いてもらった理由としては、楽曲の評価において、ユーザーがはじめに評価した楽曲のバイアスを受けて、それ以降の評価に影響が出てしまうといった、楽曲を評価する際のバイアスをなるべく避けるといった関連研究を参照しました。
これにより、所得したアンケート結果のランキング順位が高い楽曲を、
今回の検証で、対象とした楽曲と似ている楽曲だと判断しました。
これまでの手順をもとに、ユークリッド距離とコサイン類似度によって各特徴量の観点から対象曲と似ていると判断された楽曲と、実際にアンケート調査によって人が主観的に対象曲と似ていると判断した楽曲のランキングを、MRRのランキング指標を使い評価しました。
MRR(Mean Reciprocal Rank)の計算に関してですが、コサイン類似度とユークリッド距離のそれぞれで特徴量セット毎にMRRの値を計算し、MRRの値で降順にランキングづけすれば、各類似度指標ごとに、どの特徴量セットが良い成績になったかを評価できると考えました。

MRRの公式

具体的なMRRの計算ステップは以下の通りです。

1. 類似度指標を選択(コサイン類似度 or ユークリッド距離)

2. 特徴量セットを選択し2を行う(2⁸-1 = 255通りを繰り返す)

3. 選択した類似度指標×特徴量セットが付けたランキングとユーザが付けたランキング(ベスト5を適合したと判断)により、MRRを計算する(公式内のQは今回の被験者数,つまり12人を指す)

4. MRRにより降順で順位づけをする

5.もう一つの類似度指標で2.~4.を行う

計算ステップイメージ

for 類似度 in {コサイン類似度, ユークリッド距離}:

MRRリスト=[]

for 特徴量セット in 特徴量の全組み合わせ集合:

類似度×特徴量セットのMRRを計算し、MRRリストに追加する

MRRのリストを降順に並び替える→これがこの類似度における特徴量セットの順位になる

楽曲推薦システムの検証結果

先ほど説明したアンケート調査の評価結果から、コサイン類似度とユークリッド距離に基づいた類似度指標結果の検証を行いました。

検証の結果として両方の類似度指標で1位となったのはtime_signatureつまり楽曲の拍子であることがわかりました。特に、今回私の方で事前に作成したプレイリスト内の楽曲のほとんどがSpotify APIの表記では、4拍子で構成されており、それに次いで、1拍子と3拍子少々といった結果となりました。つまり、4拍子で構成された楽曲がほとんどの中で楽曲同士が似ているか否かを判断することは、楽曲推薦として有用ではないと私は考えました。では2位以降を見た時に、コサイン類似度の2位から3位に関しては、acousticnessやenergyなど比較的楽曲内におけるピアノやギターの音の有無や、楽曲の抑揚などによって評価が左右されている傾向が見られました。また、ユークリッド距離に関しては、楽曲の踊りやすさやビートの強さを示すdanceabilityや、楽曲内に歌声がどれくらい含まれているかを表すinstrumentalnessなど、わりとはじめて聴く楽曲でも簡単に認識できる特徴量をもとに評価されていることがわかりました。

MRRを用いた各類似度指標ごとの検証結果1
MRRを用いた各類似度指標ごとの検証結果2

考察

VFRについて

これまでのDJライブストリーミングでのパフォーマンスでは、オーディエンスの嗜好情報をリアルタイムで汲み取り、楽曲選びをすることは現実的に難しいと考えていました。しかし、今回の研究によって、オーディエンスのお気に入り楽曲をそれぞれの嗜好情報とし、リアルタイムに受信することが可能にしたことで、複数のオーディエンスとDJが、別空間でも音を介して関わり合えるようなパフォーマンスの、実現に向けて取り組むことができました。今回の研究ではSpotify APIを用いたことで、オーディエンスにとって嗜好のある楽曲を、DJが瞬時に扱えるよう整形して利用できるといった点では、ライブストリーミングに限らず、DJパフォーマンスにおいて非常に独自性のあるシステムを制作することができたと考えています。また、これまでのDJライブパフォーマンスではミックスの一方通行性が問われ、DJやクラブ文化の入り口としては大きな難点があると考えていました。そこで、本研究ではオーディエンスの嗜好を汲み取りつつDJパフォーマンスを行える設計にしたことから、ある種のクラブ文化の普及に向けたアプローチができたのではないかと私は望んでいます。

楽曲推薦について

今回私制作したVFRでは、ライブストリーミングでのパフォーマンスを主として、様々な人の音楽的嗜好を汲み取ったリミックスパフォーマンスを想定していることを伝えてきました。その点で言えば、対象楽曲を類似していると判断するときに重要視していた拍子、つまりtime_signatureを楽曲推薦の軸とすることは検証結果として先決です。しかし、今回の検証では、Spotify APIの特徴量に関して、time_signatureの特徴量数値は4拍子、つまり4と表記されている楽曲が大半を占めていました。
これにより、今回の検証では拍子によって楽曲的特徴の差異を抽出し、楽曲推薦に活かすことは、あまり有用でないと考えます。私が展示発表でVFRのを展示する際の狙いとして話した、異なった音楽ジャンル同士のリミックスパフォーマンスに向けた挑戦をするためには、danceability,acousticnessやenergy,そしてinstrumentalnessのように、ジャンルに限らず楽曲内の音色や歌声の有無、楽器音によって判断される特徴量を用いることが今回の検証では有用なのではないかと考えました。
つまり、類似度を検証する際に用いた、コサイン類似度とユークリッド距離の検証については、先ほど推奨した特徴量傾向から、今回の検証で言えばユークリッド距離が有用であるとしました。これまで、楽曲推薦では主に、コサイン類似度を用いて楽曲の類似度を抽出するケースが多いとされています。吉井和佳(産業技術研究所)らが、音楽推薦システムの研究と今後の指針についてまとめた論文においても、楽曲の類似度における尺度として、コサイン類似度がよく利用されることが示されていました。
このことから、今回の検証だけではそもそも募った被験者の人数が少ないことと、time_signatureなど根本的な楽曲の特徴量に偏りがあったことなどの結果からして、コサイン類似度とユークリッド距離のどちらが楽曲推薦として有用であるかを、今回の検証で確実に断言はできませんでした。

終わりに

まず、VFRについては春学期からプロジェクトリーダーを務めつつ、
DJとして活発的に活動できない現状を、常に照らし合わせながら作り上げた作品として、日本のDJ文化の発展が滞っている現状の打開策として、非常に有意義なものになったと断言したいです。まだ、実際にパフォーマンスを行えていない点などから、これからも改良すべきところなどはたくさんあるかと思いますし、Spotify APIを利用したことによる著作権的な問題の観点からしても課題はあります。しかし、この状況下で精力的にDJ文化を訴求できるライブストリーミングのプラットフォームのあり方を、これまでのDJ活動の経験や、チームメンバーの音楽制作意欲などの観点から話し合い、新たなパフォーマンス形式を提案できた結果に意義を感じています。ただ、日本社会の構造として、特にDJなどのアーティスト活動が保証されない現状と、新型コロナウイルスによる緊急事態宣言により、営業自体の短縮や自粛を強いられるといった観点から、営利目的で運営をしているクラブ現場で、僕のような学生一個人が何かを変えることは現実的に難しいです。これをもとに、私はこれまでクラブ現場で、若手のアーティストに向けた支援活動の一環としてイベントの運営を行ってきました。学内外、両方の側面でDJとして、そしてクラブを支えたいといった思いで活動できたことは、何にも変え難い事実であるし、この状況下でもアーティストとしての活動を志すDJや芸術活動を行っている若い世代の人たちに、大きな原体験を与えることができたと思います。
だからこそ、研究会での最終発表は今までにないほどの、悔しさを味わいました。特に個人の卒業プロジェクト発表に関して、今回の検証結果からして、楽曲推薦機能を用いることが、果たしてDJにとって有用であるのかなど諸々突っ込まれた時に、言葉が出て来ず、これまで自分は、

DJのことをわかった気

になっていたのだということに気づきました。今でも言語化することが難しいですが、卒業プロジェクトという枠組みにこだわるあまり、ある種の自主性のようなものが損なわれ、問題提起を掲げて検証を行い、考察をして終わり、といった形式に剃っているだけの研究になっていることに気づきました。もちろん努力をした結果ではありますが、他の人よりもDJ活動をして、ある意味いい環境でやらせてもらっている分、その現状に満足するあまり、それ以上に自己と向き合うことをしなかった結果であると反省しています。要するに、他人よりもDJに関して知見がある自分や活動をしている自分に満足してしまい、表面的な問題を掲げるだけで、その問題の根本を考えることをしなかったのだと、振り返るだけでなんとも自責の想いです。僕は4月から修士研究に取り組む予定ですが、今回の卒業プロジェクトでは他者、つまりSpotify APIの特徴量を扱って検証をした事実や、検証結果の考察が甘かったことに向き合い、修士研究では自分で音響的な特徴を抽出したり、自分が掲げたコンセプトに対する問いかけを自主的に行ったりと、より自分に向き合った研究をしていきたいです。その上で、今を生きるDJとして本当に必要なもの、そしてあるべき姿を突き詰めていきます。実際には、今の状況からして、クラブ現場内のDJに向けたサポートツールを作るよりも、自身がDJつまりアーティストとしてフックアップされていくことの方が、日本のクラブ文化を盛り上げる面で言えば重要な気がしています。なので来期からは修士研究をやらせていただく予定ですが、もう少し自身がDJとして、そしてアーティストとして勝負していくための作品作りに注力しつつ、研究活動を続けられたらと思います。
最後に、これまで学部生活で僕に関わってきてくれた皆さん、そして手を差し伸べてくれた方々、本当にありがとうございました。
今期できたこと、できなかったこと、そして卒業間近に経験した挫折というか悔しさのようなものを跳ね返すべく、DJとして修士研究に臨みます。

--

--

Computational Creativity Lab at Keio SFC
Computational Creativity Lab at Keio SFC

Published in Computational Creativity Lab at Keio SFC

人の創造性を拡張する道具としてのAI。創造性の本質を写し出す鏡としてのAI。AI技術の研究と作品制作の両面から、わたしたちは新しい「つくる」をつくることを目指します。