From 9dc7867ef650d361b0e53d505ce40e1208232b74 Mon Sep 17 00:00:00 2001 From: "B. Watson" Date: Thu, 12 Jan 2023 02:02:08 -0500 Subject: [PATCH] audio/rubberband: Updated for version 3.1.2. Signed-off-by: B. Watson Signed-off-by: Willy Sudiarto Raharjo --- audio/rubberband/README | 3 + audio/rubberband/rubberband.1 | 295 +++++++++++++++---------- audio/rubberband/rubberband.SlackBuild | 23 +- audio/rubberband/rubberband.info | 6 +- audio/rubberband/slack-desc | 2 +- 5 files changed, 203 insertions(+), 126 deletions(-) diff --git a/audio/rubberband/README b/audio/rubberband/README index a9facf9b42..d8644ac391 100644 --- a/audio/rubberband/README +++ b/audio/rubberband/README @@ -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. diff --git a/audio/rubberband/rubberband.1 b/audio/rubberband/rubberband.1 index 73bbf1058c..bb4fbbfdc5 100644 --- a/audio/rubberband/rubberband.1 +++ b/audio/rubberband/rubberband.1 @@ -1,120 +1,175 @@ -.\" This manpage has been automatically generated by docbook2man -.\" from a DocBook document. This tool can be found at: -.\" -.\" Please send any bug reports, improvements, comments, patches, -.\" etc. to Steve Cheng . -.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 \&. +.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 . +.PP +This manual page was written by Székelyi Szabolcs and +revised in October 2022 by Dennis Braun 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 diff --git a/audio/rubberband/rubberband.SlackBuild b/audio/rubberband/rubberband.SlackBuild index 14ce259846..e2d9967415 100644 --- a/audio/rubberband/rubberband.SlackBuild +++ b/audio/rubberband/rubberband.SlackBuild @@ -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 diff --git a/audio/rubberband/rubberband.info b/audio/rubberband/rubberband.info index fff2493507..50d7db9f3e 100644 --- a/audio/rubberband/rubberband.info +++ b/audio/rubberband/rubberband.info @@ -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" diff --git a/audio/rubberband/slack-desc b/audio/rubberband/slack-desc index 65e2344901..9ff92d4aaf 100644 --- a/audio/rubberband/slack-desc +++ b/audio/rubberband/slack-desc @@ -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: