Man Linux: Main Page and Category List

NAME

       soundstretch - audio processing utility

SYNOPSIS

       soundstretch infile.wav outfile.wav [options]

DESCRIPTION

       SoundStretch  is  a  simple  command-line  application  that can change
       tempo, pitch and playback rates of WAV sound  files.  This  program  is
       intended  primarily  to demonstrate how the "SoundTouch" library can be
       used to process sound in your own program, but it can as well  be  used
       for processing sound files.

USAGE

       SoundStretch Usage syntax:

       "infile.wav"is  the  name  of  the input sound data file (in .WAV audio
       file format).

       "outfile.wav"   is  the  name  of  the  output  sound  file  where  the
       resulting  sound  is  saved (in .WAV audio file format). This parameter
       may be omitted if you don’t want to save the  output  (e.g.  when  only
       calculating BPM rate with ’-bpm’ option).

       [options]      Are one or more control options.

OPTIONS

       Available control options are:

       -tempo=n Change the sound tempo by n percents (n = -95.0 .. +5000.0 %)

       -pitch=n  Change  the  sound  pitch by n semitones (n = -60.0 .. + 60.0
       semitones)

       -rate=n Change the sound playback rate by n  percents  (n  =  -95.0  ..
       +5000.0 %)

       -bpm=n  Detect  the Beats-Per-Minute (BPM) rate of the sound and adjust
       the tempo to meet ’n’ BPMs. If this switch is defined,  the  "-tempo=n"
       switch value is ignored. If "=n" is omitted, i.e. switch "-bpm" is used
       alone, the program just calculates   and  displays  the  BPM  rate  but
       doesn’t adjust tempo according to the BPMvalue.

       -quick  Use quicker tempo change algorithm. Gains speed but loses sound
       quality.

       -naa Don’t use anti-alias filtering in sample rate  transposing.  Gains
       speed but loses sound quality.

       -license Displays the program license text (LGPL)

NOTES

       * The numerical switch values can be entered using either integer (e.g.
       "-tempo=123") or decimal (e.g."-tempo=123.45") numbers.

       * The "-naa" and/or "-quick" switches can be used to reduce  CPU  usage
       while compromising some sound quality

       *  The  BPM  detection  algorithm  works  by  detecting  repeating low-
       frequency (<250Hz) sound patterns  and  thus  works  mostly  with  most
       rock/pop  music  with bass or drum beat. The BPM detection doesn’t work
       on pieces such as classical  music  without  distinct,  repeating  bass
       frequency  patterns.  Also  pieces  with  varying  tempo,  varying bass
       patterns or very complex bass patterns (jazz, hiphop) may  produce  odd
       BPM readings.

       In  cases when the bass pattern drifts a bit around a nominal beat rate
       (e.g. drummer is  again  drunken  :),  the  BPM  algorithm  may  report
       incorrect  harmonic  one-halft to one-thirdth of the correct BPM value;
       in such case the system could for example report BPM value of 50 or 100
       instead of correct BPM value of 150.

EXAMPLES

       Example  1  The  following  command  increases  tempo of the sound file
       "originalfile.wav"   by   12.5%    and    saves    result    to    file
       "destinationfile.wav":

       soundstretch originalfile.wav destinationfile.wav -tempo=12.5

       Example 2

       The following command decreases the sound pitch (key) of the sound file
       "orig.wav" by two semitones and saves the result to file "dest.wav":

       soundstretch orig.wav dest.wav -pitch=-2

       Example 3

       The following command processes the file "orig.wav" by  decreasing  the
       sound  tempo  by  25.3%  and  increasing  the  sound pitch (key) by 1.5
       semitones. Result is saved to file "dest.wav":

       soundstretch orig.wav dest.wav -tempo=-25.3 -pitch=1.5

       Example 4

       The following command detects the BPM rate of the file  "orig.wav"  and
       adjusts  the  tempo  to  match 100 beats per minute. Result is saved to
       file "dest.wav":</p>

       soundstretch orig.wav dest.wav -bpm=100

NOTES

       Converted from the README.html that comes with SoundTouch

                                                               soundstretch(1)