1Change History
2--------------
3
4This file contains a list of all changes starting after the release of
5sox-11gamma, followed by a list of prior authors and features.
6
7$ox-14.4.2	2015-02-22
8----------
9
10Previously deprecated features that have been removed in this release:
11
12  Deprec-  Feature    [O(ption)]
13  ated in  [F(ormat)] [E(ffect)]   Replacement
14  -------  ----------------------  ----------------------
15  14.3.0   O -1/-2/-3/-4/-8        -b
16  14.3.0   O -s/-u/-f              -e
17  14.3.0   O -A/-U/-o/-i/-a/-g     -e
18  14.4.0   E swap with parameters  remix
19  14.4.0   E mixer                 remix
20  14.4.1   OpenMP < 3.0            OpenMP >= 3.0
21  14.4.1   F ffmpeg                ffmpeg/avconv via pipe
22
23File formats:
24
25  o Add optional support for reading Ogg Opus files. (John Stumpo)
26  o Fix for max size text chunks in aiff files. (cbagwell)
27  o Add reading support for RF64 WAV files. (Dave Lambley)
28  o Work around for libsndfile created RF64 files with invalid
29    sizes. (Dave Lambley)
30  o Detect MS ADPCM WAV files with invalid blocks. (cbagwell)
31  o Detect Sphere files with invalid header sizes. (cbagwell)
32
33Effects:
34
35  o 'Deemph' can now also be used at 48kHz sample rate.  (robs)
36  o 'Rate' now much faster in many cases.  (robs)
37  o Allow sending spectrograms to stdout. (Ulrich Klauer)
38  o Allow use of Dolph window with spectrograms. (robs)
39  o Allow mixing time and sample-count arguments for the delay
40    effect, and for spectrogram -S and -d. (Ulrich Klauer)
41  o Support multi-channel LADSPA plugins. (Eric Wong)
42  o Support infinite repetition with repeat. (Ulrich Klauer)
43  o Improved pink noise frequency response in synth. (robs)
44  o Extended syntax for specifying audio positions to several
45    effects. (Ulrich Klauer)
46  o Fix integer overflow in mcompand. [3590093] (Guido Aulisi)
47  o Add optional latency compenstation for LADSPA plugins. (Eric Wong)
48
49Other new features:
50
51  o New -p option for soxi to display sample precision. (Ulrich Klauer)
52  o New libsox example6: give explicit output attributes. (robs)
53
54Internal improvements:
55
56  o Speed optimization for effects that operate on channels
57    independently. (Ulrich Klauer)
58  o Fix memory leaks. (Ulrich Klauer)
59  o Most internal symbols (lsx_*) are no longer exported. (Ulrich Klauer)
60
61
62sox-14.4.1	2013-02-01
63----------
64
65Newly deprecated features (to be removed in future):
66
67  Deprec-  Feature    [O(ption)]                           Removal
68  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
69  -------  ----------------------  ----------------------  -------
70  14.4.1   OpenMP < 3.0            OpenMP >= 3.0           14.4.1
71  14.4.1   F ffmpeg                ffmpeg/avconf via pipe  14.4.1
72
73File formats:
74
75  o Fix pipe file-type detection regression. (robs)
76  o MAUD write fixes. [3507927] (Carl Eric Codere and Ulrich Klauer)
77  o Fix crash when seeking within a FLAC file. [3476843] (Eric Wong)
78  o Fix Ogg Vorbis files with certain numbers of channels being
79    truncated. (Ulrich Klauer)
80  o Fix reading 64-bit float WAVs. [3481510] (nu774 and Ulrich Klauer)
81  o Fix potential buffer overrun when writing FLAC files directly via
82    sox_write(). [3474924] (Eric Wong)
83
84Audio device drivers:
85
86  o Check whether pulseaudio is available before choosing it as
87    default. (robs)
88
89Effects:
90
91  o Restore 8 seconds default for spectrogram, if the input length is
92    not known. (Ulrich Klauer)
93  o Set output length for splice to unknown instead of 0. (Ulrich Klauer)
94  o Increase maximum width for spectrograms. (Ulrich Klauer)
95  o Fix memory leaks in LADSPA effect. (Eric Wong)
96  o Fix hang in several effects (rate, tempo, and those based on
97    dft_filter) when processing long files. [3592482, 3594822] (MrMod)
98  o Prevent (m)compand from tampering with their arguments. (Ulrich Klauer)
99
100Other bug fixes:
101
102  o Fix input length calculation for combine methods other than
103    concatenate. (Ulrich Klauer)
104  o Fix to configure.ac to work with Autoconf 2.69. [3600293] (cbagwell)
105  o Use binary mode for pipes on all Windows compilers, rather than
106    MSVC only. [3602130] (Ulrich Klauer)
107
108
109sox-14.4.0	2012-03-04
110----------
111
112Previously deprecated features that have been removed in this release:
113
114  Deprec-  Feature    [O(ption)]
115  ated in  [F(ormat)] [E(ffect)]   Replacement
116  -------  ----------------------  ----------------------
117  14.3.0   O --interactive         --no-clobber
118  14.3.0   E filter                ~= sinc
119  14.3.0   E norm -b, norm -i      gain -B, gain -en
120  14.3.0   PLAY_RATE_ARG           SOX_OPTS
121  14.2.0   E key alias             pitch
122  14.2.0   E pan                   ~= remix
123  14.1.0   E resample alias        rate
124  14.1.0   E polyphase alias       rate
125  14.1.0   E rabbit alias          rate
126  14.3.1   F sndfile: sndfile 1.0.11 sndfile > 1.0.11
127  14.3.0   F flac: libFLAC < 1.1.3 libFLAC >= 1.1.3
128  14.3.1   F mp3: lame 3.97        lame > 3.97
129
130Newly deprecated features (to be removed in future):
131
132  Deprec-  Feature    [O(ption)]                           Removal
133  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
134  -------  ----------------------  ----------------------  -------
135  14.4.0   E mixer                 remix                   14.4.0 + 1 year
136  14.4.0   E swap with parameters  remix                   14.4.0
137
138Previously deprecated features (to be removed in future):
139
140  Deprec-  Feature    [O(ption)]                           Removal
141  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
142  -------  ----------------------  ----------------------  -------
143  14.3.0   O -1/-2/-3/-4/-8        -b                      14.4.0
144  14.3.0   O -s/-u/-f              -e                      14.4.0
145  14.3.0   O -A/-U/-o/-i/-a/-g     -e                      14.4.0
146
147File formats:
148
149  o Mention in man pages that WAV files support floating point encodings.
150  o Add support for floating point encodings in AIFF-C files. (Ulrich Klauer)
151  o Pad WAV data chunk to an even number of bytes (as required by the
152    specification). [3203418] (Ulrich Klauer)
153  o Add optional MP2 write support with twolame library. (Paul Kelly)
154
155Audio device drivers:
156
157  o Give pulseaudio driver higher priority than alsa or oss now that
158    its proven stable and gives user more features; such as per app
159    volume control. (cbagwell)
160  o Fix bug when specifying OSX coreaudio device name.  Would only
161    search for first 3 devices. (cbagwell)
162  o Fix sox hangups are exit when using coreaudio. (cbagwell)
163  o Improve buffering in coreaudio driver (Michael Chen)
164  o Support enabling play/rec mode when user invokes sox as either
165    play or play.exe on windows. (cbagwell)
166  o Fix compile of sunaudio driver on OpenBSD (cbagwell)
167
168Effects:
169
170  o Improvements to man pages for tempo effect.  Really made in 14.3.2.
171    (Jim Harkins).
172  o New upsample effect. (robs)
173  o Fix to effects pipeline to let fade effect specify time from end of
174    file again. (cbagwell and Thor Andreassen)
175  o Fix man page default error for splice effect. (Ulrich Klauer)
176  o Enable support for --plot option on biquad and fir effects. (Ulrich Klauer)
177  o Effects chain can now be unlimited in length. (Ulrich Klauer)
178  o Fix newfile/restart effects when merging or mixing files. (Ulrich Klauer)
179  o Fix crashes in compand and mcompand effects. [3420893] (Ulrich Klauer)
180  o Let the delay effect gracefully handle the special case that a delay can
181    be more than the input length. [3055399] (Ulrich Klauer)
182  o New hilbert and downsample effects. (Ulrich Klauer)
183  o Fix problem where fade would sometimes fail if specifying a fade-out
184    immediately after a fade-in. (robs)
185  o Stricter syntax checking for several effects (might reveal bugs hidden
186    in existing scripts). (Ulrich Klauer)
187  o Calculate output audio length for most effects. (Ulrich Klauer)
188  o Fix problems with several effects when the buffer size was not evenly
189    divisible by the number of channels. [3420899] (Ulrich Klauer)
190  o Complete rewrite of the trim effect with extended syntax (backwards
191    compatible) and capabilities. [FR 2941349] (Ulrich Klauer)
192  o Fix trim optimization unexpectedly seeking backwards. (Ulrich Klauer)
193  o Prevent samples from getting lost at effects chain transitions in
194    multiple effects chain/multiple output modes. (Ulrich Klauer)
195
196Misc:
197
198  o Minor improvements to the man page. (Ulrich Klauer)
199  o When using pipes (-p) on Windows, set file mode to binary. (cbagwell)
200  o Updated .dat format description in soxformat. (Jan Stary)
201  o Doxygen documentation for libSoX. (Doug Cook)
202
203Other bug fixes:
204
205  o Fix several memory leaks. [3309913] (Jin-Myung Won and Ulrich Klauer)
206  o Fixed crashes in apps that call sox_format_init/quit() multiple times.
207   (cbagwell)
208
209Internal improvements:
210
211  o Added use_threads variable to sox_globals. This should be used to enable
212    or disable use of parallel effects processing instead of directly calling
213    omp_set_num_threads. (Doug Cook)
214  o Fix compiler warnings. (Cristian Morales Vega [P. 3072301], Doug Cook)
215  o Improve large file support by using 64-bit numbers to count
216    samples. (Doug Cook, Thor Andreassen, Ulrich Klauer)
217
218
219sox-14.3.2	2011-02-27
220----------
221
222File formats:
223
224  o Add seek support to mp3 handler for speed improvements.  (Pavel Karneliuk)
225  o Fix bug were WavPack header was not updated correctly when closing
226    file.  Fixed libsox memory leak when closing WavPack files.
227    (David Bryant)
228  o Fix RIFF chunk length error when writing 24-bit files. (David Bryant)
229  o 24-bit WAV files were leaving channel maps unassigned. Change to use
230    common channel mappings based on channel count.  This allows to
231    work more seemlessly with other apps such as WavPack and Foobar2000.
232    (David Bryant)
233  o Fix ffmpeg playback bug caused by alignment requirements on some platforms.
234    Closes bug #3017690.  (Reuben Thomas).
235  o Fix memory leak in ffmpeg. (Doug Cook)
236  o Handle 0 length chunks in WAV files gracefully.  (Beat Jorg)
237  o When skipping over chunks, account for word alignment. Helps
238    with some Logic Pro generated files.  (D Lambley)
239  o Fix incorrect MP3 file length determination with VBR & .5s initial
240    silence.  (robs)
241
242Audio device drivers:
243
244  o Fix immediate segfault on OSX while attempting to record. (Adam Fritzler)
245  o Fix segfault on OSX playback for some HW that gives smaller then
246    requested buffers. (cbagwell)
247  o Clean up system resource in coreaudio on close.  Allows running
248    back-to-back open()/close()'s without exiting app first. (cbagwell)
249  o Add support for 32-bit samples to OSS driver. (Eric Lammerts)
250  o Add support for 24 and 32-bit samples to waveaudio (Win32) driver.
251    (Doug Cook)
252  o Support specifying audio device other than default on OSX (cbagwell)
253
254Effects:
255
256  o F.R. [3051700] spectrogram -r for `raw' spectrogram, no legend.  (robs)
257  o Fix -w option on stats effect. (Ronald Sprouse)
258  o Fix segfault with some ladspa plugins (Thor Andreassen)
259  o Optionally look for png.h in libpng directory to support OpenBSD
260    packaging.  Helps enable spectrograph effect. (cbagwell)
261  o libpng15 requires application to include zlib.h header file. (cbagwell)
262    Add this to spectrograph effect. [3184238]
263  o Enable LADSPA effects on all platforms without any external
264    dependencies.  Mainly useful for Linux, Windows and OS X which have
265    binaries readily available. (cbagwell)
266  o Support specifying an absolute end location for trim effect instead
267    only an offset from trim begin location. (Ulrich Klauer)
268  o Fix regression where MP3 handler required libmad headers to be installed.
269    (Samuli Suominen)
270  o Allow dynamic loading of lame to be enabled even if lame header files
271    are not installed.  (Doug Cook)
272
273Other new features:
274
275  o Soxi now reports duration of AMR files.  (robs)
276  o Document the "multiple" combine option in man pages and in
277    usage output (Ulrich Klauer).
278
279Internal improvements:
280
281  o Distribute msvc9 project files that had been in CVS only. (cbagwell)
282  o Add msvc10 project files (also compatible with the Windows SDK 7.1).
283    (Doug Cook)
284  o cmake now compiles waveaudio driver under windows environment. (cbagwell)
285    [3072672]
286
287sox-14.3.1	2010-04-11
288----------
289
290Newly deprecated features (to be removed in future):
291
292  Deprec-  Feature    [O(ption)]                           Removal
293  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
294  -------  ----------------------  ----------------------  -------
295  14.3.1   F mp3: lame 3.97        lame > 3.97             2011-04-11
296  14.3.1   F sndfile: sndfile 1.0.11 sndfile > 1.0.11      14.3.1
297
298Previously deprecated features (to be removed in future):
299
300  Deprec-  Feature    [O(ption)]                           Removal
301  ated in  [F(ormat)] [E(ffect)]   Replacement             due after
302  -------  ----------------------  ----------------------  -------
303  14.2.0   E key alias             pitch                   14.3.1
304  14.2.0   E pan                   ~= mixer/remix          14.3.1
305  14.3.0   F flac: libFLAC 1.1.2,3 libFLAC > 1.1.3         14.3.1
306  14.3.0   PLAY_RATE_ARG           SOX_OPTS                14.3.1
307  14.3.0   E norm -b, norm -i      gain -B, gain -en       2010-06-14
308  14.3.0   E filter                ~=sinc                  2010-06-14
309  14.1.0   E resample alias        rate                    2010-06-14
310  14.1.0   E polyphase alias       rate                    2010-06-14
311  14.1.0   E rabbit alias          rate                    2010-06-14
312
313LibSoX interface changes:
314
315  o Added new variants of sox_open to allow read/write from/to memory
316    buffers (in POSIX 2008 environment); see example5.c.  (robs)
317
318File formats:
319
320  o New Grandstream ring-tone (gsrt) format.  (robs)
321  o CVSD encode/decode speed-ups.  (Kimberly Rockwell, P. Chaintreuil)
322  o Add ability to select MP3 compression parameters.  (Jim Harkins)
323  o Now writes out ID3-tags in MP3 files with lame supports it.  (Doug Cook)
324  o Also can write VBR Tag ("XING Header") in MP3 files. (Jim Hark /
325    Doug Cook)
326  o Increase percision of MP3 encoders to use 24-bits instead of
327    16-bits. (Doug Cook)
328  o Fix failed writing 24-bit PAF files (and possibly other libsndfile
329    based formats).  (cbagwell)
330  o Allow libsndfile to be dlopen()'ed at runtime if --enable-dl-sndfile
331    is used. (Doug Cook)
332  o Allow amr-nb/amr-wb to be dlopen()'ed at runtime if
333    --enable-dl-amrwb or --enable-dl-amrnb is used. (Doug Cook)
334  o amrnb and amrwb formats can optionally use opencore-amr libraries.
335    (cbagwell)
336
337Audio device drivers:
338
339  o Add native windows audio driver.  (Pavel Karneliuk, Doug Cook)
340  o Add 32-bit support to ALSA driver.  (Pavel Hofman)
341  o Make OpenBSD sndio audio driver default over older sunau driver.
342   (cbagwell)
343
344Effects:
345
346  o Fix [2254919] silence doesn't trim digital silence correctly.  (robs)
347  o Fix [2859842] stats effect crashes on 64-bit arch.  (Ulrich Klauer)
348
349Other new features:
350
351  o Added libSoX example #4: concatenating audio files.  (robs)
352  o Show soxi version & usage information when no args given.  (robs)
353
354Other bug fixes:
355
356  o Fix build so that grouped files (e.g. play -r 6k "*.vox" plays all
357    at 6k) works.  (robs)
358  o Fix build to support auto file type detection with pipes on FreeBSD
359    and elsewhere.  (Dan Nelson)
360  o Fix simultaneous play & rec not working.  (robs)
361  o Fix multi-threading problems on multi-core Windows OS; also, change
362    default to single-threaded.
363  o Fix mistaken file size with pipe input on Windows.  (Doug Cook)
364  o Fix missing documentation for -R (repeatable), and pulseaudio driver.
365  o Fix memory leak of format private data.  (Slawomir Testowy)
366
367Internal improvements:
368
369  o Move bit-rot detection support files to sub-directory (could
370    previously cause build problems).  (robs)
371  o [2859244] Fixes to improve compatibility with MSVC.  (Doug Cook)
372  o Added utilities to help any format handler dlopen() external
373    libraries at run time instead of link time. (Doug Cook)
374  o Compiling with mingw now has feature parity with cygwin. (Doug Cook
375    and cbagwell)
376
377
378
379sox-14.3.0	2009-06-14
380----------
381
382Previously deprecated features that have been removed in this release:
383
384  Deprec-  Feature    [O(ption)]
385  ated in  [F(ormat)] [E(ffect)]   Replacement
386  -------  ----------------------  ----------------------
387  14.1.0   E resample *            ~= rate
388  14.1.0   E polyphase *           ~= rate
389  14.1.0   E rabbit *              ~= rate
390  14.2.0   E dither: RPDF,scaled   dither (TPDF only)
391  14.1.0   F flac: libFLAC 1.1.1   libFLAC > 1.1.1
392
393  * But interface retained as an alias for `rate'.
394
395LibSoX interface changes:
396
397  o sox_format_init() has been supeseded by sox_init().
398  o Removed obsolete error codes (SOX_E...); new sox_strerror()
399    function to convert error codes to text.
400  o Use of sox_effect_options() is now mandatory when initialising an
401    effect (see example0.c for an example of this).
402  o sox_flow_effects() has a new (3rd) parameter: a void pointer
403    `client_data' that is passed as a new (2nd) parameter to the flow
404    callback function.  client_data may be NULL.
405
406File formats:
407
408  o Slight improvement to A-law/u-law conversion accuracy: round LSB
409    instead of truncating.  (robs)
410  o Fix length in wav header with multi-channel output to pipe.  (robs)
411  o Fix [2028181] w64 float format incompatibility.  (Tim Munro)
412  o Fix reading AIFF files with pad bytes in COMT chunks. (Joe Holt)
413  o Fix AIFF file length bug to stop reading trash data on files that
414    have extra chunks at end of file. (Joe Holt)
415  o Fix file length being 4 bytes short for AIFF sowt CD tracks. (Joe Holt)
416  o Fix [2404566] segfault when converting from MS ADPCM wav file.  (robs)
417  o Fix slight FLAC seek inaccuracy e.g. when using `trim' effect.  (robs)
418  o Fix mp3 decode sometimes being up to a block short.  (robs)
419  o Fix not outputing GSM-in-wav when input is GSM-in-wav.  (robs)
420
421Audio device drivers:
422
423  o New native OpenBSD audio handler for play/recording.  (Alexandre Ratchov)
424  o 24-bit support for ALSA handler.  (robs)
425  o Warn if ALSA under/overrun.  (robs)
426
427Effects:
428
429  o New `stats' effect; multichannel audio statistics.  (robs)
430  o New `sinc' FFT filter effect; replacement for `filter'.  (robs)
431  o New `fir' filter effect using external coefficients/file.  (robs)
432  o New `biquad' filter effect using external coefficients.  (robs)
433  o New `overdrive' effect.  (robs)
434  o New `vad' Voice Activity Detector effect.  (robs)
435  o `synth' enhancements: can now set common parameters for multiple
436    channels, new `pluck' and `tpdf' types, `scientific' note
437    notation, [2778142] just intonation.  (robs)
438  o New multi-channel support and revised sizing options for `spectrogram'.
439    N.B. revised options are not directly backwards compatible -- see the
440    man page for details of the new syntax.  (robs)
441  o Richer gain/normalise options.  (robs)
442  o [2704442] Slight change to `riaa' gain: now norm'd to 0dB @ 1k
443    (previously 19.9dB @ DC).  (Glenn Davis)
444  o Fix [2487589] `dither' clipping detection & handling.  (robs)
445  o Fix `repeat' sometimes stopping repeating too soon.  (robs)
446  o Fix `repeat' sometimes repeating wrong audio segments.  (robs)
447  o Fix [2332343] 'silence' segfault with certain lengths. (cbagwell)
448  o Fix `silence' empty output file with A-law input.  (robs)
449  o Fix temporary file problems in Windows (cygwin) with normalise and
450    other effects.  (robs)
451  o Fix [2779041] spectrogram PNG file is invalid on Windows.  (robs)
452  o Fix [2787587] `trim x 0' should produce zero length audio.  (robs)
453  o Parallel effects channel processing on some hyper-threading/mult-core
454    architectures.  New `--single-threaded' option to disable this.  (robs)
455
456Other new features:
457
458  o Added ability to create shared DLL's on cygwin (cbagwell)
459  o New `--guard' & `--norm' options; use temporary files to guard against
460    clipping for many, but not currently all, effects.  (robs)
461  o New `--ignore-length' option to ignore length in input file header (for
462    simple encodings & for mp3); instead, read to end of file.  (robs)
463  o New `--temp DIRECTORY' option.  (robs)
464  o New `--play-rate-arg ARG' option.  (robs)
465  o New SOX_OPTS environment variable; can be used to provide default
466    values for above and other options.  (robs)
467  o Grouped files, e.g. play -r 6k "*.vox" plays all at 6k.  (robs)
468  o Automatically `dither'; new `--no-dither' option to disable this.  (robs)
469  o Can now use `v' & `V' keys to adjust volume whilst playing audio (on some
470    systems).  (robs)
471  o New bitrate, time in seconds, & total options for soxi; bitrate
472    and file-size display for sox.  (robs)
473  o `Magic' (libmagic) file type detection now selected using `--magic'
474    option (where supported).
475  o [2003121] In many cases, no longer need to specify -t when inputing
476    audio from a `pipe'.  (robs)
477  o Support more Shoutcast URL variants.  (robs)
478  o Added libSoX example #3: playing audio.  (robs)
479
480Other bug fixes:
481
482  o Fix [2262177] SoX build could fail with parse /etc/issue error.  (robs)
483  o Fix "no handler for detected file type `application/octet-stream;
484    charset=binary'" with raw files when using libmagic.  (robs)
485
486Internal improvements:
487
488  o Rationalise use of and make repeatable across different platforms
489    pseudo random number generators.  (robs)
490  o Rationalise effects' options interface (getopt compatible).  (robs)
491  o Added stub headers to allow test compilation of all sources on
492    linux.  (robs)
493
494
495sox-14.2.0	2008-11-09
496----------
497
498Previously deprecated features that have been removed in this release:
499
500  Deprec-  Feature    [O(ption)]
501  ated in  [F(ormat)] [E(ffect)]   Replacement
502  -------  ----------------------  ----------------------
503  14.0.0   E pitch                 new pitch = old key
504
505File formats:
506
507  o New `.cvu' unfiltered CVSD; supports any bit-rate.  (robs)
508  o New `.sox' native format intended for intermediate files.  (robs)
509  o Fix WAV write on 64-bit arch.  (robs)
510  o Fix writing PRC ADPCM files.  (Silas Brown)
511  o Fix problems reading short mp3 files.  (robs)
512
513Effects:
514
515  o N.B. Reduced default bandwidth setting for `rate' effect from 99%
516    to 95%; use `rate -s' to be compatible with SoX v14.1.0.  (robs)
517  o New options for `rate' effect to configure phase response,
518    band-width and aliasing.  (robs)
519  o New options for 'dither' effect: RPDF, TPDF, noise-shaping.  (robs)
520  o New `riaa' effect: RIAA vinyl playback EQ.  (robs)
521  o New `loudness' effect: gain control with ISO 226 loudness
522    compensation.  (robs)
523  o New `bend' effect; pitch bending.  (robs)
524  o New -b option for the norm effect; can be used to fix stereo
525    imbalance.  (robs)
526  o Wider tempo range for `tempo' effect.  (robs)
527  o New --effects-file option to read effects and arguments from
528    a file instead of command line. (cbagwell)
529  o `filter' effect now supports --plot.  (robs)
530  o Improved documentation for the `stat' effect.  (robs)
531  o Fix broken audio pass-through with noiseprof effect.  (robs)
532  o Fix graph legend display when using --plot octave.  (robs)
533  o Fix rare crash with `rate' effect.  (robs)
534  o Fix [2190767] `norm' under-amplifying in some cases.  (George Yohng)
535  o Fix [2007062] Earwax effect can overflow; should clip. (robs)
536  o Fix [2223251] mcompand should use linkwitz-riley.  (robs)
537  o Fix `phaser' clicks and overflows.  (robs)
538  o Trim will now skip past 2G point correctly. (cbagwell)
539  o Improved handling of speed changes in the effects chain.  (robs)
540
541Other new features:
542
543  o New psuedo-effects "newfile" and ":" to allow running
544    multiple effect chains on a single file.  newfile will
545    create a new output file when an effect chain terminates.
546    Of most use with trim and silence effects. (cbagwell)
547  o Can now use multiple pipes as inputs to the combiner;
548    see `Special Filenames' in sox(1).  (robs)
549  o Display SoX build/run environment information with -V -V.  (robs)
550  o Display (with -V) the detected file-type if it differs from the
551    file extension.  (robs)
552  o New -t option for soxi; to display the detected file type.  (robs)
553  o New -b/--bits, -e/--encoding alternative options for specifying
554    audio encoding parameters.  (robs)
555  o [FR 1958680] Support more than 32 input files.  (robs)
556  o New native Mac OSX audio handler for playing/recording. (cbagwell)
557
558Other bug fixes:
559
560  o Bump library version because it was not binary compatible with
561    SoX 14.0.1 (Pascal Giard)
562  o Turn off versioning of special libsox_fmt* libraries since thats
563    not really needed.  (kwizart)
564  o Fixed crash when running play with no arguments. (Dan Nelson)
565  o Allow libpng to be found with -static option. (cbagwell)
566  o Allow libsamplerate to be found if pkg-config is installed but
567    no samplerate.pc exists. (cbagwell)
568  o [2038855] external lpc10 lib patch.  (Oden Eriksson, Mandriva)
569  o Fix memory leaks in effects chain when restarting effects. (cbagwell)
570  o Fixed pkg-config CFLAGS. (evilynux)
571  o Fix sndfile inclusion in build in some circumstances.  (robs)
572  o Fix [2026912] Fails on URL-like filenames.  (robs)
573  o Always add _LARGEFILE_SUPPORT when off_t is 64bits to work around
574    buggy platforms.  Fixes not able to read WAV files. (cbagwell)
575
576Internal improvements:
577
578  o Fixed all compiler warnings (with gcc 4.3.1, 64-bit arch.).  (robs)
579  o Updates to internal effects chain API.  (cbagwell)
580  o Retire old FFT routines (speeds up `noisered' effect).  (robs)
581  o Allow effects to use getopt.  (robs)
582  o Use libmagic for mp3.  (robs)
583  o Change sox_seek() offset to 64-bit to work with > 2G files (cbagwell)
584  o Merged libsfx back into libsox to align with sox.h API. (cbagwell)
585
586
587sox-14.1.0	2008-7-29
588----------
589
590Previously deprecated features that have been removed in this release:
591
592  Deprec-  Feature    [O(ption)]
593  ated in  [F(ormat)] [E(ffect)]   Replacement
594  -------  ----------------------  ----------------------
595  13.0.0   O -e                    -n
596  13.0.0   O -b/-w/-l/-d           -1/-2/-4/-8
597  13.0.0   E avg, pick             mixer
598  13.0.0   E highp, lowp           highpass -1, lowpass -1
599  13.0.0   E mask                  dither
600  13.0.0   E vibro                 ~= tremolo
601  13.0.0   F auto                  Becomes internal only
602
603File formats:
604
605  o New option --help-format shows info about supported format(s).  (robs)
606  o New WavPack format (includes lossless audio compression, but not
607    guaranteed lossless file compression).  (robs)
608  o New htk format.  (robs)
609  o Add .f4 & .f8 raw file extensions.  (robs)
610  o Writing aiff, aifc & dvms now repeatable with -R.  (robs)
611  o Writing hcom no longer fails with unsupported rate--chooses
612    best match.  (robs)
613  o Au/snd: added support for 32-bit integer and 64-bit float PCM
614    encoding/decoding; display name of unsupported encoding.  (robs)
615  o Can now write .amb (.wav variant) files [FR 1902232].  (robs)
616  o Can now read 2,3(2.6),4 bit ADPCM .voc files [FR 1714991].  (robs)
617  o Can now read some MP3 ID3 tags.  (robs)
618  o Can now write Sounder files.  (robs)
619  o Can now write DEC-variant au files (with -x).  (robs)
620  o Comments support for SoundTool files.  (robs)
621  o Fix [1864216] comments mangled when writing ogg-vorbis.  (robs)
622  o Fix short noise at end of alsa playback.  (Morita Sho/Tim Munro/robs)
623  o Fix wve seek accuracy.  (robs)
624  o Fix lpc10 not working.  (robs)
625  o Fix [1187257] wav MS-ADPCM block-align size incorrect.  (robs)
626  o For wav & au, fix [548256] size in header wrong when piping out.  (robs)
627  o Fix IRCAM SF header processing; support all (modern) variants.  (robs)
628  o Fix 24-bit read/write on big-endian systems.  (robs)
629  o Fix crash trying to open non-existent play-list.  (robs)
630  o Fix FLAC read from stdin with libFLAC >= 8.  (Patrick Taylor Ramsey/robs)
631  o Fix [1997637] Trim effect loses samples (with wav).  (robs)
632
633Effects:
634
635  o New `splice' effect; splice together audio sections.  (robs)
636  o New `remix' effect; mixes any number of channels.  (robs)
637  o New `norm' (normalise) effect.  (robs)
638  o New `delay' effect; delay one or more channels.  (robs)
639  o New `contrast' enhancement effect [FR 708923].  (robs)
640  o Improved `rate' resampling effect; resample, polyphase, & rabbit
641    now deprecated.  (robs)
642  o New `spectrogram' effect; creates a PNG (if built with PNG lib).  (robs)
643  o `synth' can now sweep linearly and squarely (as well as
644    exponentially).  (robs)
645  o Can now `fade' out to EOF without giving file-length (if it can
646    be determined from the input file header).  (robs)
647  o Fix synth max. level setting for some output encodings.  (robs)
648  o Fix crash on 64-bit arch. with tempo & key effects.  (Sami Liedes)
649  o `gain' alias for the vol effect.  (robs)
650
651Other new features:
652
653  o Now possible to control play-back resampling quality (and hence
654    cpu-load) via the PLAY_RATE_ARG environment variable.  (robs)
655  o Command line support for multiple file comments.  (robs)
656  o New --combine=mix-power option to mix combine using 1/sqrt(n) scaling
657    instead of 1/n [FR 2012856].  (robs)
658  o New --input-buffer option to specify (only) input buffer size.  (robs)
659  o New `soxi' utility to extract/display file header fields.  (robs)
660  o Pkg-config support. (Pascal Giard)
661  o Simple VU meter.  (robs)
662  o Heuristic to detect when playing an album and set
663    the default replay-gain mode to `album'.  (robs)
664  o Better auto-choice of output file format parameters when
665    type is different to that of input file.  (robs)
666  o SoX now treats (and displays) encoding size & signal precision
667    separately.  (robs)
668  o Default audio devices (sox), and allow environment variables to
669    be used to override the default audio device driver (rec/play)
670    and default audio device (all).  (robs)
671  o Simpler file info display for `play'.  (robs)
672  o For some file-types, warn if file size seems too short.  (robs)
673  o Added auto-detect for caf, sndr, txw & sf files.  (robs)
674  o Added example0: simpler example of how to develop applications that
675    use the libSoX effects chain.  (robs)
676  o Added example2: simple example of how to develop applications that
677    use libSoX to read an audio file.  (robs)
678  o Moved contents of soxexam man page into soxeffect man page.  (robs)
679
680Other bug fixes:
681
682  o Fix [1890983] rec shortcut should apply bit depth (8-bit,
683    16-bit, etc.) to input handler.  (robs)
684  o Fix ungraceful handling of out of disc space and other write
685    errors (bug was introduced in 14.0.0).  (robs)
686  o Fix endian selection (-B, -L, -x) in some circumstances.  (robs)
687  o Fix auto-detect of hcom files.  (robs)
688
689Internal improvements:
690
691  o Use FORTIFY_SOURCE with gcc.  (robs)
692  o Fixed all compiler warnings (with gcc 4.2.3, 32-bit arch).  (robs)
693  o Reimplement (separately) SoundTool & Sounder format handlers.  (robs)
694  o Allow formats & effects to have any size of private data.  (robs)
695
696
697sox-14.0.1	2008-01-29
698----------
699
700  File formats:
701
702  o Added support for non-standard, non-WAVE_FORMAT_EXTENSIBLE
703    (esp. 24-bit) PCM wav (see wavpcm in soxformat.7 for details).  (robs)
704
705  Effects:
706
707  o Reimplemented reverb to be similar to freeverb.  (robs)
708
709  Bug fixes:
710
711  o Fix Sndtool read error causing noise at start.  (Reynir Stefánsson)
712  o Fix mixer with >4 numbers, and mixer -3 behaving as mixer -4.  (robs)
713  o Fix [1748909] sox does not report remaining playtime of mp3s.  (robs)
714  o Fix failure to read AIFF files with empty MARK chunk.  (robs)
715  o Fix spurious 'Premature EOF' message in some circumstances.  (robs)
716  o Switched to 16-bit for libao driver since not all its plugins
717    support it (such as oss, nas, and pulse audio) (Morita Sho)
718  o Stop crash when "rec" is run with no arguments (Morita Sho).
719  o Fix -V (without argument) on non-gnu systems.  (robs)
720  o Fix reported (with -V) output audio length in some cases.  (robs)
721  o Fix actual FLAC output file audio length in some cases.  (robs)
722  o Fix poor 24-bit FLAC compression & support newer versions of
723    libFLAC (1.2.x).  (robs)
724  o Fix loss of 1 decoded FLAC block when using "trim 0 ...".  (robs)
725  o Fix trim when first effect with IMA-ADPCM input wav file.  (robs)
726
727  Internal improvements:
728
729  o Let "make distcheck" run some automated test scripts.
730  o Distribute missing cmake files.
731  o Fix ogg vorbis compile error on some platforms.
732  o Remove unused libltdl that could cause header mismatch with
733    installed libltdl.
734  o Fix AMR detection with --disable-shared.  (robs)
735  o Updated configure to support linking to static libraries
736    on mingw for flac, ogg, and libsamplerate libraries.
737  o Added example1: simple example of how to develop applications that
738    use the libSoX effects chain.  (robs)
739
740
741sox-14.0.0	2007-09-11
742----------
743
744  File formats:
745
746  o Added ffmpeg support.  (Reuben Thomas)
747  o FLAC: added seekable decoding; added seek-table generation.  (robs)
748  o Added M3U & PLS playlist formats [FR# 1667341] (Note: SHOUTcast PLS
749    is only partially supported).  (robs)
750  o Made format readers and writers into individual modules for easier
751    distribution of differently-licensed code.  (Reuben Thomas)
752  o Added libao support.  (Reuben Thomas)
753  o Added support for ADPCM-encoded PRC files, based on Danny Smith's
754    rec2wav and sndcmp.  (Reuben Thomas)
755  o Added AMR-NB [FR# 728875] & AMR-WB formats (with external libs).  (robs)
756  o Added LPC-10 support.  (Reuben Thomas)
757
758  Effects:
759
760  o Use LADSPA effects (one input, one output).  (Reuben Thomas)
761  o --octave option changed to --plot; can now also use gnuplot to
762    plot effect transfer function.  (robs)
763  o Added soft-knee companding.  (robs)
764  o Show (with --plot) compand transfer function.  (robs)
765  o Allow e.g. "vol 6dB" (as well as "vol 6 dB").  (robs)
766  o Changed deemph filter from 1st order to 2nd order for
767    slightly better accuracy.  (robs)
768  o Add option to silence effect to leave periods of silence
769    in and only strip out extra silence.   (Mark Schreiber)
770  o synth can now generate any number of channels.  (robs)
771  o mixer can now mixdown to mono any number of channels.  (robs)
772  o Added oops effect (mixer special case).  (robs)
773  o All effects that could only work on mono or stereo audio, now
774    work with any number of channels.  (robs)
775  o Added WSOLA-based key and tempo effects.  (robs)
776
777  Other new features:
778
779  o Show (with -S) if clipping is occurring.  (robs)
780  o Added internet input file support (needs wget).  (robs)
781  o Made it possible to build without sound drivers.  (Reuben Thomas)
782
783  Bug fixes:
784
785  o Fix (m)compand transfer function non-linearities; fix compand
786    drain volume.  (robs)
787  o Fix crash with pan effect.  (robs)
788  o Add missing RM define to Makefiles so installs work.
789   (Bug# 1666599) (cbagwell)
790  o Fix I/O performance regression in 13.0.0.  (Reuben Thomas)
791  o Fix .lu, .la read regression in 13.0.0 [Bug# 1715076].  (robs)
792  o Fix uncompressed NIST/Sphere read regression in v13 [Bug #1736016].
793  o Fix displayed times when playing a file and using trim.  (robs)
794  o Fix CDDA sector duration display for non-CDDA sample rates.  (robs)
795  o synth fixes: brown noise; inverted square wave; offset < 0.  (robs)
796  o Fix crash when encoding Vorbis or FLAC: with no comment.  (robs)
797  o Fix effect drain problems: chorus, echo(s), phaser.  (robs)
798  o Fix rabbit responsiveness and memory problems.  (Peter Samuelson)
799  o Fix broken stereo audio when recording using ALSA.  (robs)
800  o Fix OSS driver on big endian machines that was introduced in
801    last release.
802
803  Internal improvements:
804
805  o Renamed libst to libsox for name recongition and to avoid
806    duplications with other existing libst libraries.  (Reuben Thomas)
807  o Moved effects to libsfx.  (Reuben Thomas)
808  o Got rid of several hundred compiler warnings.  (robs, Reuben Thomas)
809  o Added basic performance testing of I/O.  (Reuben Thomas)
810  o Effects chain processing now available in libSoX.  (robs)
811  o Added effects-chain buffering for effects that use a window [FR#
812    1621695].  (robs)
813  o Added cmake build files for Win32.  (robs)
814
815
816sox-13.0.0	2007-02-11
817----------
818
819  File formats:
820
821  o Support for .caf, .paf, .fap, .nist, .w64, .nist, Matlab 4.2/5.0
822    (Octave 2.0/2.1), .pvf, .sds, .sd2 and .xi file formats via libsndfile.
823    If available, libsndfile can also be used to handle all the other file
824    formats it understands.  (Reuben Thomas)
825  o Add FLAC support (robs)
826  o Support Maxis's XA format. (Dwayne C. Litzenberger)
827  o Add support for 24-bit PCM raw, wav (WAVE_FORMAT_EXTENSIBLE) [FR# 801015],
828    au, aiff, & flac files. (robs)
829  o Add AIFF-C output support.  (shashimoto)
830  o New .ima file format for raw IMA ADPCM.  (robs)
831  o Allow the rate and number of channels of .au files to be overridden
832    by command-line arguments. (robs)
833  o Add seek support for GSM data in WAV files. Rafal Maszkowski
834  o Allow encoding quality to be specified (FLAC & Ogg, but not
835    MP3 yet).  (robs)
836  o Rename -b to -1, -w to -2, -l to -4, -d to -8, and mask to dither.
837    (robs)
838  o New options for specifying endianness (and separate options for
839    nibble & bit reversal) [FR# 1621702].  (robs)
840  o Improved multi-channel file reading; fixes [1599990].  (robs)
841
842  Effects:
843
844  o Equalizer effect (Pascal Giard)
845  o bass and treble altering effects.  (robs)
846  o New optional rabbit resample routine, using libsamplerate
847    (aka Secret Rabbit Code).  (Reuben Thomas)
848  o Added allpass filter effect.  (robs)
849  o Documented the butterworth filter effects; added variable Q.  (robs)
850  o "rate" effect made an alias for "resample".
851  o Visualisation of various filters' frequency response via Octave.  (robs)
852  o Can now specify width of many 2nd-order filters as: Hz, octaves,
853    or Q.  (robs)
854  o Dither/mask amount now specifiable.  (robs)
855  o Consistent (and hopefully complete) clipping detection and
856    reporting.  (robs)
857  o Allow command-line time parameters of < 1 sec to omit the
858    leading 0. (robs)
859  o Improved synth usage and improved the synth entry in the man-
860    page.  (robs)
861  o Higher quality audio speed adjustment; also fixes [1155364].  (robs)
862  o Replacement flanger effect; also fixes [1393245].  (robs)
863  o Added silence padding effect.  (robs)
864  o Added ability for noiseprof to use stdout and noisered to use stdin
865    [FR# 1621694].  (Reuben Thomas)
866  o vibro effect name deprecated in favour of tremolo; this effect
867    reimplemented as a special case of synth.  (robs)
868
869  Other new features:
870
871  o Remove soxmix.  (Reuben Thomas)
872  o Preview mode now removed, as all it did was use rate rather than
873    resample, and rate has been removed.
874  o -V now gives only user-relevant messages, use -V -V to get
875    developer-relevant messages.  (robs)
876  o -V output much improved and expanded; now includes display of
877    (auto-)selected effects.  (robs)
878  o sox man-page overhaul, new soxexam man-page entries.  (robs)
879  o Added command line options for specifying the output file
880    comment.  (robs)
881  o Added ability to merge e.g. 2 mono files to 1 stereo file
882    [FR# 1297076].  (robs)
883  o Removed the restrictions whereby multiple input files had to have
884    the same data encoding & size, and in most situations where they
885    had to have the same # of channels, and for play where they had
886    to have the same sampling-rate.  (robs)
887  o Options to apply replay-gain on input; enabled by default
888    with `play'.  (robs)
889  o Can now use Ctrl-C to skip to next track when playing multiple
890    files (e.g. play *.mp3); Ctrl-C twice to exit.  (robs)
891  o Added --interactive option to prompt to overwrite pre-existing
892    output file.  (robs)
893  o Added large file support.  (Reuben Thomas)
894
895  Bug fixes:
896
897  o Fix writing MP3 files on AMD64 processors.
898  o More fixes to MP3 tag reading.  Sometimes tags were
899    detected as valid MP3 frames.
900  o Fix to stop, avoiding a crash, when starting of effects fails.
901    (Reuben Thomas)
902  o Fixed a bug introduced in 12.18.2 that stopped the draining
903    of effects from occuring.  This had stopped the reverse effect,
904    among others, from working.  (Reuben Thomas)
905  o Several effects are now optimised out in situations where they need
906    do nothing, e.g. changing rate from 8000 to 8000, or changing volume
907    by 0dB [Bug# 1395781].  (robs)
908  o Fix rounding error when reading command-line time
909    parameters. (robs)
910  o Fix nul file hander ignoring other format options if rate
911    option has not been given. (robs)
912  o Fix synth length accuracy. (robs)
913  o Fix broken audio when downmixing with any of the following
914    effects: synth, deemph, vibro. (robs)
915  o Fixed deemph & earwax effects to work with MP3, vorbis,
916    & FLAC.  (robs)
917  o Fix wav file handler discarding the last PCM sample in certain
918    circumstances. (robs)
919  o Fix [1627972] AIFF read bug when MARK chunk present.  (Richard Fuller)
920  o Fix [1160154] VOX to WAV conversion problem.  (robs)
921  o Removed (for output file only) the potentially
922    problematic -v option.  Use the vol effect instead.  (robs)
923  o Improved the accuracy of integer and floating point PCM
924    conversions.  (robs)
925  o Don't go into a loop on zero-padded WAVs.  (Jorge Serna)
926  o Fix to AIFF writing to avoid writing invalid files in some situations.
927    (Reuben Thomas)
928  o Fix compander effect bugs: [1613030] Compand fails to compress
929    clipping, [1181423] compand with 0 sec attack/release.  (robs)
930
931  Internal improvements:
932
933  o More and better self-tests. (robs)
934  o Build system overhaul to use the full set of GNU autotools.
935    (Reuben Thomas)
936  o Add new getopt1.c to win32 project file.
937  o Remove old, optional rate change and alaw/ulaw conversion code.
938    (Reuben Thomas)
939  o Removed the old internally invoked (but mentioned in the man page)
940    copy effect.  (robs)
941
942
943sox-12.18.2	2006-09-03
944-----------
945
946  o Adding in Debian's disk full fix (#313206).
947  o Finally got rid of reference to cleanup() function in
948    library.  Applications are now required to detect
949    all failures from return codes and cleanup as they
950    want.
951  o Changed how list of formats and effects are stored internally.
952    Effects libst users only. Dirk
953  o Store effects usage so that its accessable by applications.
954    Dirk
955  o Modify the synth effect to not use SIGINT to stop processing
956    and instead return ST_EOF.  This allows exact acount of
957    samples to be written out instead of an approximate amount.
958  o Fix hangup when attempting to write stereo MP3 files.
959    (1512218) Kendrick Shaw
960  o Fix deemph effect would lose stereo separation. (1479249)  robs
961  o Adding cross-platform support for getopt_long
962  o Make help screens print much more information and add
963    new --help-effect option.  (Originally from Dirk).
964  o Add support for using an external gsm library instead of
965    just the internal one.  Vladimir Nadvornik
966  o Updates to nul file handler to prevent crashes during output.
967    Martin Panter (1482869)
968
969
970sox-12.18.1	2006-05-07
971------------
972
973  o The "filter" effect could go into infinite drain mode.  Now
974    only drain 1 buffer.  noisered as well.
975  o SoX was ignoring user aborts (ctrl-c) if it occured during
976    effect drain operations.  This was bad if effects had
977    bugs and stuck in infinite loop.
978  o Stop SoX from crashing when file type could not be auto
979    determined (1417776).
980  o Output filenames with multiple '.' confused SoX.  (1417776)
981    Christian Hammer
982  o Moved to a common set of CLIP routines.  This fixed clipping
983    bugs in noisered and mcompand.
984  o Stop SoX from crashing on sphere files that contain large text
985    strings.  (1430025) Ulf Hamhammar
986  o Fix some overflow crashes in aiff handler. (1430024)  Ulf Hamhammar.
987  o Under windows, set piped input/output to binary mode (1417794). Martin
988    Panter
989  o Fixed broken internal version of strdup().  (1417790) Marty
990  o Stop infinite loop when reading MP3's with a tag size of
991    exactly 8192 bytes.  (1417511) Hans Fugal
992  o Fix typo in stlib.dsp for loading in Visual Studio 6.
993  o Fixed problems in silence effect related to removing multiple
994    periods of silence from the middle of the sound file.
995  o Reduced the window size greatly on the silence effect to
996    prevent leaving in silence that looked like noise still based
997    on RMS values.
998  o Prevent infinite loop in pitch effect from uninitialize variable.
999    Frank Heckenbach
1000  o Prevent crashes when printing error mesages (1447239)
1001  o Added makefile and support files to compile using Open Watcom
1002    compiler.  (1417798) Marty
1003  o Stop calling flow() on effects that returned EOF during drain().  Allows
1004    two back-to-back reverse effects to work.
1005  o Added support for multiple channels in .dat files.
1006    (1366634) tomchristie
1007
1008
1009sox-12.17.9	2005-12-05
1010-----------
1011
1012  o Updates to compile under VC6. Jimen Ching
1013  o Declare st_signalinfo_t to specifically be signed in case
1014    platform does not default ot signed chars.  This
1015    is required for NetBSD/powerpc.
1016  o When seek()ing in AIFF, SMP, and WAV handlers, remaining samples were
1017    incorrectly computed based on bytes and not samples.  Jukka
1018  o Changed noisered effect to just warn during clipping instead
1019    of aborting.  Ian Turner
1020  o Fixed bug were pieces of audio were lost every buffer read
1021    when running both -c and -r options together on mono audio.
1022    Users probably percieved it as shorter audio files that
1023    played with a sped up tempo.
1024    Bugfix will also apply to other times when multiple effects
1025    are ran on the command line.
1026  o Added support for -V option to play/rec scripts.
1027  o Fix to silence effect to allow negative periods to be specified
1028    (to remove silence from middle of sound file).
1029  o Fix swap option handling so that special case of "swap 1 1" will
1030    work.
1031  o Track length of Ogg Vorbis files on read.
1032  o Add support for displaying a status line that tracks progress
1033    of read/write routines.  Part of information requires read
1034    file handlers to be able to determine file length.
1035  o Converted alsa driver to use asoundlib instead of directly
1036    talking to kernel driver.  This also means that device names
1037    are now the ALSA logical names instead of /dev type names.
1038  o Added ALSA support to play/rec scripts.
1039  o Added st_open*, st_read, st_write, st_seek, st_close routines
1040    to help simplify developer interface to libst.  See libst.3..
1041  o Removed st_initformat(), st_copyformat(), and
1042    st_checkformat() from library.  If your app used those
1043    functions then copy them from 12.17.8 source code
1044    directly into your application or update to use new
1045    routines.
1046  o Force word-alignment on AIFF SSND and APPL chunks on input.
1047    Matthew Hodgson.
1048  o Add fix to WAV handler to only return data in multiples
1049    of sample_size*channels to better handle corrupt files.
1050  o Fixed bug where "-4" option didn't work with avg
1051    effect (Tom Christie).
1052  o Fixed fade's fade-out-length to match man page
1053    description as noted by Geoff Kuenning.  This required
1054    updates to the sample crossfade scripts.  Also modified fade
1055    effect to report when no more samples will be produced to
1056    prevent unneeded reading of whole file.
1057  o Allow aborting SoX with SIGTERM, along with previous SIGINT.
1058    Norman Ramsey.
1059
1060
1061sox-12.17.8	2005-08-22
1062-----------
1063
1064  o noisered effect had compile problems with some compilers.
1065  o "-x" option was being ignored since 12.17.7.
1066  o Stuart Brady added support for reading and writing RIFX files (big
1067    endian RIFF/WAV files).  Also added support for auto detecting
1068    DEC-style ".sd\0" files.
1069  o Gene Mar found typo in polyphase nuttall calculation.
1070  o SMP buffer overflow (detected by gcc 4.0).  Reported by Marcus Meissner
1071    and Matthias Saou.
1072  o Fixed URL in manpage to resample overviews.
1073  o Fixed WAV handler so that it didn't think WAV chunks with max size
1074    were invalid chunks.  This allows WAV's to be used in pipes since
1075    they have to default to max size.
1076  o WAV files with alaw or ulaw data don't need extended format chunks.
1077    (Lars Immisch)
1078  o In AIFF files, fixed problem were short comments should cause
1079    AIFF handler to get confused and become misaligned.
1080
1081
1082sox-12.17.7	2004-12-20
1083-----------
1084
1085  o Christian Weisgerber sent patches to man page fixes
1086    and patches for sunaudio driver on openbsd.
1087  o Default volume for soxmix wrongly set to 0 instead
1088    of 1/#_input_files (float rounding error).
1089  o Update to ALSA driver to do a better job of detecting
1090    unsupported sample rate/size/encoding and change to
1091    a supported one.
1092  o Fix bug in alsa writing were last last partial buffer
1093    wasn't being flushed.
1094  o Guentcho Skordev pointed out ogg vorbis files were using
1095    the same value for serial numbers each time.
1096  o Changed sox to only read the exact size of a WAV data chunk
1097    if cooledit IFF LIST chunk is found at the end of the file.
1098    Normally, this isn't done to allow reading > 2gig WAV files.
1099  o Modified configure to detect cygwin compiler after detecting
1100    gcc compiler (fixes some default CFLAGS options).
1101  o Added explicit rule for compile *.o from *.c so that
1102    CPPFLAGS is always referenced.  Not all platform's default
1103    rule includes CPPFLAGS (FreeBSD).
1104  o Under linux, add include path to /lib/modules/* so that ALSA
1105    include files can be auto detected.
1106  o Ian Turner added an effect to remove noise from an audio
1107    file by first profiling silent periods of the audio
1108    to determine what the noise is (like background hiss on
1109    cassette tapes).
1110
1111
1112sox-12.17.6	2004-10-13
1113-----------
1114
1115  o Changed comment code to always use copies of strings to
1116    fix bug in WAV handlering freeing argv[] memory.
1117  o Use calloc() to create ft_t structures so that all
1118    memory is initialized before being referenced.
1119  o Fixed VOC EOF bug were it thought there was an extra
1120    block when there wasn't.
1121  o Restructured directory layout so that source code is in
1122    a seperate directory.
1123  o Modified SoX to accept multiple input files.  Concatenates
1124    files together in this case.
1125  o Removed map effect so that loops and instr could be removed
1126    from effects structures.  This makes effects engine stand
1127    alone from the rest of the sox package.
1128  o Benedikt Zeyen found a bug in synth effect when generating
1129    brown noise that could cause clipping.
1130  o David Leverton sent another patch to prevent crashes on
1131    amd64's when resampling.
1132  o Fixed a bug were MP3 files with large ID3v2 tags could
1133    cause SoX to stick in a loop forever.  Now, it will
1134    abort on IDv3 tags larger then 100k.  Could still be
1135    improved to handle any size.
1136  o Changed volume option (-v) so that it tracks the file
1137    it was specified.  This means that when specified with
1138    the input file, it changes volume before effects engine
1139    and when specified with output file, its done after effects
1140    engine.
1141  o Added crossfade_cat.sh script that will concatenate to
1142    audio files and do a crossfade between them.
1143  o Fixed bug in fade effect were it was impossible to do a
1144    fadeout starting from the beginning of the audio file.
1145  o Removed rounding error when changing volume of audio with
1146    "-v" option.  This error caused doing a "-v -1.0" twice
1147    to not result in the original file.
1148  o Fixed a possible overflow in lots of effects were MIN
1149    value was treated as -MAX instead of -MAX-1.
1150  o Modifed sox so its OK for effects to not process any
1151    input or output bytes as long as they return ST_EOF.
1152  o When effects output data and reported ST_EOF at the
1153    same time, that buffer was discarded as well as
1154    data from any chained effect.
1155  o Added patch from Eric Benson that attempts to do a seek()
1156    if the first effect is trim.  This greatly speeds up
1157    processing large files.
1158  o Daniel Pouzzner implemented a multi-band compander (using
1159    the butterworth filters to split the audio into bands).
1160  o Donnie Smith updated the silence effect so that its possible
1161    to remove silence from the middle of a sound file by
1162    using a negative value for stop_periods.
1163  o Changed float routines to only work with normalized values
1164    from -1:1.
1165  o Modifed .au handler to be able to read and write 32-bit
1166    and 64-bit float data.  Only tested reading so far.
1167  o WAV with GSM data now always pads data to even number of bytes.
1168  o Added support for writing 32-bit audio to AIFF.
1169
1170
1171sox-12.17.5	2004-08-15
1172-----------
1173
1174  o Thomas Klausner sent in patches to compile audio drivers under
1175    NetBSD.
1176  o Rahul Powar pointed out a memory leak in the WAV file handler.
1177    It wasn't calling the correct close() function when closing
1178    input files.
1179  o Modified play.1 man page to not use multiple name lines.  This
1180    appears to confuse some conversion programs.  Updated sox.1
1181    man page for typo in reverb option.
1182  o Andrew Church fixed problem with header of stereo 8SVX files.
1183  o Jimen Ching added support to scan over garbage data at the
1184    beginning of MP3 files to find valid frames.  This is useful
1185    to play WAV and AIFF files that have MP3 data in them until
1186    those handlers support it directly.  To play those, force
1187    sox to use the mp3 handler with the "-t mp3" option.
1188  o Added patch from Ulf Harnhammar to wav handler to prevent
1189    buffer overflows.
1190  o Added patch from Redhat to allow resample to work on certain 64-bit
1191    machines (Sam Varshavchik)
1192  o Tony Seebregts added a file handler for headerless Dialogic/OKI ADPCM
1193    files (VOX files).
1194  o Jan Paul Schmidt added a repeat effect to do loops the brute force way.
1195    This is also good for file format that don't support loops as well.
1196  o Fix for OSS driver in rate tolerance calcs that were off because
1197    of type conversion problems.  Guenter Geiger.
1198  o Allow reading sphere files with headers greater then 256 bytes.  Jimen
1199    Ching.
1200  o Fix for vorbis were comments are displayed in KEY=value format always.
1201    Stop printing some info to stdout in case output is a pipe. Guenter
1202    Geiger.
1203  o J Robert Ray submitted fix for AIFF handler to ignore lowercase
1204    chunks that are unknown.
1205  o Bugfix for 8-bit voc files.  Jimen Ching
1206  o General warning cleanups (cbagwell)
1207  o Memory leaks in reading WAV files (Ufuk Kayserilioglu)
1208  o Rearrange link order of ogg vorbis libraries so that they
1209    can be compiled as static. (Christian Weisgerbr)
1210
1211
1212sox-12.17.4	2003-03-22
1213-----------
1214
1215  o Peter Nyhlen fixed a problem with reading Comments in Ogg Vorbis files.
1216  o Added install target to allow installing libgsm from main Makefile.
1217    Leigh Smith.
1218  o Minor updates to sox.c to free unused memory and close all input
1219    files during failures.
1220  o Pieter Krul added a patch that makes play script look at AUDIODEV
1221    environment variable if it exists to find which device to use.
1222    This allows scripts to work with Solaris SunRays and is a good idea
1223    in general.
1224  o Updated config.sub to detect latest supported OS's.
1225  o Fabrizio Gennari added support for reading and writing
1226    MP3 files using the external libraries libmad and libmp3lame.
1227  o Jens Henrik Goebbert sent in several bugfixes for integer overflows
1228    in the compand effect.
1229  o Dan Dickerman sent in patches for integer overflows in the resample
1230    effect.
1231  o Jimen Ching sent in a fix for multi-channel sound file processing
1232    using the avg effect.
1233  o Richards Bannister added patches to clean up prototypes and filter
1234    private sizes being to small.
1235  o Jimen Ching adds -d option to specify 64bit data size and changed
1236    Ulaw/Alaw encoding to default to 8bit data size if not specified.
1237  o David Singer pointed out that a MS program creates AIFF files
1238    with an invalid length of 0 in its header.  Changed SoX to warn the
1239    user but continue instead of aborting since SoX can still read
1240    the file just fine.
1241  o Bert van Leeuwen added a file handler for Psion record.app used
1242    for System/Alarms in some Psion devices.
1243  o Richard Bannister sent in a patch to make writing vorbis files
1244    work with Vorbis 1.0 libraries.
1245  o Fixed configure scripts so that they can be ran with the
1246    --with-oss-dsp, --with-alsa, and --with-sun-audio options.
1247    Was causing compile time problems.  Reported by Raul Coronado.
1248  o Change Ogg Vorbis support to use VBR encoding to match defaults
1249    of oggenc based on suggestion from Christian Weisgerber.
1250  o Prints error message now when a channel value of -1 is given.
1251    Reported by Pierre Fortin.
1252  o Fixed bug were memory could be trashed if a input WAV file contained
1253    a comment.  Found by Rhys Chard.
1254  o Change command line to compile soxmix.o slightly to try and make
1255    Forte compiler happy.
1256  o Added support for ALSA 0.9 driver. Jimen Ching
1257
1258
1259sox-12.17.3	2001-12-15
1260-----------
1261
1262  o Removed check that prevented pan from being invoked when the
1263    input and output channels were the same.
1264  o Ciaran Anscomb added a flush to sunaudio driver after changing
1265    settings.  This is because it can start buffering data as soon
1266    as the device is open and the buffered data can be in a
1267    wrong format.
1268  o trim wasn't accounting for # of channels and was generally broken.
1269  o Jeff Bonggren fixed trim bugs were it was failing when triming
1270    data that equaled to BUFSIZ.  Also, trim now immediately returns
1271    ST_EOF when its done instead of requiring an extra call that
1272    returns no data.
1273  o auto effect wasn't rewinding the file if the file was less then
1274    132 bytes.  Changed auto parsing of header to be incremental
1275    instead of reading in a large buffer.
1276  o William Plant pointed out a bad pointer access in fade effect's
1277    parsing of options.
1278  o Ken pointed out a problem were private data was not 8-byte aligned
1279    and causing crashes on most RISC CPU's.  Fixed by going back to
1280    old style of declaring private data as type "double" which usually
1281    forces strictest alignment.
1282  o ima_rw was miscompiling on alpha's because of a header ordering
1283    problem.
1284  o Erik de Castro Lopo pointed out that when writing 16-bit VOC files
1285    the headers did not contain the correct length or encoding type.
1286  o Seperated st.h into 2 files.  st.h for libst users and st_i.h for
1287    internal use.
1288  o Added new types used extensively by libst: st_sample_t & st_size_t.
1289    This allows for more deterministic behavior on 64-bit machines and
1290    also allows sox to possibly work with much larger file sizes.
1291  o SoX was some times getting confused and thinking an EOF was an
1292    error case when reading audio files.  Removed unneeded aborts
1293    when EOF was OK.
1294  o Silence effect was broken on stereo files.  Also, made thresholds
1295    relative to original bit percision of audio data.  When 16-bit audio
1296    is scaled up to 32-bits, a little bit of noise starts to look like a
1297    large amplitude of noise.  Also, now using RMS values to smooth out
1298    clicks.  RMS rolling window size is 1/10 of sample rate.
1299  o Changed Floats into a type of encoding instead of a size of audio data.
1300  o Put a flush at the end of OSS driver so that no old data would be
1301    left in internal buffers after changing audio format parameters.
1302  o Fixed problem where play script wasn't installed correctly if you
1303    build from another directory (pointed out by Mike Castle).
1304  o Made GSM support internal to libst (no external library required).
1305  o Change configure script to enable ulaw/alaw lookup tables and GSM
1306    support by default.  Also have Makefile's make use of more configure
1307    prefix options to allow for customized installs.
1308  o Reverted ulaw/alaw conversion routines back to Sun's versions.
1309  o Modified raw file handler to write files in the same generic buffered
1310    fashion that was added for reading in 12.17.2.  Seems to have
1311    speed up some types of writing.
1312  o Reading Ogg Vorbis files could get confused of when EOF was reached.
1313  o Added uninstall rules to Makefile.  Added new ststdint.h to define
1314    *int*_t typedefs.
1315  o Added internal strcasecmp for OS/2.
1316  o Added support for swapping "bit" order (MSB becomes LSB) for raw u-law
1317    and A-law data.  Some ISDN equipment prefers it this way.  Use -x flag
1318    or new .la or .lu file extensions.
1319  o Annonymous patch submitted to fix types and spelling problems in
1320    various files.  Also, updated VOC files to have u-law and A-law
1321    support as well as able to read in VOC files using a pipe.  More
1322    examples added to soxexam file.
1323
1324
1325sox-12.17.2	2001-09-15
1326-----------
1327
1328  o Daniel Culbert found and fixed a bug in the polyphase effect
1329    that occurs on platforms that rand() can return large values.
1330    The bug resulted in polyphase resampling an audio file to a
1331    different rate then it said it was.
1332  o Stan Seibert contributed a handler for Ogg Vorbis files.  It
1333    handles all input formats but can only save using default
1334    settings.
1335  o Darrick Servis has made major cleanups in the code in regards
1336    to error conditions.  Helps people using libst.
1337  o Darrick Servis has added added optional seek functionality sox.
1338    Several formats have been modified to make use of this.
1339  o Geoff Kuenning rewrote the average effect into a general-purpose
1340    parametric mapping from N channels to M channels.
1341  o Geoff Kuenning added an optional delay-time parameter to the compander
1342    effect to allow companding to effectively operate based on future
1343    knowledge.
1344  o Geoff Kuenning Added support to fade and trim effect for specifying time
1345    in hh:mm:ss.frac format.
1346    Fixed a bug that caused integer overflow when large start/stop times
1347    were used.
1348  o Geoff Kuenning updated play/rec/soxeffect scripts to handle all effects
1349    added since 12.17. Spell-checked soxexam.1 file.
1350  o Jimen Ching updated ALSA configure support to auto-detect 4.x or 5.x API
1351    and compile correctly under those two.  All other versions are unsupported.
1352  o Merged in the NetBSD package changes into CVS finally.
1353  o Removed broken support for non-ANSI compilers.
1354  o Makefile now places the correct path to SoX in the play/rec scripts
1355    based on configuration script values.
1356  o Alexander Pevzner provided a fix for OSS driver for sound being
1357    dropped under heavy CPU loads.  Moved GETBLKSIZE operation
1358    until after setting up the format (SBLive! was modify the block size
1359    after changing formats).
1360  o With help from David Blythe, updated OSS drivers to use newer format
1361    interface.  OSS driver will now attempt to detect a valid endian type
1362    to use with sound card.
1363  o Carsten Borchardt pointed out a bug in lowp filter.  Added new
1364    nul file handler that reads and writes from/to nothing.
1365    Also added new synth effect that creates sounds using a simple
1366    synthesizer.  Created a testcd.sh that uses two new features
1367    to create a test sound CD for testing audio equipment.
1368  o Ben Last added a new program that uses libst and will merge two
1369    seperate audio files into a single file with multiple channels.
1370    This was merged into the standard sox.c file by cbagwell.
1371  o Andreas Menke fixed some problems with the speed effect and
1372    how effects were drained.  Also improved the usage of printf()'s
1373    to use stderr.
1374  o Corrected AU header length value when comments were less than
1375    4 bytes.
1376  o Added support for reading non-standard bit size data from AIFF files.
1377  o Ignore unmatched MARK/INSTR chunks in AIFF files now instead of quiting.
1378  o Fixed ALAW encoding bug in .au files as pointed out by Bruce Forsberg.
1379  o Unified the raw reading functions.  Probably slightly faster for
1380    most datatypes but was done to fix recording from the OSS driver.
1381    Control-C stopped working somewhere during the 12.17 series.
1382  o Ford Prefect added a dcshift which can shift the midline amplitude
1383    towards the true center.  This will allow for a greater range
1384    of volume adjustments without clipping audio data.
1385  o Heikki Leinonen submitted a silence effect that will trim off
1386    silence from the beginning of a file.  cbagwell made some modifications
1387    to trim off front and back as well as some other tweaks.
1388  o Made the "auto" effect the default file handler for input files.
1389    Also have auto handler now use file extensions if it can't figure
1390    it out.
1391
1392
1393sox-12.17.1	2000-11-19
1394-----------
1395
1396  o Andreas Kies fixed a bug were we were not detecting correctly
1397    if an output file was seekable.
1398  o Fixed a bug in the mask effect introduced in 12.17.  If the libc
1399    version of rand() returned more then 15-bit values then it would
1400    trash your data.  Reported by Friedhel Mehnert.
1401  o Added a new fade in/out effect from Ari Moisio.
1402  o AIFF files now ignore a MARK chunk if the loop type is NoLoop (0).
1403  o Fixed bug were it was impossible to output ADPCM data in wav files.
1404  o Fixed bug were rate had to be specified for sphere files (fix from
1405    Antti Honkela).
1406  o Added small work around to let compile with cygwin's gcc 95.2
1407    which also now allows to compile with GSM support under windows.
1408  o Removed accessing of sound devices in tests for sound support and
1409    instead just look for needed header files.  This allows the sound
1410    support to be detected even if the device is currently busy or when
1411    compiled on a box that doesn't have a sound card but the OS supports
1412    it (which is the enviornment of most distributions creating new
1413    binaries).
1414  o Added support to partially handle AIFC files but only uncompressed
1415    versions.  This should allow people to work with raw CD audio data
1416    on Mac OSX and also gives a basis for adding future support for
1417    things like ADPCM processing.
1418  o Added new "earwax" effect from Edward Beingessner.  It is meant to
1419    be used for CD audio played through headphones.  It will move the
1420    sound stage from left/right to in front of you.
1421  o Trim effect did not compute locations as was documented in the
1422    man pages.  Changed effect so that it computed the time the
1423    same way that the fade effect does.
1424
1425
1426sox-12.17	2000-09-08
1427---------
1428
1429  o Sox can now read and write w98 compatible gsm .wav files,
1430    if compiled properly with libgsm.  Thanks go to Stuart
1431    Daines <sjd.u-net.com> for the gsm-wav patches.
1432    This is new, and relatively untested. See -g format option.
1433  o Sox can now write IMA_ADPCM and ADPCM compressed .wav,
1434    this is new, and relatively untested. See -i and -a format
1435    options in manpage.
1436  o General changes to wav.c for writing additional wav formats.
1437    Reading wave headers: more consistency checks.
1438    Writing wave headers: fixes for w98.
1439  o Speedups to adpcm read routines, new codex versions are
1440    now in ima_rw.c and adpcm.c.
1441  o Speedups for raw.c, especially for gcc with glibc.
1442  o Fixed a segfault problem with ulaw/alaw conversion, where
1443    an out-of-range index into the tables could occur.
1444  o More detailed output from the stat effect.
1445  o Continued rewrite of resample.c, now it is almost as
1446    fast with floating arithmetic as the old (buggy) version
1447    was with 16-bit integer arithmetic.  The older version
1448    in sox-12.16 shifted frequencies slightly and was less
1449    accurate.  (Stan Brooks)
1450  o Extensive rewrite of polyphas.c, should be faster and use less memory
1451    now.  The sox-12.16 polyphase code had some bugs.  (Stan Brooks)
1452  o New effect 'filter' which is a high-quality DSP lowpass/
1453    highpass/bandpass filter using windowed sinc function
1454    methods, like polyphase and resample.  (Stan Brooks)
1455  o Jan Paul Schmidt added new low/high/bandpass and bandlimit
1456    filters to sox.  They have much better results then the old
1457    versions of low/high/bandpass.  The new effects are all
1458    Butterworth filters.
1459  o New data file type supported, -sl or extension .sl for
1460    signed 32-bit integers.  Some simplification of the raw.c
1461    source.
1462  o Some test programs and scripts in the test directory, for
1463    making gnuplot plots of frequency response, error-levels
1464    of rate-conversion and filter effects.
1465  o Removed sbdsp code.  All modern unixes are support via OSS,
1466    ALSA, or sun audio device interfaces.
1467  o Added AVR handler from Jan Paul Schmidt.
1468  o SoX now waits until the last possible moment before opening
1469    the output file.  This will allow all input and effect options
1470    to be parsed for errors and abort before overwriting any file.
1471  o SoX will no longer write to files that exists.  This will keep
1472    it from deleting files when a user mistakenly types "sox *.wav".
1473  o Added new compander effect from Nick Bailey.  Nice general purpose
1474    filter.
1475  o Under Solaris, SoX now checks hardware ability to play stereo/PCM
1476    and forces output data to match.  Sorry, no SunOS support.  I don't
1477    have access to one any more.
1478  o Fixed array overrun bug in rate effect as pointed out by Ian
1479    Donaldson.
1480  o Fixed clip24() range as pointed out by Ted Powell.
1481  o Fixed possible segfault in echos effect, as pointed out by Zinx
1482    Verituse.
1483  o Moved most documentation to new "soxexam.1" manual page so that
1484    all users on a unix system will have access to important information.
1485    This means no more TIPS, CHEATS, or CHEATS.eft files.
1486  o Richard Kent fixed a byte alignment problem in aiff comment code.
1487  o Loring Holden added support to create missing directories on install
1488    and support for installs from outside the source directory.
1489  o Fabien COELHO added a pan and volume effect.
1490  o Fabien COELHO added a speed effect to sox (like speeding up a tape
1491    machine).  Also added pitch which changes pitch without effecting
1492    duration and stretch which stretch time without effecting pitch.
1493  o Leigh Smith updated aiff support to use the COMT check when writing
1494    comments instead of the ANNO.  It is the prefered method from Apple
1495    and newer programs are starting to require it.  Also fixed some bugs
1496    in how we compute the length of various chunks in output files.
1497  o Changed the default block alignement for IMA ADPCM WAV files to use
1498    256 which is what windows programs use.  Badly written readers expect
1499    256.
1500  o Matthias Nutt helped add support for specifying multiple effects
1501    to SoX on the command line.
1502  o Curt Zirzow added a trim effect to trim off audio data.
1503  o Updated ALSA driver to support new interface. Jimen Ching
1504
1505
1506sox-12.16	1999-07-13
1507---------
1508
1509  o Changed raw data functions to perform I/O operations using block reads.
1510    Should improve speeds greatly, especially when filesize is in megs.
1511    Got code ready to tweak speed more which also forced me to clean up
1512    Endian test code.
1513  o Fixed a bug in .au's handling of G.723.  It wasn't using the correct
1514    number of bits.  Added A-law support to .au.
1515  o Quoted $filename in play/rec scripts so that files with spaces in
1516    their names can be given.
1517  o Old OS/2 support didn't work.  Replaced with known working EMX
1518    GCC compatible code.
1519  o ADPCM WAV files were defaulting to 8-bit outputs and thus losing
1520    some persision.  Now defaults to 16-bit signed uncompressed data.
1521  o Fixed a couple cross-platform compiler issues.
1522  o Jimen Ching has added support for "configure" in to SOX.  Finally,
1523    a good solution to cross-platform compiling!
1524  o Jimen Ching has added native support for the ALSA driver to play
1525    and record audio from. (jching@flex.com)
1526  o Minor correction for -r example in manual page.
1527  o Renamed sox.sh to soxeffect and rewrote.  Symbolic links can be made
1528    from this file to the name of a sox effect.  It will then run that
1529    effect on STDIN and output the results to STDOUT.
1530  o Fixed up some makefiles and 16-bit support from patches sent by
1531    Mark Morgan Lloyd (markMLl.in@telemetry.co.uk).  Also added some
1532    nice DOS test bat files from him as well.
1533  o Cleaned up some more cross-platform compile problems.  In the process
1534    got it working with Turbo C again, kinda.  It still locks DOS up at times.
1535  o Made AIFF handler work with invalid headers that some programs generate.
1536    Also fix an Endian bug thats been there for quite a long time (when
1537    ran on Intel machines).  Made comment lengths even length to make
1538    most MacOS programs happy.  cbagwell
1539  o Resample function was updated by Andreas Wilde
1540    (andreas@eakaw2.et.tu-dresden.de) to fix problem were freqs. were
1541    off by a factor of 2.
1542  o Added an effect that swaps stereo channels.  cbagwell
1543  o Combined play and rec scripts to a single program to ease mantaince.
1544    Also added GNU style long-options (--help).  Careful, some options have
1545    change (but more logical).
1546  o Fixed a very old silly bug were low/high/bandpass filters would
1547    add some trash data to the end of the sound file.
1548  o "avg" effect wouldn't give error message when you tried to average
1549    x number of channels in to the same number of channels.
1550  o Fixed core dump when writting AIFF files with no comments.
1551    (Olaf Pueschel)
1552
1553
1554sox-12.15	1998-10-01
1555---------
1556
1557  o Juergen Mueller moved Sox forward quite a bit by adding all the
1558    most commonly known "Guitar Effects".  He enhanced echo support,
1559    added chorus, flanger, and reverb effects.  He also wrote a very
1560    handy CHEAT.eft file for using various effects.
1561  o Incorporated Yamaha TX-16W sampler file support provided by
1562    Rob Talley (rob@aii.com) and Mark Lakata (lakata@physics.berkeley.edu).
1563  o Fixed a small bug in hcom compression, dependent on sign
1564    extension.  Leigh Smith (leigh@psychokiller.dialix.oz.au).
1565  o sox -h now prints out the file formats and effects supported.
1566    Leigh Smith and Chris Bagwell.
1567  o smp transfers comments more completely.  Leigh Smith.
1568  o aiff manages markers and loops correctly and produces more
1569    verbose output.  Leigh Smith.
1570  o Added polyphase resampler (kb@ece.cmu.edu).  This adds a slightly
1571    different resampling algorithm to the mix.
1572  o Michael Brown (mjb@pootle.demon.co.uk) sent a patch to stop crashes
1573    from happening when reading mono MS ADPCM files.
1574  o Fabrice Bellard has added a less buggy 'rate' conversion.  I've left
1575    the old rate code included but if all goes well this will become
1576    the new 'rate'.  Please test and let me know how it works.  Resample
1577    effect needs to be reworked now.
1578  o Heiko Eissfeldt: Implemented a simple deemphasis effect for
1579    certain audio cd samples.
1580  o Matija Nalis (mnalis@public.srce.hr) sent a patch to fix volume adjustment
1581    (-v) option of sox.
1582  o Fixed typo in optimazation flag in unix makefile, as pointed out by
1583    Manoj Kasichainula (manojk@io.com).
1584  o Fixed missing ';;' in play script. cbagwell
1585  o Fixed bug in determining length of IMA and MS ADPCM WAVE files. cbagwell
1586  o Fixed bug in how stereo effects were drained which fixed the
1587    "reverse" effect from only saving half of stereo files. cbagwell
1588  o Can use "-e" without an effect again.
1589  o Added -g and -a options for new style support of GSM and ADPCM.  Added
1590    error checking to various formats to avoid allowing these types.
1591
1592
1593sox-12.14	1998-05-15
1594---------
1595
1596  o Bumped major version number up and shortened name.  The shorter name
1597    should help the various distributions using this package.
1598  o Added support for MS ADPCM and IMA (or DVI) ADPCM for .wav files.
1599    Thanks to Mark Podlipec's xanim for this code (podlipec@ici.net).
1600  o Change Lance Norskog's email address to thinman@meer.net.  The old
1601    one was bouncing.
1602  o Added path string to play and rec strings so that it could be run by
1603    users without complete paths setup (i.e. Ran by "rc" files during bootup
1604    or shutdown)
1605  o Fixed -e option from Richard Guenther
1606      (richard.guenther@student.uni-tuebingen.de) and fixed a small bug
1607    in stat.
1608  o Fixed a bug in the mask effect for ULAW/ALAW files.
1609  o Fixed a bug in cdr output files that appended trash to end of file.
1610  o Guenter Geiger (geiger@iem.mhsg.ac.at) made a rather large patch to
1611    allow sox to work on 64-bit alphas.  It was done the easiest meathod
1612    by changing all long declarations to use a macro that knows to
1613    make it 32-bits.  Want to port to another 64-bit-but-not-alpha
1614    machine?  Grep for "alpha" to see changes.  There are most likely
1615    several bugs left for alphas.  Guenter is also supporting this
1616    package for the Debian distribution.
1617  o Did some major code cleanups to clear out some warning messages
1618    during compile.  This is to clear up problems I'm finding under
1619    both alpha and dos.  Some warning messages are actually useful
1620    now (pointing out possible data loss).  Hopefully, I didn't
1621    break anything.
1622  o Code clean up allows me to finally compile code under Turbo C
1623    again.  Too bad the EXE gets a currupted stack somewhere and locks
1624    up the system.  Anyone want to try it with Borland C for me?
1625    If you get a working EXE I would like to start distributing a DOS
1626    package like there used to be.
1627  o Speaking of cleanups, anyone want to help cleanup the makefiles for
1628    various platforms?  They are quite outdated right now and it is
1629    very obvious that Sox hasn't been able to compile under all the
1630    platforms it once did for several releases.  Please send in
1631    the cleaned-up makefile versions along with what programs you
1632    used to compile it with.
1633  o There is a known bug in hcom's compress() function.  It is allocating
1634    memory that can't be free'd under some OS's.  It causes a core dump.
1635
1636
1637sox-11gamma-cb3	1997-03-28
1638---------------
1639
1640This release of sox is mainly a bugfix release.  The following things
1641have changed:
1642
1643  o  Documentation has been updated when it was obviously wrong.
1644     Much more work could be done.  Man pages were updated to
1645     work correctly on Solaris and add some missing info.
1646  o  Several people sent me patches to fix compiling on Solaris
1647     as well as fix a few bugs.
1648  o  Change USS driver's name to OSS.  Man, does that driver
1649     like to change names!  This could cause problems if you
1650     have made your own custom play and rec scripts.
1651  o  Updated my email address.  Sorry if I haven't responded to
1652     any emails as I no longer have access to my old address.
1653     Please use cbagwell@sprynet.com.
1654  o  Fixed unix test scripts so that they worked again.
1655  o  Fixed endian bug in psion .wve code.
1656  o  Replaced outdated voc info file with detailed format info
1657     inside voc code.
1658  o  Added new sound format, cvsd (Continuously Variable Slope Delta)
1659     from Thomas Sailer (sailer@ife.ee.ethz.ch).
1660
1661
1662sox-11gamma-cb2	1996-10-04
1663---------------
1664
1665This release of sox is based on the latest gamma version released
1666plus some patches I've made to support the following new features:
1667
1668I would like to thank everyone that wrote me about the long
1669standing bug in Sox that could DELETE your /dev/* file if the
1670program was aborted for reason such as invalid audio file.  Special
1671thanks for Bryan Franklin for sending in a patch when I was
1672to busy to even look for it.
1673
1674  o  Better play support for 8-bit stereo voc files.  New support
1675     for outputing both 8-bit and 16-bit stereo voc files.
1676  o  Built-in support for playing and recording from Linux /dev/dsp.
1677     This is a re-write and seperate module from the previous
1678     support included inside the sbdsp module.  Also fixes a buffer
1679     size bug that showed up when using newer versions of OSS.
1680     This driver will work with OSS (and older versions called USS, TASD
1681     and Voxware).
1682  o  Support for audio playing and recording with SunOS /dev/audio.
1683  o  Fixes a bug were /dev/audio or /dev/dsp could be deleted
1684     when playing an invalid format audio file.
1685  o  Expanded options for play and rec scripts.  You can now specify
1686     sox effects after the filename and hear them in real time.
1687     Please be sure that an older version of sox is not in your path
1688     because these script will possibly find it first and
1689     incorrectly use it.
1690  o  Setting play/record volume still requires an external program.
1691     If you have one a command line program to do this (such as
1692     "mixer" for Linux) then you will want to edit the play and rec
1693     to use this.  The current support for it is only in example
1694     form of how it can be done.
1695
1696
1697List of earlier SoX Contributors
1698--------------------------------
1699Covering the time from its creation (Jul '91) until sox-11gamma (Feb '95):
1700
1701  o Lance Norskog		thinman at netcom.com
1702	Creator & maintenance
1703  o Guido Van Rossum		guido at cwi.nl
1704	AU, AIFF, AUTO, HCOM, reverse, many bug fixes
1705  o Jef Poskanzer		jef at well.sf.ca.us
1706	original code for u-law and delay line
1707  o Bill Neisius		bill%solaria at hac2arpa.hac.com
1708	DOS port, 8SVX, Sounder, Soundtool formats
1709	Apollo fixes, stat with auto-picker
1710  o Rick Richardson		rick at digibd.com
1711	WAV and SB driver handlers, fixes
1712  o David Champion		dgc3 at midway.uchicago.edu
1713	Amiga port
1714  o Pace Willisson		pace at blitz.com
1715	Fixes for ESIX
1716  o Leigh Smith			leigh at psychok.dialix.oz.au
1717	SMP and comment movement support.
1718  o David Sanderson		dws at ssec.wisc.edu
1719	AIX3.1 fixes
1720  o Glenn Lewis			glewis at pcocd2.intel.com
1721	AIFF chunking fixes
1722  o Brian Campbell		brianc at quantum.qnx.com
1723	QNX port and 16-bit fixes
1724  o Chris Adams			gt8741 at prism.gatech.edu
1725	DOS port fixes
1726  o John Kohl			jtkohl at kolvir.elcr.ca.us
1727	BSD386 port, VOC stereo support
1728  o Ken Kubo			ken at hmcvax.claremont.edu
1729	VMS port, VOC stereo support
1730  o Frank Gadegast 		phade at cs.tu-berlin.de
1731	Microsoft C 7.0 & C Borland 3.0 ports
1732  o David Elliot		dce at scmc.sony.com
1733	CD-R format support
1734  o David Sears			dns at essnj3.essnjay.com
1735	Linux support
1736  o Tom Littlejohn		tlit at seq1.loc.gov
1737	Raw textual data
1738  o Boisy G. Pitre 		boisy at microware.com
1739	OS9 port
1740  o Sun Microsystems, Guido Van Rossum
1741	CCITT G.711, G.721, G.723 implementation
1742  o Graeme Gill			graeme at labtam.labtam.oz.au
1743	A-LAW format, Good .WAV handling, avg channel expansion
1744  o Allen Grider		grider at hfsi.hfsi.com
1745	VOC stereo mode, WAV file handling
1746  o Michel Fingerhut 		Michel.Fingerhut at ircam.fr
1747	Upgrade 'sf' format to current IRCAM format.  Float file support.
1748  o Chris Knight
1749	Achimedes Acorn support
1750  o Richard Caley 		R.Caley at ed.ac.uk
1751	Psion WVE handler
1752  o Lutz Vieweg			lkv at mania.RoBIN.de
1753	MAUD (Amiga) file handler
1754  o Tim Gardner			timg at tpi.com
1755	Windows NT port for V7
1756  o Jimen Ching 		jiching at wiliki.eng.hawaii.edu
1757	Libst porting bugs
1758  o Lauren Weinstein		lauren at vortex.com
1759	DOS porting, scripts, professional use
1760