关于 audio-dsp
面向在 Web 音频应用中实现数字信号处理的开发者的参考技能,涵盖 Web Audio API 模式、常见效果、FFT 分析、AudioWorklet 处理和性能指导。
主要功能
- 01Web Audio API 配置模式
- 02混响等音频效果
- 03FFT 分析与可视化
- 04AudioWorklet 音频处理
- 05实时音频性能指导
适用场景
- 01在 Web 应用中实现混响或延迟
- 02分析音频频率并进行可视化
- 03构建实时 AudioWorklet 处理器
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alemusica/ golden-helix-studio --skill audio-dsp安装后在 Claude Code 中输入/audio-dsp确认已加载。
详细介绍
音频 DSP 技能
在 Web 应用中实现音频数字信号处理的专业知识。
使用场景
- 实现音频效果(混响、延迟、合唱)
- 使用 Web Audio API 实时处理音频
- FFT 分析与可视化
- 基于卷积的效果
- 开发音频工作线程
Web Audio API 模式
基本音频上下文
const audioContext = new AudioContext();
const analyser = audioContext.createAnalyser();
analyser.fftSize = 2048;
音频工作线程(实时处理)
// Register processor
await audioContext.audioWorklet.addModule('processor.js');
const node = new AudioWorkletNode(audioContext, 'my-processor');
常见算法
卷积混响
const convolver = audioContext.createConvolver();
const response = await fetch('/impulse-response.wav');
convolver.buffer = await audioContext.decodeAudioData(await response.arrayBuffer());
FFT 分析
const dataArray = new Float32Array(analyser.frequencyBinCount);
analyser.getFloatFrequencyData(dataArray);
知识库资源
查询 DSP 算法:
SELECT * FROM algorithm WHERE tags CONTAINS 'audio' OR tags CONTAINS 'dsp';
SELECT * FROM paper WHERE abstract @@ 'convolution reverb impulse';
性能指南
- 使用 AudioWorklet 进行实时处理
- 避免阻塞主线程 影响音频处理
- 缓冲区大小:低延迟时设为 128-512
- 采样率:与设备匹配(通常为 44100 或 48000)
- 使用 SharedArrayBuffer 进行工作线程通信
React 集成
// Custom hook pattern
const useAudioAnalyser = (audioContext: AudioContext) => {
const analyserRef = useRef<AnalyserNode>();
useEffect(() => {
analyserRef.current = audioContext.createAnalyser();
return () => analyserRef.current?.disconnect();
}, [audioContext]);
return analyserRef;
};
相关知识库查询
-- Find reverb implementations
SELECT * FROM knowledge WHERE content @@ 'reverb implementation';
-- Get validated algorithms
SELECT * FROM algorithm WHERE success_rate > 0.8;
评论
支持 Markdown