The Original Amiga Soundtracker Sample Disks

Here’s the st-01 samples in xrni format tuned to A-440
http://ubuntuone.com/1BdGXnOkvGxL6utHLBZEgu

Other changes to the samples:

  • Trimmed to get rid of pops/clicks
  • Looped when necessary.
  • Categorized in folders.

Old thread yes, but I feel very strongly about this subject. Can anyone using the original STXX samples please turn off sample interpolation (and run your audio engine at 88.2k or above.) It pains me to hear stuff I did in FT2 with the ST samples all interpolated and smudged to hell. Gotta maintain the old school crunch!

does somebody have the gus patches also? http://www.fileformat.info/format/gravis/corion.htm

Will someone make a Renoise Instrument out of these…me included :ph34r:

Here’s the st-01 samples in xrni format tuned to A-440
http://ubuntuone.com/1BdGXnOkvGxL6utHLBZEgu

Other changes to the samples:

  • Trimmed to get rid of pops/clicks
  • Looped when necessary.
  • Categorized in folders.

This link doesn’t seem to work anymore, could anyone who has it rehost the original xrni file?

1 Like

Also, the originals unedited files are here:

In the first linked archive containing “.wav” converted files, some files where wrongly converted. In the original files, some files (like “ST-01/strings6”) were 8SVX files with a header. For these files, the header was incorrectly interpreted as sound data in the conversion process, adding a noisy attack to the original 8SVX samples. Most files in the ST-01 and ST-02 directory are raw files without header though, so probably unaffected by the conversion.

how could one convert those originals to.wav/.flac? or open in milky/renoise?

I tested the files under Renoise.
Renoise can open them.
But they seem to have a bad quality sound, are not set to C3, have no loop part, etc…
So I think that there is a very huge work to do to obtain something really satisfying…

2 Likes

Ok, I uploaded a new archive with all the files converted to .aiff or .wav, that Renoise can use easily.

Some original files where raw PCM with no header, some others where IFF files with a header documenting the sample rate.

The .aiff files are the raw PCM originals plus a generated header that Renoise can read, so most of these samples are now tuned in C out of the box for modern DAWs.

The .wav files are the IFF originals converted by SoX (Sound eXchange), and are as tuned as the original sample was. Except that now Renoise can read and use the sample rate from the .wav file (it could not use the IFF header in my experience).

There is an extensive README.md in the archive, to help documenting and reviewing the conversion process, and what I have learned on the way.

Cheers!

3 Likes

Yes, Renoise can load raw PCM data, so you can load the original files and tune them (sort of).

To do that, click on the *.* button to show the files without extension. Then right click on the original sample and choose Load file with Options….

For the raw PCM files

In the dialog box choose 8 bit signed and 11025 (Renoise doesn’t propose 8363 or 16726 as sample rate, the sample rates of 90 % of the original files). Then add 7 semitones to the pitch, and the sample should be tuned: play C3 or C4 for the base note of the original.

Note: this should give you the exact same result than double clicking the .aiff converted files, without the additional semitones.

For the IFF original files

This is the remaining 44 % of the collection. The same should work with an aditional step: skip 104 header bytes in the load options. But the number of header bytes can vary, it should be four bytes after the BODY marker. You should check the header length with xxd, od, or hexedit on Linux / macOs, HexEdit or HxD on Windows.

For those, the problem is to identify that it’s an IFF file in the first place, as there are no extensions in the original files. Again, your favourite hex editor is your friend (look for the first four bytes, they should spell FORM).

And if there is a loop start info in the IFF file, you loose it.

Note: this should give you the exact same result as double clicking on the corresponding .wav converted file, without the additional semitones. You also loose the potential loop start info if present, I couldn’t find a way to preserve that.

More info

You can find more info and references in the README.md, which is also on gist:

2 Likes

I think there was a quite good way using UAE emulation to convert it to wav properly, but I forgot the details. I could be even that someone in here already did that many years ago?

Although technically it should be possible to write say a script in Renoise/Lua that extracts and sets the loop points from the given IFF/8SVX file.

1 Like

:bulb: Nice, thanks!!

It could be done with that I guess?

Do you know how I can open a file chooser, or access to a file or sample bytes through this API?

The first plan I can think of would be to create a tool that:

  • opens a file chooser to select an 8 bit sample (raw or IFF)
  • if it starts with ‘FORM…8SVX’, then parse a few info from the VHDR chunk (like sample rate, one shot nb samples, repeat nb samples) and use that to create an instrument.
  • if it is a raw sample, allow to select a sample rate with an input field, then load the bytes from the BODY chunk and assign it to an instrument

For reference, good info to parse IFF audio files are here:

This would preserve loop info, and remove the need for conversion altogether :slight_smile:

I don’t know if I have the time or skills to do that, but it sure looks interesting!

I suppose you’ll be needing a function from → Renoise.Application.API.lua particularly the one that reads:

Opens a modal dialog to query a filename and path to read from a file. The given extension(s) should be something like {"wav", "aiff" or "*" (any file) }

renoise.app():prompt_for_filename_to_read({file_extensions}, dialog_title)
  -> [filename or empty string]

Accessing a file can be done through the standard lua io library → Lua 5.1 Reference Manual

My two cents is although your plan above is completely sound and correct I wouldn’t of thought about it quite so complete/complicated due to issues you might face down the line with the Renoise/lua API. My (cruder/simpler) possible thought was that the user already has the IFF sample in Renoise. You open a dialog and ask the user for the IFF file. Script extracts start/end loop points (if any) from the file and sets them. That’s it. Yes I’m lazy and yes I’m probably not the best person to ask about the Renoise/lua thing :slight_smile:

2 Likes

Ok, I have something going here to load the files in their original format in Renoise:

After installation, this tool adds a 8 bit sample loader > Load IFF or RAW file… menu entry to the Tools menu.

Clicking on it opens a file browser. Selecting an IFF or RAW 8 bit signed mono file will load it in the current instrument’s current sample :slight_smile:

For IFF files: sample rate, loop start info, and sample name are used if present. Octaves and compression are not supported (maybe a nice addition).

For RAW files: a sample rate of 16726 Hz is assumed (allow to customize this would be a nice addition).

Note: this needs more tests at the moment.

If you want to try it you will need the files in their original format:

Samples I tested the IFF loader on:

  • st-01/strings6 = base sample and loop are clicky :frowning: (I need more checks on this part if you want to help)
  • st-02/fatbrass = no loop
  • st-02/guitar1 = uselessly looping?
  • st-17/Afterthought = nice loop :slight_smile:
  • st-17/badsample = a nice loop from Bad :slight_smile:
  • st-17/bass.drum = ends with a silent loop ?
  • st-17/brass1 = no loop
  • st-17/BrassEns.1 = no loop
  • st-17/Fantasy2 = nice loop :slight_smile:

The ST-17 directory looks like a good one to test IFF properties.

3 Likes

The other thing to mention is that some of the raw samples are crude. For example ST-30/snare21:

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 41 4e  |..............AN|
00000010  4e 4f 00 00 00 14 41 75  64 69 6f 20 4d 61 73 74  |NO....Audio Mast|
00000020  65 72 00 00 00 00 00 00  00 00 42 4f 44 59 00 00  |er........BODY..|
00000030  1b 84 ff 00 ff 00 00 00  ff 00 00 ff 00 ff ff 00  |................|

Doesn’t have a full IFF header in this case, so you’ll have to load it as raw and manually cut at least the first 50 samples/bytes. ST-67/lightning is another example of a partial IFF header:

00000000  00 00 00 00 00 00 00 00  00 00 42 4f 44 59 00 00  |..........BODY..|
00000010  25 c6 2a 96 b5 2a 00 cd  40 0a d1 15 7f f0 84 b7  |%.*..*..@.......|

Again cut say the first 18 samples.

Then there are other raw samples that have bad starting places. For example ST-20/J.T Voice:

00000000  00 ce 00 ce 05 05 00 ff  00 00 00 00 00 00 00 00  |................|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 ec fb  |................|

Looks like at least cut around the first 62 samples(?)

3 Likes

Nice, thanks! I have started a topic in the Tool Development category to discuss about the dev details:

1 Like

Hi guys,

I am trying to “reconstruct” a bunch of ST-01(?) sounds using the original generators, mostly DX21 and D50.

Also found this very nice list, but not all is correct in there, also I still miss some essential ST-01 sound sources. Do you have a hint here for me? I am especially looking for the source synths of the following sounds (stepped all D50 sounds, but not found). Also might be those sounds where recorded from a full track or so, containing of multiple layers:

CRYSTAL HAMMER crystalhammer split minimal eq.xrns (54.6 KB)
strings6 (seems to be layered, very typical amiga string used in so many games, too. Seems choir + string + overtones?)

AMEGAS amegas.xrns (53.0 KB)
popbass (very tough to redo, as it seems to contain multiple layers, also very nice bass, the suggestion in the list above seems to be wrong. Seems to be FM and a string or piano sound mixed?)
dangerous (I could redo with any good synth, but I would like to know if it also is one of those regular 80s synths)
strings3

Any idea?

None of them are Korg? I always thought so, but maybe Korg was more popular in a later era of mods.

Maybe synclavier is a suspect.

EDIT: also… for pads/strings, maybe Juno-60 was very popular?

1 Like

Ah good idea, sure, Korg M1, but it was first published at 1988. Hm, Amegas was published at 1987. Not sure, if those dates are correct though. Oh right, synclavier hehe