PG8X (inspired by the JX8P): new beta version uploaded

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Locked New Topic
RELATED
PRODUCTS
pg-8x

Post

AdmiralQuality wrote:Nice!
Thanks!
Self noise is probably a wee bit high, but cool that you modeled it.
I found that it is crucial to reproduce high resonance filter sweeps at intermediate frequencies. I can try to take it down a bit.
The real JX-8P had a nastier click when amplitude envelopes were retriggered at dramatically different velocities, but this sounds close enough.
In fact, I included a LP filter on the velocities in order to remove clicks. I never noticed them on my JX-8P. I could increase the cutoff frequency to get those clicks back, but I am not sure whether I want that...
Love that you can change programs and the voice continues, like a real programmable polysynth. Congrats.

Make sure you implement cycle assignment too. And increasing bend range to at least 1 octave would be nice.
Do you mean the mode when the "poly" button is blinking? I have not really been able to figure out, how exactly it allocates the voices. What I modelled so far, is that a note, when pressed again triggers the same voice and the ADSR just continues where is was left off.
CPU usage on my Core2Quad q9300 @ 2.5 GHz is about 5% with all voices going. Fine, particularly considering the 12x oscillator and 4X filter oversampling you're using.
I hope that I can still save some CPU, since some people here reported that it is quite a CPU hog.
Would be nice if you could push the filter resonance into self oscillation (you could make a real JX-8P or JX-3P do this by tweaking trim pots inside).
Actually, I was planning to add some tweaks later, for instance boosting the resonance, or switching the envelopes from their quantised versions (they only update every 5 ms on my JX-8P) to truly continuous, or even add PWM for the square wave (can be done at no extra cost).
Not crazy about the switches on the GUI needing so much mouse travel. SE must provide a better control type for this, no? Sliders are ok, but a coarse/fine mode would be nice.
I am not happy about the long distances myself, but have not yet figured out whether that can be changed.
What's the list dropdown do?
This dropdown controls the 'secondary oversampling'. Right now, the whole engine, i.e. mainly the LP filter is oversampled 4 times. In order reduce aliasing, especially for hard sync, it is necessary to have even higher oversampling for the oscillators. Since this can get quite expensive, but is not always necessary (only for real high frequencies, and when using ring modulation or hard sync), I made it available to users. I am still thinking about some clever way to make this more intelligent, such as automatically choosing different values depending on the pitch of a given voice. This way, the expensive oversampling would only kick in for high notes.
[/quote]

Post

martin_l wrote:
The real JX-8P had a nastier click when amplitude envelopes were retriggered at dramatically different velocities, but this sounds close enough.
In fact, I included a LP filter on the velocities in order to remove clicks. I never noticed them on my JX-8P. I could increase the cutoff frequency to get those clicks back, but I am not sure whether I want that...
Yeah, I can hear the filter. Try making a sound on the real 8P with wide open filters and no dynamics except for amplitude. Then play a loud note, then while it's releasing retrigger the same note softly. You'll hear a sudden jump/click in the levels. This makes sense, as, while an ADSR when retriggered usually starts the attack stage from the level it's currently at (from the previous release stage), modulating this by velocity creates the possibility for a discontinuity. In Poly-Ana I solved this by always taking the velocity-modulated level into account, and the attack stage can actually go DOWN if the current release level happens to be higher than the new attack's peak will be. It was tricky to get right, but a graceful solution to this common problem.

The 8P had no such system though, so it clicks when notes are retriggered with dramatically different velocities. Arguably you've improved on the original by lowpassing the envelopes, but that might also cause them to be less punchy and/or good at making clicks when you want them (organ note ons, etc). You might want to consider making that an option (Poly-Ana has a click filter on its VCAs).

Love that you can change programs and the voice continues, like a real programmable polysynth. Congrats.

Make sure you implement cycle assignment too. And increasing bend range to at least 1 octave would be nice.
Do you mean the mode when the "poly" button is blinking? I have not really been able to figure out, how exactly it allocates the voices. What I modelled so far, is that a note, when pressed again triggers the same voice and the ADSR just continues where is was left off.
Yes, cycle assignment is the other mode, where successive hits of the same note will trigger NEW voices, not the one same voice that's currently assigned to that note. Very good for percussion sounds. I forget exactly where the setting is on the '8P. (I remember on the JX-3P I could get it by powering on while holding one of the switches down. Kind of an Easter Egg feature.) I think it's somewhere on the JX-8P's main panel (not on the programmer module).

The other thing I'm talking about is that, the voices don't go silent when you change programs. A lot of developers instantiate and destruct voices as they're assigned/freed or when patches are changed. But this of course isn't how real poly-synths worked, the voices were always there. So when you were holding notes down (or notes were in their release tails) and you changed programs, the sound didn't stop, it just changed character to the new patch settings. You can set up neighbouring programs to actually take advantage of this in performance, but only if the synth design allows it. Nice to see you did.

CPU usage on my Core2Quad q9300 @ 2.5 GHz is about 5% with all voices going. Fine, particularly considering the 12x oscillator and 4X filter oversampling you're using.
I hope that I can still save some CPU, since some people here reported that it is quite a CPU hog.
Some people will always report that. I think you're well dialed in to a load that's acceptable on modern machines. But if it's easy, you might want to consider letting the user control the oversample rates. (Take a look at Poly-Ana's Quality control, which does exactly this. It also adapts to the host's sample rate, so CPU load and quality for a patch are roughly constant, regardless of what rate your host is running at.

Would be nice if you could push the filter resonance into self oscillation (you could make a real JX-8P or JX-3P do this by tweaking trim pots inside).
Actually, I was planning to add some tweaks later, for instance boosting the resonance, or switching the envelopes from their quantised versions (they only update every 5 ms on my JX-8P) to truly continuous, or even add PWM for the square wave (can be done at no extra cost).
Not crazy about the switches on the GUI needing so much mouse travel. SE must provide a better control type for this, no? Sliders are ok, but a coarse/fine mode would be nice.
I am not happy about the long distances myself, but have not yet figured out whether that can be changed.
What's the list dropdown do?
This dropdown controls the 'secondary oversampling'. Right now, the whole engine, i.e. mainly the LP filter is oversampled 4 times. In order reduce aliasing, especially for hard sync, it is necessary to have even higher oversampling for the oscillators. Since this can get quite expensive, but is not always necessary (only for real high frequencies, and when using ring modulation or hard sync), I made it available to users. I am still thinking about some clever way to make this more intelligent, such as automatically choosing different values depending on the pitch of a given voice. This way, the expensive oversampling would only kick in for high notes.
[/quote]

Yep. Didn't know about the 5ms quantization of the envelopes, but that's not surprising. Same thing with the bender, the original makes zipper noise so you can improve on that.

Anyway, I think you did a great job so far. Keep at it!

Post

This sounds nice so far! Running fine in Vista with FL Studio 9.1
Great job! :)

Ed

Post

DELETED

Post

AdmiralQuality wrote: Yes, cycle assignment is the other mode, where successive hits of the same note will trigger NEW voices, not the one same voice that's currently assigned to that note. Very good for percussion sounds. I forget exactly where the setting is on the '8P. (I remember on the JX-3P I could get it by powering on while holding one of the switches down. Kind of an Easter Egg feature.) I think it's somewhere on the JX-8P's main panel (not on the programmer module).
Ah yes. On the JX-8P you get this by holding down programme keys 2 and 3 while powering up. I thought you were talking about the second poly mode, which is designed for use with portamento and differs slightly in the order voices are re-assigned. I am not sure yet, which modes I might try to emulate.
Some people will always report that. I think you're well dialed in to a load that's acceptable on modern machines. But if it's easy, you might want to consider letting the user control the oversample rates. (Take a look at Poly-Ana's Quality control, which does exactly this. It also adapts to the host's sample rate, so CPU load and quality for a patch are roughly constant, regardless of what rate your host is running at.
That is also still on my todo list, since there is absolutely no reason for 4-times oversampling when the host is running at 96000 kHz. Most of the necessary stuff is already in the code. I just need to wire it up correctly.

Post

Lovely sounding synth. Probably really close to the original JX8P. Are you concidering turning this to a commercial product some day? I would buy it. :)

Post

I've patched some of my old sounds of the past and it sounds sweet and
brings memory back. So very close to the original I remember. But unfortunately
I'm missing some of the great Factory sounds like "RES BELL" (a Tangerine Dream-like Sound) or "STRINGS 2" (from the FactoryBank 2, Patch#2 - a great
Slow String Sound). It would be great, if you patch them later in the
final version as a Factorybank. So I am looking forward and a big soundbank shall be my contribution for this synth.

Post

Bravo! :clap: I compared the real thing with the simulation and I agree you've come really close!

Here are four audio examples of both the real JX8p and the pg8x.


Anyone interested in a JX8p? I might not need it anymore ;-)

Well, almost. I would be surprised if there wouldn't be some difference in the filter. Yet the filter's character is similar.

One thing I'd like to see is the range of the envelope follow parameters being extended a bit. I've found myself wishing a little more when the fader was allready set at value 99. The digits can stay the same from 0-99 though like the original.
The more I hang around at KVR the less music I make.

Post

:love:
congrats!

the jx-8p was my first synth when i was 13 !

i'll go for tests!

thanks a lot

Post

sonicpowa wrote:Lovely sounding synth. Probably really close to the original JX8P. Are you concidering turning this to a commercial product some day? I would buy it. :)
the man is generous enough to give it out for free, take it and use it right now already

if you have extra money to spend just donate (contact the man for details)
i don't get the urge to buy something when it's already free. do money give some kind of validation to things?

i wish that mere paying for this synth turned it into a 100% accurate emulation of the original, how much time and effort could be spared then! :cry:
sometimes it's hard not to be an asshole © mellotronaut
you work so somebody can rest
Doing sound synthesis if organs is all you get, leave it alone

All Rights Deserved

Post

LXNDR1 wrote:[
i wish that mere paying for this synth turned it into a 100% accurate emulation of the original, how much time and effort could be spared then! :cry:
Yeah, and i would spend some money for a correct emulation of the Jupiter 8. The Arturia synth is close but not really there IMO.
Ingo Weidner
Win 10 Home 64-bit / mobile i7-7700HQ 2.8 GHz / 16GB RAM //
Live 10 Suite / Cubase Pro 9.5 / Pro Tools Ultimate 2021 // NI Komplete Kontrol S61 Mk1

Post

ah, it sounds great! thanks! it's been a good week for vintage repro.
one very minor criticism, is that it's too big for a 15.4" screen,
which a lot of laptops - like mine- have. loads of space on there!
can you explain a bit about the VU display? is that voices used?

Post

DELETED

Post

MrHope wrote:If you want to make it better than the orginal, maybe add more choices of waveforms or maybe allow for importing waveforms as WAV files or something. It's already capable of some good sounds, but it's pretty boring with just the those 3 or whatever same old waveforms.
If you want an ESQ-1/SQ-80 emulator, there's already a great free one out there. http://www.buchty.net/ensoniq/#sq8l

But the JX-8P isn't "broken" by only offering the square, pulse, saw and noise waveforms. Every analog synth before it offered those same choices. If you want a sampler/ROMpler, there's tons out there. But I'm pretty sure the developer isn't trying to make this a ROMpler. He seems quite dedicated to emulating the JX-8P as closely as possible and, IMHO, has already gotten most of the way there. :love:

Post

increase the polyphony, its way too low

Locked

Return to “Instruments”