audacia/lib-src/sbsms
Benjamin Drung 787f2afd10 Introduce end-of-line normalization
Ensures that all files that Git considers to be text will have
normalized (LF) line endings in the repository. When core.eol is set to
native (which is the default), Git will convert the line endings of
normalized files in your working directory back to your platform's
native line ending.

See also https://git-scm.com/docs/gitattributes
2016-05-17 01:05:05 +02:00
..
build These editor temporary files should never have been under version control 2010-02-11 16:43:15 +00:00
include Harmlessly qualify classes as final (or explicitly comment not)... 2016-02-24 20:58:30 -05:00
m4 Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
src Fix for bug 955 from Clayton Otey 2016-01-26 18:19:19 +00:00
win Introduce end-of-line normalization 2016-05-17 01:05:05 +02:00
AUTHORS Move library tree where it belongs 2010-01-24 09:19:39 +00:00
COPYING Move library tree where it belongs 2010-01-24 09:19:39 +00:00
ChangeLog TimeScale effect improvements, updating to sbsms 2, not including GUI changes (except removing obsolete transient sharpening option). See Bug 485. 2012-04-16 18:26:48 +00:00
INSTALL Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
Makefile.am Add autotools-fix-make-dist.patch to fix dist target of sbsms. 2013-11-07 23:32:19 +00:00
Makefile.in Getting all build scripts to the same Automake 1.14 version 2015-06-21 22:09:44 -07:00
NEWS Move library tree where it belongs 2010-01-24 09:19:39 +00:00
README Move library tree where it belongs 2010-01-24 09:19:39 +00:00
TODO Move library tree where it belongs 2010-01-24 09:19:39 +00:00
ar-lib Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
autotools-fix-make-dist.patch Add autotools-fix-make-dist.patch to fix dist target of sbsms. 2013-11-07 23:32:19 +00:00
autotools.patch Add and apply autotools.patch to fix all autotools warnings for sbsms. 2013-11-01 21:37:11 +00:00
bootstrap Move library tree where it belongs 2010-01-24 09:19:39 +00:00
compile Prepping for next release...regenerating build files 2015-01-03 05:57:16 +00:00
config.guess Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
config.sub Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
configure Getting all build scripts to the same Automake 1.14 version 2015-06-21 22:09:44 -07:00
configure.ac Add and apply autotools.patch to fix all autotools warnings for sbsms. 2013-11-01 21:37:11 +00:00
depcomp Move library tree where it belongs 2010-01-24 09:19:39 +00:00
dont-mangle-cflags.patch Move library tree where it belongs 2010-01-24 09:19:39 +00:00
install-sh Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
libsbsms.spec.in Move library tree where it belongs 2010-01-24 09:19:39 +00:00
ltmain.sh Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
missing Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
mkinstalldirs Regenerate autotool files of sbsms with a newer autotool version. 2013-11-01 21:38:06 +00:00
sbsms-srcdir.patch Add (restore?) the ability to build without trashing the source tree 2014-10-27 07:34:17 +00:00
sbsms.pc.in Move library tree where it belongs 2010-01-24 09:19:39 +00:00

README

Content
=======

libsbsms is a library for high quality time and pitch scale modification.  It uses octave subband sinusoidal modeling.

sbsms has optional support for libsndfile(--enable-sndfile) and libmad(--enable-mp3) for reading(.wav and .mp3) and writing(.wav) files, and optional support for portaudio for playing .sbsms format files(--enable-portaudio) with sbsmsplay.

The API is found in sbsms.h.  sbsms_create is called and supplied a callback which feeds sbsms_process samples.  The pitch_create and pitch_process functions are called only if pitch shifting is required.  It simply sticks a resampler on the end of the FIFO.  

A program called sbsms is included.  It reads PCM files such as .wav and .aif (and .mp3 files if --enable-mp3), and writes .wav files using libsndfile.  The usage is:
sbsms infile outfile rate-start rate-end halfsteps-start halfsteps-end <quality>

For example:
sbsms blob.wav blobOut.wav .5 .5 0 2 
will slow down blob.wav by a factor of 2, while simultaneously sliding the pitch up two half-steps, and put the output in blobOut.wav

Without sndfile support, the sbsms program will read text files in the format:
%g %g\n
...
and write output in the same format.

sbsms can also write .sbsms format files:
sbsms blob.wav blob.sbsms 1 1 0 0

which can be quickly rendered into .wav files at a new rate/pitch:
sbsms blob.sbsms blobOut.wav .5 .5 0 2

or played in realtime with sbsmsplay (if --enable-portaudio):
sbsmsplay blob.sbsms .5 .5 0 2

NOTE:
When reading the output from sbsms, you must determine a stopping condition for yourself, as the library zero pads the output ad infinitum and never returns 0 samples.  The simplest method for doing so is found in test.cpp.
  
Clayton Otey (otey@users.sourceforge.net)

Requirements
============

  POSIX systems (e.g. Linux, OS X):
  ---------------------------------

  You need at least to have libtool installed to be able to build the
  library with "./configure && make".

Compiling
=========

  Call './configure && make' on the console to compile the library, all
  tools and demo applications, documentation and install them with
  'make install'. The latter has to be called as root.

  If you are compiling from CVS you have to call 'make -f Makefile.cvs'
  to generate all autotools build files before calling
  './configure && make'.

  You can use 'make distclean' and probably 'make -f Makefile.cvs clean'
  to clean up everything again. The latter will also delete all automatic
  generated autools build files.