N.Y.Cityのまちかど

Just_some_choices_is_there

「ただ選択があった」の分析

はじめに

フロクロ氏がニコニコ動画に投稿した『ただ選択があった/重音テト』という曲(https://www.nicovideo.jp/watch/sm38371721)が話題になっている事をニュースサイトで知り、聴いてみました。

テクノのリズムが非常に心地よい曲なのですが、驚いたのが動画の構成で、4ステップ×4種類のコードをラティス型(タスキがけ状)につないだコード遷移グラフ*1上を、様々な経路で巡回しながらコード進行を示すというものでした。

このようなコード遷移グラフは、私がかつてTPSの研究(「TPS-ExJのページ」を参照)で使用したものだったので、非常に驚きました。

あくまでも演出としてこのような表示をしているだけで、計算論的音楽理論を使って作曲したわけではないと思いますが、せっかくなので、久しぶりにTPS-ExJのライブラリを引っ張り出してきて、この曲の簡単な分析を行ってみました。

下準備

ディグリーネームからコードネームへ

便宜上、各ステップを時系列順(左から右)にP/Q/R/Sと記号を付けます。

映像ではディグリーネームで和音が示されていますが、音を確認した所、キーはB♭メジャーのようだったので、ディグリーネームからコードネームに変換しました。

各ステップ間の和音間距離を求める

私の開発したTPS-ExJを使って、各ステップ間の和音間距離を求めると次のような値になります。(値が大きいほど不自然さのある進行)なお残念ながら、現在のTPS-ExJではルート表記・オンコード表記に対応していないため、それらは無視して計算しています。

曲の進行を分析する

前奏から最後まで、コード進行を列挙して、先ほど求めた和音間距離を並べていきます。 P→Q,Q→R,R→S,S→Pの4ステップを1区切りとして、SUM列は和音間距離の合計、AVE列は和音間距離の平均を示しています。

SUM列とAVE列をそれぞれグラフにしてみます

曲の中盤、24小節~48小節あたりにかけて、ちょっと和音間距離が大きくなっています。つまり、序盤と終盤に比べて、不自然さのある≒奇抜性のあるコード進行で曲の盛り上がりを作っている事が見えます。

サンプルソース

計算に使用したのは、とりあえず値がわかればいいということで、ごく簡単なものです。 requireを使用して、拙作のTPS-ExJライブラリを呼び出しています。

#! ruby -Ks

require "../Chord/Chord"
require "../Delta_chord_calcurator/Delta_chord_calcurator"


key = "Bb"
minorflg = false

listfrom = ["Bb 7","F m 7","Bb aug","G# m 7 -5"]
listto = ["Eb M 7","C m 7","A m 7 -5","Eb m 7"]

listfrom.each do |f|
    listto.each do |t|
        chordA = Chord.new(f)
        chordB = Chord.new(t)

        chordA.setkey(key,minorflg)
        chordB.setkey(key,minorflg)


        calc = Delta_Chord_calculator.new

        delta = calc.calc_chord_delta(chordA,chordB)

        p f,t,delta
    end
    print "\n"
end

*1ここでいうグラフというのは、折れ線グラフとか棒グラフとかのグラフではなく、離散数学の「グラフ」


現在ご覧のページの最終更新日時は2021/03/16 23:50:07です。

Copyright (C) N.Y.City ALL Rights Reserved.

Email: info[at]nycity.main.jp