返回项目目录
PROJECT / 02
可在线体验
NAM 单块项目封面,薄荷绿色效果器、线材与信号链插画

PROJECT FILE / 02

NAM 单块

浏览器里实时运行的吉他音箱模拟器:加载 NAM 神经网络模型还原真实音箱音色,再加一串可踩的单块效果器(门限/压缩/过载/箱体/均衡/延迟/调制/混响),插上吉他就能玩。

音频JavaScriptAudioWorkletWeb AudioNAM
STATUS可在线体验
UPDATED2025年8月
TYPE音乐科技实验

这是什么

NAM 单块是一个完全跑在浏览器里的吉他效果器。吉他插上电脑声卡,打开网页就能弹——零安装、零成本。

核心是一个从零手写的 NAM(Neural Amp Modeler)神经网络推理引擎:加载 .nam 模型文件即可还原真实音箱(Marshall、Fender、Roland 等)的音色。在它后面挂了一串单块效果器(信号链遵循 Boss 官方指南):

In → [GATE] → [COMP] → [DRIVE] → [AMP NAM] → [IR 箱体] → [EQ] → [DELAY] → [MOD] → [REVERB] → Out

每个模块都长成一块真实的效果器:脚踏开关、LED、Type 拨杆、旋钮,全部可交互。

亮点

  • 模型即插即用:把 .nam 文件丢进 models/ 文件夹,下拉菜单立刻出现;IR 箱体文件同理(ir/ 文件夹)
  • 白盒电路仿真:内置 Fender Twin Reverb / Roland JC-120 / Marshall JCM800 三组经典音色,不依赖模型文件也能开箱即用
  • 48kHz 实时:推理核心用 Float32Array + 环形缓冲优化,高档模型 13µs/样本,远低于 20.8µs 的实时预算
  • 与 ToneForge 联动:在 ToneForge 里一句话生成音色 →「发送到 NAM Desk」→ 本页参数自动同步,直接出声
  • 零依赖:整站是原生 JS + AudioWorklet,一个静态服务器即可跑

技术要点

  • nam_core.js:高性能 NAM 推理核心(LSTM / WaveNet / A2 三种架构,逐样本对齐官方 C++ 实现)
  • fx_worklet.js:AudioWorklet 实时处理器(分块预热,防卡顿)
  • fx_modules.js:JS 音色链 DSP(Biquad / 压缩 / 过载 / IR 卷积 / 延迟 3 型 / 混响 3 型)
  • 验证范式:tools/verify_*.js 与官方 C++ 核心逐位一致性比对 + 性能基准

使用的技术

JavaScript · AudioWorklet · Web Audio API · NAM 神经网络模型 · Web MIDI

💡 点击页面上方「在线体验」直接开弹(本地开发需先启动 apps/nam-fx 服务,生产环境为本站 /fx/ 子路径)。用 Chrome/Edge 效果最佳。