「GET WILD SONG MAFIA」を「Get Wild and Analysis」
こんにちゲットワイルド(この挨拶は流行る)
このブログを見ている皆さんなら、もちろん買ってますよね「GET WILD SONG MAFIA」。
- アーティスト: TM NETWORK
- 出版社/メーカー: avex trax
- 発売日: 2017/04/05
- メディア: CD
- この商品を含むブログ (3件) を見る
収録36曲全てが「Get Wild」という狂気のアルバム。私はもちろん買いました。
買った
曲が並んでいるだけなのに狂気を感じる
歌詞カードも、36曲あるのに1曲分のみという潔さ。しかも、以下のようなチープなスリルを感じさせる不穏な但し書き付き
※ 収録曲内には原曲歌詞から一部変更されているものも含まれておりますが、ご了承ください。
ご了承できるかっ!
ちなみに、歌詞カードのページ数の不足を埋めるために追加されたであろうインタビューは必見です。これを読むだけでもCD買う価値がある…と言うとちょっと言い過ぎかも。
そして本題です。以前、以下のようなアニメ「CITY HUNTER」における「Get Wild」の使われ方を調査する記事を書きました。
今回は、続編として「GET WILD SONG MAFIA」における「Get Wild」を分析してみました。みんな、ついて来てくれよな!
「Get Wildの回数」と「アスファルトがタイヤを切りつけるまでの時間」を分析する
今回は「GET WILD SONG MAFIA」の全36曲の「Get Wild」の回数に加え「アスファルトがタイヤを切りつけるまでの時間」を全てカウントして分析するという狂行に出ました。以降「A(アスファルト)がT(タイヤ)をK(切りつけるまでの時間)」をATKと略します。
カウントのルール
カウントのルールは以下としました。なるべく自分が数えやすいようにと設定しています。そもそも、人間かサンプラかなんて判別できないです。
- 「Get Wild」というフレーズが含まれている
- 歌う人は問わない、人間でなくても(サンプラ等)OK
- 外国語でもOK
- 音程は外していてもOK
- コーラス等複数人が同時のケースは、まとめて1回とカウント
正直10%くらいの誤差はあると思います。やるとわかるのですが(やらないで下さい)、何度も「ゲッワイ」を聞いていると、「Get Wild」がゲシュタルト崩壊してきて、自分が何をしているのかわからなくなります。「そりゃスタッフも同じ曲を2曲入れちゃうよ」と思いました。
実際、カウントしているとき何度も途中で回数が分からなくなり、最初から数え直ししました。しかも、どこで「Get Wild」するか分からないため、最初から最後まで聞かなければならず、好きな曲とはいえ中々辛い作業でした。
カウントするケースとカウントしないケースの具体例は以下です。
カウントするケース
カウントするケースの具体例です。歌う人は、誰でもOKです。宇都宮さんでも、マーク・パンサーでも、パークマンサーでも、人間以外(サンプラ)でもOK。
- ゲゲゲゲッワイ
- ゲッワーイ
- ゲッワイエンターフ ウォーウォー
- Get Wild(やけに発音が良い)
- ゲットワイルド(発音いまいち)
- Je roule droit devant moi dans une jungle d'asphalte(私はアスファルトジャングルでまっすぐ走る)
ノーカウントのケース
カウントしないケースです。「Get Wild」と言っていないと、カウントしません。
- ワーイエンターフ
- ゲッ
- ゲゲッツ
- ゲゲッゲゲッゲゲッ
データ集計 〜きっと 数えられる〜
頑張ってデータを集計した結果、以下のようなcsvデータを作成しました。ちなみにインストの曲など、歌詞の無い曲は集計対象からは外していますのでご承知おき下さい。
カウントは、iPhoneで曲を聴きながらVimエディタの「Ctrl + a」で数字をインクリメントする機能を使ってひたすら数えてました。
ちなみに、視聴には以下のBTヘッドフォンが大活躍しました。
- 出版社/メーカー: JPRide(ジェイピー・ライド)
- メディア: エレクトロニクス
- この商品を含むブログを見る
「Get Wild」と「ATK」の分析結果
分析方法
データが集まったらいよいよ分析です。前回は男らしくExcelを使って分析したのですが、今回はおしゃれに、Pythonというプログラミング言語を使用して分析しました。もちろん、CITY HUNTERの主人公、冴羽 獠(さえば りょう)の愛銃「コルト・パイソン(Colt Python) 357マグナム」にかけています。
分析のための環境設定に関しては、以下参照下さい。
Python3を使用しましたが、多分Python2でも大丈夫でしょう。
分析に使用したデータや分析方法やライブラリのバージョン情報の詳細に関しては、以下GitHubのリポジトリでcsvやjupyter notebookの形式でオープンデータとして公開していますのでご自由に使用下さい。ライセンスはMITです。
以下は、結果だけを簡単にご紹介します。プログラムの知識は不要ですので、ソフトに明るくない方もご安心下さい。
「Get Wild」と「ATK」の可視化
Get Wild
まずは「Get Wild」の回数を、可視化の基本であるグラフ化してみます。
Get Wild and Graph!
続いてヒストグラムを表示してみます
異常にGet Wildの回数が多い曲がありますね。「Get Wild (“DOUBLE-DECADE TOUR FINAL “NETWORK”” Version)」です。オリジナルの「Get Wild」の回数が8回なので10倍近く「Get Wild」していることになります。
ATK
続いて「ATK」の長さの分析です。「Get Wild」と同じ要領でグラフ、ヒストグラムを表示します。
グラフ
ヒストグラム
オリジナルだと約30秒でアスファルトがタイヤを傷つけ始めるのですが、なんと最長で1000秒(16分以上)を超えています。はっきり言って異常ですね。
Get Wild + ATK の可視化
次に、「Get Wild」を横軸に「ATK」を縦軸にしてプロットしてみます。
特に比例するとかは無いようです。数字が大きすぎるので、正規化してみましょう。正規化と言っても、原曲の「Get Wild」の回数8回と「ATK」の30sでそれぞれ割り算するだけです。
ここからは、便宜上「Get Wild」と「ATK」という新たな単位を規定します。「1 Get Wild」で8回分のGet Wildとなります。。
上記をみると、ほとんどの曲は「3 Get Wild」から「10 ATK」の間に収まっていることがわかります。収まっているといっても「10 ATK」は5分に相当するので十分異常です。
K-Means法によるクラスタリング
せっかくなので、もうちょっと突っ込んで上記の結果をクラスタリングしてみようと思います。クラスタリングには「K-Means法」という手法を用いて5種類のクラスタに分類します。
それぞれのクラスタの特徴は以下です。
ほとんどが、原曲の「Get Wild」「ATK」に近いcluster 0
に分類されます。次に大きいクラスタとして、「ATK」の平均が「10 ATK」すなわち、イントロが約5分あるcluster 1
の集団になります。残りのクラスタは、基本クラスタ毎に1曲しかないので、どちらかというと異常なケースと考えて良いと思います。
最後に、「Get Wild」を横軸に「ATK」を縦軸にしたグラフに、クラスタ毎に色を変えてプロットしてみます。
「GET WILD SONG MAFIA」における「Get Wild」と「ATK」の様子が一目で分かる素晴らしいグラフですね。
まとめ
「GET WILD SONG MAFIA」における「Get Wild」と「ATK」を分析してみました。実は、CD買ってからわりとすぐデータの集計はしていたのですが、この記事を書き上げるまでに何故か半年くらいかかってしまいました。多分次回はないと思います。
しかし、「Get Wild」一つとっても分析してみると色々なことが分かりますね。これで私もデータサイエンティストの仲間入りしたと言っても過言ではないでしょう(過言です)。データサイエンティストは今世紀最もセクシーな職業らしいので、きっとモテモテですね。これで、私も愛知の種馬です。誰か高給で雇ってください。
私のように(?)データサイエンティストになって、傷ついた夢を取り戻したい人は、以下の本とCDを買って、データ分析してデータサイエンス入門してみると良いかもしれませんよ!
Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
- 作者: Andreas C. Muller,Sarah Guido,中田秀基
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/05/25
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- アーティスト: TM NETWORK
- 出版社/メーカー: avex trax
- 発売日: 2017/04/05
- メディア: CD
- この商品を含むブログ (3件) を見る
また、繰り返しになりますが。今回の分析の詳細は、以下GitHubのリポジトリにまとめていますので、興味ある方は参照下さい。それでは、Get wild and luck!
参考リンク
教師なし学習の第一歩(クラスタリング)|Pythonで機械学習vol.6|TechClips[テッククリップス]
K-Means法のプログラムはこちらを参考にしました
クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ
K-Means法の直感的理解に最適です