Xhip Synthesizer v8.1 (alpha & RC)

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS
Xhip Effects Xhip Synthesizer

Post

Stefken wrote:Nice synth. Is there a possibility to skin the synth?
Not just colors but provide different buttons, different backgrounds etc...
Yes, in the next version. This thread is about alpha + RC (release candidate) versions which are similar to the common term "beta". Development is on-going and the skinning functions are part of what is still required.

If you want to look at what is possible with the system look at Xhip Effects which already have a partial implementation that works. Yes, the knobs, switches, LEDs, fonts and other aspects can be replaced. Sizes can be adjusted, spacing can be adjusted.

KVR forum: Xhip Effects - resizing/skinable GUI

The skin system still doesn't allow custom layouts or "skin files", but you can start to work on them by looking at the related threads and testing the features that are already working. I'd also appreciate hearing about or seeing your results and any comments/requests you have for features or changes.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

aciddose wrote:Hate to break it to you, but "famous filter emulations" are a butt load of bullshit :)

https://soundcloud.com/xhip/isitressenough
(This is a "semi-analog" version of KHN 12 dB. Without non-linearity.)

As far as additional modes this is entirely possible but it doesn't make much sense to provide so many modes with the way the preset data and menus are currently handled.

I will try adding some new modes though soon, at least just in the alpha version. I'd hate making presets incompatible though... so one possibility is to store additional preset data that would be ignored by older versions while still storing the existing filter mode data in a compatible way.

For example Sallen-Key 12 dB low-pass = KHN 12 dB low-pass in the old mode. So if you load the preset using an old version it still works with the old filter.

The current filter modes are "1 times CPU", any new modes are between "0.8" and "10" times!, most ~2 to ~5 times as expensive. I can currently get about 32 voices in Xhip "maxed out", with about 80 voices with simple waveforms and minimal modulation; per-core.

Also you might be very disappointed when you try different modes: as far as "sound" in a majority of cases it makes almost zero difference. So it would only encourage people to burn up 10x as much CPU power and complain a lot! :)
Well, obviously i have zero knowledge when it comes to filters and circuitry, so i'll take your word for it. :lol: But what filter types would you add though, that sounds different than the KHN filter that is already there? You mentioned Sallen-Key?
EnergyXT3 - LMMS - FL Studio | Roland SH201 - Waldorf Rocket | SoundCloud - Bandcamp

Post

I can list all the types I'm aware exist in the universe:
  • RC
  • Integrator (differentiator)
  • KHN
  • Sallen-Key
  • four-pole (and other) cascades
  • All-pass cascades (phaser)
  • Comb
  • other combinations
In addition to that, each type has sub-type "modes":
  • low-pass
  • band-pass
  • high-pass
  • notch
  • low-shelf
  • high-shelf
  • all-pass
  • peak
  • other combinations
In addition to that, each type can have various non-linear configurations depending upon the specific type.

Yes, different filters can sound different. Otherwise they'd be the same.

There are however cases where they sound identical, such as various 12 dB low-pass types like KHN 12 dB low-pass, sallen-key 12 dB low-pass, two pole cascade and others when LTI.


Short version:
If I add any new types; I will add new types that sound different. (Obviously.)

I'll have to leave exactly what I'll add for when I actually add them... Sallen-Key types are an option as well as different non-linear KHN types.

Adding them is easy if I already have the code (I have a lot of code!) but the hard part is setting up the GUI and presets as well as the internals of the synth. That's a job that only really needs to be done once, but once finished I'll need to do the same work to add one mode as to add 50.

For now I'm adding some modes to the follower effect and from there they might eventually find their way into Xhip.
Last edited by aciddose on Fri Jul 06, 2018 6:49 pm, edited 1 time in total.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

Ok cool. So are there a specific filter that you think sounds great and should be added to Xhip?
EnergyXT3 - LMMS - FL Studio | Roland SH201 - Waldorf Rocket | SoundCloud - Bandcamp

Post

Nope :shrug:

I've been working on adding them for years already.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

Ok Gotcha :)
EnergyXT3 - LMMS - FL Studio | Roland SH201 - Waldorf Rocket | SoundCloud - Bandcamp

Post

Just to avoid any confusion, my emotes were a joke. :)
1 filter i would welcome with open arms in Xhip would be state variable like in old Oberheim synths, but that would be more about routing the signal and adding few controls to the UI than a new filter type you talked about in the last few posts, right ?
[====[\\\\\\\\]>------,

Ay caramba !

Post

You're referring to a KHN. State variable = KHN is the proper name.

Plugging in other filter modules is more about the fact Xhip supports per-sample modulation, variable saturation depth, audio-rate modulation (FMod + QMod) and handles all modulation and processing in integer format.

I already have dozens of other filters implemented, they're just fully floating point and don't have all those Xhip features.

I'm already working on (it already works, I just set the filter mode in code... currently adding the "mode" parameter right now!) adding additional filter modules to the follower.

You can test them there since there we only need two filters (stereo) and not one per voice, and the modulation doesn't need to be per-sample and there aren't any audio-rate modulation features to worry about.

That'll be a while though since obviously I'm not going to release incompatible half-finished stuff. I'm still working on perfecting several things about it.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

aciddose wrote:That'll be a while though since obviously I'm not going to release incompatible half-finished stuff. I'm still working on perfecting several things about it.
Okay, so I lied.

xhip_8_windows_64bit_alpha_r1126_INCOMPATIBLE_DO_NOT_SAVE.7z

Do not save projects using the follower effect in r1126 or they won't load correctly. Otherwise everything is compatible.

Anyone interested can test the filter modes in the follower in this version. Note that the follower also has several other changes so far:
  • The "scale" parameter is replaced with "reference", defaults to -18 dB
  • The envelope follower has been improved (see "abs" parameter)
  • A envelope filter has been added (see "lp" parameter)
  • A "mode" parameter allows you to select many more filters
  • The "saturation" and "asymmetry" controls are independent
  • A "drive" control is added to overdrive the filter input level (also compensates output gain)
  • A "gain" control is needed (I guess?) but I didn't add it yet :)
  • The range of the Q parameter is now 125%, so at 80% on the knob you get self-oscillation
A basic explanation is:

The first envelope follower stage is a simple abs() or limit_to_positive() function. This option is selected via the "abs" parameter. Since the negative and positive parts of the waveform are typically different this can create different effects... although having only half the waveform (non-abs) means usually about half the envelope scale, so you have to adjust the "reference" parameter to account for the difference in response to input signal.

Think of an up-ramp with a resonant filter applied. The top will look normal, but the bottom will have the "ringing" on it. By using abs() you get the influence of the ringing but without abs() it's ignored! A lot of classic envelope follower effects do not use abs() because the effect is more interesting and flexible without it.

The second stage is a HAR envelope. (Har har har.) This is a A/R envelope with a hold time on the attack. Whenever the input level increases (attack) the hold is triggered and the attack continues toward the highest measured level until the hold time is elapsed. This means if you have a waveform with quick positive peaks and mostly negative or zero levels, the hold function allows you to measure the peak level (1.0) more closely where the average level would be closer to zero (~0.001).

The third stage is fed into a 18 dB resonant low-pass filter with Q near sqrt(1/2). So it's approximately 18 dB Butterworth at about 20 Hz. This smooths out any sharp edges and has attack/release of approximately 40 mS with added latency (delay before the attack happens) of ~10 mS. Usually the latency effect isn't important since usually your attack is slower than 10 mS anyway. The over-all effect is then simply to smooth out the envelope which often sounds a lot better (unless you want that audio-rate FM effect, which is also awesome!)

You can disable the second stage by setting attack to zero and release very short. In that case only the abs() or positive_limit() and envelope filter take effect.

You can disable the envelope filter by using the "LP" parameter, which gives you raw HAR envelope output with much sharper edges.

The "saturation" and "asymmetry" controls don't do anything on some filters. You'll have to use your ears and figure it out yourself :)

The second KHN modes I have currently are simple models without anything fancy happening. They have a non-linear clamp (diode clamp model) to limit feedback level but not like in filters like the OB-X KHN "state-variable filter".

All the first modes are direct "naive" implementations.

The second set of modes (starting with khn_low 2nd version) all use 2x over-sampling and include non-linearity which produces more harmonic content (why it needs the over-sampling) except for the last "vocal" mode which is the same simple vocal filter from my effect in 2005.

(edited: updated link to the alpha page itself since this revision no longer exists.)
Last edited by aciddose on Fri Feb 15, 2019 4:47 am, edited 1 time in total.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

I installed the latest version , but can't seem to get those nice coloured knobs (branis skin ).
Double clicking on the xhip logo only gives the option to change background colour
Any ideas ?
Eyeball exchanging
Soul calibrating ..frequencies

Post

Latest version? Which one?

The new knobs are only in the alpha version. v8 didn't have them and used knob strips instead.

If you want them you can use alpha r1125 for Windows.

The latest version for Linux (r1100) also used them but lacks the new efficient background caching mechanism of r1125 (it speeds redraw quite a lot.)

The last thing I was working toward implementing was the ability to store/load effects and parameter routing (route) from presets. The ability to handle multi-timbral routing requires more implementation but for v8.1 I figured I might as well delay a bit more and get it working for mono-timbral use.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

Image

Simple enough right? ... now it's just a matter of adding a menu to provide "copy from global to preset", ..., and a switch for "enable preset effects". Then loading/storing the preset effects chunk in the preset when the preset is changed which is a bit more complicated.

I can use an identical system to handle the "route" page saving in presets. Rather than having to deal with global vs. preset I'll just provide both options that can be used at the same time.

Sure is taking me a long time to get it all done though.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

oh man, the knobs are still touching the LEDs...

Post

AnX wrote: Mon Dec 31, 2018 10:42 pm oh man, the knobs are still touching the LEDs...
Stop Bitching Kriminal.
Anyone that cares that much will edit the skin.
It's the sound that matters and I note you aint got nout to say about that!

Post

Happy 2019. :)

And a little feature request.
This was in some earlier version, got lost with the new UI.
Displaying the numerical value of a touched (and/or maybe even just hovered over) knob without having to turn the knob.

Solves the problem of wondering if i have the modulation set to 0.0 or 0.02. :)
[====[\\\\\\\\]>------,

Ay caramba !

Post Reply

Return to “Instruments”