PG8X (inspired by the JX8P): new beta version uploaded
-
- KVRAF
- 2812 posts since 30 Oct, 2006 from The City that Started House Music
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.

-
- KVRian
- Topic Starter
- 960 posts since 27 Jun, 2009 from Germany
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.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?
Can the OXYGEN controller output sysex (with a given user defined format)?
-
- KVRian
- 686 posts since 20 Nov, 2006
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 learnmartin_l wrote: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.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?
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
you work so somebody can rest
Doing sound synthesis if organs is all you get, leave it alone
All Rights Deserved
-
Sound Mechanics Sound Mechanics https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=54454
- KVRAF
- 1663 posts since 10 Jan, 2005 from UK
-
- KVRian
- 778 posts since 18 Nov, 2010
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.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 learnmartin_l wrote: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.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?
* how it works with most VSTs I mess with but not always all of them
-
- KVRian
- 686 posts since 20 Nov, 2006
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 togetherwwjd wrote: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.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 learnmartin_l wrote: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.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?
* how it works with most VSTs I mess with but not always all of them
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
you work so somebody can rest
Doing sound synthesis if organs is all you get, leave it alone
All Rights Deserved
-
- KVRian
- Topic Starter
- 960 posts since 27 Jun, 2009 from Germany
Unison and Mono modes are nearly ready. Just have to give it some GUI...olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
-
AdmiralQuality AdmiralQuality https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=83902
- Banned
- 6657 posts since 10 Oct, 2005 from Toronto, Canada
...and cycle assignment?martin_l wrote:Unison and Mono modes are nearly ready. Just have to give it some GUI...olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
-
- KVRian
- Topic Starter
- 960 posts since 27 Jun, 2009 from Germany
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.AdmiralQuality wrote:...and cycle assignment?martin_l wrote:Unison and Mono modes are nearly ready. Just have to give it some GUI...olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
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...
-
AdmiralQuality AdmiralQuality https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=83902
- Banned
- 6657 posts since 10 Oct, 2005 from Toronto, Canada
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.)martin_l wrote: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.AdmiralQuality wrote:...and cycle assignment?martin_l wrote:Unison and Mono modes are nearly ready. Just have to give it some GUI...olikana wrote:very good job dude.
can't wait to test it when u add the unison for some italo leads/basses nostalgia.
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...
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.)
-
- KVRian
- Topic Starter
- 960 posts since 27 Jun, 2009 from Germany
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.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.
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.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.)
-
AdmiralQuality AdmiralQuality https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=83902
- Banned
- 6657 posts since 10 Oct, 2005 from Toronto, Canada
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.)martin_l wrote: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.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.
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.
-
- KVRian
- 686 posts since 20 Nov, 2006
won't this cut it as a trivial way?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.
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
you work so somebody can rest
Doing sound synthesis if organs is all you get, leave it alone
All Rights Deserved
-
- KVRian
- Topic Starter
- 960 posts since 27 Jun, 2009 from Germany
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.AdmiralQuality wrote: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.)martin_l wrote: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.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.
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.
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.

