こちらは rogy Advent Calender 2020 16日目の記事です.
先日このAdvent Calenderの5日目の記事として,振動子の同期について紹介がありました.
記事中ではメトロノームや蛍の発光の同期が紹介されていました.
実際,同期現象は自然界であちこちに見られます.
ところで,私たち自身が非常に分かりやすく,振動子として同期している場面があります.
ライブです!!!!!
曲に合わせて,あるいは周りの人と一体になって振っているキラキラの光は,まさに振動子と言えそうです.
実会場のライブも中々参加できない今日この頃ですが,シミュレーションで会場の一体感を再現してみようと思います.
今回の目標
ライブの魅力として,会場の一体感というものは重要な要素の一つかと思います.
この一体感というのは,まさしく観客とステージの同期現象といえるでしょう.
そして観客側の同期の様子は,各自の振るサイリウムの光として非常に分かりやすい形で現れます.
そこで今回は,サイリウムの発光が楽曲に同期する様子をシミュレーションで再現してみようと思います.
仮定
今回,「観客は聞こえてくる音のみに合わせてサイリウムを振っている」と仮定します.
これは知らぬジャンルのライブに突然誘拐された状態(私も経験がありますが)に近いかもしれません.それでもある程度は曲に合わせることができるかと思います.
実際は曲を十分聞いている状態でライブに参加することが多いでしょうから,曲中の振るタイミングをあらかじめ知っていて,それを曲に合わせていると解釈するべきかもしれませんが,お許しを.
位相同期モデル
「振動子の位相同期」というものを簡単に言ってしまえば,何らかの振動しているもの同士の振動タイミングが一致する現象のことです.
5日目の記事で挙げられていたメトロノームの同期現象は有名かと思います.
振動子,それからその相互作用についても色々な形があります.
今回は各個人のサイリウムという振動子が,楽曲という大域場に同期することを考えますので,次の形を想定してみましょう.
\dot{\phi}_i(t) = \omega_i + K\sin(\Theta-\phi_i)\quad\cdots\quad(1)
\phi_i は各サイリウム(参加者)の位相を表す状態変数で,この値に従ってサイリウムを振ります. \phi_i は 0 から 2\pi までの値を取ることにします.また \omega_i は各サイリウムの固有角速度とします.
楽曲からの作用を受けない K=0 のような場合では,各参加者が思い思いのペース \omega_i でサイリウムを振るわけです.
一方, K>0 では \phi_i が \Theta に一致するようなネガティブフィードバックを受けることになります.
曲の一拍ごとに \Theta=2\pi となるように曲の位相 \Theta を考えると,なんとなくサイリウムと曲のタイミングが一致してくれそうな気がしてきます.
少しだけ解析っぽい話
実際,(1)式を各振動子の大域場からのずれ \psi = \phi-\Theta を使って書き換えると
\dot{\psi} = (\omega_i-\Omega) - K \sin\psiという式が得られ,楽曲の固有角速度 \Omega と各サイリウムの固有角速度 \omega_i が近い場合には,安定平衡点を持つことを確認できます.
(1)式のモデルを突然出してしまいましたが,これは結合振動子における蔵本モデルと呼ばれるものと近い形をしています.
シンプルで扱いやすい上に,後に紹介する秩序パラメータという便利な指標を導入できます.
各振動子の状態がリミットサイクル軌道に近いなどの仮定のもとで,位相縮約法というものを行うと色々な結合振動子モデルから蔵本モデルを作ることができます.詳しくは参考文献をご覧ください.
インパルス入力モデル
(1)式の蔵本モデルっぽいものを想定すれば,サイリウムの振動と楽曲のリズムを合わせることが出来そうなことは分かりました.
しかし,リアルタイムに耳から入ってくる情報だけでは,ある瞬間に拍と拍の間のどれくらいの位置にいるか,つまり楽曲の位相 \Theta は分かりません.よって(1)式はそのままでは使えなさそうです.
ここで,楽曲のスペクトラムを見てみましょう.解析にはMATLAB R2020aのSignal Processing Toolboxを使っています.
低周波数帯を中心に筋が出ています.この帯域のバンドパスフィルタを通すと
こんな感じになりました.なんか使えそうな波形が出てきます.音楽詳しくないのですが,この波形の正体はベース?というのでしょうか,比較的低周波域でリズムとってくれるあれです.
これを入力 I(t) とみなし,位相同期の式を以下のようにします.
\dot{\phi}_i(t) = \omega_i + I(t)K\sin(-\phi_i)\quad\cdots\quad(2)
低音がなったタイミングのみ I(t) が非ゼロの値をとり,その \Theta=0 としてネガティブフィードバックが行われるイメージです.
(1)式との対応でいえば,低音が周期的になっていて,かつ各サイリウムの固有周期がそれと近ければ同期が起こりそうです.長くなってきたので細かい議論は割愛します.
ライブ会場シミュレーション
それでは,ライブ会場のシミュレーションを作っていきます.
まず会場に参加者を配置します.えいっ!
何だか会場を用意するとそれだけで気分が盛り上がってきますね
座席が分割されているのはアリーナ席とスタンド席です.各ブロック毎の参加者(振動子)モデルに差異は一切ないですのでご注意を.
また,座標軸をふってありますが,今回の内容では各参加者の座標にも意味はありません.
各観客についての設定
ここではシミュレーションに必要な観客の初期位相 \phi_i(0) と \omega_i を設定します.
まず観客の初期位相は [0,2\pi] の一様分布からランダムに決定します.
次に固有角速度(固有周期)ですが平均90BPM(Beats Per Minute)で標準偏差10BPMの正規分布からランダムに決定します.
ここは非常に申し訳ない設定で,初見ライブという仮定に若干反しています.上で出したスペクトラムにより,楽曲が概ね180BPM程度であったことを使っている数値です.要改善ポイントです.
楽曲のBPMに対し観客が半分になっていますが,半分とか2倍でも同期が起こることが知られています.興味のある人はアーノルドの舌(Arnold tongue)で調べてみると良いかもしれません.
会場の一体感について(秩序パラメータ)
位相縮約後の蔵本モデルっぽい形で表現する利点の一つがこれです.
次の式から秩序パラメータと呼ばれる量 R を計算することで,各振動子の同期度合いを定量的に評価することができます.( j は虚数単位です)
R=\frac{1}{N}|\sum_i^N \exp(j\phi_i)|この値が1に近いほど,各振動子が同期していることを示します.
今回のシミュレーションでは,秩序パラメータにより会場の一体感みたいなものを定量的に測れることになります.
シミュレーション結果
こんなものができました.
左がライブ会場,右二つが秩序パラメータで, R_1 は先ほど出した式の通り, R_2 は逆相同期も許容した秩序パラメータです.
ですがここでまずいことに気づいてしまいました.
今回楽曲として利用したのは普通に商用の曲です.BGMとして入れると皆さんにお見せすることができません.しかしながら今回の内容的には音がないと全く面白くない…
ですが!なんと今なら公式がMVを限定公開しています!!
同期させている動画は以下のツイートのリンクから見えます.
ライブ会場を再現してみたかった
音源もよく考えたら限定だけど公式で公開してくれているhttps://t.co/vJh9NIXKTC pic.twitter.com/rZfgmsoRW5— 天狗煎餅 (@mtkdrhxuj3451) December 16, 2020
MVの3秒くらいで私の動画をスタートさせると,大体タイミング的には合っていると思います.
開始しばらくはもやもやしてますが、Aメロ始まった位からちゃんと音楽に同期しているのが分かるかと思います.
基本的には同相同期と逆相同期が両方とも発生しているので,曲に合わせて交互に点滅しているように見えます.
サビの途中から突然全部同相同期になったりしていて,興味深いパターンも見られます.
感想と今後
と,いうことで当初の目的であったサイリウムの発光を楽曲に同期させることがある程度できたといえるかと思います.
ただ,固有角速度の決定時やバンドパスフィルタの帯域選択時に,事前情報を使ってしまっていた点は要改善でしょう.
また選曲がかなり恣意的だということに気づかれたでしょうか.低音のリズムに同期させるということを念頭に置き,そこが強い曲を選んでいます.
実際のライブでは多様な曲に対して同期をとることが出来ています.また,同じ曲中でも曲に合わせて振り方を変えることも多いです.そのあたり,まだまだモデルに改善が必要そうですね…
あともう一つ,ライブ会場で重要な同期があります.アンコールです.これは色々と面白そうなので,時間があればこっちもやってみたいと思っています.
最後に
先ほど挙げたリンク先の楽曲には中毒性があります.はまってしまった方は是非CDも買いましょう.
結構長くなってしまいましたが,お付き合いいただきありがとうございました.
明日はMolinaさんの記事になります.お楽しみに
参考文献
- 蔵本由紀著.リズム現象の世界.東京大学出版会(2005)
- 中尾裕也.複雑ネットワーク上の結合振動子系のダイナミクス.数理解析研究所講究録 (2010) 1688: 77-88
- Steven H. Strogatz著,田中久陽,中尾裕也,千葉逸人訳.非線形ダイナミクスとカオス.丸善出版(2015)