Xhip Synthesizer v8.1 (alpha & RC)

VST, AU, AAX, etc. plug-in Virtual Instruments discussion
yul
KVRian
1236 posts since 26 Sep, 2002 from Montreal, CANADA

Post Tue Feb 19, 2019 8:30 am

Good stuff Aciddose! Thanks for the update!! Can't wait to give it a run. Much appreciated.

Cheers!

Kott
KVRian
502 posts since 12 Mar, 2013 from Russia, Vladivostok

Post Sat May 04, 2019 4:44 am

Love this synth, using it in T. Waveform under Linux.

User avatar
BlackWinny
KVRAF
4524 posts since 17 Jun, 2013 from very close to Paris, France

Post Fri Jul 26, 2019 11:02 am

This synth is really a labor of love. So much works already made for more than fifteen years with innumerable original features rarely encountered in freeware synths, and with a great quality !

It's been already years and years that Xhip is one of my favorites freeware synths. As Dexed, TX16Wx, BlueArp, KX-SYNTH-X16, VCV, all the Full Bucket Music's lineup, and a few others, Xhip shows how much some genius developers can make awesome technical works... just for love.

Thanks for keeping on improving this little gem !
:clap: :love:
Last edited by BlackWinny on Fri Jul 26, 2019 12:29 pm, edited 1 time in total.
Build your life everyday as if you would live for a thousand years. Marvel at the Life everyday as if you would die tomorrow.
I'm now severely diseased since September 2018.

Mutant
KVRAF
3477 posts since 9 Oct, 2004 from Poland

Post Fri Jul 26, 2019 11:26 am

:)
[====[\\\\\\\\]>------,

Ay caramba !

User avatar
hivkorn
Banned
3509 posts since 6 Sep, 2007 from France

Post Fri Jul 26, 2019 12:31 pm

Still no GUI on osx ? ... i love this synth ( sound really good) but i dislike the interface on osx...

User avatar
aciddose
KVRAF

Topic Starter

12463 posts since 7 Dec, 2004

Post Sun Jul 28, 2019 2:36 am

I haven't worked much on the project for quite some time. It's in one of those stages where it's hard to identify exactly what needs to be finished, so I need to spend a lot of time (week+) charting out an update to the critical to-do list, and then plotting out designs for each of the items on the list.

Then I need to actually step through and complete each of those tasks :)

One of the key issues is the need to make the effects work correctly. This is not too complex, but I simply haven't been motivated to work on the project at all. Obviously since the task is not "just an hour or two" but more like a week, I haven't been able to just button down and get it finished.

Since Xhip has always been based upon my personal interest in the software itself, it relies almost entirely upon me spending my time using it and working on it. To be honest there isn't much of note that differs between v8 (currently released) and the planned v8.1... the biggest changes are backend improvements in the GUI framework that improve graphical quality and speed things up significantly. Functionally though (audio, etc) they're nearly identical.

For MacOS... well, that's more a "tidy up and finish the edges neatly". I've said that numerous times. I don't use MacOS personally so I have zero interest in it. It's going to be interesting merely from the POV of improving the abstractions in the frameworks. Since I've already ported Xhip to Linux, it would be just another set of problems very similar to those I've already solved. It's definitely a very, very low priority for me.

Some examples of work I've done recently:
  • 1177 - 29 May - implemented crossfeed (mono bass, headphone filter), linkwitz riley crossover, improved integrator cascade and cascade with feedback filter templates (and associated filter implementation templates), additional refactor and fixups
  • 1176 - 29 May - improved initialization assertions (debugging) enabling detection of both 32-bit and 64-bit integers for 64-bit targets, implemented parsing of quoted string data for database, improved integrator and lossy-integrator templates with multiple i/o capability, added sanity checks to dialog implementation
  • 1174 - 15 May - improved and fixed cycle counter implementation (frequency detector), implemented dynamic analog autotuning for MIDI to CV conversion, implemented MIDI RPN/NRPN project
  • 1173 - 2 May - improved abstract array template template functions (insert, delete), improved text shell object (implemented dynamic allocation), ...
  • 1171 - 22 April - font related stuff ...
  • 1170 - 17 April - xhip: implemented amplitude smoothing for reduced modulation rates (eliminates zipper noise)
  • 1169 - 17 April - fixed crashing bug with filebrowser dialog when masking (*.extension) or path lacks a directory separator
This list just goes on and on and on and on with backend/framework stuff that you'd never actually notice in Xhip, but all this underlying code is what makes the plug-in actually work. For June/July I haven't added any commits (revisions) because I've been making little edits one-by-one to various stuff and haven't bothered to actually finish any of them yet. So I need to finish up the changes I've made (apparently 79 files so far!) and commit them.

These lulls in apparent activity are due to the enormous complexity of a project like Xhip and the hundreds of related sub-components. Unlike a project that uses external library code, I prefer to write 100% of my own code from scratch. This gives me unlimited flexibility, but it also means I'm responsible for 100% of the work.
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.

Mutant
KVRAF
3477 posts since 9 Oct, 2004 from Poland

Post Sun Jul 28, 2019 4:15 am

aciddose wrote:
Sun Jul 28, 2019 2:36 am
I haven't worked much on the project for quite some time. It's in one of those stages where it's hard to identify exactly what needs to be finished, so I need to spend a lot of time (week+) charting out an update to the critical to-do list, and then plotting out designs for each of the items on the list.
So is it too late for new feature requests ? :wink:
[====[\\\\\\\\]>------,

Ay caramba !

User avatar
aciddose
KVRAF

Topic Starter

12463 posts since 7 Dec, 2004

Post Sun Jul 28, 2019 4:17 am

Freakture requests? They'd better be pretty darn(k) freaky!
https://soundcloud.com/xhip/visit_by_luciferahx
Last edited by aciddose on Mon Jul 29, 2019 4:23 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.

User avatar
aciddose
KVRAF

Topic Starter

12463 posts since 7 Dec, 2004

Post Sun Jul 28, 2019 4:32 am

Image
http://xhip.net/alpha/releases/xfx_cros ... ha_1177.7z
There's a test version of the crossfeed effect... I guess it basically does the job, but I can't decide if it really counts as complete. I guess it is, since for a standard stereo-to-mono crossfeed you'd use cutoff = max, res = zero (should be inaudible?) and otherwise it seems to work correctly using the linkwitz riley crossover for low = mono mix, high = stereo. The last remaining thing I guess is it doesn't actually need the Q control since it doesn't do anything? I thought a linkwitz riley crossover was supposed to have Q = sqrt(1/2) (butterworth) to work correctly, but Q = 0 creates no peak or valley... I have to spend time and look at that again to figure wtf is going on.

I just hate to release anything before it's really well thought out since then I'll have to be "fixing" it and feeling embarrassed about it. The RC filter effect had some serious GUI bugs (the knob init value wasn't set correctly), so now I need to look at getting all the effects updated too with v7 or something. Then maybe I can weasel my way to v8 by adding a few more effects (EQ!!!) and v9 for Xhip and Effects will both be the "almost skinnable GUIs~!" version.
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.

User avatar
BlackWinny
KVRAF
4524 posts since 17 Jun, 2013 from very close to Paris, France

Post Sun Jul 28, 2019 3:33 pm

It's a hobbyist work, huge indeed but not linked to any contract. It is an artwork that you do in priority for youself and that you generously share with others. But the first "client" is yourself. Only you is allowed to actually "negotiate" with yourself about the content of the project and about a calendar of the steps of the project. We, users, are of course very happy to receive as a free gift the product of your labor, but we don't have to beg for this or that with insistence. It's of course neat to have news from time to time, and suggestions from us are normal to give you ideas of future improvements, but we are not allowed to claim anything, in time as well as in services. Because we don't pay anything to you in return to the gift you make to us. Even potential donations must be understood as encouragements (and I'm pretty sure that they are taken as this at least by you and hope that they are taken as this by the majority of the donators)... but definitely not as a kind of implicit contracts.

So, at least from me, you don't have to think being constraint to justify your time to work on it and your time to leave it aside, even for months, even why not... for more than months. News sometimes are kind to tell that you don't forget "your friends" but without any need to feel the obligation to justify anything of the time, because in hobbies the time is something which is a fundamental freedom.

In professional jobs there are contracts between clients and suppliers and of course contracts between bosses and employees. But in hobbies, even with products offered to others as results of these hobbies, there must never be any obligation to justify any delay or any time spent in occupations outside this hobby. Jobs imply constraints... hobbies must never imply constraints.

We all have so many things to do in our lives that we quite can be patient to let you manage your time, your weeks, your months, your life quietly, with moments where things progress and moments where things are left aside, alone. The thoughts, them, they never stop and when something must need time to mature this time must be respected. It is as the music: the tempos of the different movements of a concerto or of a symphony, these tempos must be respected. And the creation of something complex is even more as composing the symphony than playing it: the time is the main element, with all the accelerations, decelerations, fast tempos, slow tempos... and silences. And these are built by the composer, not demanded by the players.

Cheers!
Jacques
Build your life everyday as if you would live for a thousand years. Marvel at the Life everyday as if you would die tomorrow.
I'm now severely diseased since September 2018.

User avatar
aciddose
KVRAF

Topic Starter

12463 posts since 7 Dec, 2004

Post Thu Oct 31, 2019 8:44 am

No Xhip alpha update yet, but one is in the works where I've fixed many issues and made a lot of improvements.

As a digression, just for fun I correctly implemented the ability to type escape sequences into the text boxes. This makes it possible to type something like: "esc-chls(1/12, 1/2, 1)" and hit enter, and you then have a control-code in the preset name (bank name, or category and others) string to make the text orange :)

https://soundcloud.com/xhip/sakura2
Image
(less distortion this time:)
https://soundcloud.com/xhip/sakura3

I did a bit of work on the manual and added waveforms drawn with lines/curves.

Oscillators page:
Image

Modulator page:
Image

The waveforms ended up looking very nice. I've fixed a few issues in the manual and added/reworded some parts.

I could do plenty of technical ranting about what I've done in Xhip, but suffice it to say it's mostly stuff related to the GUI and communications inside the plug-in. This is a foundation-laying step toward much greater flexibility in the future when/if I start adding new features.

More sounds! (this time a chiptune that doesn't have a heaping helping of distortion on it)
https://soundcloud.com/xhip/uggabuggaahx
Last edited by aciddose on Thu Oct 31, 2019 9:19 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.

Mutant
KVRAF
3477 posts since 9 Oct, 2004 from Poland

Post Thu Oct 31, 2019 9:03 am

Thank you. :)
[====[\\\\\\\\]>------,

Ay caramba !

User avatar
BlackWinny
KVRAF
4524 posts since 17 Jun, 2013 from very close to Paris, France

Post Thu Oct 31, 2019 1:55 pm

Just a question : is it possible to invert the phase of the second oscillator ?

If not yet, may I suggest you to add this feature ?
And even better, a 4 positions selector with [0°, 90°, 180°, 270°].

(it's just a suggestion, and if granted... with no impatience at all. And if not granted, no problem)
:)
Build your life everyday as if you would live for a thousand years. Marvel at the Life everyday as if you would die tomorrow.
I'm now severely diseased since September 2018.

Mutant
KVRAF
3477 posts since 9 Oct, 2004 from Poland

Post Fri Nov 01, 2019 12:09 am

BlackWinny wrote:
Thu Oct 31, 2019 1:55 pm
Just a question : is it possible to invert the phase of the second oscillator ?
LED Button in the mixer section. :)
Invert both and it will sound less Roland/Prophet'ish and more Oberheim'ish.
[====[\\\\\\\\]>------,

Ay caramba !

User avatar
aciddose
KVRAF

Topic Starter

12463 posts since 7 Dec, 2004

Post Fri Nov 01, 2019 1:34 am

A sync phase control is something it's missing, mostly for the modulators but I also often find it would be useful for tweaking the initial phase of drum sounds: to get the same identical sound every time for a kick drum or similar.

I've put off adding any parameters for a long time because one of the major flaws in VST2 is lack of support for dynamic automation parameters. Many hosts were designed with the assumption parameters never change, so their UI doesn't provide an option to re-map automation lanes to different parameters.

This is a very stupid flaw since all VST parameters are normalized (0.0 to 1.0), so there is no technical reason for such a lack of support. Ideally hosts should:
1) allow automation lanes to be sent to any parameter via a list and handle changes by mapping them to "nothing" and adding a warning to the user with last parameter name, last parameter index "was mapped to: ...".
2) do the same for plug-ins.
3) have a system for plug-ins to report errors, such as in set-chunk() returning "couldn't load chunk" after printing a string to the host via a host callback "add-error(...)", the host could associate the error with the call and add additional information.

Unfortunately those are things that would have required good design from the very start, which sadly wasn't the case. So I'll have to eventually (for Xhip 9) use various work-arounds to add parameters. The biggest ones for me will be preset tuning, sync-phase and some effects send parameters, and to handle the automation issue possibly some routable dedicated automation parameters.
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.

Return to “Instruments”