.TH SRCONV 1carl CARL
.SH NAME
srconv - convert signal sampling rates by any positive rational number
.SH SYNOPSIS
.B srconv  
.B l 
.B m 
.B filterfile 
< floatsams > floatsams
.SH DESCRIPTION
The sampling rate converter is for changing the sampling rate of a 
digital signal.  The input and output format is 
.B floatsams,
(32-bit binary floating point samples) regardless of whether the
input or output is a file or pipe.
.PP
The output sampling rate is 
.B l/m 
times the input
sampling rate, where 
.B l 
and 
.B m 
are arbitrary positive integers. It
is desirable that 
.B l 
and 
.B m 
have no common factors, as this needlessly
adds to the computational complexity.  Also, it is better to pipe
several stages of 
.I srconv 
together using small 
.B l 
and 
.B m 
rather than
use a single stage having large 
.B l 
and 
.B m 
when 
.B l 
and 
.B m 
are composite
numbers; for example, for 
.B l/m 
= 4/9, one can say
.RS .5I
    srconv 2 3 % < test.dat | srconv 2 3 % > out.dat 
.RE
.PP
The
.B % 
sign
is used to instruct 
.I srconv 
to use pre-designed default
lowpass filters. The default filters generally have 0.1dB passband
ripple, and -60dB stopband rejection.
In addition, saying
.B %%
for the default filter specification uses slow-and-clean default
filters.
Use the single
.B %
for quick-and-dirty sample rate conversion, and
.B %%
for more critical examples.
Filter files exist for all values of  
.B l
and
.B m
for ratios from 1 to 8 for both quick-and-dirty and slow-and-clean
default filters.
.SH DIAGNOSTICS
The program interactively requests parameters and filenames when
arguments are missing from the command line.
.PP
.SH AUTHORS
J. O. Smith and
F. R. Moore
.SH FILES
Default filter files 
at CARL: /usr/local/lib/srconv/*.flt.
.SH BUGS
The implication that single 
.B %
is somehow less than wonderful in the quality of the resulting
signal has been challanged by some.  It seems that single
.B %
has been found to be
perfectly acceptable for such applications as converting from
48K to 16K files, for instance.
