# # spec file for package librubberband # # Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define sover 2 Name: librubberband Version: 3.1.0 Release: 1.9 Summary: Audio time-stretching and pitch-shifting library License: GPL-2.0-or-later Group: System/Libraries URL: https://www.breakfastquay.com/rubberband/ Source: https://breakfastquay.com/files/releases/rubberband-%{version}.tar.bz2 Source1: baselibs.conf BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: ladspa-devel BuildRequires: meson >= 0.53.0 BuildRequires: pkgconfig BuildRequires: vamp-plugin-sdk-devel BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(lv2) BuildRequires: pkgconfig(samplerate) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(vamp-sdk) Requires: ladspa Requires: lv2 %description Rubber Band is a library and utility program that permits you to change the tempo and pitch of an audio recording independently of one another. %package -n %{name}%{sover} Summary: Audio time-stretching and pitch-shifting library Group: System/Libraries URL: https://www.breakfastquay.com/rubberband/ %description -n %{name}%{sover} Rubber Band is a library and utility program that permits you to change the tempo and pitch of an audio recording independently of one another. %package -n rubberband-cli Summary: Command line interface for %{name} Group: Productivity/Multimedia/Sound/Editors and Convertors Requires: %{name}%{sover} = %{version} %description -n rubberband-cli Package rubberband-cli contains a command-line utility that can be used to exploit Rubber Band's capabilities. %package -n rubberband-ladspa Summary: LADSPA plugin for %{name} Group: Productivity/Multimedia/Sound/Editors and Convertors Requires: %{name}%{sover} = %{version} %description -n rubberband-ladspa Package rubberband-ladspa is LADSPA plugin that can change the pitch of a sound in real-time. %package -n rubberband-lv2 Summary: LV2 plugins for %{name} Group: Productivity/Multimedia/Sound/Utilities Requires: %{name}%{sover} = %{version} %description -n rubberband-lv2 Package rubberband-lv2 contains the rubberband LV2 plugin. %package -n rubberband-vamp Summary: Vamp plugins for %{name} Group: Productivity/Multimedia/Sound/Editors and Convertors Requires: %{name}%{sover} = %{version} %description -n rubberband-vamp This package contains the following Vamp plugins: * increments (Output Increments): Output time increment for each input step * aggregate_increments (Accumulated Output Increments): Accumulated output time increments * divergence (Divergence from Linear): Difference between actual output time and the output time for a theoretical linear stretch * phaseresetdf (Phase Reset Detection Function): Curve whose peaks are used to identify transients for phase reset points * smoothedphaseresetdf (Smoothed Phase Reset Detection Function): Phase reset curve smoothed for peak picking * phaseresetpoints (Phase Reset Points): Points estimated as transients at which phase reset occurs * timesyncpoints (Time Sync Points): Salient points which stretcher aims to place with strictly correct timing %package devel Summary: Development files for %{name} Group: Development/Libraries/C and C++ Requires: %{name}%{sover} = %{version} Requires: pkgconfig %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %setup -q -n rubberband-%{version} %build %meson -Dfft=fftw %meson_build %install %meson_install rm %{buildroot}%{_libdir}/*.a %post -n %{name}%{sover} -p /sbin/ldconfig %postun -n %{name}%{sover} -p /sbin/ldconfig %files -n %{name}%{sover} %license COPYING %doc README.md %{_libdir}/%{name}.so.%{sover}* %files devel %dir %{_includedir}/rubberband %{_includedir}/rubberband/*.h %{_libdir}/librubberband.so %{_libdir}/pkgconfig/rubberband.pc %files -n rubberband-cli %{_bindir}/rubberband %{_bindir}/rubberband-r3 %files -n rubberband-ladspa %dir %{_libdir}/ladspa %dir %{_datadir}/ladspa %dir %{_datadir}/ladspa/rdf %{_libdir}/ladspa/ladspa-rubberband.cat %{_libdir}/ladspa/ladspa-rubberband.so %{_datadir}/ladspa/rdf/ladspa-rubberband.rdf %files -n rubberband-lv2 %dir %{_libdir}/lv2 %dir %{_libdir}/lv2/rubberband.lv2 %{_libdir}/lv2/rubberband.lv2/lv2-rubberband.so %{_libdir}/lv2/rubberband.lv2/lv2-rubberband.ttl %{_libdir}/lv2/rubberband.lv2/manifest.ttl %files -n rubberband-vamp %dir %{_libdir}/vamp %{_libdir}/vamp/vamp-rubberband.cat %{_libdir}/vamp/vamp-rubberband.so %changelog * Mon Oct 3 2022 Christophe Giboudeaux - Update to 3.1.0 * Add support for "short window" mode, OptionWindowShort, to the new R3 processing engine. * Implement OptionPitchHighSpeed in the R3 engine. * Add support for the SLEEF library (libsleefdft) for FFTs. * Add support for external Speex library (libspeexdsp) for resampling. * Update the R2 engine so that it always restores vertical phase coherence gradually when returning to a ratio of 1.0 (as R3 also does) rather than waiting for silence or a transient. * Update R3 to properly support all sample rates between 8000 and 192000 Hz. * Update command-line utility so as to use the extension of the output filename to determine the file type to write. * Remove support for libresample. * Fix several bugs, including a crash when run with very low sample rates. * Wed Aug 3 2022 llyyr - Update to version 3.0.0 * Introduces a new engine * Various other changes - Add rubberband-lv2 package - Drop obsoleted patch: rubberband-mk.patch * Mon Sep 7 2020 Luigi Baldoni - Update to version 1.8.2 * Fix a number of small memory leaks * Make stretcher more robust to being fed invalid input (with NaNs) * Various platform build fixes and improvements * The API is unchanged and the library is binary compatible with version 1.7. - Refreshed rubberband-mk.patch - Spec cleanup * Thu Jul 16 2015 olaf@aepfle.de - Fix build in SLE_11 by disabling usage of help2man * Mon Feb 16 2015 tchvatal@suse.com - Cleanup with spec-cleaner - Remove conditional for < 11.4 - Add baselibs.conf to spec as source * Thu Feb 12 2015 p.drouand@gmail.com - Update to version 1.8.1 * Fix a crash in formant-preserving pitch shift for some build targets - Remove COPYING file from sources; upstreamed - Remove fix-cstdio.patch; fixed on upstream release - Use download Url as source * Sun May 22 2011 davejplater@gmail.com - Fix README eol encoding with dos2unix. - Added rubberband help2man man page generator to spec. - Downloaded GPLv2 license to replace incorrect COPYING. * Thu May 19 2011 mseben@gmail.com - updated to 1.6 * Add Smoothing option. This uses a window-presum FFT, introducing time-domain aliasing which is then smoothed using a sinc window. This can be used in combination with any of the existing processing control options. This will soften transients but the result may still be more pleasant for some material that is not very amenable to being time stretched. * Fix silent channel of output when processing with band-limited transients option * Include libresample support - added fix-cstdio.patch to fix build * Sun May 1 2011 toddrme2178@gmail.com - Added 32bit compatibility libraries * Wed Oct 20 2010 mseben@gmail.com - updated to 1.5 * Add a more reliable transient detection mode, and make the mode selectable using OptionDetectorXXX flags -- the new method is the default * Band-limit transient detectors to avoid being distracted by inaudible garbage * Add a key-frame mapping facility for variable stretch ratio management during offline stretches - changes in Rubber Band v1.4 * Fix a hang when faced with some very peculiar stretch factors * Fix some incorrect threading condition usage * Some code rearrangement * Fix build on Solaris - dopped rubberband-gcc44.patch * Fri Jul 17 2009 mseben@suse.cz - add missing COPYING file with GPLv2 (bnc#522202) * Tue Jul 7 2009 mseben@suse.cz - initial package for openSUSE