sagamusix / jdtools Goto Github PK
View Code? Open in Web Editor NEWPatch conversion utility for Roland JD-800 / JD-990 and compatibles
License: Other
Patch conversion utility for Roland JD-800 / JD-990 and compatibles
License: Other
Hi and thanks so much for this tool!!!! (I just donated).
The conversion of any JD 800 sysex to the JD-08 format works well and easy but I'm unable to restore the "JD08Backup.svd" to my JD-08 following this process: https://static.roland.com/manuals/jd-08_reference/eng/17812038.html
I can copy it back to the JD-08 but restoring ends with a "Err" message on the JD-08 display. What looks interesting to me is, that the original JD-08 backup file (2 mb) and the converted sysex (131 kb) differ in file size:
Maybe the converted file is missing additional information needed by the JD-08?
Take any number of SysEx dumps of temporary patches and merge them into a bank.
Reporting here again, my apologies...but at least one of the issues I'm reporting is new, and the other I have explained in better detail/made the issue more clear. I'm running the latest public release on Windows 10, and I haven't been able to get JDTools to accurately convert JD-800 special setups to my JD-990 (running firmware revision 1.01, if this helps). My issues:
The tones are erratically panned left and right, which shouldn't be possible since this is an 800 setup. I don't know where it's producing the nonexistent data from, since it even does this on initialized patches where the pan for all tones is set to 0.
Entire pages of parameters in the Common and Effects section (General, EQ, Chorus, Delay, Reverb) are not initialized or overwritten. They remain the same as the patch they're overwriting. I have been made aware the raw .syx data cannot contain parameters for the effects section in these cases. However, if they could be assigned the same parameters as the factory JD-800 special set configuration, it would be very helpful and much appreciated. Digging through the repository, in the ConvertSetup800to990 function located in Convert800to990.cpp, from lines 264 on, it looks like there's a whole list of parameters here that aren't writing correctly unless they have been dummied out/are intended for something else entirely (not a programmer, apologies!). As previously mentioned, even EQ (which I'm assuming does exist in the .syx file since it's being referenced here) doesn't get written, and I'm assuming all the pre-defined parameters for common, chorus, reverb, delay, etc. are the JD-800 defaults/equivalents for this setup. These don't get written either. Screenshot of some of the aforementioned lines attached below.
Hope I have not made any mistakes in my writings here...not ruling out the possibility that it is an incompatibility with my JD's firmware or something like that. As always, thanks for this awesome tool!
Most people just use the standard device ID 17 but it might be a nice idea to be able to pass a command line parameter to customize it.
Similar to how the merge
command can create multiple files, banks with more than 64 patches should be split into multiple files when the target format of convert
is a SysEx dump or the JD-800 VST.
I just noticed the SVD file conversion only partially working.
First, the tools says source has been identified as JD-800 VST, not sure if just typo or wrong source autodetect.
Then all the patches start at I** and only first 64 patches I11-I88 are imported.
Same behaviour when converting and also when listing patches in the SVD
I'd like to say thank you so much for this tool. It's simple, flexible, and extremely helpful! I love it and use it constantly with my JD-990.
Now, something I noticed... on the latest published version (v0.16), when attempting to convert JD-800 Special Setup configurations to JD-990, all of the parameters within the chorus, delay, and reverb sections are ignored, leading the resulting converted Rhythm set to sound especially different from the 800 in some cases. I'm happy to provide SysEx files/dumps to compare or whatever is necessary to research this issue should you be interested. I'd really, really appreciate it! Either way, thanks again for this awesome tool.
In addition to raw SysEx dumps, as some sound banks are stored as MID rather than SYX. Just a non-essential nice-to-have feature because SendSX can already do the conversion.
First off, I'd like to say THANK YOU for creating this project. Patch conversion for old synths/romplers is very much underappreciated!
OK, with that aside: I have a Roland Integra-7 synth module (based on the XV line of modules), and was curious if you would look into some kind of translator from JD-800 sysex/SVD -> Integra-7 sysex/SVD. I did my research, and discovered that all (or nearly all) of the waveforms from the JD-800 exist on the XV module line (including Integra). I tried manually porting over the "Millennium" patch to the Integra, but it was very difficult... to put it nicely. ๐ซ
I know for a fact that the Integra does not have all of the effects that a real JD-800 (or 990) has, but it would still be great to hear some classic patches on my unit without having to open up the very slow, bloated (and often inaccurate) Zenology VST. Some other people might find it useful too -- it would add a bit of new life to their modules!
Of course, I'd be happy to provide sysex dumps and SVD files from my own unit if needed.
On the JD-990, it should be possible to change the patch addresses to write to the RAM card instead of internal memory by using address offset 0A 00 00 00
instead of 06 00 00 00
. Sadly the JD-800 doesn't seem to expose the memory card RAM area the same way, so I have no way of actually testing this.
A quick way of verifying that a SysEx dump is health by verifying all checksums.
Maybe also add an option to ignore incorrect checksums during conversion.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.