@fuzziqersoftware ok, the text is definetly close, but two things:
1, the probram doesn't need a raw version of the wave file, it can compile it using the wav files tself, or it would, if where not for thing number two:
2, i am expiriencing a weird error with sf2comp, it can't recompile these text files, the ones your program generated, even the ones i generated as an example, so i can't test it with accuracy, i think it cloud work, because it recognises the samples and the generators, but it can't write it into a soundfont, maybe i cloud contact someone that can help me with that
thanks again
edited 2:22 AM EDT June 4, 2019
SFEDT32.DLL does not get used by sf2comp by icantthinkofagoodusername at 3:02 PM EDT on June 7, 2019
I figured out what was the problem, but i don't find it feasable to solve it,
essentially, i didn't register the SFEDT32.DLL into windows, and the programm doesn't recognise it, but registering it doesn't work, with regsvr32 it gives the "entry point dllinstall was not found" error.
I also tried installing vienna (the one owned by creative, not the synthfont one), that comes with SFEDT32.DLL, but, unfortunately, it doesn't work because it works only in systems with an soundfont capable audio card, maybe from soundblaster, and i have realtek hd audio.
i wanted to ask how did everybody managed to get it working
Based on the build of https://github.com/magcius/vgmtrans, your ADSR for AAF file conversions seems to not equal anything. Can you fix the ADSR by understanding the oscillators?
Here is how oscillators are structured (it's similar to a modulator):
enum osc_target { volume = 0x00, pitch, pan, reverb, surround } osc_target target; uint8_t reserved[3]; float mod_rate; uint32_t attackEnvOffset; // delays are in ms uint32_t releaseEnvOffset; /* delays are in 600ths of a second */ float mod_width; float mod_vertex;
And then the real envelopes (not fake ones like you did):
enum env_curve { linear = 0x0000, square, sqroot, samp_cell, loop = 0x000D, hold = 0x000E, stop = 0x000F } env_curve curve; uint32_t delay; uint32_t value; /* envelope values are passed through "mod_vertex + (mod_width * (value / 32768))" */
Beware that oscillators with a target of 0x04 should not be implemented.