Hex Forge and Hex Chain Plugins

Hello. I created an LV2 plugin that has been included on the PiStomp V3. It’s called Hex Forge and Hex Chain. Hex Forge is an all-in-one solution of amps(Nam A2 is built-in as an amp mode and also for the drive and fuzz blocks), drives, fuzzes, cabinets, modulation, delays, and reverbs. Hex Chain are individual plugins that cover all of these grounds instead of committing to an all-in-one plugin. This plugin is available at Patch Storage. Let me know if it needs another build to work on Zynthian. I figured that the architecture would be similar, and I was hoping to reach out to this community to share it. I’ve found myself less interested in real devices while developing this suite of effects. It was inspired by seeing bands in live settings with expensive amps not working and having to settle for the back line. This particular instance was a JCM800 crapping out and a Boss Katana filling in for it. My goal has been to create software that is open source and able to run on inexpensive devices that a venue could have on hand.

Note: I have a patch storage author page and GitHub repo for this project that I can’t share as a new member.

5 Likes

Welcome @rpowell5064 to our wonderful community. Thanks for telling us about your plugin. I found it here and tried to install the package using zynthian’s LV2 installer mechanism in webconf but it seems like only Hex Chain Octave v1.27 was installed until I manually ran Scan for Engines. Maybe someone else might like to retest this incase I was mistaken.)

Now that I see them all (you must manually enable the ones you want to use in webconf or UI) I will give them a play later. (A bit early to play guitar here…)

Some initial (meta) observations:

  • Hex Chain Octave and Hex Chain Input Trim appear in the “Other” category. Consider whether there is an appropriate category for these.
  • Hex Chain Cabinet appears in the “Filter & EQ” category. Would this be better in “Simulator”?
  • All the “Chain” plugins have “Chain” in their title which is kinda confusing and superfluous. These are effects one may want to add to a chain but so are almost all other effects. I would recommend losing “Chain” from the title of these plugins. On smaller screens they may all appear as “Hex Chain…”!
  • The all-in-one Hex Forge plugin has hundreds of parameters without hints (that zynthian can read) of how to arrange them so we end up with 107 pages of parameters. This will make it pretty much impossible for anyone to find the parameter they want. In practice we may find that users will use the individual “Chain” plugins to build their own chains but to make this monolithic beast more useful, consider adding hint parameters to group them into named sections.
  • The same point about each plugin - consider categorising the parameters.
  • I like that you have added descriptions to each plugin that zynthian picks up and displays in its info pane. Excellent!
  • Switching Hex Chain Modulation to “Uni-Verse” triggers temporary xruns. You may want to look at what causes that.

I look forward to actually hearing these - maybe later today.

5 Likes

I started addressing the issues that you mentioned. I’ll see if I can get another release out this weekend with the better groupings. I figured out the issue with switching modulation effects too. I have some minor gripes with this last release after playing through it again, so I’ll squeeze these improvements in with the suggestions. I’ve only used the mod gui for these plugins and the parameters for the Forge are an absolute nightmare to look at when it’s not styled.

1 Like

I wonder how many will use the monolithic plugin in zynthian. It feels unmanageable and zynthian is designed to support multiple plugins… So maybe don’t down inordinate time on that.

I have had a bit of time this morning to play with these plugins and so far… I like them. I have avoided the NAM because it you have to kinda know what sound you want then be fixed to it and we have other NAM emulators. (We could consider if hex is better or worse than those.) I like that the CPU load is mostly low and that the effects are targetted at guitar. The tend to work nicely and as expected, e.g. the reverb is simple and just sounds right for guitar - like I would expect from a reverb in a guitar amp. Similarly delay works as I would expect and I like the option for different models to colour the sound. The input stage (which I left in throughout the testing) is a good idea but I didn’t hear any impact of the Humbucker setting. (I was playing with a single coil bridge pickup on a Telecaster.) I have not yet found any of the pitfalls that some other plugins have shown. Well done and thanks for these plugins. They may form the basis for my guitar rig.

I notice that the effects are titled “Hex…” but the LV2 are called “guitaramp-suite…”. Is there some logic here?

I noticed that the “bypass” parameter is positioned inconsistently in the list of parameters. It would be advantageous to put this at the end (which is where zynthian tends to put the bypass) and to flag it as a bypass using the LV2 definition: lv2:designation lv2:enabled. Be aware that the logic for enabled is inverted. (I can’t remember how far we got with recognising this definition in zynthian.)

Does bypass reduce CPU and if so, does the tail get processed before reducing processing?

1 Like

@riban I went through and made some fixes based on your feedback. Grouping, categories, and bypass placement were addressed. The standalone input trim was defaulting to 0 mix unlike the Forge version. I added a 50hz hum filter. The Uni-Verse effect has also been addressed.

As for naming, I really came up with a generic name that went with the design. I have noticed another plugin company called Hex FX has a similar name, so I might look into a different name. This started out as a vst experiment to see what was possible and I ordered a PiStomp to get this on a device rather than only a desktop/laptop, so the GitHub repo still reflects much of that.

Bypassing an effect saves on CPU. I can drag in unlimited plugins and they don’t do anything to the CPU until they’re patched and enabled in a chain. You also have an eco mode option for amps, drives, and fuzzes to switch over from 4x to 2x oversampling to save where quality might not matter or squeeze in more effects. I don’t have trails yet. That could be something else to look into.

I’m glad for the feedback because I want to make this software work for everyone.

Here are the release notes:

v1.20.0 — 2026-09-27

The pedal update. Four of the drive and fuzz voicings were re-measured and corrected, the suite now behaves properly on generic-UI hosts like Zynthian, the mains-hum filters work in 50 Hz countries, and a batch of factory presets was fixed or replaced.

Added

50 Hz mains. Every hum filter in the suite is switchable between 60 Hz and 50 Hz: the Input Trim’s notch comb (in Hex Forge and standalone), the noise gate’s hum detector, the amp’s input comb and the calibration reference. Default stays 60 Hz, so nothing changes unless you switch it.
A designated block-enable port on all thirteen standalone plugins. Hosts that build their own control panels can now bind a plugin’s bypass properly instead of showing it as an ordinary parameter, and it sits at the END of the parameter list where such hosts expect it. Note the sense is inverted relative to the existing Bypass control: enabled means processing is on. The existing Bypass port is unchanged and unmoved, so saved boards are unaffected.
Named parameter groups. Every control port now declares which part of the chain it belongs to. On hosts that page through parameters four at a time, Hex Forge went from a long anonymous list to named groups per block.
Correct plugin categories. The cabinet declares itself a simulator and the octaver a pitch plugin, so hosts file them in the right place instead of lumping them under “other”.
Andalusian Slice — a new preset in the Modern Rock bank: raw, wiry late-eighties alternative rock on the JCM800 with a studio plate.
Changed

The Green Man’s level is honest again. Last release rescaled its drive-0 gain floor to tame what sounded like too much boost. That was the wrong lever: the floor is the real feedback ratio and belongs where it was, and the actual fault was output level — the pedal ran about 3 dB hot at every Drive setting. The floor is restored and the level corrected. The circuit-accurate clipping path is now the default too, so the clean low end passes through instead of being squashed with everything else, which is what the circuit does.
Dear Rodent Boy’s Filter reaches dark. At the top of its rotation the control could not get as dark as the circuit does, and it was losing harmonic content up there. Its range is extended in the top third of the rotation only, so the bright half is unchanged.
Preamp 250 output level corrected — it ran quiet across its whole Gain range.
Octavius’ Drive knob no longer changes how loud it is. It used to climb about 9 dB from minimum to maximum; the output is now flat across the knob, with the tone untouched.
Output-transformer saturation in the component amps is rewritten as a flux-domain limit, which makes it the low-frequency effect it physically is, anchored to each amp’s rated output. Several amps’ speaker-resonance voicing was re-fitted alongside it.

Fixed

The Input Trim’s humbucker voicing did nothing. The standalone plugin shipped with the voicing amount defaulting to zero, which is a true bypass, while the Humbucker switch defaulted to on — so neither the switch nor the model selector had any effect at any setting. Now the switch is off by default and the amount is full, matching Hex Forge. Boards you already saved keep their stored values.
Switching the Modulation block to Uni-Verse no longer causes a brief dropout. Its start-up state is worked out once, off the audio thread, instead of being solved the moment you select it.
A duplicate control slot on the amp panel (two controls claimed the same position) and a preset-file reader that mis-read every entry after the first.

3 Likes

«the mains-hum filters work in 50 Hz countries, "

Hoorah!

We lacked one of these in the zynthian infrastructure.

2 Likes

Thanks for the update. I tested the 50Hz hum filter and it works well here in the UK, reducing hum without excessive impact on the guitar sound. I can also confirm the other updates - cheers. I notice that bypass does not have a group name so ends up in its own unnamed parameter page. (Zynthian defaults to calling this “params”.)

Regarding naming, of course you will want something unique - good luck with chosing that. I still think you could lose “Chain” from the name. I don’t see it adds any benefit. The monolithic Hex Forge has its own name and these are kinda obviously individual effects you add to a chain.

I am enjoying this package of effects and we may see them become part of the zynthian default plugins (installed and enabled). For now, users can add with the “Install Plugin” option in webconf.

4 Likes

The guitaramp-suite has been added to the vangelis collection. Just update and test.
Any of them is enabled by default yet. This would require more testing and user feedback. But hey, zynthian users (vangelis) are now one click from using any of these plugins!

Enjoy!

6 Likes

Hi All,

Anyone any idea why the GUI is not shown in the VNC window? (http://zynthian.local:6081/vnc.html)

Cheers,

Maarten

Is this an issue related to the plugins? I’ve never tested on a Zynthian before. Let me know if there needs to be a fix.

Hi Ryan,

I guess that a lot of zynthianers do not consider this an issue since the goal is to edit all parameters with the zynthian parameters editor screen that is accessible via a touchscreen. The zynthian is targeted being usable as a standalone intrument and lv2 plugin manager. It offers however also the possibility to be accessible via VNC. Two VNC screen are available, one for the native GUI and one for presenting the individual (so connections not shown)) graphical GUI’s (or lv2 windows) of the plugins. (the last one is kind of extra perk)

The HEX Forge plugins themselves work fine and the parameters are editable in the zynthian editor screen except for the model selection which is not available in the zynthian editor… So I thought to use the GUI of the HEX-amp plugin… but that is not shown in the zynthian VNC window.

So in any case… no neural model selection.

And for me (and perhaps other zynthianers) I really would like to have the plugins own interfaces available in the ‘second’ VNC window.

I do not know what the issue is and who can solve it (You or Zynthians or both). What i Do know is that other (mod-audi etc) LV2 plugins can be shown on the VNC window.

Besides this: great plugins!! Thanks Ryan!

Cheers,

Maarten

I don’t think there is a native LV2 GUI for these plugins. They are designed to work in pi-stomp so present its bespoke UI, not standard LV2 UI.

2 Likes

I’ll look into this.

1 Like

Thanks!

Cheers,

Maarten

Pi-stomp works with mod-gui interface… thats why do not understand it…

The mod-gui panels are not LV2 GUIs. They only work inside the mod-gui framework.

Neural model selection should work. If not, we should take a look because there is no reason for this to not work.

Regards,

Only if you think it would be beneficial to your project. I don’t see there being significant benefit for zynthian, where the LV2 native GUI should be disabled by default to preserve resources and we use the zynthian controller knobs to adjust parameters.

What plugin are you referring to? I see “NAM Model” as a paraemter in the “params” section (i.e. not within a defined parameter group) in the Hex Chain Amp plugin. This allows selection of a NAM model. I am not at home to listen (only have remote (VNC) access from here) so cannot be certain this is actually selecting the model but the meters show changes so I assume so and see no reason for this not to be working.

@rpowell5064 you may wish to add a parameter group identifier to this control so that it appears somewhere sensible, e.g. “NAM”.

Hi @All,

@riban and @jofemodo:

I understand your rationale for not wanting to implement plugin GUIs via VNC.

(However, for me, it’s much easier to adjust settings when all parameters are visible on a single screen. The visual layout and grouping often help me quickly understand the purpose of a knob or switch.)

I do wonder what the exact criteria are for deciding when to enable a plugin’s GUI over VNC. For instance, is it based on the number of parameters? With complex synths like the DSP563XX series, it feels almost impossible to adjust the instrument comfortably without its native GUI…

@Rpowell5064, @riban, and @jofemodo:

As for the NAM selection… this probably highlights my own ‘Handicap’! I originally looked for it in the Zynthian editor and couldn’t find it. But after @riban’s reply (and he’s almost always right! :blush:), I took another look and found it at the very end of the parameter pages.

So, for the HEX CHAIN CABINET and DRIVE, the NAM selection is indeed available directly within the Zynthian interface! :blush:

Cheers,

Maarten

1 Like

The criteria is:

  • VNC is enabled.
  • The LV2 has a GUI.
  • The GUI hasn’t proved to be troublesome (we blacklist these).

The issue with the Hex plugins is that they do not have a GUI. They have a mod-ui interface which is different. We currently have no appetite to support mod-ui interfaces as it would require a lot of effort. If someone (or something) wants to implement it then we might consider a PR.

[Edit] @maartmaart you may want to raise a feature request for zynthian to render mod-ui GUI if available and no LV2 GUI is available. I can see a few ways to do this:

  • A generic LV2 UI shared library that hosts the mod-ui style UI, e.g. webkit. This would need to be referenced from each LV2 (which could possibly be done dynamically in zynthian engine).
  • A generic UI that is (or can be) launched that shows a UI based on the assets and config from the mod-ui data.
  • Some variation on this theme…

I should stop talking about this here. It is off topic for the Hex plugins. I will await a feature request…

2 Likes