I wanted to have a look into the patch dump files you get when you do backup/restore.
I expected binary stuff and tried a hexdump viewer, but as it turns out, it is just readable text!
Here is the first patch JU06_PATCH1.PRM (yes, I have the JU06):
LFO RATE (30);
LFO DELAY TIME (59);
OSC RANGE (0);
OSC LFO MOD (0);
PWM (253);
PWM SOURCE (0);
SQR SW (0);
SAW SW (1);
SUB LEVEL (0);
NOISE LEVEL (0);
HPF (41);
CUTOFF (102);
RESONANCE (17);
ENV POLARITY (1);
ENV MOD (100);
FLT LFO MOD (0);
FLT KEY FOLLOW (194);
AMP MODE (1);
AMP LEVEL (255);
ATTACK (32);
DECAY (110);
SUSTAIN (119);
RELEASE (60);
CHORUS SW (1);
DELAY LEVEL (0);
DELAY TIME (0);
DELAY FEEDBACK (0);
PORTA SW (0);
PORTA TIME (100);
ASSIGN MODE (0);
BEND RANGE (2);
PATCH_NAME(Brass );
As you can see, there is a provisioning for the patch name as well. I'm sure the JP08 and JX03 will show something similar. Now there is an experiment, set all parameters to maximum, save the patch, and hit save/restore mode. Now you can see what the maximum values are.
Albert
Format of patch dump files
Re: Format of patch dump files
So, here we go: all sliders to maximum:
LFO RATE (255);
LFO DELAY TIME (255);
OSC RANGE (1);
OSC LFO MOD (255);
PWM (255);
PWM SOURCE (1);
SQR SW (1);
SAW SW (1);
SUB LEVEL (255);
NOISE LEVEL (255);
HPF (255);
CUTOFF (255);
RESONANCE (255);
ENV POLARITY (0);
ENV MOD (255);
FLT LFO MOD (255);
FLT KEY FOLLOW (255);
AMP MODE (1);
AMP LEVEL (255);
ATTACK (255);
DECAY (255);
SUSTAIN (255);
RELEASE (255);
CHORUS SW (0);
DELAY LEVEL (0);
DELAY TIME (0);
DELAY FEEDBACK (0);
PORTA SW (0);
PORTA TIME (100);
ASSIGN MODE (0);
BEND RANGE (2);
PATCH_NAME( );
Also notice, that when saving manual patch (aka live settings), the patchname is blank.
LFO RATE (255);
LFO DELAY TIME (255);
OSC RANGE (1);
OSC LFO MOD (255);
PWM (255);
PWM SOURCE (1);
SQR SW (1);
SAW SW (1);
SUB LEVEL (255);
NOISE LEVEL (255);
HPF (255);
CUTOFF (255);
RESONANCE (255);
ENV POLARITY (0);
ENV MOD (255);
FLT LFO MOD (255);
FLT KEY FOLLOW (255);
AMP MODE (1);
AMP LEVEL (255);
ATTACK (255);
DECAY (255);
SUSTAIN (255);
RELEASE (255);
CHORUS SW (0);
DELAY LEVEL (0);
DELAY TIME (0);
DELAY FEEDBACK (0);
PORTA SW (0);
PORTA TIME (100);
ASSIGN MODE (0);
BEND RANGE (2);
PATCH_NAME( );
Also notice, that when saving manual patch (aka live settings), the patchname is blank.
Re: Format of patch dump files
And while we're at it, the sequencer files (in this case: BQ_PTN1):
SCALE(1);
LASTSTEP(15);
SW1(1);
SW2(1);
SW3(1);
SW4(1);
SW5(1);
SW6(1);
SW7(1);
SW8(1);
SW9(1);
SW10(1);
SW11(1);
SW12(1);
SW13(1);
SW14(1);
SW15(1);
SW16(1);
NOTE1(48);
NOTE2(72);
NOTE3(61);
NOTE4(60);
NOTE5(70);
NOTE6(75);
NOTE7(60);
NOTE8(73);
NOTE9(60);
NOTE10(48);
NOTE11(60);
NOTE12(72);
NOTE13(60);
NOTE14(70);
NOTE15(60);
NOTE16(72);
VELOCITY1(70);
VELOCITY2(83);
VELOCITY3(72);
VELOCITY4(64);
VELOCITY5(79);
VELOCITY6(49);
VELOCITY7(51);
VELOCITY8(82);
VELOCITY9(44);
VELOCITY10(38);
VELOCITY11(44);
VELOCITY12(50);
VELOCITY13(71);
VELOCITY14(72);
VELOCITY15(67);
VELOCITY16(67);
GATETIME1(100);
GATETIME2(100);
GATETIME3(100);
GATETIME4(100);
GATETIME5(100);
GATETIME6(100);
GATETIME7(100);
GATETIME8(100);
GATETIME9(100);
GATETIME10(100);
GATETIME11(100);
GATETIME12(100);
GATETIME13(100);
GATETIME14(100);
GATETIME15(100);
GATETIME16(100);
PTN_NAME(PATTERN 01 );
That looks pretty clear to me.
SCALE(1);
LASTSTEP(15);
SW1(1);
SW2(1);
SW3(1);
SW4(1);
SW5(1);
SW6(1);
SW7(1);
SW8(1);
SW9(1);
SW10(1);
SW11(1);
SW12(1);
SW13(1);
SW14(1);
SW15(1);
SW16(1);
NOTE1(48);
NOTE2(72);
NOTE3(61);
NOTE4(60);
NOTE5(70);
NOTE6(75);
NOTE7(60);
NOTE8(73);
NOTE9(60);
NOTE10(48);
NOTE11(60);
NOTE12(72);
NOTE13(60);
NOTE14(70);
NOTE15(60);
NOTE16(72);
VELOCITY1(70);
VELOCITY2(83);
VELOCITY3(72);
VELOCITY4(64);
VELOCITY5(79);
VELOCITY6(49);
VELOCITY7(51);
VELOCITY8(82);
VELOCITY9(44);
VELOCITY10(38);
VELOCITY11(44);
VELOCITY12(50);
VELOCITY13(71);
VELOCITY14(72);
VELOCITY15(67);
VELOCITY16(67);
GATETIME1(100);
GATETIME2(100);
GATETIME3(100);
GATETIME4(100);
GATETIME5(100);
GATETIME6(100);
GATETIME7(100);
GATETIME8(100);
GATETIME9(100);
GATETIME10(100);
GATETIME11(100);
GATETIME12(100);
GATETIME13(100);
GATETIME14(100);
GATETIME15(100);
GATETIME16(100);
PTN_NAME(PATTERN 01 );
That looks pretty clear to me.
Re: Format of patch dump files
As they say, here's one I prepared earlier.
This sound is reminiscent of the Bladerunner sound in the opening titles by Vangelis.
Save it as JU06_PATCH<nr>.PRM (I used notepad), where <nr> is the patch nr you want to overwrite. And save it in the restore directory.
LFO RATE (100);
LFO DELAY TIME (0);
OSC RANGE (1);
OSC LFO MOD (48);
PWM (0);
PWM SOURCE (1);
SQR SW (0);
SAW SW (1);
SUB LEVEL (0);
NOISE LEVEL (0);
HPF (0);
CUTOFF (30);
RESONANCE (0);
ENV POLARITY (1);
ENV MOD (169);
FLT LFO MOD (0);
FLT KEY FOLLOW (255);
AMP MODE (1);
AMP LEVEL (255);
ATTACK (133);
DECAY (225);
SUSTAIN (213);
RELEASE (163);
CHORUS SW (1);
DELAY LEVEL (13);
DELAY TIME (1);
DELAY FEEDBACK (0);
PORTA SW (0);
PORTA TIME (100);
ASSIGN MODE (0);
BEND RANGE (2);
PATCH_NAME(Bladerunner );
This sound is reminiscent of the Bladerunner sound in the opening titles by Vangelis.
Save it as JU06_PATCH<nr>.PRM (I used notepad), where <nr> is the patch nr you want to overwrite. And save it in the restore directory.
LFO RATE (100);
LFO DELAY TIME (0);
OSC RANGE (1);
OSC LFO MOD (48);
PWM (0);
PWM SOURCE (1);
SQR SW (0);
SAW SW (1);
SUB LEVEL (0);
NOISE LEVEL (0);
HPF (0);
CUTOFF (30);
RESONANCE (0);
ENV POLARITY (1);
ENV MOD (169);
FLT LFO MOD (0);
FLT KEY FOLLOW (255);
AMP MODE (1);
AMP LEVEL (255);
ATTACK (133);
DECAY (225);
SUSTAIN (213);
RELEASE (163);
CHORUS SW (1);
DELAY LEVEL (13);
DELAY TIME (1);
DELAY FEEDBACK (0);
PORTA SW (0);
PORTA TIME (100);
ASSIGN MODE (0);
BEND RANGE (2);
PATCH_NAME(Bladerunner );
-
- Posts: 109
- Joined: 19:43, 2 January 2018
Re: Format of patch dump files
Thanks, Albert, for this very useful thread!
Cheers,
kS
Cheers,
kS
- tomatoKetchup
- Posts: 61
- Joined: 16:59, 22 November 2016
- Location: Galway, Ireland
- Contact:
Re: Format of patch dump files
Great discovery man, now it's possible to figure out what the parameter values of the factory patches are.
Also in theory you could use that to build an editor with integrated librarian facilities, and capable of recalling all parameter values upon loading a patch (what Momo's editors cannot do unfortunately).
Hopefully some philanthropist programmer will come around and make our dream come true! :D
Also in theory you could use that to build an editor with integrated librarian facilities, and capable of recalling all parameter values upon loading a patch (what Momo's editors cannot do unfortunately).
Hopefully some philanthropist programmer will come around and make our dream come true! :D