Analyses one audio track into a per-frame BandTable driving
spectrum-reactive animations.
The real implementation decodes the track to PCM once before frame 0, runs
the in-house FFT, sums the bass / mid / treble bins per analysis frame,
resamples those per-hop sums onto one value per video frame, normalizes each
band into [0, 1], and content-hash caches the table as JSON. Analysis is
async, so it runs entirely in the pre-resolve pass — the frame loop only ever
reads the resulting immutable table through BandTable.energyAt.
The spectral implementation is the one that ships, and the
analyse-twice→identical-table property is the determinism proof. BandTable
is the result; the real SpectralFrequencyAnalyzer is named in prose because
it lives above core.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
analyze(
AudioSource source, {required int fps, required int totalFrames}) → Future< BandTable> -
Analyses
sourceinto aBandTableover a video oftotalFramesframes atfps. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited