123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- README file for resample-1.x.tgz from the
- Digital Audio Resampling Home Page located at
- http://ccrma.stanford.edu/~jos/resample/.
- SOFTWARE FOR SAMPLING-RATE CONVERSION AND FIR DIGITAL FILTER DESIGN
- For installation instructions, read the INSTALL file in this directory.
- The resample program "resamples" a soundfile to change its sampling
- rate. For example, it can be used to convert the sampling rate from
- 48 kHz (used by DAT machines) to 44.1 kHz (the standard sampling rate
- for Compact Discs). The command line for this operation would look
- something like
- resample -by 0.91875 dat.snd cd.snd
- or, more simply,
- resample -to 44100 dat.snd cd.snd
- Any reasonable sampling rate can be converted to any other.
- The windowfilter program designs Finite-Impulse-Response (FIR) digital
- filters by the so-called "window method." In this method, the ideal
- impulse response (a sinc function) is "windowed" by a Kaiser window (a
- popular window used in spectrum analysis).
- The resample program uses 32-bit fixed-point arithmetic: 16-bits data
- and 16-bits coefficients. The input soundfile must be 16-bit mono or
- stereo (interleaved) audio data.
- SNDLIB
- The program uses elements of Bill Schottstaedt's sndlib sound file
- library. This means resample can read many different kinds of sound
- file header (AIFF, WAV, NeXT, IRCAM, etc.).
- The sndlib files used by resample are included in this directory to
- ensure stability. The latest version of sndlib should be available as
- ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz
- See sndlib.html in the sndlib distribution for documentation of SNDLIB.
- CONTENTS of ./src directory
- resample.c Sampling-rate conversion program.
- resample.1 Manual page for resample. Try "nroff -man resample.1".
- resamplesubs.c Subroutines used by resample.
- resample.h Configuration constants for the sampling rate converter.
- stdefs.h Machine-dependent definitions, useful constants and macros.
- windowfilter.c Program for designing FIR digital filters used by resample.
- windowfilter.1 Manual page for windowfilter.
- filterkit.c Library for filter design, application, and file management.
- filterkit.h Declarations (procedure prototypes) for the filterkit library.
- README This file.
- README.deemph A word about deemphasis filtering.
- LGPL GNU Lesser General Public License (LGPL)
- SNDLIB files:
- io.c
- audio.c
- headers.c
- sound.c
- sndlib.h
- sndlib-strings.h
- COPYING
- SNDLIB files are Copyright 2000 by Bill Schottstaedt <bil@ccrma.stanford.edu>.
- The remaining files in this package, unless otherwise noted, are
- Copyright 1994-2006 by Julius O. Smith III <jos@ccrma.stanford.edu>,
- all rights reserved. Permission to use and copy is granted subject to
- the terms of the "GNU Lesser General Public License" (LGPL) as
- published by the Free Software Foundation; either version 2.1 of the
- License, or any later version. In addition, we request that a copy of
- any modified files be sent by email to jos@ccrma.stanford.edu so that
- we may incorporate them into the CCRMA version.
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
- FILTERKIT CONTENTS
- LpFilter() - Calculates the filter coeffs for a Kaiser-windowed
- low-pass filter with a given roll-off frequency. These
- coeffs are stored into a array of doubles.
- writeFilter() - Writes a filter to a file.
- makeFilter() - A section of the original SAIL program. Calls
- LpFilter() to create a filter, then scales the double
- coeffs into a array of half words.
- readFilter() - Reads a filter from a file.
- FilterUp() - Applies a filter to a given sample when up-converting.
- FilterUD() - Applies a filter to a given sample when up- or down-
- converting. Both are repoductions of the original SAIL
- program.
- initZerox() - Initialization routine for the zerox() function. Must
- be called before zerox() is called. This routine loads
- the correct filter so zerox() can use it.
- zerox() - Given a pointer into a sample, finds a zero-crossing on the
- interval [pointer-1:pointer+2] by iteration.
- Query() - Ask the user for a yes/no question with prompt, default,
- and optional help.
- GetUShort() - Ask the user for a unsigned short with prompt, default,
- and optional help.
- GetDouble() - Ask the user for a double with prompt, default, and
- optional help.
- GetString() - Ask the user for a string with prompt, default, and
- optional help.
- FILTER FILE FORMAT
- File Name: "F" Nmult "T" Nhc ".filter"
- example: "F13T8.filter" and "F27T8.filter"
- Structure of File:
- "ScaleFactor" LpScl
- "Length" Nwing
- "Coeffs:"
- Imp[0]
- Imp[1]
- :
- Imp[Nwing-1]
- "Differences:"
- ImpD[0]
- ImpD[1]
- :
- ImpD[Nwing-1]
- EOF
- where: Something enclosed in "" indicates specific characters in the file.
- Nmult, Nwing, Imp[], and ImpD[] are variables (HWORD)
- Npc is a conversion constant.
- EOF is the end of the file.
- See writeFilter() and readFilter() in "filterkit.c" for more details.
|