BEATWIZ機能解説物語 – 第2話:みんな盛り上がっているか~い –


こんにちは。事業開発室室長の増野です。

BEATWIZ誕生秘話を解説した、BEATWIZ機能解説物語。
前回の第1話は『手拍子の秘密』に関して、簡単に説明しました。

この『手拍子の秘密』を解き明かすことができた楽曲をさらに解析していくと、
いままで感覚的にしか説明できなかった『楽曲の盛り上がり度』や『フレーズ構成』が判明するということがわかりました。
最終的には、『任意の楽曲を入力するだけで、自動的に音ゲーが出てくる』という魔法のようなことができるようになったのです。

今回はこの魔法の素になる『楽曲の盛り上がり度の推定技術』に関して解説していきます。

▲前回紹介した、既存の音楽を読み込むだけで音ゲーが自動で生成されるデモです。
楽曲が一番盛り上がる部分、いわゆる『サビ』では、背景演出が豪華になるという演出が自動で行われます。

 

作曲者の意図に寄り添った時刻表記(MBT単位)

楽器を演奏したことがある人ならば、ある楽曲の特定の箇所を示すときに、
例えば『12小節3拍目』という表現をすると思います。
『1分23秒目』という言葉は、ほとんど使いません。

第1話で述べた『手拍子の秘密』がわかった音楽すなわち・・・

    1. BPM値(音楽の早さ)
    2. 拍頭時刻(『1小節目の1拍目がいつなのか』という情報)
    3. 拍子数(3拍子(ワルツ)なのか、4拍子なのかという情報)

・・・が確定した楽曲は、もはや『時分秒』の単位ではなく『小節・拍』の単位で時刻を示すことができ、双方を相互に変換することができます。

BEATWIZでは、『小節・拍』の単位の時刻情報を『MBT』という単位で表します。
MとBとTは、それぞれ以下の意味を持っています。
小節(MeasureのM)(1から始まる)
拍(BeatのB)(1から始まる)(3拍子の曲の場合1,2,3の値をとり、4拍子だと1,2,3,4の値をとる)
チック(TickのT)(0から始まり、1拍(1B)は960チック(960T)と定義する)

すなわち(M,B,T)=(1,1,0)は、『1小節目の1拍目の0チック目(冒頭)』なので、
『曲の最初の部分』を示すということがわかります。
 

上記のような、BPM値95.50、1小節目の1拍目は0.0756秒目、4拍子の曲があるとします。
例えば、この曲の『1分23秒目』は、詳しい計算過程は省きますが、(M,B,T)=(33,4,948)となるため、『33小節4拍目948チック』となり、ほぼ『34小節1拍目』と等しいことがわかります。

同様に楽譜内で使用する音符も、以下の例のように、MBT単位で表せます。

ゲームプログラマーが音楽を取り扱う場合、従来では、『時分秒』単位とか『サンプル数』単位といった、無機質な単位で音楽を取り扱ってきました。

BEATWIZによって『手拍子の秘密』を解き明かされた音楽は、このような無機質な単位ではなく、
『小節・拍』を基準としたMBT単位で表すことができるようになります。

これはすなわち、『音楽を作った人(作曲者)の意図に、寄り添った単位』で音楽を見つめなおすことができるということです。
MBT単位を使って音楽を解析すると、従来の解析方法で見えてこなかった、さまざまな『音楽の特徴』が見えてくるようになりました。

今回説明する『楽曲の盛り上がり度』の解析もそのひとつなのです。
 

盛り上がり度計測の秘密

コンサート会場で、観客を盛り上げるために、ステージ上の演者さんがよく、
『みんな盛り上がってるか~い』と、客席に向かって呼びかけることがあります。
楽曲におけるこの『盛り上がり』というのは、具体的どういうことなのでしょうか?

人間は音楽が盛り上がってくると、自然と手拍子が大きくなったり、
踊りの動作が大きく激しくなったりします。
これは音楽の、何に反応しているのでしょうか?

前章で示したMBT単位での楽曲の解析を行った結果、人間は以下に示す3つの要素を元に、
楽曲の盛り上がりを知覚していることがわかりました。

    1. 1小節毎の曲全体に対する相対的な音量
    2. バスドラムに代表されるような低域部(50Hz以下)の音量
    3. 16分音符未満の短時間における音量変化の大きさ

特に3番目の要素『16分音符未満の短時間における音量変化の大きさ』は、他の2つに比べて重要であることもわかりました。
『楽曲の盛り上がり』は英語では『Music Excitation』と表現されることが多いのですが、上記の解析の結果からは『Excitation』よりは『Dynamics』と表現したほうが適切かもしれません。

BEATWIZでは上記のような情報を解析し集計することで、従来感覚でしかとらえられなかった『楽曲の盛り上がり』の定量化に成功しました。

 

盛り上がり度からフレーズを推定する魔法

音楽に詳しい人ではなくても、皆さん1度は『サビ』という言葉や、『Aメロ』『Bメロ』といった言葉を聞いたことがあると思います。

『サビ』は曲の中で最も印象に残るところであり、『最も盛り上がる部分』と定義されます。

BEATWIZでは、この『サビ』をどのように検出しているのでしょうか?

これは、盛り上がり度の測定粒度を1小節単位に設定し、曲全体の大まかな傾向をグラフ化した例です。

この曲は最初静かに始まり、1回大きく盛り上がったあと、少しおとなしくなり、ふたたび盛り上がったあと、急速に静かになって、最後にまた大きく盛り上がることが分かります。
これにより、この曲には『最も盛り上がる部分』=『サビ』が3か所あることがわかります。
また、それぞれのサビの、おおまかな小節位置も推定できます。

『Aメロ』とか『Bメロ』というのは、『フレーズ』とよびます。
一般的な曲では、『曲想(メロディーライン)』が 4~16 小節単位で変わっていきますが、
その単位を『フレーズ』 といいます。
BEATWIZ では、この『フレーズ』をどのように検出しているのでしょうか?

盛り上がり度の測定粒度を16分音符毎に設定し、細かな盛り上がり度を計測したグラフです。
46小節目の後半から51小節目まで、盛り上がり度の遷移パターンが、明らかにその前後と違うのがわかります。これにより46小節目に『フレーズの区切りがある』というのがわかります。

BEATWIZでは、上記の図のように、『盛り上がり度の遷移パターン』が異なるところに、
『フレーズの区切り候補』のマーカーを立てることで、フレーズを検出することができるようになっています。
 

サビを含むフレーズ構成の自動解析と音ゲーの基本要素の提示

前章で示した、『2つの異なる粒度での楽曲の盛り上がり解析』を使えば、以下のように、『フレーズ構成』と、『サビ』の位置が解析できます。

▲楽曲のフレーズ解析結果の一例です。この曲ではBメロがサビになっています。
Chorus 1, Chorus 2, Chorus 3で示されるサビが3回出現することがわかります。

 

あらかじめダンスパターンを数種類準備し、その動きの激しさを順位付けしておけば、曲の盛り上がり度とフレーズ情報に応じて、ダンスパターンが自動的に選択される仕組みを作ることができます。

これこそがまさに、私が当初思い描いていた『自分の好きな曲で音ゲーを楽しみたい』という願いがかなった瞬間でした。
 

次回予告

私の『自分の好きな曲で音ゲーを楽しみたい』という願いをかなえることができたBEATWIZ。
楽曲解析の進化(深化)は、ますます進んでいきます。
次回は『歌声分離』と『主旋律(メロディライン)の抽出と楽譜化』に関してお話ししたいと思います。
お楽しみに。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です