Suggestions for building a new guitar amp plugin?

DSP, Plug-in and Host development discussion.
98 posts since 26 Sep, 2019

Post Thu Sep 26, 2019 4:41 pm

Hi, I'm looking to build an open source guitar amplifier plugin and would like to see if anyone has thoughts or suggestions on the topic.

In particular I am wondering:
  • If anyone has experience with iPlug2 and can comment on the feasibility of using it in its current form
  • If guitarix is a good starting point for the DSP, or if I should look elsewhere for more up-to-date amp emulation techniques
  • What is a good approach to cabinet emulation? I am thinking of doing IR convolution, but I'm not sure where to find re-distributable IRs (I want to make the plugin open source)
The motivation here is to build the plugin I want to use. If I had to describe it I'd say it's a stream-lined plugin with the right set of parameters to hone in on any good guitar tone. What I don't intend to do is build a plugin that faithfully emulates some particular hardware, or a plugin that exposes every single parameter. The plugin would be open sourced, and distributed as VST3.

I find the commercial offerings I've tried (I actually use Wave's GTR regularly) can sound great but are very bulky (tons of parameters and options to re-create physical setups, but at the end of the day a lot of this stuff seems to amount to re-parametrized EQ). I find that can make it hard to get a good work flow. Gutiarix and CAPS plugins seem to have all the basics covered but I find the quality of the plugins a bit lacking. I'd really like to make something that looks great, sounds even better, and has a clear concise workflow. Though it wouldn't be the "the complete all-in-one package" for amp emulation.

Features I'd like to include:
  • Tube selection (from guitarix, e.g. 12AX7, 6V6...)
  • Tone stack selection and an idealized tone stack (just the basics, e.g. Fender, VOX...)
  • Voltage sag (to get that rectifier compression in the power stage)
  • Basic cabinet and/or mic selection
  • Smart output gain so that changing out parameters doesn't drastically affect the plugin volume, allowing for easier comparison of tone options
At it's core, it should be possible to get a realistic guitar tone with as little fuss as possible. I want to give enough parameters to hone in on a desired guitar tone, which is why I want to offers specific tube and tone stack emulation. Working with a generic tube emulation and EQ instead of a tone stack can create a lot more fiddling to find "that right" tone from some artist.

Time permitting, I'd like to add some quality-of-life features like learning the input signal gain, stereo widening, and maybe playing around with options to create a more analogue sound.

My plan is to base most of the DSP on guitarix (with faust) and work with the iPlug2 framework. I've put together a very basic tube plugin with these technologies as a proof of concept, and I'm already worried it's a bit early for iPlug2. But the telemetry aspect of JUCE was a bit turn-off. And who knows, maybe I can send PRs to iPlug2 if i find bugs I can fix.

I'd appreciate any feedback.

225 posts since 8 May, 2007

Post Thu Sep 26, 2019 10:04 pm

Hi garrinm,

Firstly I suggest that you think really hard before attempting this. Based on what you posted, I believe that you are in for a shock. Secondly and as a start, two really good sources:


2) ... e_v1.0.pdf

and the book by Will for which this is an addendum. Yes, it's easy to write a crappy amp sim. Is that what you really want to do?

Dave Clark

1221 posts since 3 Sep, 2005 from Outer Bongolia

Post Thu Sep 26, 2019 10:12 pm

This sounds like a great project!

There are a bunch of free speaker cab IRs that seem pretty widely distributed, even included in some commercial offerings. I know of at least one case where all that was required was to ask permission from the IRs' original creator. People might even kick in some new IRs for an open source project once you get rolling.

Maybe consider both cab IRs and a modeled speaker cab sim, each has its strengths and limitations. The option to run them in parallel might be a fairly simple way to produce a richer more complex and dynamic tone than either could produce alone.

98 posts since 26 Sep, 2019

Post Fri Sep 27, 2019 5:51 am

Hi Dave,

Thanks for the pointers. I'll be digging around those resources (well at least the online since I'm not sure I'll commit to buying a book up front for something I might abandon pretty quickly) to at least get an idea for what concepts I'm missing here.
DaveClark wrote:
Thu Sep 26, 2019 10:04 pm
Firstly I suggest that you think really hard before attempting this. Based on what you posted, I believe that you are in for a shock.
Fortunately, the point of this post is to "think hard" about whether or not this makes sense. I'd really appreciate it if you could elaborate a bit on why you think there will be a bad outcome: do you think what I described is too technically challenging, do you think it will result in a bad sounding plugin (e.g. is the DSP done in guitarix considered subpar?), or do you think there isn't much room for me to contribute something useful to the space since there are many amp sims already out there? Or maybe something else entirely?

I appreciate the feedback and am very interested in finding out more about this space, if only to know maybe this isn't the best idea.


225 posts since 8 May, 2007

Post Fri Sep 27, 2019 7:26 am

Hi Garrin,

I'll send a PM.


Return to “DSP and Plug-in Development”