Multitrack visualization
Multitrack visualizer
open full size ↗All 8 stem tracks analyzed simultaneously while the master plays. Each horizontal strip shows one track: the left section is the running amplitude history (L and R channels), the right section is the FFT magnitude spectrum (bars, L and R channels side by side). A progress bar seeks to any point in the track.
Shape composer
open full size ↗The view divides into 2, 3, or 4 panes. Each pane runs an independent shape renderer reacting to a chosen stem track, with its own shape family, deformation effect, and lighting. The master track always plays; the visual in each pane reacts to whichever stem is selected.
Starts at the 2-minute mark, with a gear icon in each pane for configuring it independently.
Track prominence
open full size ↗Two hypotheses about what makes a stem feel prominent at any given moment. The first is direct: the louder a track is right now, the more it stands out. The second weights sudden increases — a drum hit that breaks the silence draws attention in a way that a pad sustaining at the same average level does not. Three columns show the pipeline: raw level, raw onset energy, and a combined prominence score — the softmax of their sum across active stems. Toggle stems on and off; the prominence scores redistribute among whatever remains active.
Level and onset — definitions
Level prominence
The simplest hypothesis: a louder track is more prominent. The Level column shows the instantaneous mono amplitude of each stem:
最もシンプルな仮説は、トラックがその瞬間に大きいほど目立つというものです。Level列は各ステムの瞬間的なモノラル振幅を示します:
\[ P_i^{\text{lv}}(t) = \tfrac{1}{2}\bigl(A_i^L(t) + A_i^R(t)\bigr) \]
This captures sustained elements well — a dense pad or a driving bass line score high throughout the section — but it gives no extra weight to sudden events.
これは持続的な要素をうまく捉えられます。密なパッドや推進力のあるベースラインは、セクション全体を通して高いスコアを維持します。ただし、突発的な出来事には特別な重みを与えません。
Onset prominence
The second hypothesis is that a rapid increase in volume draws more attention than the same level held steady. Compute the positive amplitude flux at each frame:
2つ目の仮説は、音量の急激な増加は同じレベルを一定に保つ場合よりも注意を引きやすい、というものです。各フレームで振幅の増加量を計算します。
\[ \delta_i(t) = \max\!\bigl(0,\; A_i(t) - A_i(t{-}1)\bigr) \]
Then apply a leaky peak-hold so the spike persists briefly before fading:
そして、得られたピーク値を徐々に減衰させる処理を適用し、スパイクが少しの間持続してから減衰するようにします:
\[ P_i^{\text{on}}(t) = \max\!\bigl(\delta_i(t),\;\alpha \cdot P_i^{\text{on}}(t{-}1)\bigr) \]
With \(\alpha = 0.92\) at 60 fps the onset energy decays to half in roughly 8 frames (\(\approx\) 130 ms) — long enough to read, short enough to track fast rhythms.
60fpsでα = 0.92の場合、立ち上がりエネルギーはおよそ8フレーム(約130ミリ秒)で半減します。視認できる程度には長く、速いリズムを追える程度には短い時間です。
To reveal which track is relatively dominant among the active set \(\mathcal{A}\), the two scores are summed and softmax-normalised with temperature \(\beta = 5\):
アクティブな集合Aの中で、どのトラックが相対的に優勢かを示すために、2つのスコアを合計し、分布の鋭さを調整するパラメータβ = 5でソフトマックス正規化します。
\[ \tilde{P}_i(t) = \frac{e^{\,\beta\,\bigl(P_i^{\text{lv}}(t)\,+\,P_i^{\text{on}}(t)\bigr)}}{\displaystyle\sum_{j \in \mathcal{A}} e^{\,\beta\,\bigl(P_j^{\text{lv}}(t)\,+\,P_j^{\text{on}}(t)\bigr)}} \]
A high \(\beta\) sharpens the distribution: when one track spikes, it claims most of the weight and the others collapse toward zero. The Prominence column shows \(\tilde{P}_i\); the Level and Onset columns show the raw inputs before combination.
βが高いほど分布は鋭くなります。あるトラックが急に突出すると、そのトラックが重みの大半を占め、他はほぼゼロに収束します。Prominence列は\(\tilde{P}_i\)を示し、Level列とOnset列は合成前の生の入力を示します。
Track prominence radar chart
open full size ↗The same combined prominence score as a seven-pointed shape. Each axis represents one stem; the vertex travels outward in proportion to that stem's softmax prominence. When a stem dominates — a kick transient, a bass sustain — its axis extends toward the outer ring while the others retract inward.
Prominence composer
open full size ↗One shape per stem. The most prominent stem at any moment takes the full canvas — its shape, lighting, and bloom filling the frame while everything else waits offscreen. When all stems are close in prominence or the signal is quiet, the last winner holds until something new breaks through.
Every stem is independently configurable: Settings assigns each one a shape type, deformation effect, lighting mode, and bloom parameters. A Solo control locks a single stem to audition its visual in isolation.
Radar 3D history
open full size ↗The same prominence radar lifted into 3D: the seven-vertex shape lives on a plane that rotates independently on all three axes and can be dragged to orbit directly. Rather than showing only the current instant, it also redraws several recent frames at the same center, each rotated by exactly how far the shape had spun by that point in time. Count sets how many of these historical rings to draw, Span sets how many frames apart each one is sampled, and every ring fades with age.
Each of the seven edges also carries hidden vertices driven by the two neighboring stems' FFT spectra — invisible at FFT = 0 (a plain heptagon), buckling further off the ring's original plane as it rises. Bins sets how many FFT bins get sampled per edge; Prominence sets how much a stem's own prominence moves its vertex at all, down to a fixed half-size septagon at 0.