If you compile my utility to use your Intel Core2 or i7's modern, fast SSE instructions, or AMD's 3dnow, etc, THEN THE SOUNDFONT WILL BE CORRUPT. If you don't use the 80387 float format with its internal 20-bit precision, then you won't get the same rounding errors when you extract the soundfont from the sfark, AND THE SOUNDFONT WILL BE CORRUPT. And what are the details of those rounding errors? That bozo compiled his software specifically to run on the old 80387 math coprocessor for Intel's ancient 80386 CPU (before the Pentium even). Here's the horrible implication: if you don't perform the exact same rounding errors when you extract the soundfont from the sfark, THEN THE SOUNDFONT WILL BE CORRUPT. In effect, those errors are in the sfark file itself. Hello, can you say "rounding errors"? And then this bozo actually does a checksum based on those rounding errors. The inept scheme this guy came up with uses integer to float conversion, float calculations, and convert float back to int. At the highest compression level (which is the utility's default setting, so most sfark files use it) the totally archiac LPC compression is added (in addition to the delta compression). The audio data is compressed using one of several 16-bit delta compression schemes, depending upon which "compression level" the musician chose when he created his sfark using Melody Machine's atrocious windows utility. First, it breaks up a soundfont into its non-audio data, and audio data. It really is awful, and needs to be removed from the universe. Copy it somewhere along with the file "sfark.glade". This will produce the executable "sfark". Gcc -mfpmath=387 -o sfark sfark.c `pkg-config -cflags -libs gtk+-3.0` -lpthread -export-dynamic From a command terminal, in the same folder as sfark.c, type (all on one line): You also need the gnome dev package "libgtk-dev". If using Debian, just install the package "build-essential". If you're using a 32-bit linux, you'll need to compile the source. For example, I use it with Linux Mint XFCE. I've compiled a 64-bit version of the utility in the 'linux' folder, which should run on any modern AMD64 linux (with Gnome libraries installed). It should be a very simple job for any QT programmer. I don't do QT, so if you want a KDE version, you'll have to modify the source code. If there's a problem, a message box will pop up with an error message. If all goes well, text will appear at the bottom of the window, saying the soundfont is successfully extracted, and you'll find a new soundfont file on your drive. A colored bar in the window shows how it is progressing. After you finish with this dialog, the utility does its job. Initially, the dialog is filled in with the original name of the soundfont, for your convenience. After you pick your sfark file, that dialog disappears, and another dialog appears asking you to enter the desired name for the soundfont being extracted. sfark, but you can instead view all files by changing the button labeled 'Sfark' to 'All'). (Initially the dialog lists only those files whose names end in. Click on the "Load" button, and a file dialog pops up to let you select some sfArk file. It uses a very basic Gnome interface that any musician should be able to handle. deservedly so.Īnyway, being a programmer myself, I decided I had enough of sfArk, so I wrote an open-source linux utility to extract the soundfonts from sfArk files, both version 1 and 2. Companies go out of business, leaving customers without support, and that appears to be the case with Melody Machine. One would hope that musicians have learned not to store music in proprietary, undocumented formats. Oh yeah, the windows version has also long been abandoned, so forget about sfArk support for Windows on something other than old Intel CPUs. Well actually, they did once write an awful closed-source linux version, but that out-dated, abandoned version doesn't run on anything but ancient Intel CPUs running a 32-bit OS. This was especially disheartening because I'm using Linux, and the misguided company (Melody Machine) that devised sfArk, had written only a windows closed-source version of their crappy sfArk decompression software. I was downloading some soundfont files from the internet and, to my horror, discovered that some moron(s) had compressed the files using the proprietary, totally undocumented, completely unnecessary 'sfArk' format instead of a much more sensible, useful, well-tested, established open standard such as zip. If you're looking for an sfArk to sf2 converter, I recommend you check out This thread is about an sfark utility that I consider deprecated.
0 Comments
Leave a Reply. |