sox-14.0.1 2008-01-29
----------
File formats:
o Added support for non-standard, non-WAVE_FORMAT_EXTENSIBLE
(esp. 24-bit) PCM wav (see wavpcm in soxformat.7 for details). (robs)
Effects:
o Reimplemented reverb to be similar to freeverb. (robs)
Bug fixes:
o Fix Sndtool read error causing noise at start. (Reynir Stefánsson)
o Fix mixer with >4 numbers, and mixer -3 behaving as mixer -4. (robs)
o Fix [1748909] sox does not report remaining playtime of mp3s. (robs)
o Fix failure to read AIFF files with empty MARK chunk. (robs)
o Fix spurious 'Premature EOF' message in some circumstances. (robs)
o Switched to 16-bit for libao driver since not all its plugins
support it (such as oss, nas, and pulse audio) (Morita Sho)
o Stop crash when "rec" is run with no arguments (Morita Sho).
o Fix -V (without argument) on non-gnu systems. (robs)
o Fix reported (with -V) output audio length in some cases. (robs)
o Fix actual FLAC output file audio length in some cases. (robs)
o Fix poor 24-bit FLAC compression & support newer versions of
libFLAC (1.2.x). (robs)
o Fix loss of 1 decoded FLAC block when using "trim 0 ...". (robs)
o Fix trim when first effect with IMA-ADPCM input wav file. (robs)
Internal improvements:
o Let "make distcheck" run some automated test scripts.
o Distribute missing cmake files.
o Fix ogg vorbis compile error on some platforms.
o Remove unused libltdl that could cause header mismatch with
installed libltdl.
o Fix AMR detection with --disable-shared. (robs)
o Updated configure to support linking to static libraries
on mingw for flac, ogg, and libsamplerate libraries.
sox-14.0.0 2007-09-11
----------
File formats:
o Added ffmpeg support. (Reuben Thomas)
o FLAC: added seekable decoding; added seek-table generation. (robs)
o Added M3U & PLS playlist formats [FR# 1667341] (Note: SHOUTcast PLS
is only partially supported). (robs)
o Made format readers and writers into individual modules for easier
distribution of differently-licensed code. (Reuben Thomas)
o Added libao support. (Reuben Thomas)
o Added support for ADPCM-encoded PRC files, based on Danny Smith's
rec2wav and sndcmp. (Reuben Thomas)
o Added AMR-NB [FR# 728875] & AMR-WB formats (with external libs). (robs)
o Added LPC-10 support. (Reuben Thomas)
Effects:
o Use LADSPA effects (one input, one output). (Reuben Thomas)
o --octave option changed to --plot; can now also use gnuplot to
plot effect transfer function. (robs)
o Added soft-knee companding. (robs)
o Show (with --plot) compand transfer function. (robs)
o Allow e.g. "vol 6dB" (as well as "vol 6 dB"). (robs)
o Changed deemph filter from 1st order to 2nd order for
better accuracy. (robs)
o Add option to silence effect to leave periods of silence
in and only strip out extra silence. (Mark Schreiber)
o synth can now generate any number of channels. (robs)
o mixer can now mixdown to mono any number of channels. (robs)
o Added oops effect (mixer special case). (robs)
o All effects that could only work on mono or stereo audio, now
work with any number of channels. (robs)
o Added WSOLA-based key and tempo effects. (robs)
Other new features:
o Show (with -S) if clipping is occurring. (robs)
o Added internet input file support (needs wget). (robs)
o Made it possible to build without sound drivers. (Reuben Thomas)
Bug fixes:
o Fix (m)compand transfer function non-linearities; fix compand
drain volume. (robs)
o Fix crash with pan effect. (robs)
o Add missing RM define to Makefiles so installs work.
(Bug# 1666599) (cbagwell)
o Fix I/O performance regression in 13.0.0. (Reuben Thomas)
o Fix .lu, .la read regression in 13.0.0 [Bug# 1715076]. (robs)
o Fix uncompressed NIST/Sphere read regression in v13 [Bug #1736016].
o Fix displayed times when playing a file and using trim. (robs)
o Fix CDDA sector duration display for non-CDDA sample rates. (robs)
o synth fixes: brown noise; inverted square wave; offset < 0. (robs)
o Fix crash when encoding Vorbis or FLAC: with no comment. (robs)
o Fix effect drain problems: chorus, echo(s), phaser. (robs)
o Fix rabbit responsiveness and memory problems. (Peter Samuelson)
o Fix broken stereo audio when recording using ALSA. (robs)
o Fix OSS driver on big endian machines that was introduced in
last release.
Internal improvements:
o Renamed libst to libsox for name recongition and to avoid
duplications with other existing libst libraries. (Reuben Thomas)
o Moved effects to libsfx. (Reuben Thomas)
o Got rid of several hundred compiler warnings. (robs, Reuben Thomas)
o Added basic performance testing of I/O. (Reuben Thomas)
o Effects chain processing now available in libSoX. (robs)
o Added effects-chain buffering for effects that use a window [FR#
1621695]. (robs)
o Added cmake build files for Win32. (robs)
unconditionally), for DragonFly.
Based on a patch provided by Steve O'Hara-Smith on pkgsrc-users.
While here, split off options handling into an options.mk file.
Note: flac support is not enabled because sox-13.0.0 only supports
the old obsolete API; pkgsrc has newer flac.
sox-13.0.0
----------
File formats:
o Support for .caf, .paf, .fap, .nist, .w64, .nist, Matlab 4.2/5.0
(Octave 2.0/2.1), .pvf, .sds, .sd2 and .xi file formats via libsndfile.
If available, libsndfile can also be used to handle all the other file
formats it understands. (Reuben Thomas)
o Add FLAC support (robs@users.sf.net)
o Support Maxis's XA format. (Dwayne C. Litzenberger)
o Add support for 24-bit PCM raw, wav (WAVE_FORMAT_EXTENSIBLE) [FR# 801015],
au, aiff, & flac files. (robs)
o Add AIFF-C output support. (shashimoto)
o New .ima file format for raw IMA ADPCM. (robs)
o Allow the rate and number of channels of .au files to be overridden
by command-line arguments. (robs@users.sf.net)
o Add seek support for GSM data in WAV files. Rafal Maszkowski
o Allow encoding quality to be specified (FLAC & Ogg, but not
MP3 yet). (robs)
o Rename -b to -1, -w to -2, -l to -4, -d to -8, and mask to dither.
(robs)
o New options for specifying endianness (and separate options for
nibble & bit reversal) [FR# 1621702]. (robs)
o Improved multi-channel file reading; fixes [1599990]. (robs)
Effects:
o Equalizer effect (Pascal Giard)
o bass and treble altering effects. (robs)
o New optional rabbit resample routine, using libsamplerate
(aka Secret Rabbit Code). (Reuben Thomas)
o Added allpass filter effect. (robs)
o Documented the butterworth filter effects; added variable Q. (robs)
o "rate" effect made an alias for "resample".
o Visualisation of various filters' frequency response via Octave. (robs)
o Can now specify width of many 2nd-order filters as: Hz, octaves,
or Q. (robs)
o Dither/mask amount now specifiable. (robs)
o Consistent (and hopefully complete) clipping detection and
reporting. (robs)
o Allow command-line time parameters of < 1 sec to omit the
leading 0. (robs)
o Improved synth usage and improved the synth entry in the man-
page. (robs)
o Higher quality audio speed adjustment; also fixes [1155364]. (robs)
o Replacement flanger effect; also fixes [1393245]. (robs)
o Added silence padding effect. (robs)
o Added ability for noiseprof to use stdout and noisered to use stdin
[FR# 1621694]. (Reuben Thomas)
o vibro effect name deprecated in favour of tremolo; this effect
reimplemented as a special case of synth. (robs)
Other new features:
o Remove soxmix. (Reuben Thomas)
o Preview mode now removed, as all it did was use rate rather than
resample, and rate has been removed.
o -V now gives only user-relevant messages, use -V -V to get
developer-relevant messages. (robs)
o -V output much improved and expanded; now includes display of
(auto-)selected effects. (robs)
o sox man-page overhaul, new soxexam man-page entries. (robs)
o Added command line options for specifying the output file
comment. (robs)
o Added ability to merge e.g. 2 mono files to 1 stereo file
[FR# 1297076]. (robs)
o Removed the restrictions whereby multiple input files had to have
the same data encoding & size, and in most situations where they
had to have the same # of channels, and for play where they had
to have the same sampling-rate. (robs)
o Options to apply replay-gain on input; enabled by default
with `play'. (robs)
o Can now use Ctrl-C to skip to next track when playing multiple
files (e.g. play *.mp3); Ctrl-C twice to exit. (robs)
o Added --interactive option to prompt to overwrite pre-existing
output file. (robs)
o Added large file support. (Reuben Thomas)
Bug fixes:
o Fix writing MP3 files on AMD64 processors.
o More fixes to MP3 tag reading. Sometimes tags were
detected as valid MP3 frames.
o Fix to stop, avoiding a crash, when starting of effects fails.
(Reuben Thomas)
o Fixed a bug introduced in 12.18.2 that stopped the draining
of effects from occuring. This had stopped the reverse effect,
among others, from working. (Reuben Thomas)
o Several effects are now optimised out in situations where they need
do nothing, e.g. changing rate from 8000 to 8000, or changing volume
by 0dB [Bug# 1395781]. (robs)
o Fix rounding error when reading command-line time
parameters. (robs)
o Fix nul file hander ignoring other format options if rate
option has not been given. (robs)
o Fix synth length accuracy. (robs)
o Fix broken audio when downmixing with any of the following
effects: synth, deemph, vibro. (robs)
o Fixed deemph & earwax effects to work with MP3, vorbis,
& FLAC. (robs)
o Fix wav file handler discarding the last PCM sample in certain
circumstances. (robs)
o Fix [1627972] AIFF read bug when MARK chunk present. (Richard Fuller)
o Fix [1160154] VOX to WAV conversion problem. (robs)
o Removed (for output file only) the potentially
problematic -v option. Use the vol effect instead. (robs)
o Improved the accuracy of integer and floating point PCM
conversions. (robs)
o Don't go into a loop on zero-padded WAVs. (Jorge Serna)
o Fix to AIFF writing to avoid writing invalid files in some situations.
(Reuben Thomas)
o Fix compander effect bugs: [1613030] Compand fails to compress
clipping, [1181423] compand with 0 sec attack/release. (robs)
Internal improvements:
o More and better self-tests. (robs@users.sf.net)
o Build system overhaul to use the full set of GNU autotools.
(Reuben Thomas)
o Add new getopt1.c to win32 project file.
o Remove old, optional rate change and alaw/ulaw conversion code.
(Reuben Thomas)
o Removed the old internally invoked (but mentioned in the man page)
copy effect. (robs)
sox-12.18.2
-----------
o Adding in Debian's disk full fix (#313206).
o Finally got rid of reference to cleanup() function in
library. Applications are now required to detect
all failures from return codes and cleanup as they
want.
o Changed how list of formats and effects are stored internally.
Effects libst users only. Dirk
o Store effects usage so that its accessable by applications.
Dirk
o Modify the synth effect to not use SIGINT to stop processing
and instead return ST_EOF. This allows exact acount of
samples to be written out instead of an approximate amount.
o Fix hangup when attempting to write stereo MP3 files.
(1512218) Kendrick Shaw
o Deemp effect would lose stereo separation. (1479249)
o Adding cross-platform support for getopt_long
o Make help screens print much more information and add
new --help-effect option. (Originally from Dirk).
o Add support for using an external gsm library instead of
just the internal one. Vladimir Nadvornik
o Updates to nul file handler to prevent crashes during output.
Martin Panter (1482869)
sox-12.18.1
------------
o The "filter" effect could go into infinite drain mode. Now
only drain 1 buffer. noisered as well.
o SoX was ignoring user aborts (ctrl-c) if it occured during
effect drain operations. This was bad if effects had
bugs and stuck in infinite loop.
o Stop SoX from crashing when file type could not be auto
determined (1417776).
o Output filenames with multiple '.' confused SoX. (1417776)
Christian Hammer
o Moved to a common set of CLIP routines. This fixed clipping
bugs in noisered and mcompand.
o Stop SoX from crashing on sphere files that contain large text
strings. (1430025) Ulf Hamhammar
o Fix some overflow crashes in aiff handler. (1430024) Ulf Hamhammar.
o Under windows, set piped input/output to binary mode (1417794). Marty
o Fixed broken internal version of strdup(). (1417790) Marty
o Stop infinite loop when reading MP3's with a tag size of
exactly 8192 bytes. (1417511) Hans Fugal
o Fix typo in stlib.dsp for loading in Visual Studio 6.
o Fixed problems in silence effect related to removing multiple
periods of silence from the middle of the sound file.
o Reduced the window size greatly on the silence effect to
prevent leaving in silence that looked like noise still based
on RMS values.
o Prevent infinite loop in pitch effect from uninitialize variable.
Frank Heckenbach
o Prevent crashes when printing error mesages (1447239)
o Added makefile and support files to compile using Open Watcom
compiler. (1417798) Marty
o Stop calling flow() on effects that returned EOF during drain(). Allows
two back-to-back reverse effects to work.
o Added support for multiple channels in .dat files.
(1366634) tomchristie
sox-12.17.9
-----------
o Updates to compile under VC6. Jimen Ching
o Declare st_signalinfo_t to specifically be signed in case
platform does not default ot signed chars. This
is required for NetBSD/powerpc.
o When seek()ing in AIFF, SMP, and WAV handlers, remaining samples were
incorrectly computed based on bytes and not samples. Jukka
o Changed noisered effect to just warn during clipping instead
of aborting. Ian Turner
o Fixed bug were pieces of audio were lost every buffer read
when running both -c and -r options together on mono audio.
Users probably percieved it as shorter audio files that
played with a sped up tempo.
Bugfix will also apply to other times when multiple effects
are ran on the command line.
o Added support for -V option to play/rec scripts.
o Fix to silence effect to allow negative periods to be specified
(to remove silence from middle of sound file).
o Fix swap option handling so that special case of "swap 1 1" will
work.
o Track length of Ogg Vorbis files on read.
o Add support for displaying a status line that tracks progress
of read/write routines. Part of information requires read
file handlers to be able to determine file length.
o Converted alsa driver to use asoundlib instead of directly
talking to kernel driver. This also means that device names
are now the ALSA logical names instead of /dev type names.
o Added ALSA support to play/rec scripts.
o Added st_open*, st_read, st_write, st_seek, st_close routines
to help simplify developer interface to libst. See libst.3..
o Removed st_initformat(), st_copyformat(), and
st_checkformat() from library. If your app used those
functions then copy them from 12.17.8 source code
directly into your application or update to use new
routines.
o Force word-alignment on AIFF SSND and APPL chunks on input.
Matthew Hodgson.
o Add fix to WAV handler to only return data in multiples
of sample_size*channels to better handle corrupt files.
o Fixed bug where "-4" option didn't work with avg
effect (Tom Christie).
o Fixed fade's fade-out-length to match man page
description as noted by Geoff Kuenning. This required
updates to the sample crossfade scripts. Also modified fade
effect to report when no more samples will be produced to
prevent unneeded reading of whole file.
o Allow aborting SoX with SIGTERM, along with previous SIGINT.
Norman Ramsey.
sox-12.17.8
-----------
o noisered effect had compile problems with some compilers.
o "-x" option was being ignored since 12.17.7.
o Stuart Brady added support for reading and writing RIFX files (big
endian RIFF/WAV files). Also added support for auto detecting
DEC-style ".sd\0" files.
o Gene Mar found typo in polyphase nuttall calculation.
o SMP buffer overflow (detected by gcc 4.0). Reported by Marcus Meissner
and Matthias Saou.
o Fixed URL in manpage to resample overviews.
o Fixed WAV handler so that it didn't think WAV chunks with max size
were invalid chunks. This allows WAV's to be used in pipes since
they have to default to max size.
o WAV files with alaw or ulaw data don't need extended format chunks.
(Lars Immisch)
o In AIFF files, fixed problem were short comments should cause
AIFF handler to get confused and become misaligned.
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
o Christian Weisgerber sent patches to man page fixes
and patches for sunaudio driver on openbsd.
o Default volume for soxmix wrongly set to 0 instead
of 1/#_input_files (float rounding error).
o Update to ALSA driver to do a better job of detecting
unsupported sample rate/size/encoding and change to
a supported one.
o Fix bug in alsa writing were last last partial buffer
wasn't being flushed.
o Guentcho Skordev pointed out ogg vorbis files were using
the same value for serial numbers each time.
o Changed sox to only read the exact size of a WAV data chunk
if cooledit IFF LIST chunk is found at the end of the file.
Normally, this isn't done to allow reading > 2gig WAV files.
o Modified configure to detect cygwin compiler after detecting
gcc compiler (fixes some default CFLAGS options).
o Added explicit rule for compile *.o from *.c so that
CPPFLAGS is always referenced. Not all platform's default
rule includes CPPFLAGS (FreeBSD).
o Under linux, add include path to /lib/modules/* so that ALSA
include files can be auto detected.
o Ian Turner added an effect to remove noise from an audio
file by first profiling silent periods of the audio
to determine what the noise is (like background hiss on
cassette tapes).
buffer overflows in the WAV parser that could lead to arbitrary
code execution.
sox-12.17.6
-----------
o Changed comment code to always use copies of strings to
fix bug in WAV handlering freeing argv[] memory.
o Use calloc() to create ft_t structures so that all
memory is initialized before being referenced.
o Fixed VOC EOF bug were it thought there was an extra
block when there wasn't.
o Restructured directory layout so that source code is in
a seperate directory.
o Modified SoX to accept multiple input files. Concatenates
files together in this case.
o Removed map effect so that loops and instr could be removed
from effects structures. This makes effects engine stand
alone from the rest of the sox package.
o Benedikt Zeyen found a bug in synth effect when generating
brown noise that could cause clipping.
o David Leverton sent another patch to prevent crashes on
amd64's when resampling.
o Fixed a bug were MP3 files with large ID3v2 tags could
cause SoX to stick in a loop forever. Now, it will
abort on IDv3 tags larger then 100k. Could still be
improved to handle any size.
o Changed volume option (-v) so that it tracks the file
it was specified. This means that when specified with
the input file, it changes volume before effects engine
and when specified with output file, its done after effects
engine.
o Added crossfade_cat.sh script that will concatenate to
audio files and do a crossfade between them.
o Fixed bug in fade effect were it was impossible to do a
fadeout starting from the beginning of the audio file.
o Removed rounding error when changing volume of audio with
"-v" option. This error caused doing a "-v -1.0" twice
to not result in the original file.
o Fixed a possible overflow in lots of effects were MIN
value was treated as -MAX instead of -MAX-1.
o Modifed sox so its OK for effects to not process any
input or output bytes as long as they return ST_EOF.
o When effects output data and reported ST_EOF at the
same time, that buffer was discarded as well as
data from any chained effect.
o Added patch from Eric Benson that attempts to do a seek()
if the first effect is trim. This greatly speeds up
processing large files.
o Daniel Pouzzner implemented a multi-band compander (using
the butterworth filters to split the audio into bands).
o Donnie Smith updated the silence effect so that its possible
to remove silence from the middle of a sound file by
using a negative value for stop_periods.
o Changed float routines to only work with normalized values
from -1:1.
o Modifed .au handler to be able to read and write 32-bit
and 64-bit float data. Only tested reading so far.
o WAV with GSM data now always pads data to even number of bytes.
o Added support for writing 32-bit audio to AIFF.
sox-12.17.5
-----------
o Thomas Klausner sent in patches to compile audio drivers under
NetBSD.
o Rahul Powar pointed out a memory leak in the WAV file handler.
It wasn't calling the correct close() function when closing
input files.
o Modified play.1 man page to not use multiple name lines. This
appears to confuse some conversion programs. Updated sox.1
man page for typo in reverb option.
o Andrew Church fixed problem with header of stereo 8SVX files.
o Jimen Ching added support to scan over garbage data at the
beginning of MP3 files to find valid frames. This is useful
to play WAV and AIFF files that have MP3 data in them until
those handlers support it directly. To play those, force
sox to use the mp3 handler with the "-t mp3" option.
o Added patch from Ulf Harnhammar to wav handler to prevent
buffer overflows.
o Added patch from Redhat to allow resample to work on certain 64-bit
machines (Sam Varshavchik)
o Tony Seebregts added a file handler for headerless Dialogic/OKI ADPCM
files (VOX files).
o Jan Paul Schmidt added a repeat effect to do loops the brute force way.
This is also good for file format that don't support loops as well.
o Fix for OSS driver in rate tolerance calcs that were off because
of type conversion problems. Guenter Geiger.
o Allow reading sphere files with headers greater then 256 bytes. Jimen
Ching.
o Fix for vorbis were comments are displayed in KEY=value format always.
Stop printing some info to stdout in case output is a pipe. Guenter
Geiger.
o J Robert Ray submitted fix for AIFF handler to ignore lowercase
chunks that are unknown.
o Bugfix for 8-bit voc files. Jimen Ching
o General warning cleanups (cbagwell)
o Memory leaks in reading WAV files (Ufuk Kayserilioglu)
o Rearrange link order of ogg vorbis libraries so that they
can be compiled as static. (Christian Weisgerbr)
in the process. (More information on tech-pkg.)
Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and
installing .la files.
Bump PKGREVISION (only) of all packages depending directly on the above
via a buildlink3 include.
Selection of changes:
* Various bugfixes to Ogg Vorbis handler as well as updating
to use version 1.0 of library. Also, modified the files
that are output by Ogg Vorbis handler to use VBR format.
* Minor cleanups to sox.c to free and close all files instead
of relying on C library to do it on exit.
* Fixed some integer overflow problems in compand effect.
* libst prototype cleanups and private data structure
cleanups.
* Added new handler for Psion Record.app files.
* Play/Record scripts now look at an AUDIODEV
enviornment variable to see what audio device to
play to. Also scripts to work on Sun Rays.
* Added support for reading and writing MP3 files if
external MP3 libraries are avaliable.
* Fix multile channel bug in avg effect.
* Allow AIFF files with an invalid length of 0 to be
processed.
- Prevent configure from picking up any stray /dev/dsp's and believing
it should use OSS
- In the play script, add proper arguments if ran on NetBSD
- Fix the $PATH setting in the play script