SVD-file format

Forum for Fantom-S/S88, Fantom-X6/7/8, Fantom-XR and Fantom-Xa
Post Reply
juergen_
Posts: 33
Joined: 12:54, 21 June 2008
Location: Berlin, Germany

SVD-file format

Post by juergen_ »

Hi folks,

does anyone know the format of the FANS.SVD?
Is there a specification or description (available for anyone)?

Thanks
Jürgen
Vesa
Posts: 38
Joined: 09:26, 6 October 2021

Re: SVD-file format

Post by Vesa »

*bump*

Anyone decoded Fantom S/X (or JV/XP and XV) .svd file format?
Seems to me patch data contains pointers to known tables with real parameters
vsyn7425
Posts: 104
Joined: 12:07, 6 January 2017

Re: SVD-file format

Post by vsyn7425 »

By looking at an SVD file made for the XV by the Roland Editor (i.e. not the librarian) it is clear that the content is not sysex as we would be able to search for patch names using a hex editor. Because the size of an SVD file is only slightly bigger than that of an XV User patch bank sysex file then my guess is that the contents are compressed in some way. I have seen this in the V-Synth where the patch bytes are used for more than one parameter and so can be condensed.

The way I found this out was to alter a single parameter using the controls on the synth and then save the patch to a card and find out the difference between a default patch and a modified one. As this is very complicated I would doubt anyone would wish to decode an SVD file as it contains not only user patches but user performances and user rhythm patches as well.

For what purpose do you wish to work out the format of SVD files?
Vesa
Posts: 38
Joined: 09:26, 6 October 2021

Re: SVD-file format

Post by Vesa »

I want to be able to read and write SVD files for my projects. They're so many and more coming up constantly, so I'm moving from one thing to another :D . Just recently I ordered flash rom memory that can be inserted a KORG Trinity (1995 Dream Workstation), requires some soldering elsewhere, but it will expand User area to double the size! 256 + 64 extra "patches" and 256 extra "performances", 2 of those required chips (new) cost just over $3, I ordered 4 and incl VAT + shipping it's still only $10.
vsyn7425
Posts: 104
Joined: 12:07, 6 January 2017

Re: SVD-file format

Post by vsyn7425 »

Hi Vesa. I'm not sure that I understand your last post. You say you want to be able to read and write your own SVD's. But surely the Roland Editor or Roland Librarian already write SVD's so why would you want to re-invent the wheel?
Vesa
Posts: 38
Joined: 09:26, 6 October 2021

Re: SVD-file format

Post by Vesa »

I want to be able to read and write SVD files for my projects.
vsyn7425
Posts: 104
Joined: 12:07, 6 January 2017

Re: SVD-file format

Post by vsyn7425 »

Hi Vesa, to understand how an SVD works I tried a little experiment. Factory reset the XV then save an SVD file using the editor. Next rename the User Patch 001 from "Grand XV" to "Hrand XV" and save to the XV. Save the new SVD file. Next use a hex editor to compare the two SVD files. You will see at address 0000EEF0 the byte changes from 8F to 91. This reflects the name change. So we can see that each consecutive letter increases the byte by a value of 2. So it looks like the SVD file uses the full width of a byte to convey it's parameters and is not restricted to the limitations of sysex.

Now all we have to do is to place our findings in a chart and then do all the other gazillion parameters... tricky eh? I'd stick to the SVD's created by the Roland editor if I were you.
Foksadure
Posts: 128
Joined: 12:16, 14 December 2019

Re: SVD-file format

Post by Foksadure »

There's was a SVD2SYX DOS program, whose programmer is unknown, but still online:
https://xoomer.virgilio.it/insidemusic/ ... 20XP50.htm

Marco Stella did manage to decode the JV/XP SVD format in his JV XP editors though.

https://www.geocities.ws/mstella/index-2.html

It seems there's some sort of byte packing involved, maybe to match the memory structure of the synths.

The file format is using model specific headers, which hold the type and the number of elements, most likely with the offset within the file.

For example, the JX XP (6A) series SVD files generated by the XP-50/60/80 is using this header:

Code: Select all

00 4E 53 56 44 30 00 00 00 00 00 00 00 00 00 00  .NSVD0..........
50 52 46 61 58 50 35 30 00 00 00 50 00 00 22 80  PRFaXP50...P.."€
50 41 54 61 58 50 35 30 00 00 22 D0 00 00 C5 80  PATaXP50.."Ð..Å€
52 48 59 61 58 50 35 30 00 00 E8 50 00 00 15 16  RHYaXP50..èP....
53 59 53 61 58 50 35 30 00 00 FD 66 00 00 00 FF  SYSaXP50..ýf...ÿ
Way out of my league, but Marco is still around and very friendly.

The beauty of the XV is to be able to decode and access these SVD files as banks, to browse the JV/XP patches within.
Post Reply