Convert, (c) 1994 Jesus Villena, Spain
Universidad Politecnica de Valencia
Facultad de informatica
INTERNET: [email protected]
This program is Freeware and may be distributed without any permission of
their author. Their development has been carried out by and for the INTERNET
collective. Collaborates in their improvement and amplification!
This software is provided as-is. Author makes no warranties on this program.
You use this software at your own risk.
Convert is a MSDOS tool which serves in order to interchange samples between
several formats of sound. The translation between the several formats offers
the advantage of maintaining the majority of the present information in the
original file if this is possible, i.e. name, loop points, significant
number of bits, number of channels, etc.
Convert surged like a domestic project destined to the obtaining of high
quality instruments for the Gravis Ultrasound card starting with files
from professional samplers (Ensoniq EPS, Roland [S] 50, Yamaha TX16W...)
The source code was designed so that out easy their amplification to more
formats. In fact, soon the formats of the most well-known modules were added
(MOD, MTM, FAR, S3M...). A little later they were added the MIDI standard
formats (SDS and SDX) and other formats offered by several manufacturers
(AIFF, IFF, SMP...).
At the same time that was added more available formats for the input files,
these same formats, if it was possible, they were available also like
output, so that virtually, any input format would be converted in any
- Great quantity of input and output formats: seeing list.
- Automatic recognition of the input format: it is not necessary
specify the type of the input file, Convert recognizes it automatically.
- Possibility of converting in a single pass great quantity of files and
carry them to some target directory: They are accepted wildcards
in order to specify the input files, and a output directory which they
will be filled with the resulting files.
- Ease of use: their utilization is clearly intuitive in order to avoid
remember difficult combinations of input parameters (for example, if you
want to use the samples that there is in a file ". PAT" in order to
utilize them in a module ". MOD", simply specifies -MOD as switch and
Convert translate each one of the waveforms to the format ". SAM"
readable for all the mod-editors, without specifying if it is SIGNED or
- The program may work with input files of until 16 bits and
2 channels (Stereo), doing the necessary conversion of these values for
generating the output format (this is, a WAV file of 16 bits Stereo will
be converted in 8 bits Mono upon converting it to VOC, for example).
- High probability of success: This program has converted with success
98% of files I have (others conversion programs generated many errors).
Especially I have all GKH and AIFF files on ftp.reed.edu (now on
oak.oakland.edu) and it has converted all very well (except some files
that was corrupted originally).
The formats which Convert works in this version are the following:
SND PCM Unsigned Raw Sound File
RAW PCM Signed Raw Sound File
GKH Ensoniq EPS Disk Image
INS, EFE Ensoniq EPS Instrument File
WAV Microsoft Windows RIFF WAVE
PAT Gravis Ultrasound Patch
UWF UltraTracker WaveSample
ULT UltraTracker Module
FSM Farandole Composer WaveSample
FAR Farandole Composer Module
669 669 Tracker Module (and Extended)
S3I, SMP Digiplayer /ST3 Sample File
S3M Scream Tracker v3 Module
MTM MultiTracker Module
MOD Protracker/Fastracker/Startracker Module
VOC Creative Lab's Sound File
SDS MIDI Sample DUMP Standard File
SDX Sample DUMP Exchange File
SMP Samplevision File
TXW Yamaha TX-16W Wave File
SDK Roland S-550/S-50/W-30 Disk Image
AU Sun/Next Audio File
AIFF Audio Interchange Format File
IFF Interchange Format File
The form of invoking to this tool is the following:
CONVERT [InputPath [OutputPath] [OutFmt]]
InputPath is the name of the files to convert. InputPath consists of a route
and a file name, which accept the usual wilcards of DOS. Examples of
InputPath would be: \SAMPLES\*.*, ..\SAMPLES\ENSONIQ\*.INS, SAMPLE?.*, etc.
OutputPath specifies the destination directory where Convert will place the
files converted. If this directory don't exist, Convert creates it.
OutFmt is a switch that allows to specify the output format for the files
to convert to.
The courage of OutFmt may be one of the following:
OutFmt Extension Offered Characteristics
------ --------- --------------------------------------------------
-SND ".snd" PCM Unsigned Raw, 8/16 bits INTEL, Stereo/Mono
-RAW ".raw" PCM Signed Raw, 8/16 bits INTEL, Stereo/Mono
-WAV ".wav" 8/16 bits, Stereo/Mono, Rate
-PAT ".pat" 8/16 bits, Mono, Rate, Loop, Multiple Waveforms
-UWF, -ULT ".uwf" 8/16 bits, Mono, Loop
-FAR, -FSM ".fsm" 8/16 bits, Mono, Loop
-669 ".snd" PCM Unsigned Raw, 8 bits, Mono
-S3I, -S3M ".smp" 8/16 bits, Stereo/Mono, Rate, Loop
-MTM ".raw" PCM Unsigned Raw, 8/16 bits, Mono
-MOD ".sam" PCM Signed Raw, 8 bits, Mono
-VOC ".voc" 8 bits, Mono, Rate
-SDS ".sds" 8/16 bits, Mono, Rate, Loop
-SDX ".sdx" 8/16 bits, Mono, Loop
-SMP ".smp" 16 bits, Mono, Rate, Loop
-AU ".au" 8/16 bits Linear, Rate, Stereo/Mono
-AIF ".aif" 8/16 bits, Stereo/Mono, Rate, Loop
-IFF ".iff" 8 bits, Mono, Rate
-OUT depends variable (see notes)
If you run Convert without parameters, the program shows a small help.
If you are specified only InputPath, the program shows information on the
content of the input files (sample name, number of Bits,number of channels,
loop points, etc.
If you are not specified OutFmt, for defect it will use the current
directory as destination.
The output file generated acquires the same name that the input file, if
this has a waveform. If the input file has various waveforms, the name of
each file generated is the original name adding an index that differentiates
it of the others.
Could happen that the file converted doesn't have the loop points very well
definite; I could secure that in all the cases in that this has happened me,
it was an appropriate defect of the original file, no due to the conversion.
The switch -OUT has a special meaning and it is only accessible from some
formats. Basically its meaning is to extract all the waveforms that there is
in the input file to individual files, with the same format (or of it same
"family") that the initial. Logically, this switch only is available for
that formats that may have multiple waveforms on an only file:
GKH --> INS (they are extracted the contained files in the file GKH)
PAT --> PAT (each form of wave in a new file is converted)
ULT --> UWF
FAR --> FSM
669 --> SND (each instrument to PCM RAW 8 bits Unsigned)
S3M --> S3I
MTM --> RAW (each instrument to PCM RAW 8/16 bits Unsigned)
MOD --> SAM (each instrument to PCM RAW 8 bits Signed)
ACKNOWLEDGED INPUT FORMATS
So that a file may be automatically acknowledged, It should have a header
that define it. For it, the files with format PCM RAW is not accepted like
valid input formats. The following they are the valid input formats for
Format Acknowledged Characteristics
GKH, INS Various waveforms, 16 bits, Mono, Rate, Loop, Name
WAV 1 waveform, 1..16 bits, Stereo/Mono, Rate, Name, Text
PAT Various waveforms, 8/16 bits, Mono, Rate, Loop, Name, Text
UWF 1 waveform, 8/16 bits, Mono, Loop, Name, Text
ULT Equal as the anterior with various waveforms and Text
FSM 1 waveform, 8/16 bits, Mono, Loop, Name
FAR Equal as the anterior with various waveforms and Text
669 Various waveforms, 8 bits Mono, Loop, Name, Text
S3I 1 form of wave, 8/16 bits, Stereo/Mono, Rate, Name
S3M Equal as the anterior with various waveforms and Text
MTM Various waveforms, 8/16 bits, Mono, Loop, Name, Text
MOD Various waveforms, 8 bits, Mono, Loop, Name, Text
VOC 1 waveform, 8 bits Mono, Rate, Loop, Text
SDS 1 waveform, 1..16 bits, Rate, Mono, Loop
SDX 1 waveform, 1..16 bits, Rate, Mono, Loop, Name, Text
SMP 1 waveform, 16 bits Mono, Rate, Loop, Name, Text
TXW 1 waveform, 12 bits, Mono, Rate
SDK Various waveforms, 12 bits, Mono, Rate, Loop, Name, Text
AU 1 waveform, 8/16 bits LINEAR/ULAW, Mono, Rate, Text
AIFF 1 waveform, 1..16 bits, Stereo/Mono, Rate, Loop, Name, Text
IFF 1 waveform, 8 bits, Mono, Rate, Name, Text
The GKH format is basically an Ensoniq EPS disk image. For it, when Convert
has to carry out the conversion to other formats, first the internal files
are converted to MSDOS files (INS) and subsequently the conversion is carried
out. I recommend you use the -OUT option with this format in order to avoid
this process every time this file is accesed.
The format INS supports multisample instruments , this is, it allows to assign
various waveforms to several ranges of the MIDI keyboard. This characteristic
is supported upon converting it to PAT if and only if the ranges are not
overlapped. In this way, a complete percussion kit for example would generate
simply one multisample PAT file.
The DMF (Delight Music File) format is also supported as input file, but it
is limited to files with uncompressed instruments (if you know the compression
method 1, 2 and 3 please tell me in order to incorporate it). Unfortunately all
files I have in this format are compressed with method 1.
I thank the disinterested help of Cris-(tobal) in the previous phase test
and his contribution of formats, as well as all anonymous fountains of where
I have gotten the specifications of the formats. I am Sorry for my spanglish.
Since I commented at first, this tool surged with ideas of expansion. For it
I request to all users that is interested in including other formats to the
program, that they will send to me a description of the format, and if it
is possible, some file(s) for testing.
Especially I am VERY INTERESTED in incorporating the EMU SOUNDFONT LIBRARY
format (used in the new Sound Blater (TM) AWE32) (I have seen an AWE32 board
and it have no information about this, although I saw some files like ".sfk",
known as bank files, with a RIFF header ???), as well as other formats
utilized in the new PC WaveTable soundcards (Sample Store from Turtle Beach,
etc...) Also, I would like dispose of information on the Kurzweil K2000 (KRZ),
Yamaha SY-99 and SY-55, and EMAX I and II.
Also, I would desire you mailme any bug or possible improvements of
the program to [email protected]
To start to delight with new and vibrant sounds, this is a small list
where you will find them through the INTERNET. Personally, I have more
than 100 Mbytes of this sounds!!!
GKH, INS, EFE, AIFF: ftp.reed.edu in /eps
oak.oakland.edu in /pub2/eps
TXW: ftp-ls7.informatik.uni-dortmund.de in /pub/tx16w
SDK: lotus.UWaterloo.ca in /pub/sgroup
SDS, SDX: alf.uib.no in /pub/sds
sweaty.palm.cri.nz in sds
PAT: archive.epas.utoronto.ca in /pub/pc/ultrasound
wuarchive.wustl.edu in /systems/ibmpc/ultrasound
KRZ (future): ftp.uwp.edu in /pub/music/lists/kurzweil
cs.utk.edu in /pub/martin/K2000
bach.nevada.edu in /pub/K2000
EMAX (future): sweaty.palm.cri.nz in EMAX
You will find a wider list on ftp.cs.ruu.nl in the file /pub/MIDI/DOC/archives