2.0 KiB
2.0 KiB
name, description
| name | description |
|---|---|
| sp-audio-fx-plugin-audio-analyzer | Real-time audio analysis FX plugin — beat, tempo, key, pitch, spectral features. Emits analysis updates via callback. Part of audio-fx-plugin-* family. |
sp-audio-fx-plugin-audio-analyzer
| Symbol | Kind | Responsibility |
|---|---|---|
AudioAnalyzerPlugin |
Class | Real-time analysis plugin extending AbstractAudioFxPlugin |
AudioAnalyzerPluginOptions |
Type | Configurable analysis targets (beat, tempo, key, pitch, spectral) |
AnalysisUpdate |
Type | Emitted analysis result with beat position, energy, tempo, key, pitch |
AudioAnalyzerPreset / AudioAnalyzerPresetData |
Type | Serializable preset for analysis configuration |
AudioAnalyzerPluginOptionsSchema |
Schema | Zod schema for plugin options validation |
File Structure: packages/media/audio-fx/audio-fx-plugin-audio-analyzer/src/{audio-analyzer,schemas}/
Sibling packages:
@suaveplan/audio-fx-plugin-base— FX plugin foundation@suaveplan/audio-analysis-beat— beat detection algorithm@suaveplan/audio-analysis-pitch— pitch detection algorithm@suaveplan/audio-analysis-spectrum— spectral analysis algorithm
Patterns:
Quick Start:
import { AudioAnalyzerPlugin } from "@suaveplan/audio-fx-plugin-audio-analyzer";
const analyzer = new AudioAnalyzerPlugin({ onAnalysis: (update) => console.log(update.bpm) });
Constraints:
- Extends
AbstractAudioFxPluginfrom@suaveplan/audio-fx-plugin-base - Analysis runs per-block during
process()callback AnalysisCallbackreceivesAnalysisUpdatewith all requested features- Preset schema validates analysis target selection
- Zero audio output — analysis plugin is a pass-through or sink
Checklist:
AudioAnalyzerPluginextendsAbstractAudioFxPluginprocess()emitsAnalysisUpdatewith beat, tempo, key, pitch, and spectral features- Plugin options schema validates analysis target selection
- Preset round-trips through JSON without data loss