RemotionUI

Waveform Bars Radial

Circular bars around a centre element. Install with npx remotion-ui@latest add waveform-bars-radial.

PrimitiveData & media

waveform-bars-radial30fps · 960×540
Install
$ npx remotion-ui@latest add waveform-bars-radial

A spectrum wrapped into a circle, around whatever sits in the middle.

import { WaveformBarsRadial } from "@/remotion/primitives/waveform-bars-radial";

<WaveformBarsRadial src={audioSrc} radius={112} barCount={80}>
  <CoverArt />
</WaveformBarsRadial>

Where it sits

Different geometry from audiogram-bars, which is a straight row. A ring frames a centre element instead of underlining it and reads at any aspect ratio, which is why it is the shape social audio clips use.

Mirroring

mirror reflects the spectrum across the vertical axis and is on by default. A ring that runs low-to-high all the way round puts every bit of energy on one side, so the shape wobbles rather than pulses. Mirroring also halves the number of distinct bands the ring needs, so the spectrum is not stretched across twice as many bars as it has resolution for.

Motion at rest

spinPerSecond turns the whole ring slowly. It matters more than it looks: through a quiet passage the bars barely move, and a still ring is exactly what the preview audit reports as a dead frame. bidirectional grows bars inward as well as outward, which suits a thin centre element.

The source must be a .wavuseWindowedAudioData accepts nothing else — and while it loads the bars run on the library's deterministic idle envelope rather than sitting flat.

Mirroring is on by default because a ring running low-to-high all the way round puts every bit of energy on one side, so it wobbles rather than pulses; it also halves the bands needed. The slow spin matters: through a quiet passage a still ring is exactly what the preview audit reports as dead.

Agent notes

Install first, then import the copied source component locally. AI guide →

Import
@/remotion/primitives/waveform-bars-radial
  • Use when: audio-first videos, podcast clips, and waveform visuals.
  • Customize: src, radius, barCount, barWidth, plus copied source for timing, layout, colors, and typography.
  • Rule: do not import this component from the remotion-ui npm package; it is copied into your project.

Usage

Example
import { WaveformBarsRadial } from "@/remotion/primitives/waveform-bars-radial"; <WaveformBarsRadial src={audioSrc} radius={112} barCount={80}> <CoverArt /> </WaveformBarsRadial>

API Reference

PropTypeDescription
srcstringAudio source. `.wav` only — `useWindowedAudioData` accepts nothing else.
childrenReactNodeContent in the middle of the ring: artwork, a logo, a title.
radiusnumberRadius of the circle the bars stand on.
barCountnumberBars around the ring.
barWidthnumberBar thickness in px.
minLengthnumberBar length at silence.
maxLengthnumberBar length at full level.
peakColorstringSecond colour for bars above 75% level.
mirrorbooleanReflect the spectrum across the vertical axis.
spinPerSecondnumberDegrees the ring turns per second. 0 holds it still.
bidirectionalbooleanBars grow inward as well as outward.
framenumberFrame override — pass the parent frame inside a `<Sequence>`.

Related

On this page