Files
skills/plugins/library-navigator/skills/sp-audio-fx-plugin-audio-analyzer/SKILL.md
2026-05-29 08:20:56 +01:00

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 AbstractAudioFxPlugin from @suaveplan/audio-fx-plugin-base
  • Analysis runs per-block during process() callback
  • AnalysisCallback receives AnalysisUpdate with all requested features
  • Preset schema validates analysis target selection
  • Zero audio output — analysis plugin is a pass-through or sink

Checklist:

  • AudioAnalyzerPlugin extends AbstractAudioFxPlugin
  • process() emits AnalysisUpdate with beat, tempo, key, pitch, and spectral features
  • Plugin options schema validates analysis target selection
  • Preset round-trips through JSON without data loss