mcpField
A
audio-dsp

audio-dsp

github.com/alemusica开发63 次安装
代码仓库

关于 audio-dsp

面向在 Web 音频应用中实现数字信号处理的开发者的参考技能,涵盖 Web Audio API 模式、常见效果、FFT 分析、AudioWorklet 处理和性能指导。

主要功能

  1. 01Web Audio API 配置模式
  2. 02混响等音频效果
  3. 03FFT 分析与可视化
  4. 04AudioWorklet 音频处理
  5. 05实时音频性能指导

适用场景

  1. 01在 Web 应用中实现混响或延迟
  2. 02分析音频频率并进行可视化
  3. 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';

性能指南

  1. 使用 AudioWorklet 进行实时处理
  2. 避免阻塞主线程 影响音频处理
  3. 缓冲区大小:低延迟时设为 128-512
  4. 采样率:与设备匹配(通常为 44100 或 48000)
  5. 使用 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