Readme for rateconv-1.5 for NeXTSTEP
Port by Frank Siegert
I 'ported' this software over to NeXTSTEP because all other sound rate conversion programs I found either suck all available memory for real *big* sound files, take forever to convert even on heavy metal machines or produce an output of miserable quality.
This rateconv is a stream converter, it is reasonable fast, works in pretty minimal memory environments and produces very good quality IMHO.
For Big Endian you must change the Makefile. It should work on most every other box too...
Have a nice day
Frank
Frank Siegert ,
http://www.this.net/, home of the brave & defender of the truth value
------
Original Readme:
RATECONV - a universal sample rate converter
============================================
This is a universal tool to convert sample rates of audio signals
consisting of signed 16bit data, mono or stereo. It is designed as
stream filter around an effcient internal structure. On-the-fly
conversions while recording or playing sound are possible although
they depend on CPU-speed and other specific demands. It can also be
used as a low-pass filter without changing rates. Target platforms
are un*x systems.
Its flexibility helps to overcome restrictions in quality, usable
bandwith or rate-ratios inherent to other solutions. It is easy to
outperform the quality of simple rate conversion schemes, e.g. the
one which comes with the well known sound format conversion package
`sox' by Lance Norskog (But `sox' seems great for all other types
of format conversion).
Although standard solutions are provided be warned that there
is no quick solution to meet all objectives at the same time with
computational efficiency. This is because one has to trade between
quality, usable bandwith and efficiency. The term `universal' implies
that the trade is left up to you to decide. The provided documentation
allows development of adapted solutions to the problem of rate
conversion in audio or, more generally speaking, resampling of a
given bandlimited function.
Contents:
---------
1. Usage
2. Installation
3. Copyright and disclaimer
4. Author
1. Usage
--------
This is at a glance what you get once you've compiled and invoked
`rateconv':
Sample rate conversion from stdin to stdout [...]
Usage: rateconv [-hlms] [..
-h -l sample format HB,LB or LB,HB (default)
-m -s mono (default) or stereo mode
input sampling frequency in Hz
sinc-filter cutoff frequency
gaussian-window key frequency (6.8dB-down point)
lenght of IR of resulting FIR-filter (1...1024)
upsampling factor (1...1024)
downsampling factor
over-all-gain (default 0.8 safe on filter overshoot)
Now the task in general would be to find suitable paramters for
the specific demands you have. The shell scripts in the `examples'
directory use some predefined parameters and call rateconv
directly. Their computational efficiency versus quality varies
(see the internal comments). If you don't mind some inefficiency,
the shell script `rcv' should satisfy almost all your demands,
showing this upon invocation:
High quality rate conversion stdin to stdout [...]
Usage: rcv [-hlms] []
Options: -hlms see external command rateconv
Args: , are positive integer values
their ratio determines the rate change
which must be greater than about 0.16
may not exceed a value of 1024
small rate changes compute more efficiently
default is 0.8 to avoid overload
Specs: 1dB-edge-frequency is at 9/20 of the smaller rate
S/N and mirror frequency suppression is >= 96dB
If you want to tailor the paramters of RATECONV to meet your
specific needs please read the file `rateconv.txt'.
2. Installation
---------------
RATECONV was developed on SYSV386R3.2 (Intel-Architecture).
With the appropriate flags set in Makefile it should work on
a lot of other systems and architectures too. It definitely
runs on Linux/386, SunOS4.1.3/sparc, HP-UX8.0/9000-370 and
IRIX5.3/mips.
Edit Makefile and `make', install rateconv manually to .../bin
together with rcv and the examples you desire.
3. Copyright and disclaimer
---------------------------
Copyright (c) 1992, 1995 by Markus Mummert
Redistribution and use of this software, modifcation and inclusion
into other forms of software are permitted provided that the
following conditions are met:
1. Redistributions of this software must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. If this software is redistributed in a modified condition
it must reveal clearly that it has been modified.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
4. Author
---------
Questions, remarks, suggestions and advice are welcome
Markus Mummert
* SNAILMAIL: Emanuelstr. 27
D-80796 Munich
Germany
* PHONE: +49 89 300 44 70
* MAIL:
Please Note: this adress is checked depending
on traffic - maybe only twice a month at the worst.
My own system is offline.
===EOT===$Id: README,v 1.5 1995/12/09 02:16:21 mummert Exp mummert $