Xhip v8 Release Candidate

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
RELATED
PRODUCTS

Post

Yes the global parameters don't save with the presets. I want to fix this by adding an option to store those settings in presets in the future, but it is a bit of work that I need to do.

For now I should focus on getting a RC with every issue fixed and then I can re-examine whether some changes might be better now (delay release) or perhaps I could implement those changes after release in the alpha branch instead (release soon.) I believe now that it would be better to release this version as-is rather than schedule more changes unless they are easy (fast) to implement.

Mutant's suggestion has been to use fxb files to overcome the fact not everything is saved with presets. The state saved in fxb does store everything including the GUI size, color, PCM data, routing, MIDI CC mapping and so on. It only lacks the currently selected preset which is left up to the host to deal with. (Most hosts I'm aware of set the preset as saved in the fxb.)

re: re-sizing the GUI not working in Cubase;

That's weird, I'm not sure what might be wrong in that case. It is possible Cubase expects some behavior that Xhip isn't providing at the moment for re-sizable GUIs.
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've uploaded Release Candidate 2.

Get it from the alpha page http://xhip.net/alpha/

I've also improved my drum bank slightly. I'm not very happy with the cymbals and some of the sounds are quite bad although it is definitely now a 100% complete GM drum bank.

https://soundcloud.com/xhip/samba_r

The issue with resize in Cubase might be fixed, please let me know.

Remaining issues:
  1. KBT isn't adjusted for correctly in envelopes and modulators as well as in some cases for the 2nd filter. I may not bother as it isn't very important.
  2. Modulator tempo-sync was broken in v7, this isn't adjusted during import. I may not bother because while v7 was broken it did display the correct value, it just ran the modulator one step faster.
  3. I've been working my way through every parameter and routing configuration, about 30% complete now.
  4. Some stuff exists which might be removed, like the effects section or sequence loading.
"Important" stuff I fixed (well, some of it):
  • Route page could sometimes "stick" routings on inactive voices. Should work correctly now.
  • The modulator pulse waveform wasn't updated with width = 100%.
  • The backgrounds for the display area are now drawn directly. A little bit slow but will be fixed later when the complete background is drawn rather than using bitmaps for resize.
  • GUI wasn't updated when the host set the preset.
  • Glide wasn't working correctly.
  • New voices didn't get oscillator unison count set on init.
  • Replaced staircase noise frequency multiplier with 4 as in previous versions.
  • Removed "load init bank from plug-in path" feature. Use the menu "save init bank" or "save init state" features instead.
  • Cleaned up some strings related to filter mode, sync and cross mod.
  • Significantly reduced the size of voices, performance might be improved a bit.
  • 2x KHN notch second stage Q was not set correctly.
  • Modulator to Envelope trigger wasn't working correctly.
  • Modulator LEDs only worked with voice 1.
I'd be very interested if anyone would like to create presets or banks to be released with v8; with full attribution of course.

This version RC2 is now very close to what will be released soon. It has become difficult for me recently to find things that still need to be worked on.
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

https://soundcloud.com/xhip/gahphem
https://soundcloud.com/xhip/gah2

Simple/crappy demo of what you can do with the new linear/derivative xmod modes.
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

Hey man, this is running great - solid as a rock. I'm thinking of doing a bank of ambient pads/strings. You mentioned that the global settings aren't saved into the patches and the workaround is saving to an .fxb file - is there any workaround for saving the effects parameters? I've tried in both Renoise and Reaper and while they can retrieve the unison etc settings the effects just come up blank. I realise it's probably a lot of work ahead for that, but if I can save the effects settings Xhip will be perfect!

Post

Yeah I know! The effects would definitely be an awesome feature to have done and if I could choose one thing to snap my fingers and have finished it would definitely be the effects. (Well... That and OSX/Linux!)

It really isn't a whole lot of work just to save the state itself. The slightly more difficult problem is arranging the GUI in a way which allows those global settings to be associated with a preset (or not) and the configuration from the user's perspective.

From a technical/programming point of view it is actually very simple and I could probably accomplish it in a day. My wishing for this to get done is one of the reasons I've left the feature in there rather than just hiding the page.

I've been very interested in hearing from anyone regarding whether it would make sense to jump ahead and save the effects as part of the state data (fxb) without going through the UI side of things until the next version. When I use Xhip myself I tend to use the effect plug-ins externally via Reaper which is a lot more functional than the embedded stuff. In other hosts however and most of all given the ability to store the configuration with presets the embedded effects are very useful.

So on my own it's been half/half; worth it and at the same time not really worth it unless done right from the beginning.

Just having to think about how much effort it might take is actually a lot of motivation. The next time I sit down with the code I'll make an attempt and hopefully it turns out to be even more simple than I'd hoped.
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

Saving the effects as part of the state data would be incredibly useful to me, I can spend quite a lot of time tweaking parameters to get a nuanced sound and it would be great to retrieve it quickly. Using the effects externally for composition is a good suggestion, I'll do that - but for patch design I think a lot of sound designers will hold back until that feature is in, especially because the effects in Xhip can influence the final sound a great deal. Even if it's just a temporary workaround saving the state data would still allow me to build up a range of complete single patches which could then hopefully be loaded into a proper bank at a later date (I'm assuming enough backwards/forwards compatibility to do this without too much hassle - or is that unwise?). Anyway, even without the effects it's a very inspiring instrument but glad to see that this is on the radar!

Post

http://xhip.net/temp/Sawed%20Harp.xhippreset
https://soundcloud.com/xhip/you-sawered-it-first
(this clip if you load the preset clearly demonstrates the issue with preset recall vs. state.)

That's actually where most of the work needs to go. The effects don't currently use data chunks / state, so there is no version information saved by the host to allow changes to the effects in the future to remain backward compatible.

Since this is a feature they've needed for a long time and it would probably be best to release v8 of the synth along with a new effects version; now that I've started to think about it more it's really more of a "must do". The preset stuff is a little bit more complex due to the UI side of things but relies upon exactly the same state data, just saved along with the presets rather than the state chunk.

Fortunately once that state data is saved by a new version of the effects, future changes will be 100% compatible which will also open up making more major changes to the effects in the future. The most recent incompatible change was the addition of a feedback path low/high cut filter to the mdelay along with the removal of the "clip at" parameter in the limiter. If the effects had been saving a state with version info all along this never would have been a problem.
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

There are valid reasons for and against saving (and loading) the effects settings with the patch.
Maybe the best solution would be to make it optional in some external ini file ?
[====[\\\\\\\\]>------,

Ay caramba !

Post

My plan has been to have some UI feature where you could select either "lock to global" or "load with preset".

In addition to that there of course needs to be some option "save with preset" since my opinion has always been that especially specific parameters like glide mode (global, not log/lin) and polyphony are options best left to the user managing a particular instance rather than the author of the preset.

This is the main difficulty with the UI implementation... one possibility that has occurred to me (the most obvious of course) is providing a menu with the multiple options on right-click of a global parameter. This could be applied to a whole page by right-clicking the tab/button to switch the page.

You could then save all those options in a preset, but it would be up to the user to "unlock" those settings. By default for example I'd probably leave route/effects unlocked, but upon editing any parameter there it would automatically be locked. It would also in my preference not automatically save with a preset and need to be manually selected "associate with current preset".

It is just a bit of a UI nightmare to get it to be both easy to use as well as flexible enough to avoid problems like "epic"-reverb applied to every preset.

I don't like the idea of a file. Instead I've gone the route of the "save init state" option in the menu (hold shift) which will apply to any new instance. At the same time once you have an instance set up, you can then configure it uniquely and have it save in both states and projects without having to worry about your configuration being overridden elsewhere.

So in the case of "lock/load from preset" options those would get saved in the init state and could be configured by default that way. In addition you could then configure an instance in a project to lock the effects section while you page through different bass presets without mucking up your essential flanger+limiter settings.

Another option is to have lock/unlock for some parameters (polyphony) but separate sections entirely for preset vs. "global" route and effects. The issue then is where you have multiple of the same routings (velocity) or effects (reverb) applied. Another option is to provide both "preset" and "global" settings and the lock/unlock would simply select where the settings come from. By "locking" you'd simply switch to the global setting and "unlocking" would switch to the preset setting.

Pain in the neck is an understatement. This is why I haven't just done 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

https://soundcloud.com/xhip/garf-uncle

I've uploaded rc 3 which now includes the effect state.

Who's first to complain about only 4 insert slots? :)

This file:
http://xhip.net/alpha/releases/stanley.xhipstate

Is a test of a hacked (hand-edited) state where the bank contains only a single preset + effects. I'll need to add a function or switch to store only a single preset in the state to make this easy to use for trading presets including midicc/pcm/global/route/effect data. It also doesn't make much sense to store the background color or GUI size... a lot of overhead code is required to deal with all these options.
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 won't complain because even 1 is too much for me. :) I use external fx all the time with all synths because they are of better quality and I like to have control over fx in the mix [EQ, compression]. It doesn't make sense to have any fx in a VSTi unless for Youtube demonstration videos. :tu:
It is no measure of health to be well adjusted to a profoundly sick society. - Jiddu Krishnamurti

Post

DuX wrote:It doesn't make sense to have any fx in a VSTi unless for Youtube demonstration videos. :tu:
Sometimes it does, sometimes it doesn't. :)
[====[\\\\\\\\]>------,

Ay caramba !

Post

DuX wrote:I won't complain because even 1 is too much for me. :) I use external fx all the time with all synths because they are of better quality and I like to have control over fx in the mix [EQ, compression]. It doesn't make sense to have any fx in a VSTi unless for Youtube demonstration videos. :tu:
I think it really depends on context, but for patch/sound design it's really useful to have everything in one place and no external dependencies. When composing, sure you'll probably often reach for external stuff to control in your DAW. The FX in Xhip are good and can make an absolutely huge difference in the sound.

Post

Some of them at least... I should have removed the "tone" and "crossfeed" fx since these are prototypes!

Tone is supposed to be a simple filter with EQ functionality. So including multiple stages of low, high, low-shelf, high-shelf and peaking filters perhaps. At first I thought I might want to have it as-is and fixed low-shelf although a combination 12 dB low/high shelf tone control (bass / treble) would be more flexible. Since I haven't decided on that stuff yet it really shouldn't be left in!

The crossfeed effect was intended to function as a frequency splitter where you could adjust mid/side levels for bass and treble. The purpose was to act as a stereo headphone filter. I implemented this while mixing channels to stereo but I haven't yet bothered to complete the M/S implementation. Short version: mono bass + stereo treble.

Yes one function oddly almost never implemented by hosts is the ability to combine complete plug-in states of multiple plug-ins. Reaper provides this as "FX chains" but the name is as misleading as "FX" used to refer to instrument plug-ins. It actually saves a complete chain of plug-ins along with their states including any combination of sources, midi processors or audio processors. If every host had such functionality we wouldn't need internal presets at all.

I understand the headache though of potentially having to hunt down missing plug-ins, or good luck if you happen to have the wrong version of a plug-in installed and can't figure out why your configuration sounds different.
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.

Locked

Return to “Instruments”