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

It would be nice if it had at least a 64 patch bank rather than only 15. I understand it's beta but it isn't exactly hard at all to implement a larger patch bank in SE. Would only take a second to do.
Image

Post

wwjd wrote:Hey I like it's sound! I'm using latest REAPER, and an OXYGEN 49 controller, but can't seem to assign controllers to sliders? Future enhancement maybe?
I am definitely planning to include some sort of controllers. However, I am favouring sysex support in order to read in JX8P patches. It seems that synthedit allows only either sysex or a controller for a given slider. I will see whether there is a way to have both.

Can the OXYGEN controller output sysex (with a given user defined format)?

Post

martin_l wrote:
wwjd wrote:Hey I like it's sound! I'm using latest REAPER, and an OXYGEN 49 controller, but can't seem to assign controllers to sliders? Future enhancement maybe?
I am definitely planning to include some sort of controllers. However, I am favouring sysex support in order to read in JX8P patches. It seems that synthedit allows only either sysex or a controller for a given slider. I will see whether there is a way to have both.
PatchMems you set to sysex receipt but for MIDI you use Kelly Lynch's MIDI modules and let select CC messages from lists, which will mean that there merely won't be MIDI learn
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

Really nice synth!

Post

LXNDR1 wrote:
martin_l wrote:
wwjd wrote:Hey I like it's sound! I'm using latest REAPER, and an OXYGEN 49 controller, but can't seem to assign controllers to sliders? Future enhancement maybe?
I am definitely planning to include some sort of controllers. However, I am favouring sysex support in order to read in JX8P patches. It seems that synthedit allows only either sysex or a controller for a given slider. I will see whether there is a way to have both.
PatchMems you set to sysex receipt but for MIDI you use Kelly Lynch's MIDI modules and let select CC messages from lists, which will mean that there merely won't be MIDI learn
I'll admit I am not very geeky and don't understand much of this. Usually* in Reaper, I move the slider on the VST, select LEARN in a reaper menu, move the hardware controller slider, hit ok and then it moves the slider on the VST. sorry I don't know how it actually works. :)

* how it works with most VSTs I mess with but not always all of them

Post

wwjd wrote:
LXNDR1 wrote:
martin_l wrote:
wwjd wrote:Hey I like it's sound! I'm using latest REAPER, and an OXYGEN 49 controller, but can't seem to assign controllers to sliders? Future enhancement maybe?
I am definitely planning to include some sort of controllers. However, I am favouring sysex support in order to read in JX8P patches. It seems that synthedit allows only either sysex or a controller for a given slider. I will see whether there is a way to have both.
PatchMems you set to sysex receipt but for MIDI you use Kelly Lynch's MIDI modules and let select CC messages from lists, which will mean that there merely won't be MIDI learn
I'll admit I am not very geeky and don't understand much of this. Usually* in Reaper, I move the slider on the VST, select LEARN in a reaper menu, move the hardware controller slider, hit ok and then it moves the slider on the VST. sorry I don't know how it actually works. :)

* how it works with most VSTs I mess with but not always all of them
sorry if you've been misled, i was responding to Martin trying to suggest how both can be implemented in SE. being an end-user you normally need not to be too bothered with the way it's put together :wink:
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

very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.

Post

olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
Unison and Mono modes are nearly ready. Just have to give it some GUI...

Post

martin_l wrote:
olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
Unison and Mono modes are nearly ready. Just have to give it some GUI...
...and cycle assignment? :D

Post

AdmiralQuality wrote:
martin_l wrote:
olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
Unison and Mono modes are nearly ready. Just have to give it some GUI...
...and cycle assignment? :D
That's a bit more complicated, since the C++ class for handling the voices was designed from the beginning to re-trigger the same voice, if available.

I have to see which functions to remove, and have to think about how to handle it, i.e. two different classes, derived classes, etc...

Post

martin_l wrote:
AdmiralQuality wrote:
martin_l wrote:
olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
Unison and Mono modes are nearly ready. Just have to give it some GUI...
...and cycle assignment? :D
That's a bit more complicated, since the C++ class for handling the voices was designed from the beginning to re-trigger the same voice, if available.

I have to see which functions to remove, and have to think about how to handle it, i.e. two different classes, derived classes, etc...
Heh. (Sorry, but I often find it funny how programmers will take weeks to implement with classes what would take minutes to implement procedurally. All in the name of making the code more manageable.)

But yeah, it's just a simple round robin assignment. Maybe you can just add another mode to your assigner class? If you want to see an example in action, try out my Poly-Ana. (Cycle assignment button is down in the performance section, left of the keyboard.) And of course your JX-8P does it as well. Make a tom-tom patch with a lot of velocity sensitivity and long release time and notice the effect it has when you play the same note rapidly. Sounds much more natural than having the previous tail suddenly cut off.

On the sysex vs. MIDI-learn issue... If you're forced to choose between one or the other I'd strongly urge you to support control change messages (through a "MIDI learn" function) over sysex. After all, your software is a lot more useful to someone who DOESN'T own a JX-8P already. (If you wanted to make a JX-8P editor/librarian, that would probably be best as a separate product. I'm sure people with an '8P and no PG-800 programmer could use one. But they don't need the audio engine part as they have the real thing.)

Post

AdmiralQuality wrote: Heh. (Sorry, but I often find it funny how programmers will take weeks to implement with classes what would take minutes to implement procedurally. All in the name of making the code more manageable.)

But yeah, it's just a simple round robin assignment. Maybe you can just add another mode to your assigner class? If you want to see an example in action, try out my Poly-Ana. (Cycle assignment button is down in the performance section, left of the keyboard.) And of course your JX-8P does it as well. Make a tom-tom patch with a lot of velocity sensitivity and long release time and notice the effect it has when you play the same note rapidly. Sounds much more natural than having the previous tail suddenly cut off.
I am sure it will not take me weeks, but it is not my priority at the moment, especially since it is only a 'hidden feature' of the JX-8P. Actually, I had this mode first, when I was using the standard polyphony mode of synthedit, and I didn't like the sound if it, since all DCO's are precisely tuned, and one gets horrible phase cancellations. The round-robin sounds good on synths which do have an small drift in the Oscillators. If I add the round-robin, I will probably also allow the oscillators to be slightly detuned.
On the sysex vs. MIDI-learn issue... If you're forced to choose between one or the other I'd strongly urge you to support control change messages (through a "MIDI learn" function) over sysex. After all, your software is a lot more useful to someone who DOESN'T own a JX-8P already. (If you wanted to make a JX-8P editor/librarian, that would probably be best as a separate product. I'm sure people with an '8P and no PG-800 programmer could use one. But they don't need the audio engine part as they have the real thing.)
Here I agree. I would have liked to add sysex as an additional way to be able to read JX-8P patches via MIDI. Since it is not trivially possible to do both, I will go for CC and possibly write a SYSEX -> CC converter module.

Post

martin_l wrote:
AdmiralQuality wrote: Heh. (Sorry, but I often find it funny how programmers will take weeks to implement with classes what would take minutes to implement procedurally. All in the name of making the code more manageable.)

But yeah, it's just a simple round robin assignment. Maybe you can just add another mode to your assigner class? If you want to see an example in action, try out my Poly-Ana. (Cycle assignment button is down in the performance section, left of the keyboard.) And of course your JX-8P does it as well. Make a tom-tom patch with a lot of velocity sensitivity and long release time and notice the effect it has when you play the same note rapidly. Sounds much more natural than having the previous tail suddenly cut off.
I am sure it will not take me weeks, but it is not my priority at the moment, especially since it is only a 'hidden feature' of the JX-8P. Actually, I had this mode first, when I was using the standard polyphony mode of synthedit, and I didn't like the sound if it, since all DCO's are precisely tuned, and one gets horrible phase cancellations. The round-robin sounds good on synths which do have an small drift in the Oscillators. If I add the round-robin, I will probably also allow the oscillators to be slightly detuned.
Yep, but the filters can have dramatic differences, due to different note velocities as well as how long the filter envelope has run on that voice. And if you're modulating oscillator pitch with an envelope, you'll get differences that way too. (That's why I recommended making a "tom-tom" patch.)

And you're implementing Unison mode, so those same ugly phase cancellations will happen there as well. Back in the 80s we considered this a feature. First used it on the Roland Juno-106, which also had DCOs, and in a unison patch you'd get a different phase cancellation -- essentially random and totally static and unchanging for the duration of the note -- with each new note trigger. We thought that sounded pretty cool and used it to effect on some massive bass patches.

But yes, unison is a lot more effective with VCOs (that drift in pitch). Then the phase shift "animates" during the duration of the note.

Post

martin_l wrote:Since it is not trivially possible to do both, I will go for CC and possibly write a SYSEX -> CC converter module.
won't this cut it as a trivial way?
LXNDR1 wrote:PatchMems you set to sysex receipt but for MIDI you use Kelly Lynch's MIDI modules and let select CC messages from lists, which will mean that there merely won't be MIDI learn
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

AdmiralQuality wrote:
martin_l wrote:
AdmiralQuality wrote: Heh. (Sorry, but I often find it funny how programmers will take weeks to implement with classes what would take minutes to implement procedurally. All in the name of making the code more manageable.)

But yeah, it's just a simple round robin assignment. Maybe you can just add another mode to your assigner class? If you want to see an example in action, try out my Poly-Ana. (Cycle assignment button is down in the performance section, left of the keyboard.) And of course your JX-8P does it as well. Make a tom-tom patch with a lot of velocity sensitivity and long release time and notice the effect it has when you play the same note rapidly. Sounds much more natural than having the previous tail suddenly cut off.
I am sure it will not take me weeks, but it is not my priority at the moment, especially since it is only a 'hidden feature' of the JX-8P. Actually, I had this mode first, when I was using the standard polyphony mode of synthedit, and I didn't like the sound if it, since all DCO's are precisely tuned, and one gets horrible phase cancellations. The round-robin sounds good on synths which do have an small drift in the Oscillators. If I add the round-robin, I will probably also allow the oscillators to be slightly detuned.
Yep, but the filters can have dramatic differences, due to different note velocities as well as how long the filter envelope has run on that voice. And if you're modulating oscillator pitch with an envelope, you'll get differences that way too. (That's why I recommended making a "tom-tom" patch.)

And you're implementing Unison mode, so those same ugly phase cancellations will happen there as well. Back in the 80s we considered this a feature. First used it on the Roland Juno-106, which also had DCOs, and in a unison patch you'd get a different phase cancellation -- essentially random and totally static and unchanging for the duration of the note -- with each new note trigger. We thought that sounded pretty cool and used it to effect on some massive bass patches.

But yes, unison is a lot more effective with VCOs (that drift in pitch). Then the phase shift "animates" during the duration of the note.
In the Unison modes, the JX-8P allows for a detuning of the two voices to generate a more fat sound and avoid the phase cancellations. Actually, in mono2 mode (where all 6 voices are in unison) they can't be detuned, resulting in a very metallic sound because of the phase cancellations.

I will allow for detuning also in the mono2 mode, and I also for the round-robin mode. Still have a small bug in the round robin, but I should be able to fix it soon.

Locked

Return to “Instruments”