Parsing Radias and Other Synth Files

Contemplate new ideas; promote your music related computer software. Share the latest news. Receive feedback and suggestions from the end users.

Moderators: Sharp, X-Trade, Pepperpotty, karmathanever

Post Reply
dcunited001
Posts: 11
Joined: Mon Nov 15, 2010 3:28 pm

Parsing Radias and Other Synth Files

Post by dcunited001 »

Hey i'm interested in being able to parse the Radias settings files, as well as files for other synths. I'd like to write a Ruby gem or something that manages my patch library. It'd make it easier to apply timbres to other programs and make global changes across my library.

I know that there have been conversions from R3/MS2000 etc to Radias. So there must be some way to read the files, unless these conversions were manual.

I looked at the text for the file and unfortunately, no xml/json. Its hex. Any tips on how to read these files? Are they structured with every patch containing a value for every parameter? Or are they structured in a way that only presents the values that are needed, with the rest null or missing?

Any useful materials or references for the Radias specifically. If anyone has links to guide on how this was done for other synths, that'd be cool as well.

Thanks!
dcunited001
Posts: 11
Joined: Mon Nov 15, 2010 3:28 pm

Post by dcunited001 »

Well there's a link to an open source project called Alchemist on this post that parses PCG files for Triton. Similar to what i'm looking for.

http://www.korgforums.com/forum/phpBB2/ ... ight=parse
User avatar
michelkeijzers
Approved Merchant
Approved Merchant
Posts: 9112
Joined: Thu Feb 08, 2007 3:10 pm
Location: Netherlands
Contact:

Post by michelkeijzers »

Make sure you have the radias MIDI system exclusive data document, which is for most synths/workstation free.

I also have a PCG file reader for Tritons, M3, M50, Oasys and Kronos but not for Radias.
Image
Developer of the free PCG file managing application for most Korg workstations: PCG Tools, see https://www.kronoshaven.com/pcgtools/
dcunited001
Posts: 11
Joined: Mon Nov 15, 2010 3:28 pm

Post by dcunited001 »

oh ok cool. I had downloaded it, but had not looked at it until now. thanks!

so basically, the system relies on sysex messages to transfer data over to the radias? and the .rdl files are like hex encoded messages?
andersborg
Full Member
Posts: 121
Joined: Mon Sep 21, 2009 6:37 pm

Post by andersborg »

dcunited001 wrote:oh ok cool. I had downloaded it, but had not looked at it until now. thanks!

so basically, the system relies on sysex messages to transfer data over to the radias? and the .rdl files are like hex encoded messages?
They are not hex-encoded. They are in binary format. If you're on Windows, MIDI-OX shows what's being sent from the synth, and you can also send data back.

The original MIDI specification also includes a hardware specification relying on a 31.25 kbits/s (!) communication link, so transferring anything other than binary data would take forever, which it does anyway. Try dumping all patches in one go over MIDI. Therefore the MIDI data has to be very space efficient. MIDI over USB is of course much faster, but the data is still the same.

Usually what's sent as Sysex is how the data is stored internally, but not necessarily. Yet, the only thing you need to know is that the Sysex you receive can be modified and sent back, and usually in the same format, unless the documentation says otherwise.

Be very careful when modifying the values, as invalid values might make the synth misbehave. This also goes for e.g. patch names etc, that might not be in the character set you would normally expect. Also, don't forget that negative values are often in 2-complement.

I went through the Sysex spec for my M50, and it's overwhelming to say the least, as it implements the full synth engine of the M3. The spec for Radias is probably a bit simpler.

Typical is that you can both request patch dumps via MIDI and force dumps from the synth.

Cheers,
Anders
Musical stuff: Korg M50 61, Behringer MS40, Abiro MIDI Controller, Abiro MIDI Echo, Abiro MIDI Remote
dcunited001
Posts: 11
Joined: Mon Nov 15, 2010 3:28 pm

Post by dcunited001 »

ok cool. i've checked out the documentation. but the radias backup file doesn't look like sysex format at all. there are only 332 'f0' bytes in the file. and most are not preceded by 'f7'. I got the backup file by dumping the data with the software included.

should i instead send sysex commands to get sysex data i can actually parse?
dcunited001
Posts: 11
Joined: Mon Nov 15, 2010 3:28 pm

Post by dcunited001 »

After reading this post by Daz, it looks like the *.rdl files are not sysex. I was under the assumption that these files were simply a bunch of sysex messages concatenated together, but i guess that would be too much data to send across at once.

http://www.korgforums.com/forum/phpBB2/ ... e&p=297431
Daz wrote:Hi :D

My R3 -> Radias converter works well, but is currently not user-friendly. It's a command line app that runs on Mac OS X only and works Program dumps in sysex format rather than in the R3 or Radias editor format. So the conversion is a bit funky ;-)

Here is the conversion process I used to make the files I've shared here (converting Programs from R3 editor format -> Radias editor format)

1) Send All Programs from R3 editor to R3
2) Dump All Programs from R3 to sysex capture app on the Mac OS
3) Run conversion app on that R3 sysex which creates Radias sysex equivalent (all Programs)
4) Send the converted Radias sysex to the Radias
5) Get All Programs from Radias into Radias editor and save RDL file.

If you send me a sysex dump of all your R3 programs, I'll convert that to Radias sysex and return it you.

I've done a LOT of comparison of converted sounds and tweaked my converter to the point where everything is now just done automatically --- vocoder Programs excepted as I still didn't get to those yet.

Daz.
andersborg
Full Member
Posts: 121
Joined: Mon Sep 21, 2009 6:37 pm

Post by andersborg »

I also hoped rdl files contained MIDI. Oh well.
dcunited001 wrote: should i instead send sysex commands to get sysex data i can actually parse?
I suggest you do so, if you have the documentation.
Musical stuff: Korg M50 61, Behringer MS40, Abiro MIDI Controller, Abiro MIDI Echo, Abiro MIDI Remote
Post Reply

Return to “Computer Programmers – Software Developers”