audio/rubberband: Updated for version 3.1.2.

Signed-off-by: B. Watson <urchlay@slackware.uk>

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
B. Watson 2023-01-12 02:02:08 -05:00 committed by Willy Sudiarto Raharjo
parent 69a230ba36
commit 9dc7867ef6
No known key found for this signature in database
GPG key ID: 3F617144D7238786
5 changed files with 203 additions and 126 deletions

View file

@ -10,3 +10,6 @@ packages, make sure its profile script has been sourced (normally
by logging out & back in), and build rubberband with JAVA=yes
set in the environment. Currently, this has only been tested
with openjdk8.
Optional dependency: lv2 (autodetected). If present, the rubberband
lv2 plugin will be built.

View file

@ -1,120 +1,175 @@
.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
.TH "RUBBERBAND" "1" "15 September 2014" "" ""
.SH NAME
rubberband \- an audio time-stretching and pitch-shifting utility program
.SH SYNOPSIS
\fBrubberband\fR [ \fB\fIoptions\fB\fR ] [ \fB\fIinput file\fB\fR ] [ \fB\fIoutput file\fB\fR ]
.SH "DESCRIPTION"
.PP
This manual page documents briefly the
\fBrubberband\fR command.
.PP
Rubber Band is a program that permits you to change the
tempo and pitch of an audio recording independently of one
another.
.SH "OPTIONS"
.PP
These programs follow the usual GNU command line syntax,
with long options starting with two dashes (`-'). A summary of
options is included below.
.PP
You must specify at least one of the following time and
pitch ratio options.
.TP
\fB-t, --time \fIX\fB\fR
Stretch to \fIX\fR times original
duration, or
.TP
\fB-T, --tempo \fIX\fB\fR
Change tempo by multiple \fIX\fR (equivalent to --time 1/X)
.TP
\fB-p, --pitch \fIX\fB\fR
Raise pitch by \fIX\fR semitones, or
.TP
\fB-f, --frequency \fIX\fB\fR
Change frequency by multiple \fIX\fR
.PP
The following option provides a simple way to adjust the
sound. See below for more details.
.TP
\fB-n, --crisp \fIN\fB\fR
Crispness (N = 0,1,2,3,4,5); default 4 (see below)
.PP
The remaining options fine-tune the processing mode and
stretch algorithm. These are mostly included for test purposes;
the default settings and standard crispness parameter are
intended to provide the best sounding set of options for most
situations.
.TP
\fB-P, --precise\fR
Aim for minimal time distortion (implied by -R)
.TP
\fB-R, --realtime\fR
Select realtime mode (implies -P --no-threads)
.TP
\fB--no-threads\fR
No extra threads regardless of CPU and channel count
.TP
\fB--threads\fR
Assume multi-CPU even if only one CPU is identified
.TP
\fB--no-transients\fR
Disable phase resynchronisation at transients
.TP
\fB--bl-transients\fR
Band-limit phase resync to extreme frequencies
.TP
\fB--no-peaklock\fR
Disable phase locking to peak frequencies
.TP
\fB--no-softening\fR
Disable large-ratio softening of phase locking
.TP
\fB--window-long\fR
Use longer processing window (actual size may vary)
.TP
\fB--window-short\fR
Use shorter processing window
.TP
\fB--thresh \fIN\fB \fIF\fB\fR
Set internal freq threshold \fIN\fR (N = 0,1,2) to \fIF\fR Hz
.TP
\fB-d, --debug \fIN\fB\fR
Select debug level (N = 0,1,2,3); default 0, full 3
(N.B. debug level 3 includes audible ticks in output)
.TP
\fB-q, --quiet\fR
Suppress progress output
.TP
\fB-h, --help\fR
Show a list of available options
.PP
Crispness levels:
.TP
\fB0\fR
equivalent to --no-transients --no-peaklock --window-long
.TP
\fB1\fR
equivalent to --no-transients --no-peaklock
.TP
\fB2\fR
equivalent to --no-transients
.TP
\fB3\fR
equivalent to --bl-transients
.TP
\fB4\fR
default processing options
.TP
\fB5\fR
equivalent to --no-peaklock --window-short (may be suitable for drums)
.SH "AUTHOR"
.PP
Rubber Band was written by Chris Cannam <cannam@all-day-breakfast.com>\&.
.TH "RUBBERBAND" "1"
.SH "NAME"
rubberband \(em an audio time-stretching and pitch-shifting utility program
.SH "SYNOPSIS"
.PP
\fBrubberband\fR [\fB\fIoptions\fR\fP] [\fB\fIinput file\fR\fP] [\fB\fIoutput file\fR\fP]
.SH "DESCRIPTION"
.PP
This manual page documents briefly the
\fBrubberband\fR command.
.PP
Rubber Band is a program that permits you to change the
tempo and pitch of an audio recording independently of one
another.
.SH "OPTIONS"
.PP
These programs follow the usual GNU command line syntax,
with long options starting with two dashes (`\-\-'). A summary of
options is included below.
.PP
You must specify at least one of the following time and
pitch ratio options.
.IP "\fB-t\fP, \fB\-\-time\fP \fIX\fR" 10
Stretch to \fIX\fR times original duration, or
.IP "\fB-T\fP, \fB\-\-tempo\fP \fIX\fR" 10
Change tempo by multiple \fIX\fR (equivalent to \-\-time 1/X), or
.IP "\fB-T\fP, \fB\-\-tempo\fP \fIX\fR:\fIY\fR" 10
Change tempo from \fIX\fR to \fIY\fR (same as \-\-time X/Y), or
.IP "\fB-D\fP, \fB\-\-duration\fP \fIX\fR" 10
Stretch or squash to make output file \fIX\fR seconds long
.IP "\fB-p\fP, \fB\-\-pitch\fP \fIX\fR" 10
Raise pitch by \fIX\fR semitones, or
.IP "\fB-f\fP, \fB\-\-frequency\fP \fIX\fR" 10
Change frequency by multiple \fIX\fR
.PP
The following options provide ways of making the time and frequency ratios
change during the audio:
.IP "\fB-M\fP, \fB\-\-timemap\fP \fIF\fR" 10
Use file F as the source for time map
.PP
A time map (or key-frame map) file contains a series of lines, each with two
sample frame numbers separated by a single space. These are source and
target frames for fixed time points within the audio data, defining a varying
stretch factor through the audio. When supplying a time map you must specify
an overall stretch factor using \-t, \-T, or \-D as well, to determine the
total output duration.
.IP " \fB\-\-pitchmap\fP \fIF\fR" 10
Use file F as the source for pitch map
.PP
A pitch map file contains a series of lines, each with two values: the input
sample frame number and a pitch offset in semitones, separated by a single
space. These specify a varying pitch factor through the audio. The offsets
are all relative to an initial offset specified by the pitch or frequency
option, or relative to no shift if neither was specified. Offsets are
not cumulative. This option implies realtime mode (\-R) and also enables a
high-consistency pitch shifting mode, appropriate for dynamic pitch changes.
Because of the use of realtime mode, the overall duration will not be exact.
.IP " \fB\-\-freqmap\fP \fIF\fR" 10
Use file F as the source for freq map
.PP
A frequency map file is like a pitch map, except that its second column
lists frequency multipliers rather than pitch offsets (like the difference
between pitch and frequency options above)
.PP
The following options affect the sound manipulation and quality
.IP "\fB-2\fP, \fB\-\-fast\fP" 10
Use the R2 (faster) engine
.PP
This is the default (for backward compatibility) when this tool is invoked
as "rubberband". It was the only engine available in versions prior to v3.0.
.IP "\fB-3\fP, \fB\-\-fine\fP" 10
Use the R3 (finer) engine
.PP
This is the default when this tool is invoked as "rubberband-r3". It almost
always produces better results than the R2 engine, but with significantly
higher CPU load.
.IP "\fB-F\fP, \fB\-\-formant\fP" 10
Enable formant preservation when pitch shifting
.PP
This option attempts to keep the formant envelope unchanged when changing
the pitch, retaining the original timbre of vocals and instruments in a
recognisable way.
.IP "\fB-c\fP, \fB\-\-crisp\fP \fIN\fR" 10
Crispness (N = 0,1,2,3,4,5); default 4 (see below)
.PP
This option only has an effect when using the R2 (faster) engine. See below
for details of the different levels.
.PP
The remaining options fine-tune the processing mode and stretch algorithm.
The default is to use none of these options.
The options marked (2) currently only have an effect when using the R2 engine
(see \-2, \-3 options above).
.IP "\fB-R\fP, \fB\-\-realtime\fP" 10
Select realtime mode (implies \-\-no-threads).
This utility does not do realtime stream processing;
the option merely selects realtime mode for the
stretcher it uses
.IP "\fB\-\-no-threads\fP" 10
No extra threads regardless of CPU and channel count (R2)
.IP "\fB\-\-threads\fP" 10
Assume multi-CPU even if only one CPU is identified (R2)
.IP "\fB\-\-no-transients\fP" 10
Disable phase resynchronisation at transients (R2)
.IP "\fB\-\-bl-transients\fP" 10
Band-limit phase resync to extreme frequencies (R2)
.IP "\fB\-\-no-lamination\fP" 10
Disable phase lamination (R2)
.IP "\fB\-\-smoothing\fP" 10
Apply window presum and time-domain smoothing (R2)
.IP "\fB\-\-detector-perc\fP" 10
Use percussive transient detector (as in pre-1.5) (R2)
.IP "\fB\-\-detector-soft\fP" 10
Use soft transient detector (R2)
.IP "\fB\-\-window-long\fP" 10
Use longer processing window (actual size may vary) (R2)
.IP "\fB\-\-window-short\fP" 10
Use shorter processing window (with the R3 engine
this is effectively a quick "draft mode")
.IP "\fB\-\-pitch-hq\fP" 10
In RT mode, use a slower, higher quality pitch shift
.IP "\fB\-\-centre-focus\fP" 10
reserve focus of centre material in stereo
(at a cost in width and individual channel quality)
.IP "\fB\-\-ignore-clipping\fP" 10
Ignore clipping at output; the default is to restart
with reduced gain if clipping occurs
.IP "\fB-L\fP, \fB\-\-loose \fP" 10
[Accepted for compatibility but ignored; always off]
.IP "\fB-P\fP, \fB\-\--precise \fP" 10
[Accepted for compatibility but ignored; always on]
.IP "\fB-d\fP, \fB\-\-debug\fP \fIN\fR" 10
Select debug level (N = 0,1,2,3); default 0, full 3
(N.B. debug level 3 includes audible ticks in output)
.PP
The following options are for output control and administration:
.IP "\fB-q\fP, \fB\-\-quiet\fP" 10
Suppress progress output
.IP "\fB-V\fP, \fB\-\-version\fP" 10
Show version number and exit
.IP "\fB-h\fP, \fB\-\-help\fP" 10
Show the normal help output
.IP "\fB-H\fP, \fB\-\-full-help\fP" 10
Show the full help output
.PP
"Crispness" levels:
.IP "0" 10
equivalent to \-\-no-transients \-\-no-lamination \-\-window-long
.IP "1" 10
equivalent to \-\-detector-soft \-\-no-lamination \-\-window-long (for piano)
.IP "2" 10
equivalent to \-\-no-transients \-\-no-lamination
.IP "3" 10
equivalent to \-\-no-transients
.IP "4" 10
equivalent to \-\-bl-transients
.IP "5" 10
default processing options
.IP "6" 10
equivalent to \-\-no-lamination \-\-window-short (may be good for drums)
.SH "AUTHOR"
.PP
Rubber Band was written by Chris Cannam <cannam@all-day-breakfast.com>.
.PP
This manual page was written by Székelyi Szabolcs <cc@mail.3d.hu> and
revised in October 2022 by Dennis Braun <snd@y0o.de> for
the \fBDebian\fP system (but may be used by others), because the
original program does not have a manual page. Permission is
granted to copy, distribute and/or modify this document under
the terms of the GNU General Public License, Version 2 any
later version published by the Free Software Foundation.
.PP
On Debian systems, the complete text of the GNU General
Public License can be found in
/usr/share/common-licenses/GPL.
.\" created by instant / docbook-to-man

View file

@ -8,6 +8,13 @@
# Modified version licensed under the WTFPL. See
# http://www.wtfpl.net/txt/copying/ for details.
# 20230112 bkw: update for v3.1.2.
# In 3.1.2, ladspa_sdk and vamp-plugin-sdk are not required. I'm
# leaving them in REQUIRES for now, because other builds that
# depend on rubberband might also depend on ladspa_sdk and/or
# vamp-plugin-sdk, but not list them in REQUIRES because rubberband
# "pulls them in". This will change in the future!
# 20211125 bkw: update for v2.0.0
# 20201103 bkw: update for v1.9.0
# 20180702 bkw:
@ -25,7 +32,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=rubberband
VERSION=${VERSION:-2.0.0}
VERSION=${VERSION:-3.1.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -141,16 +148,28 @@ fi
WITHJAVA=WITHOUT
[ -e $JNILIB ] && WITHJAVA=WITH
WITHLV2=WITHOUT
[ -e $PKG/usr/lib$LIBDIRSUFFIX/lv2/$PRGNAM.lv2/lv2-$PRGNAM.so ] && \
WITHLV2=WITH
# 20230112 bkw: in 3.1.2, we get two identical binaries...
rm $PKG/usr/bin/$PRGNAM-r3
ln -s $PRGNAM $PKG/usr/bin/$PRGNAM-r3
# man page borrowed from Debian
mkdir -p $PKG/usr/man/man1
gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
ln -s $PRGNAM.1.gz $PKG/usr/man/man1/$PRGNAM-r3.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a CHANGELOG COPYING README* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
sed "s,@WITHJAVA@,$WITHJAVA," $CWD/slack-desc > $PKG/install/slack-desc
sed -e "s,@WITHJAVA@,$WITHJAVA," \
-e "s,@WITHLV2@,$WITHLV2," \
$CWD/slack-desc \
> $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE

View file

@ -1,8 +1,8 @@
PRGNAM="rubberband"
VERSION="2.0.0"
VERSION="3.1.2"
HOMEPAGE="https://www.breakfastquay.com/rubberband"
DOWNLOAD="https://breakfastquay.com/files/releases/rubberband-2.0.0.tar.bz2"
MD5SUM="505d10a6817e5edffd3b1fc8a21b35c2"
DOWNLOAD="https://breakfastquay.com/files/releases/rubberband-3.1.2.tar.bz2"
MD5SUM="3e57a26cf4d60da25bafa317a91e0250"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="ladspa_sdk vamp-plugin-sdk"

View file

@ -15,5 +15,5 @@ rubberband:
rubberband: Homepage: http://breakfastquay.com/rubberband
rubberband:
rubberband: This package was built @WITHJAVA@ Java JNI support.
rubberband:
rubberband: This package was built @WITHLV2@ the LV2 plugin.
rubberband: