[Preset] Roland JV-1080

Here’s a first try of a Roland JV-1080 patch editor.
Feedback & suggestions appreciated.

Introduction

This preset is dedicated to edit patches of the Roland JV-1080.

Since a patch can have up to 4 tones, one of the 4 tones can be selected on pages which contain tone specific parameters. When a tone is selected, its current parameter values are requested from the synth.

The individual configuration regarding expansion boards and PCM cards can be configured in LUA, see below (Configuration).

Page Patch Main

This page is for selecting patches, switching Tones and the most usual parameters of a patch and a selected tone

“Patch Number” changes or “Prev Patch”/“NextPatch” only send Bank Select (controlled by “Patch Bank”) and Program Change commands when the button “Enable PC” is switched on (to prevent from unintentional program changes and loss of temporary changes).

While patch names are retrieved from the synth, waves names can be defined in LUA (since they’re not provided by the synth sysex). The preset/builtin waves are yet defined, the others depend o the individual configuration of expansion boards and PCM cards.

The bender range on this page doesn’t differentiate between lower and upper bend, i.e. changes will affect lower/upper simultaneously.

Page TVA & TVF

TVA & TVF parameters on this page are tone specific for the currently selected tone

Page Pitch & Scale

Pitch and LFO depth parameters on this page are tone specific for the currently selected tone, except Patch Octave

Master tune and scale tune can be edited here as well but are system global (and stored immediately in the synth)

Page Commons & Kbd

Some patch common parameters as well as tone specific parameters regarding keyboard note & control assignments and playing features

Page LFO & Wave Detail

Tone specific wave details like Gain, FXM, Delay, Booster

LFO 1 & 2 parameters and destination depths

Tempo & sync also available on this page to control the LFOs

Page Patch Effects

This page contains effect parameters for a patch (Chorus, Reverb, EFX)

Tone specific effect parameters (Output, Level, Chorus&Reverb send) are available on the Patch Main page

EFX parameters & control sources are available depending on the selected EFX type

Page Controller Matrix

Assignment of patch specific (blue & green) and system global (yellow) control source assignments

Tone specific controller destinations & depths

Page Midi & System

Global Midi, System & Controller settings

Configuration of the preset (violett):

  • Midi Channel to be used for Patch changes
  • DIN Midi Port 1 or 2 to be used
  • Device Id of JV 1080 for sysex
  • Default PCM Card (if configured)

Configuration of Expansion Boards & PCM cards

The individual configuration of boards and PCM cards has to be done in the LUA script

At the beginning of the script enter the id and label, number of patches and number of waveforms

if a slot is not used, set the id=0

-- Individual JV1080 config

--- PCM Cards
PCM_CARD = {}

PCM_CARD[1] = { id = 7, label = "PCM7 Orch FX", max = 29, waves = 54 }

PCM_CARD[2] = { id = 3, label = "PCM5 Accordion", max = 20, waves = 31 }

--- Expansions

EXP = {}

EXP[1] = { id = 10, label = "EXP-A:B&D", max = 204, waves = 241 }

EXP[2] = { id = 3, label = "EXP-B:Orch", max = 111, waves = 73}

EXP[3] = { id = 97, label = "EXP-C:Exp III", max = 100, waves = 34 }

EXP[4] = { id = 0, label = "", max = 0, waves = 0 }

For each expansion or card the wave names can be defined at the end of the LUA script:
PCM Cards:

-- Wave Names PCM Card 7

if ( PCM_CARD[1].id ~= 0) then

    waveBank = GlobWaveName[0x0100+PCM_CARD[1].id]`
    waveBank[1]="Gliss Maj"

....

end

Expansion Boards

-- Wave Names EXP-A

if(EXP[1].id ~= 0) then
waveBank = GlobWaveName[0x200 + EXP[1].id]

waveBank[1]="MM Slap Bs A"

...

end

Issues

For my expansion Board SR-JV80-03 Board the sending of wave number
fails (Receive Data Error), this is reprodicable with MidiQuest

When JV is in GM Mode, no switch to Patch or Perform is possible

My PCM Card No 5 (Accordion) delivers groupId 3

Todo:

  • Pages with palette functions
  • Save patch
  • Performance & Rythm Editor
6 Likes

I’ve tried a few times to put this on my Electra One but I keep getting a small message in the bottom right of the screen saying “out of memory!” and the preset does not load.

I’ve tried clearing all the other presets off the device but it still won’t load this one.

@martin Do you think there is something about this preset which means it will only work on a Mk2 version of the Electra One? I have the Mk 1. If so, is there a way to increase the memory in my Electra One without needing to buy a whole new one?

How much can I pay you to do one for the JD-990? :slight_smile:

I would kill for these controls, lordy. If I could just have envelopes, filters, effects and modulation….

If you want touch control and have an old iPad laying around, Patchbase supports the JD-990:

It’s a lot of work to do a profile for the JD or JV synths, as shown by Ralph Mertingk (god job!).
Tons of SysEx and parameters to manage simultaneously given the 4 tone structure of those synths.
Not to mention the idiosyncrasies of the earlier JD series.

For mundane edits, the UI on the JD is very well designed: you can change the same parameter (eg. cutoff) at once for the 4 tone in palette mode, using the jogwheel.

If the JD990 Super Editor VST is used in a DAW, may be those controls can be mapped to a standard MIDI controller?

I did the preset on a MK2 and I know it’s a rather big, maybe too big for a MK1. I don’t know wether you can add memory, sorry.

1 Like

When I have a lot of time I’ll work on the XV-5080. It’s the same kind of complexity as the JV-1080. With my skills, I won’t be able to make it work on a Mk1, due to its size.

Unfortunately I don’t have a JD990. There is a larger overlap in parameters, but addresses and values differ almost completely. So you have to touch almost each control, add some and remove some. Could be a lot of work but less than do it from scratch.

Hello! I want to little dig up this topic.
I’m a Jv2080 user, and for few last months looking for solve to my problems.
I wanted to use vst plugins to control it, and it works fine with jv-xp editor or jvpatched, but the issue is, there’s no way to make stable connection with any CC controler.
Then i find this controler, and i think i’ll buy it.
I’m totally new with sysex and lua scripts, but i think i started to understand it.
I thinking to make totally new patch, for electra mini, with possibly to control every parameter, i want to start with patch mode right now, and want to use Your lua code, and upgrade it. You done massive job, right now i study it and trying to understand everything.
I think, the better way is make any parameter to virtual, and write sysex in code, then make 4 tables for 4 tones, and made a switch buttons for all tones, then if You have mapped one knob to one parameter, marked tones will change too in the background in relative mode. I want add another 4 buttons, for view tone, to see parameters from only one, selected tone.
I see, the sysex code in jv1080 and jv2080 are almost this same, i’m curious, if somebody was using this preset, with jv2080. I’m curios too, if somebody was using any controler, to map parameters.
I want to connect everything in totally online mode, and use electra only for processing and interview of parameters, but control it from my novation sl mk III.
I’m thinking about automatic page change if controller change parameter, and few more little improvements, there’s one think what im worried in Your code. If You change patch, dump is received automatically? You set any transmitting buffer?
It’s a lot of work, but i think, it will be fun.
What about other modes? Are You trying with rythm maybe, or not yet?
Greetings!

Hi Moize,

glad to see that somebody could make use of my work, of course feel free to inspect, adapt and modify as you like

In the meantime, I made new version leveraging the recent OS improvements and adding pages to edit all tones like in a kind of palette mode (but not change multiple tones at once, since I wouldn’t like this kind of automation in my workflow due to intransparency of changes).

Due to a lack of time I didn’t published this version yet, there is still some cleanup and documentation necessary. I hope I can finish soon and I’d recommend to use the new version as a starting point.

Regarding patch dump: I choose to only request a patch dump automatically at the prev/next buttons (when enable PC is on), since by turning patch number knob you’d get trouble with too much sysex messages (if you wouldn’t implement a stateful timing protocol for that, not sure wether a transmit buffer would help). Changing patch by the patch number knob or on the JV itself I just use the Request Patch button of the Electra. But I think if you want to change patches by an external controller like your novation it should be just a three line lua function to implement an automatic patch request.

And yes, I was thinking about a performance and rythm editor, but I don’t use these modes so much, therefore the priority is rather low.

Hope that helps a bit.

Regards
Ralph

1 Like