円運動から音楽を生み出すWeb楽器「Orbital Pulse」の技術的背景

音符を横一列に並べるのではなく、円形の軌道へ放ち、回転する天体のように音楽を奏でる――。そんな発想から、新しいブラウザ電子楽器「Orbital Pulse」を作りました。

Orbital Pulseでは、同心円状の軌道に音のドットを配置します。再生するとドットが軌道上を回り、画面上部にある12時方向のゲートを通過した瞬間に音が鳴ります。メロディーやコード、ベース、リズムがそれぞれ異なる軌道を巡り、ドットの位置や間隔、重さ、軌道同士の関係が音楽へ変換されていきます。

一般的なステップシーケンサーが、時間を左から右へ進む直線として表現するのに対し、Orbital Pulseが扱う時間は、終わりなく循環する円運動です。さらに、スマートフォンを傾けたり振ったりする動きも演奏に取り込み、画面上の配置だけでは完結しない音楽体験を目指しました。

この記事では、Orbital Pulseが円運動をどのように発音タイミングへ変換しているのか、ドットの間隔や質量が音にどう影響するのか、そしてWeb Audio API、Harmonic Gravity、Voice Leading、モーション制御といった技術が、ひとつの楽器としてどのように結びついているのかを解説します。

【スポンサーリンク】
スポンサーリンク

時間を「角度」で表現する円形シーケンサー

Orbital Pulseの軌道上に置かれたドットは、それぞれ角度、質量、移動速度などの情報を持っています。再生を開始すると、BPMと軌道ごとの速度倍率をもとに角度が更新され、ドットが円周上を移動します。

画面の12時方向には発音ゲートがあります。ドットがこのゲートを通過したことを検出すると、対応する軌道の音が鳴ります。つまり、円周上の位置が発音タイミングになっています。

軌道は4本から最大8本まで増やせます。基本となるMelody、Chord、Bass、Rhythmに加え、Counter Melody、Aurora Pad、Percussion、Texture / Sparkを組み合わせられます。それぞれが旋律、和音、低音、リズム、音響的な装飾といった異なる役割を受け持ちます。

ドットの間隔から音の長さを決める仕組み

Orbital Pulseでは、単にゲートを通った瞬間だけを見ているわけではありません。あるドットから次のドットまでの角度差を調べ、その間隔を音符の長さへ変換しています。

ドット同士が近ければ短い音になり、離れていれば長い音になります。算出した長さは、テンポを基準として、おおむね16分音符から2分音符に相当する候補へ量子化されます。

さらに、ドットには「質量」というパラメーターがあります。質量の大きなドットは見た目が大きくなるだけでなく、音がやや太く、長くなり、端末を動かしたときの影響を受けにくくなります。視覚上の物理法則と音響パラメーターを結びつけている点が、この楽器の特徴です。

Web Audio APIによるリアルタイム音響合成

音源にはブラウザ標準のWeb Audio APIを使用しています。外部の音声ファイルや音源ライブラリを読み込むのではなく、オシレーター、ノイズ、フィルター、ゲインエンベロープ、ディレイなどを組み合わせて、すべての音をリアルタイムに合成しています。

MelodyやBassでは、正弦波、矩形波、鋸歯状波などを音色に応じて使い分けます。ChordとAurora Padでは、基音に3度と5度を重ねた三和音を生成します。RhythmやPercussionでは、ピッチが急速に下がる低音や、フィルターを通したノイズを使って、キック、スネア、ハイハットに近い音を作っています。

音色プリセットは、波形だけを変更するものではありません。フィルターの明るさ、アタック、リリース、ディレイ、歪み、軌道速度、音量バランスなどをまとめて変更します。そのため、柔らかく漂う「Nebula Drift」から、硬く強烈な「Stellar Pulse」まで、演奏の性格そのものが変化します。

和声を空間関係として扱う「Harmonic Gravity」

Orbital Pulse独自の仕組みのひとつが「Harmonic Gravity」です。

この機能を有効にすると、Melody、Counter Melody、Bassの音程は、Chord軌道にある最寄りのドットとの角度差から計算されます。旋律のドットが和音のドットに近いほど、その和音に強く引き寄せられるような音程になります。

通常の音楽ソフトでは、コード進行とメロディーを別々のデータとして管理することが多いですが、Orbital Pulseでは、軌道上の距離が和声的な関係になります。「近い」「遠い」という視覚的な感覚を、そのまま音程の選択へ変換しているのです。

さらにVoice Leadingを有効にすると、前回鳴った音を参照し、設定された最大跳躍の範囲内で次の音を選びます。これにより、ドットを感覚的に置いても、旋律が極端に飛び跳ねにくくなり、音楽的につながりやすくなります。

スマートフォンを演奏装置にするモーション制御

対応端末では、Device Orientation APIとDevice Motion APIを利用します。端末の傾きは軌道の回転速度へ反映され、シェイクはドットへ一時的な加速を与えます。

ここでも質量が使われています。軽いドットほどシェイクの影響を受けやすく、重いドットほど安定して動きます。スマートフォンを傾けたり振ったりする行為が、単なる画面操作ではなく、演奏表現の一部になります。

なお、モーション機能は任意です。センサーの使用を許可しない場合でも、タッチ操作と音声機能は利用できます。

ブラウザだけで成立する小さな電子楽器

画面描画にはCanvasを使い、タップ、長押し、ドラッグといった操作はPointer Eventsで処理しています。演奏状態はブラウザのlocalStorageへ自動保存されるため、専用のアカウントや外部データベースは必要ありません。

音声の発音は、一定間隔で軌道の状態を確認し、Web Audioの時刻を基準として少し先の時点へ予約します。画面描画と音声処理を完全に同じタイミングへ依存させないことで、ブラウザ上でも発音の安定性を高めています。

Orbital Pulseは、伝統的なシーケンサーを円形に描き直しただけの楽器ではありません。角度を時間に、距離を和声に、質量を音と動きに変換することで、視覚、身体運動、音楽理論をひとつのインターフェースへまとめようとしています。

「音符を正しく入力する」のではなく、「天体を軌道へ放ち、その関係から音楽を発見する」。そこに、Orbital Pulseという楽器の技術的な思想があります。

【スポンサーリンク】
スポンサーリンク

シェアする

フォローする

関連コンテンツとスポンサーリンク

【関連コンテンツとスポンサーリンク】



【スポンサーリンク】
スポンサーリンク