The Original Amiga Soundtracker Sample Disks

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

There was some Sysex Editor for Synthesizers
Maybe there are similarities to the ST-Disks
http://aminet.net/search?f=2&path=mus/midi&start=0

so i’ve been making use of these samples quite a lot in my renoise work, but would like to start using them on the elektron digitakt. the problem is that the digitakt has no option to turn off interpolation, so every sound is heavily filtered when played at its “normal” speed.

is there any way i could say, batch process and resample each .wav to be 16bit and 44.1hz while also keeping each samples original playback speed and aliasing? i’ve seen links to a 16 bit version of the pack here, but the mediafire link is dead so i’m not sure if this is what i would be looking for:

Have you tried a Audioeditor?
Wavosaur can import ST Samples (without batch) an convert to 44.1 (with batch)
maybe there is openmpt a option

https://wiki.openmpt.org/Manual:_Samples

  • Save Sample : Saves an instrument either in the WAV, FLAC, S3I or RAW format. Hold Shift while clicking the button to mass-export all samples at once. In the save dialog, you can then use the variables %sample_number% , %sample_filename% and %sample_name% .

Wavosaur can import ST Samples (without batch) an convert to 44.1 (with batch)

what do you mean by this? do you mean it cant mass import and convert the samples?

1: file - import - browse - sample (3 mouse clicks for only 1 sample)
2: tools - batch processor: re sample + destination, - start (2 mouse clicks to save and convert all import (1) samples)

the batch converter have sadly no import function

update: Audacity (or Sox) can do it, extensive batch converter

Woah Alex Mauer worked on this. He did great music before transitioning into Lexi Kobayashi and taking down all her music / collaborations / DMCA striking multiple videos from Starr Mazer / River City Ransom / other games.

Breaks my heart to see such skill go down the toilet. But really really dope sample pack, thanks for sharing. :smiley:

So good :partying_face:
crystalhammer (D50-AU fm8-VST).xrns (110.2 KB) Listen

Well, not completely matching the original sound, but I think I found all the correct presets which were sampled here. Feel free to improve.

Thanks for your work here! So most of the samples (those in aiff format) are tuned to C, but still require pitching down a couple of octaves so that they play back at their original recorded pitch, is that correct? (i.e. before they were sped up back in the day, which was presumably done to save memory)

For the samples not tuned to C (the wav files), how many semitones do they need to be pitched up or down by to reach C, or does it vary in a sample-by-sample basis?

I am trying to end up with all samples playing at their original recorded pitch (not sped up) for even easier use in modern DAWs and grooveboxes… if that means I have to pitch up/down each individual sample, then so be it. I’m happy to share the results here with others when I’m done! Or if anyone else has already done this, would be grateful if someone could provide a link. I’ve searched myself but couldn’t find it

Modland Search - ExoticA

Captain - Hurricane here is a ST-01 oktalyzer bonanza with the style intended.