源码可见的 VST3 插件框架

从一个已经能用的
插件开始。

Franks Audio 出售完整、可直接编译的 VST3 插件,以源码可见的方式授权。每一行代码都看得到:编译、修改,然后做成你自己的产品。第一个框架是 Simple Sampler,一款基于 JUCE 8 与 C++20 的多层音效采样器。

Simple Sampler 插件 MAIN 页:四层叠成合成波形,下方为包络与 8 段 EQ
运行中插件的真实渲染,不是效果图。
  1. 1
    层标签

    最多 8 层,每层有独立页面、颜色与静音 / 独奏。

  2. 2
    导出合成

    把叠层导出为 WAV(16 / 24 / 32-bit float),或直接拖进 DAW。

  3. 3
    模式栏

    Gated / One-shot 触发、六种循环模式、变速模式、单音、反向。

  4. 4
    合成波形

    按各层占比着色;起止点、循环、淡入淡出直接作用于合成结果。

  5. 5
    输出级

    增益、声像、M/S 宽度 0–200 %、按目标峰值归一、软削波安全限幅。

  6. 6
    包络

    带曲率手柄的 AHDSR,可按毫秒或按速度同步的音符时值。

  7. 7
    8 段 EQ

    零延迟 / 自然相位 / 线性相位,带 EQ 前后频谱分析。

目录 在售框架

现在一个,
更多正在路上。

01 现已开放

Simple Sampler

多层音效采样器 · VST3 / Standalone

最多 8 个样本叠成一个合成音色,用包络、可绘制 LFO 和 8 段 EQ 塑形,然后导出结果或用 MIDI 演奏。

LANES 视图:四层片段各有不同延迟
查看详情
02 开发中

下一个框架正在开发中。想提前了解,欢迎微信咨询。

展示 渲染自运行中的插件

每一屏都是真实插件。

Simple Sampler 当前视图

MAIN · MIX:所有层的合成结果,颜色表示各层占比;起止点、循环与淡入淡出作用于合成。

LANES:每层一条轨道。拖动片段设置延迟,修剪首尾,拉动淡入淡出手柄。

LFO:可绘制曲线,支持折点、逐段曲率、形状预置、随机模式、网格与吸附。

LAYER:同一套控件重新绑定到单层,并换成该层颜色;全局参数锁定显示 MAIN 的值。

功能 Simple Sampler 有什么

完整的采样器,不是空架子。

1

8 层合成引擎

每层可独立设置音高、包络、LFO 与 EQ(烘焙进该层),以及增益、声像、宽度和延迟。轨道式片段编辑,支持修剪与淡入淡出。整组叠层渲染成一个合成样本,演奏时就像一个音色。

层页面:层标签、单层源波形与入混延迟
2

8 段参数 EQ

主输出和每一层都有。零延迟、自然相位、线性相位三种模式;EQ 前 / 后频谱分析;Bell、Shelf、Cut、Notch、带通、Tilt 等形状;Cut 斜率最高 96 dB/oct。

带频谱分析的 8 段 EQ
3

包络与可绘制 LFO

AHDSR 带曲率手柄与速度同步。LFO 是自由曲线编辑器:折点、逐段曲率、6 种形状预置、4 种随机模式,以及 Free / Loop / One-shot。

可绘制 LFO 曲线编辑器
4

播放与循环

Gated / One-shot 触发,六种循环模式(Continuous、Alternate、Once、Until Release 等),反向,单音与滑音,弯音范围最高 ±36 半音。

5

抗混叠变速

样本载入时构建带限 mipmap,大幅升调依然干净。另有可选的保时长变调模式,可在编译时启用,需使用单独授权的第三方库。

6

格式与预设

支持 WAV、AIFF、FLAC、MP3、OGG。预设为纯 XML;“连同样本保存”会把音频收集到预设旁边,丢失的文件可以重新定位。

7

工作流

手势与层编辑可撤销 / 重做,窗口可缩放(UI 75–150 %),快捷键,加载和导出音频都支持拖放。

源码 工程结构

按框架的标准来写,
不是 Demo。

simple-sampler/
core/# 无头 DSP · C++20 · 不依赖 JUCE ├─ include/ss_core/# 引擎、声部、包络、eq/ … └─ src/ plugin/# JUCE 8 外壳 · VST3 + Standalone └─ src/gui/# 波形、轨道、EQ、曲线编辑器 … tests/# Catch2 单元测试 dev-docs/# ADR · 规格 · 业务规则 dev-tools/# pluginval 脚本 · 宿主探针 CMakeLists.txt# 首次配置自动拉取依赖
GUI pluginJUCE 8 ss_coreC++20
  • 无头 DSP 核心ss_core 是纯 C++20,不依赖 JUCE 或任何插件框架:不需要宿主就能测试,换一个外壳也能复用。
  • 薄插件外壳JUCE 8 把核心包装成 VST3 与 Standalone。依赖单向:GUI → 插件 → 核心。
  • 测试驱动Catch2 测试覆盖包络、循环数学、重采样、EQ 设计、预设与实时行为。
  • 实时安全线程之间使用无锁 SPSC 队列;合成渲染与 EQ 核设计都不在音频线程上运行。
  • 决策有据可查架构决策记录(ADR)、规格文档与业务规则文档,说明每个设计为什么这样做。
300+单元测试用例
8.6k行 · 无头核心
15.7k行 · 插件与界面
10份架构决策记录
授权 销售方式

源码可见,
一对一洽谈。

  1. 01联系

    加微信,说说你想做什么产品。

  2. 02商定授权

    授权条款、价格以及是否需要支持,一起商定。

  3. 03获取源码

    拿到完整源码、CMake 构建工程与文档。

  4. 04二次开发

    在约定的授权范围内扩展、换品牌、发布。

问答 购买之前

常见问题。

它是成品插件还是框架?

都是。现在就能编译成完整可用的采样器;结构上 DSP、界面和插件外壳可以各自独立修改。

支持哪些平台和宿主?

在 Windows 上以 VST3 和 Standalone 形式构建与测试,参考宿主为 REAPER 与 Nuendo。JUCE 本身跨平台,但其他平台尚未验证。

编译需要什么环境?

Visual Studio 2022 与 CMake。JUCE 等依赖会在首次配置时自动拉取。

文档是什么语言?

插件界面为英文;代码注释和设计文档为中文。

需要 JUCE 授权吗?

需要。JUCE 8 采用 AGPLv3 与商业许可双授权,商业许可按营收分档。请到 juce.com/get-juce 查看适合你的档位。

价格是多少?

取决于授权范围,详情请微信咨询。

联系 微信

聊聊你的产品。

用微信扫码,或搜索下方微信号添加。备注“Simple Sampler”,方便我们了解你的需求。

微信号 hhzzll009
微信二维码:hhzzll009
微信扫一扫