Ok, the Fairlight stored it's samples on 8" floppies. Images of many of these floppies are available on the web and can be accessed with a program called CMIOS9. I used CMIOS9 to extract all files from each floppy and wrote down information such as disk label, disk user and disk date. A the Fairlight has several file types, but the ones relevant for this project are the '.VC' files. As you probably guess, a VC file is a voice file. Each VC is 21 888 bytes, with the first 5504 containing header information and last 128 containing footer information. The 16 384 bytes in between contains raw, 8-bit unsigned audio data. Each VC file's binary data and meta information was inserted in a MySQL database with the help of a custom PHP-library. I then ran a script that extracted loop points from the header information into separate columns, and the 16 384 audio bytes to a separate audioData column. All audio data was MD5:ed so duplicates can be found faster. When requesting a sample download from this page, everything is dynamically generated on the fly. For example, if you request the SARRAR in 22 050 Hz in SFZ format + 16-bit WAV, this is what happens; 1) The audio is fetched from the audioData column and sent to the createWav() function. 2) createWav() generates a 102 byte wav header with the correct sampling rate, the converts the audio data from 8-bit to 16-bit and merges them. 3) For each 'preset', an sfx is generated by the createSFZ() function. 4) The wavs and sfzs generated are zipped and sent to you.

The MD5 of the VCD files was inserted into the database as well, though the VCDs are not available for you to download). I found out that VCD files are VC files without the 5504 bytes header and 128 bytes footer = only the audio data! The app stores loop points and such in an SQLite database (called 'cmiPhone.sqlite') instead.

Yes and no. The duplicate mechanism only finds duplicates where the bytes are exactly the same. I've noticed that some of the samples from the app have different dynamics (≈'volume') than the corresponding sample from the floppies, but otherwise exactly the same. ALARM1 from the app is an example of this, it's the same as ALARM in the other libraries.It's possible to manually enter an alternative MD5 to mark them as duplicates anyway. This is done in the ALARM1 example, and as you can see the original CRC is within parentheses.

No, this uses a php library that I've written from scratch. It's a mess right now, but it will be posted on Github sooner or later! The aim is to complement CMIOS9, which by the way is far more competent than this.

Installation/prerequisites

First you have to have a pc with a floppy drive connected to the motherboard. USB-floppy drives don't work.

Download OmniFlop which is an alternative floppy driver for Windows that replaces the standard one and allows more advanced writing capabilities. The download can be hard to find on the page, just search for "download".

When downloaded, the OmniFlop driver must replace the standard drive. Installation instructions are included in the download. For Akai use (and most uses) you only need to install the OmniFlop driver, OmniFDC is not needed.

Tip: you don't need to buy expensive DD floppies, HD floppies work as well as long as you put tape over the extra hole that is present on HD floppies.