Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

toast(1) [centos man page]

TOAST(1)						      General Commands Manual							  TOAST(1)

NAME
toast -- GSM 06.10 lossy sound compression SYNOPSIS
toast [ -cdfpvhualsFC ] [ filename... ] untoast [ -cfpvhuaslF ] [ filename... ] tcat [ -vhuaslF ] [ filename... ] DESCRIPTION
Toast compresses the sound files given on its command line. Each file is replaced by a file with the extension .gsm . If no files are specified, the compression is applied to the standard input, and its result is written to standard output. Toasted files can be restored to something not quite unlike their original form by running toast -d , or untoast , on the .gsm-files or standard input. The program tcat (the same as running untoast -c ) uncompresses its input on standard output, but leaves the compressed .gsm-files alone. When files are compressed or uncompressed into other files, the ownership (if run by root), modes, accessed and modified times are main- tained between both versions. OPTIONS
-c (cat) Write to the standard output; no files are changed. -d (decode) Decode, rather than encode, the files. -f (force) Force replacement of output files if they exist. If -f is omitted and toast (or untoast) is run interactively from a termi- nal, the user is prompted as to whether the file should be replaced. -p (precious) Do not delete the source files. Source files are implicitly left alone whenever -c is specified or tcat is run. -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. The -C option applies only to the encoder and is silently ignored by the decoder. -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. 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. The default is standard-conforming operation. -v (version) outputs the version of toast (or untoast or tcat) to stdout and exits. -h (help) prints a short overview of the options. Toast, untoast and tcat try to guess the appropriate audio data format from the file suffix. Command line options can also specify a for- mat to be used for all files. The following formats are supported: -u (uU-law) 8 kHz, 8 bit uU-law encoding (file suffix .u) -a (A-law) 8 kHz, 8 bit A-law encoding (file suffix .A) -s (Sun audio) 8 kHz, 8 bit uU-law encoding with audio header (file suffix .au) -l (linear) 8 kHz, 16 bit signed linear encoding in host byte order with 13 significant bits (file suffix .l) In absence of options or suffixes to specify a format, uU-law encoding as forced by -u is assumed. 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. 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. BUGS
Please direct bug reports to jutta@cs.tu-berlin.de. SEE ALSO
gsm(3) local TOAST(1)

Check Out this Related Man Page

GSM_OPTION(3)						     Library Functions Manual						     GSM_OPTION(3)

NAME
gsm_option -- customizing the GSM 06.10 implementation SYNOPSIS
#include "gsm.h" int gsm_option(handle, option, valueP); gsm handle; int option; int * valueP; DESCRIPTION
The gsm library is an implementation of the final draft GSM 06.10 standard for full-rate speech transcoding, a lossy speech compression algorithm. The gsm_option() function can be used to set and query various options or flags that are not needed for regular GSM 06.10 encoding or decoding, but might be of interest in special cases. The second argument to gsm_option specifies what parameter should be changed or queried. The third argument is either a null pointer, in which case the current value of that parameter is returned; or it is a pointer to an integer containing the value you want to set, in which case the previous value will be returned. The following options are defined: GSM_OPT_VERBOSE Verbosity level. This option is only supported if the library was compiled with debugging turned on, and may be used by developers of compression algorithms to aid debugging. The verbosity level can be changed at any time during encoding or decoding. GSM_OPT_FAST Faster compression algorithm. This implementation offers a not strictly standard-compliant, but faster compression algorithm that is compatible with the regular method and does not noticably degrade audio quality. The value passed to gsm_option(handle, GSM_OPT_FAST, & value) functions as a boolean flag; if it is zero, the regular algorithm will be used, if not, the faster version will be used. The availability of this option depends on the hardware used; if it is not available, gsm_option will return -1 on an attempt to set or query it. This option can be set any time during encoding or decoding. GSM_OPT_LTP_CUT Enable, disable, or query the LTP cut-off optimization. During encoding, the search for the long-term correlation lag forms the bottleneck of the algorithm. The ltp-cut option enables an approximation that disregards most of the samples for purposes of finding that correlation, and hence speeds up the encoding at a noticable loss in quality. The value passed to gsm_option(handle, GSM_OPT_LTP_CUT, & value) turns the optimization on if nonzero, and off if zero. This option can be set any time during encoding or decoding; it will only affect the encoding pass, not the decoding. GSM_OPT_WAV49 WAV-style byte ordering. A WAV file of type #49 contains GSM 06.10-encoded frames. Unfortunately, the framing and code ordering of the WAV version are incompatible with the native ones of this GSM 06.10 library. The GSM_OPT_WAV49 option turns on a different packing algorithm that produces alternating frames of 32 and 33 bytes (or makes it consume alternating frames of 33 and 32 bytes, note the opposite order of the two numbers) which, when concatenated, can be used in the body of a WAV #49 frame. It is up to the user program to write a WAV header, if any; neither the library itself nor the toast program produce complete WAV files. The value passed to gsm_option(handle, GSM_OPT_WAV49, & value) functions as a boolean flag; if it is zero, the library's native framing algorithm will be used, if nonzero, WAV-type packing is in effect. This option should be used before any frames are encoded. Whether or not it is supported at all depends on a compile-time switch, WAV49. Both option and compile time switch are new to the library as of patchlevel 9, and are considerably less tested than the well-worn rest of the it. Thanks to Jeff Chilton for the detective work and first free implementation of this version of the GSM 06.10 encoding. GSM_OPT_FRAME_CHAIN Query or set the chaining byte. Between the two frames of a WAV-style encoding, the GSM 06.10 library must keep track of one half-byte that is technically part of the first frame, but will be written as the first four bits of the second. This half-byte are the lowest four bits of the value returned by, and optionally set by, gsm_option(handle, GSM_OPT_FRAME_CHAIN, & value) This option can be queried and set at any time. GSM_OPT_FRAME_INDEX Query or set the current frame's index in a format's alternating list of frames. The WAV #49 framing uses two alternating types of frames. Which type the next GSM-coded frame belongs to can be queried, or, when decoding, announced, using gsm_option(handle, GSM_OPT_FRAME_INDEX, & value) For WAV-style framing, the value should be 0 or 1; the first frame of an encoding has an index of 0. At library initialization, the index is set to zero. The frame index can be queried and set at any time. Used in combination with the GSM_OPT_FRAME_CHAIN, option, it can be used to position on arbitrary GSM frames within a format like WAV #49 (not accounting for the lost internal GSM state). RETURN VALUE
gsm_option() returns -1 if an option is not supported, the previous value of the option otherwise. BUGS
Please direct bug reports to jutta@cs.tu-berlin.de and cabo@cs.tu-berlin.de. SEE ALSO
toast(1), gsm(3), gsm_explode(3), gsm_print(3) GSM_OPTION(3)
Man Page