リアルタイムBGMシステム(2)

The Chemical Brothersの《Star Guitar》のミュージックビデオ(MV)は、ただの列車の旅を撮影したように見えるが、実際には監督ミシェル・ゴンドリーによって精密に計算され、音楽の各ビートに合わせて風景が変わるように編集されている。この手法により、視覚的にリズムを感じることができる。このMVを中学生の頃に初めて見て以来、筆者は電車に乗るたびに風景に合わせたリズムを脳内で再生する遊びを楽しんできた。現在25歳になった今でも、その遊びを続けている。しかし、現在の環境では電車に乗る機会はほとんどなく、自転車に乗ることの方が圧倒的に多い。そのため、脳内リズムマシンは電車ではなく、ライド中に作動している。

この体験を元に、脳内再生にとどまらず、実際に音楽を生成するシステムを作りたいと考えるようになった。自転車で走行中の風景や速度、周囲の環境に応じてリアルタイムで音楽を生成し、ライドをより一層楽しいものにするシステムを構想している。これにより、《Star Guitar》のような視覚と音楽が完全にシンクロする新しいライド体験を実現できると考えた。

テスト用にライドの様子を撮影し、物体認識アルゴリズムであるYOLOを使用して風景を認識させた。YOLOがオブジェクトを認識したらOSC通信で信号をMaxに送信し、信号を受信したMaxはそのタイミングでドラムを鳴らすシステムを構築した。システムのワークフローは以下の通りである。

映像 → YOLO v8 → Python-OSC → Max8 (ソースコード,Maxパッチは後日公開予定)

映像を見ると、YOLOv8が認識しているオブジェクトは主に人、車、ベンチなどである。個人的には、規則的に生えている街路樹もオブジェクトとして認識して欲しかった。規則的に生えている街路樹は、ドラムのキックに相性が良いと感じる。さらに、ライドの速度によってBPMが変わるとより面白いと考える。

赤で囲ったものは、個人的に認識してほしいオブジェクト

YOLOについて詳しく調べたところ、通常モードでは学習済みのオブジェクトしか検出せず、その中に木は含まれていなかった。せっかく学習させるのであれば、木だけでなく、自転車ライド用のモデルを作りたいと考えている。しかし、今回の記事ではライド用のモデルを作る時間がなかったため、次回の公開までに制作する予定である。

次回は6月21日に公開予定。

5月24日タイトルを変更:タイムラプスBGMシステム→リアルタイムBGMシステム

Leave a Reply

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