Old Yamaha XG Wavetable Reverse Engineering

...and how to do so...
Post Reply New Topic
RELATED
PRODUCTS

Post

Anyone have much experience reverse engineering Yamaha wavetables? I've got an old 4mb Yamaha wavetable that came in many of the old XG synths with stuff like MU50/80, DB50XG, S-YXG50 etc.
I'm assuming these wavetables are encoded somehow, although AWave studio can open one of them as PCM and appears to playback something that sounds like it is a wavetable-ish. I'm just wondering if anyone has any deeper knowledge of how you could get the wavetables to a usable format. There appears to be the main audio file (sxgwave4.tbl) and what I assume is related metadata binaray file (sxgbin41.tbl). Anyone know if this is feasible or is there no hope?
awave.png
Files are here: https://drive.google.com/file/d/1CzKR4l ... sp=sharing
You do not have the required permissions to view the files attached to this post.

Post

Hint: the sample values are 0 - 65535, not -32768 - +32767. Or vice versa. I see that from the abundant jumps from min to max.
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is served over https!!

Post

Yep, I believe encrypted though according to the guy that removed the licence restriction of where these wavetables come from, so out of my league. I'm a developer, but have no idea of decrypting audio files or getting to a usable wavetable in other synths? He says:
http://veg.by/en/projects/syxg50/ wrote:Original S-YXG50 VSTi uses voice table from the SXGBIN41.TBL and wavetable from the SXGWAVE4.TBL, the latter file is encrypted. Portable version of the S-YXG50 VSTi adds support of the unencrypted wavetables. In this case the zeroth bit of the byte at the 0x1F offset have to be set to 1. Also it is possible to merge voice table and wavetable files into one file. To do it, set seventh bit of the byte at the 0x1F offset to 1, append wavetable file to the voice table file, set offset to the wavetable at the 0x10 (4 bytes, little-endian), and set the size of the wavetable at the 0x14 (4 bytes, little-endian).

This version of the VSTi includes already decrypted version of the wavetable. It increases the speed of initialization of the VSTi, reduces memory usage, and significantly increases the compression ratio of this VSTi in the archive (encryption greatly increases the entropy). Above mentioned information will be useful for the ones who would like to experiment with some modifications of the S-YXG50 (it needs some reverse engineering skills). Keep in mind that original encrypted wavetable files can be used as external files only. Only unencrypted version can be embedded.
Edit. I just realised they are decrypted by him, I didn't read the second paragraph fully, thought he meant the vsti with the internal wavetable was decrpted, not the external files I have.
So I should be able to set sample size from 0-65535 and slice up to use in other software perhaps?

Post

This is the view set to 16-bit Delta PCM. The issue is more the lookup table sxgbin41.tbl is binary so lots of research ahead of me it seems to work out each voice set.
Untitled.png
You do not have the required permissions to view the files attached to this post.

Post Reply

Return to “DIY: Build it and they will come”