.\"
.\" Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
.\" Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
.\" details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
.\"
.if n .ds mU u
.if t .ds mU \(*m
.\"
.TH TOAST 1 local
.SH NAME
toast \(em GSM\ 06.10 lossy sound compression
.SH SYNOPSIS
.ll +8
.B toast
[
.B \-cdfpvhualsFC
] [
.I "filename...\&"
]
.LP
.B untoast
[
.B \-cfpvhuaslF
] [
.I "filename...\&"
]
.LP
.B tcat
[
.B \-vhuaslF
] [
.I "filename...\&"
]
.ll -8
.SH DESCRIPTION
Toast compresses the sound files given on its command line.
Each file is replaced by a file with the extension
.I \&.gsm .
If no files are specified, the compression is applied to the
standard input, and its result is written to standard output.
.PP
Toasted files can be restored to something not quite unlike
their original form by running toast
.I "\-d"
, or 
.I untoast
, on the \&.gsm-files or standard input.
.PP
The program 
.I tcat
(the same as running
.I "untoast \-c"
)  uncompresses its input on standard output,
but leaves the compressed .gsm\-files alone.
.PP
When files are compressed or uncompressed into other files,
the ownership (if run by root), modes, accessed and modified times
are maintained between both versions.
.SH OPTIONS
.TP
.B \-c
(cat)
Write to the standard output; no files are changed.
.TP
.B \-d
(decode)
Decode, rather than encode, the files.
.TP
.B \-f
(force)
Force replacement of output files if they exist.
If \-f is omitted and toast (or untoast) is run interactively from
a terminal, the user is prompted as to whether the file should be replaced.
.TP
.B \-p
(precious)
Do not delete the source files.
Source files are implicitly left alone whenever \-c is
specified or tcat is run.
.TP
.B \-C
(LTP cut-off)
Ignore most sample values when calculating the GSM long-term
correlation lag during encoding.
(The multiplications that do this are a bottleneck
of the algorithm.)
The resulting encoding process will not produce
exactly the same results as GSM 06.10 would,
but remains close enough to be compatible.
.br
The
.B \-C
option applies only to the encoder and is silently
ignored by the decoder.
.TP
.B \-F
(fast)
On systems with a floating point processor, but without
a multiplication instruction, \-F sacrifices standard conformance to
performance and nearly doubles the speed of the algorithm.
.br
The resulting encoding and decoding process will not produce
exactly the same results as GSM 06.10 would, but remains close
enough to be compatible.
.br
The default is standard-conforming operation.
.TP
.B \-v
(version)\ 
outputs the version of toast (or untoast or tcat) to stdout and exits.
.TP
.B \-h
(help)\ 
prints a short overview of the options.
.PP
Toast, untoast and tcat try to guess the appropriate audio data 
format from the file suffix.
Command line options can also specify a format to be used for 
all files.
.br
The following formats are supported:
.TP
.B "\-u"
(\(*mU-law)
8 kHz, 8 bit \(*mU-law encoding (file suffix .u)
.TP
.B "\-a"
(A-law)
8 kHz, 8 bit A-law encoding (file suffix .A)
.TP
.B "\-s"
(Sun audio)
8 kHz, 8 bit \(*mU-law encoding with audio header (file suffix .au)
.TP
.B "-l"
(linear)
8 kHz, 16 bit signed linear encoding in host byte order
with 13 significant bits (file suffix .l)
.PP
In absence of options or suffixes to specify a format, 
\(*mU-law encoding as forced by \-u is assumed.
.PP
.SH PECULIARITIES
A four bit magic number is prefixed to each 32 1/2-byte GSM frame,
mainly because 32 1/2-bytes are rather clumsy to handle.
.SH WARNING
The compression algorithm used is a lossy compression algorithm
devised especially for speech; on no account should it be used
for text, pictures or any other non-speech-data you consider
valuable.
.SH BUGS
Please direct bug reports to jutta@pobox.com and cabo@tzi.org.
.SH "SEE ALSO"
gsm(3)
.\"
.\" Toast is dedicated to Bill Sienkiewicz, author of "Stray Toasters".