SHA256
1
0
forked from pool/soundtouch
soundtouch/soundstretch.1

90 lines
3.5 KiB
Groff
Raw Normal View History

.TH "soundstretch" 1
.SH NAME
soundstretch \- audio processing utility
.SH SYNOPSIS
.B soundstretch
infile.wav outfile.wav [options]
.SH 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.
.SH USAGE
SoundStretch Usage syntax:
"infile.wav" Name of the input sound data file (in .WAV audio file format). Give "stdin" as filename to use standard input pipe.
"outfile.wav" 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' switch). Give "stdout" as filename to use standard output pipe.
[options] Are one or more control options.
.SH OPTIONS
Available control options are:
.B \-tempo=n
Change the sound tempo by n percents (n = \-95.0 .. +5000.0 %)
.B \-pitch=n
Change the sound pitch by n semitones (n = \-60.0 .. + 60.0 semitones)
.B \-rate=n
Change the sound playback rate by n percents (n = \-95.0 .. +5000.0 %)
.B \-bpm=n
Detect the Beats-Per-Minute (BPM) rate of the sound and adjust the tempo to meet 'n' BPMs. When this switch is applied, the " \-tempo" switch is ignored. If "=n" is omitted, i.e. switch " \-bpm" is used alone, then the BPM rate is estimated and displayed, but tempo not adjusted according to the BPM value.
.B \-quick
Use quicker tempo change algorithm. Gains speed but loses sound quality.
.B \-naa
Don't use anti-alias filtering in sample rate transposing. Gains speed but loses sound quality.
.B \-license
Displays the program license text (LGPL)
.SH NOTES
* To use standard input/output pipes for processing, give "stdin" and "stdout" as input/output filenames correspondingly. The standard input/output pipes will still carry the audio data in .wav audio file format.
* The numerical switches allow both integer (e.g. " \-tempo=123") and 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 bass or drum patterns at low frequencies of <250Hz. A lower-than-expected BPM figure may be reported for music with uneven or complex bass patterns.
.SH EXAMPLES
Example 1
The following command increases tempo of the sound file "originalfile.wav" by 12.5% and stores 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 stores 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. Resulting .wav audio data is directed to standard output pipe:
soundstretch orig.wav stdout \-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 stored to file "dest.wav":
soundstretch orig.wav dest.wav \-bpm=100
Example 5
The following command reads .wav sound data from standard input pipe and estimates the BPM rate:
soundstretch stdin \-bpm
.SH NOTES
Accepting request 586073 from home:avindra - Update to version 2.0.0 * Added functions to get initial processing latency, duration ratio between the original input and processed output tracks, and clarified reporting of input/output batch sizes * Fixed issue that added brief sequence of silence to beginning of output audio * Adjusted algorithm parameters to reduce reverberating effect at tempo slowdown * Bugfix: Fixed a glitch that could cause negative array indexing in quick seek algorithm * Bugfix: flush() didn't properly flush final samples from the pipeline on 2nd time in case that soundtouch object instance was recycled and used for processing a second audio stream. * Bugfix: Pi value had incorrect 9th/10th decimals * Added C# example application that uses SoundTouch dll library for processing MP3 files - includes 1.9.2: * Fix in GNU package configuration - includes 1.9.1: * Improved SoundTouch::flush() function so that it returns precisely the desired amount of samples for exact output duration control * Redesigned quickseek algorithm for improved sound quality when using the quickseek mode. The new quickseek algorithm can find 99% as good results as the default full-scan mode, while the quickseek algorithm is remarkable less CPU intensive. * Added adaptive integer divider scaling for improved sound quality when using integer processing algorithm - includes 1.9: * Added support for parallel computation support via OpenMP primitives for better performance in multicore systems. Benchmarks show that achieved parallel processing speedup improvement typically range from +30% (x86 dual-core) to +180% (ARM quad-core). The OpenMP optimizations are disabled by default, see OpenMP notes above in this readme file how to enabled these optimizations. * Android: Added support for Android devices featuring X86 and MIPS CPUs, in addition to ARM CPUs. * Android: More versatile Android example application that processes WAV audio files with SoundTouch library * Replaced Windows-like 'BOOL' types with native 'bool' * Changed documentation token to "dist_doc_DATA" in Makefile.am * Miscellaneous small fixes and improvements - cleanup with spec-cleaner - other spec fixes: * switch to https * link directly to man page taken from debian, and refresh it * macroify sover, bump from 0 to 1 OBS-URL: https://build.opensuse.org/request/show/586073 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/soundtouch?expand=0&rev=25
2018-03-13 08:12:29 +01:00
Converted from the README.html that comes with SoundTouch.