DEV Community · Show DEV9/5 20:5138

用JUCE构建我的音频插件集

How I built my own set of audio plugins with JUCE

阅读原文
开发者分享了使用JUCE 8和C++构建六个VST3音频插件的经历,这些插件均以GPL v3许可发布,并可通过自建商店esp-plugin-store.vercel.app下载。插件按开发顺序排列:Basic Oscilator(三个振荡器)、VERTEX(动态范围压缩器)、ESP-L1(砖墙限制器)、MEGACRUSHER(失真/饱和/位压缩)、SPECTRUM(实时分析器)和SYNTH/1(16声部波表合成器)。文章重点介绍了juce::dsp模块如何简化音频处理,例如通过ProcessSpec和AudioBlock管理缓冲,以及用lambda定义波形。作者还坦诚指出代码中的一处已知bug:在processBlock内调用tempBuffer.setSize()导致音频线程堆分配,虽未造成可闻问题,但违反了实时音频编程原则。