Reading Jupiter-80 sound sets on a PC/Mac

Forum for JUPITER-80
Post Reply
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

Hi all!

I am on a quest to get an overview of the Jupiter-80 registrations, live sets and tones. Not just a list of their names but also how they are connected, e.g. which tones are used by which live sets. The Jupiter is a joy to use for browsing and playing these sounds, but it is lacking a way to get the big picture. An overview would also be great for compiling a hand-picked sound set from the multiple sets available now (which don't all fit into memory at once). I think a PC/Mac-based solution is required here.

I know this forum houses many veterans so I am outlining my plans here in case I am missing something essential. This is my first Roland synth, and my first synth in 15 years (which was a Yamaha CS1x), so I am basically a synth n00b (with a passion!). There might be some obvious way or tool to achieve my goal that I don't know about.

So far I am considering two options:

1) Reading the Jupiter-80 backup/export file format. This format consists of two binary files; a BIN-file and an SVD-file. From my limited exploration I'm guessing the BIN-file contains Jupiter-specific settings, possibly mapping how/where the sounds will be stored. The file also has a list of arpeggiator names (discovered from hex editing). The SVD-file seems to contain the sound data itself, and has a long series of short, repeating patterns (again from hex editing). The SVD-format apparently has a long history with Roland, but I have not been able to open the file in the old Roland XV editor for PC/Mac. I'm assuming the Jupiter SVD-file has a new, incompatible structure, but based on a generic Roland format.

2) Dumping the sound sets from the Jupiter-80 using SysEx over MIDI. I'm not sure to which extent this is possible, since I want the connections, not just the lists. I could probably use an existing SysEx tool for this as long as I find the correct commands for the Jupiter.

I'm sure there are plenty of users on this forum that have experience with similar ventures. Any help or pointers would be appreciated! Source code would be fantastic! :)
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

Some progress on option nr. 2! The Jupiter-80 MIDI implementation guide describes the SysEx message format. I didn't find a message for dumping the whole sound set structure. But I did find messages for requesting the "temporary" (i.e. selected) registration, live sets and tones. There are also messages for requesting program changes (i.e. selecting another sound). So it should be quite possible to create a program that loops through all sounds on the Jupiter and records the dependencies between registrations, live sets and tones. At least that is how I interpret the SysEx guide. I should know soon enough! :)
User avatar
cello
Posts: 1487
Joined: 11:47, 1 August 2011
Location: Glasgow, UK

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by cello »

Sounds like positive progress kimsnarf!

Look forward to hearing how you get on :)
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

The first milestone has been reached!

Using SysEx I am now able to retrieve the selected registration name, live set names (upper and lower) and tone names (4 layers per live set). This was done manually using a SysEx tool and the data received is in raw form (bytes), but it is working!

Some next steps are:
* Switching registrations and live sets using SysEx/MIDI.
* Automating switching sounds and sending SysEx requests to retrieve all sound names.
* Extracting the string part from the received bytes and storing it.
* Building a nice, clean table of all the names and dependencies.

For anyone curious, these are the bytes (hex) sent to request the selected registration name:
F041100000551114000000000000105CF7

These are the bytes received in my case:
F041100000551214000000426967204D6F7574682050616420202018F7

Within these bytes the following sequence...:
426967204D6F75746820506164

...translates to (ASCII):
Big Mouth Pad

The adventure continues! :)
RayS
Posts: 246
Joined: 04:09, 27 August 2011

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by RayS »

Good Work there Kimsnarf!!
Méka
Posts: 48
Joined: 16:14, 10 October 2011

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by Méka »

Wonderful project Kimsnarf !

And shame on Roland that don't make essential and reliable Editor tool for his flagship polyphonic synthesizer.
What kind of flagship is the Jupiter-80 ?
Please Roland, finish your work !
Devnor
Posts: 696
Joined: 20:22, 27 September 2010

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by Devnor »

Meka, I suppose they could have avoided all this drama by not release any new presets. Would you rather have sounds NOW or wait?
User avatar
synthguy99
Posts: 123
Joined: 05:06, 20 December 2012

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by synthguy99 »

I'm not sure if I've mentioned it here, but Roland might have been pushed out of doing a PC editor for two reasons.

1. Either Roland is being squeezed too hard by M$ Windoze fees - they are a monopoly after all.

2. Roland are being bribed by Apple to induce us to buy a few more iPads.

Or it could be both. Microsoft is notorious for sticking it to business with hefty fees they have little choice but to pay.
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

As much as I love the Jupiter-80 myself, I somehow doubt it is a strategic target for either Microsoft or Apple. A Jupiter-80 on every desk in every home? A Jupiter-80 in your pocket? :)

Also, I think most here can agree that it is a good thing that Roland has released these new sound sets. Lacking an editor is a pain point, but these new sounds are optional (and free) after all!
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

Regarding my progress I've been busy with life and playing the synth. :) But after some research Lua seems like a promising scripting environment for MIDI and SysEx, and I can then borrow some code from the Renoise community.
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

Since there is still no librarian in sight I have resumed my own efforts.

Using Lua (scripting) within Renoise I have now successfully automated the process of:
* Finding and connecting to the Jupiter-80
* Sending and receiving SYSEX commands
* Extracting and storing the information I want

Basically I can now automatically retrieve the names of the selected registration, its live sets and its tones. The next task is automating the selection of the next registration and repeating the process. Then I can store all the information in a table.

The Lua/Renoise combination turned out to be surprisingly easy to use and has the benefit of being available and free (limited version) on all major platforms. I will make the solution (script) available when it is more complete, so that others can build on it for their own purposes.
User avatar
cello
Posts: 1487
Joined: 11:47, 1 August 2011
Location: Glasgow, UK

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by cello »

Sounds like great progress kimsnarf! Well done you.

We are on our own now, that is clear to me (regarding a librarian) so any developments you can achieve am sure will be much appreciated. I am working now on a workflow-based approach that can help us manage sounds.

Maybe one day Roland will reconsider their position.
Dewdman42
Posts: 137
Joined: 00:42, 14 January 2013

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by Dewdman42 »

kimsnarf wrote: The Lua/Renoise combination turned out to be surprisingly easy to use and has the benefit of being available and free (limited version) on all major platforms. I will make the solution (script) available when it is more complete, so that others can build on it for their own purposes.
hmm, this is very interesting to me. How does Lua integrate with Renoise?
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

Dewdman42 wrote:hmm, this is very interesting to me. How does Lua integrate with Renoise?
The integration is very complete. You can basically extend the DAW to do whatever you want, using the built-in functionality or by rolling your own. If you want to map, input or control some tedious, complex or exotic sequence of notes or parameters, you can script it. If you want to override or extend some feature or behavior, you can script it. You can also extend/modify the GUI, use the built-in GUI elements in your own plug-ins, or use one of the many built-in libraries. In my case I'm using Renoise's MIDI library to handle all the low-level complexities so that I can focus on the functionality I want to add. I'm also using the built-in GUI to trigger the functionality in my plug-in.
User avatar
kimsnarf
Posts: 275
Joined: 17:55, 4 January 2013
Location: Oslo, Norway

Re: Reading Jupiter-80 sound sets on a PC/Mac

Post by kimsnarf »

I finally found the time to get some progress again!

Attached is the first product of my efforts. It is a comma-separated (CSV) table of the names of registrations, live sets and tones in Synth Legends Vol. 1. Use it for whatever purpose you want. The first row explains the meaning of the columns.

I now have an automated way to dump these values from sounds loaded onto the Jupiter. The dump itself takes just a couple of seconds to execute. It is quite fun to watch the button lights blinking systematically as the synth jumps through its sounds. :)

This solution has some limitations at present. First, it can only retrieve synth tone names since acoustic tone names must be handled a different way. Second, I haven't found a way to retrieve the Solo and Perc tone names. Finally, I don't know yet if it is possible to loop through all live sets and all tones (outside registrations) in the same manner. I will dig more into these issues when I can find some more time.
Attachments
SynthLegendsVol1.csv
Names of registrations, live sets and tones in Synth Legends Vol 1.
(14.88 KiB) Downloaded 500 times
Post Reply