![]() |
|
| Technobabble Post your general Need for Help questions here.
• Lossy or Lossless? Moderators |
![]() |
|
|
Thread Tools |
|
#31
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
ftp tutorial, 2004
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#32
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
b&p tutorial, 2004
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#33
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
foobar2000 tutorial, 2004-12-02
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#34
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
foobar2000 tutorial, 2004-12-02. Recommended to use TLH these days.
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#35
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
Creating DVD/CD Cover Art Guide by trbrown4 via thisistoto, 2006-02-18
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#36
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
Technobabble sticky post by RainDawg, 2004-11-29
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#37
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
offsite TLH tutorial by Godxofxrock9, 2013-12-21. version with images available here as of this writing.
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#38
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
.shn / shorten.txt 2007-03
Code:
SHORTEN(1) local SHORTEN(1)
NAME
shorten - fast compression for waveform files
SYNOPSIS
shorten [-hlu] [-a #bytes] [-b #samples] [-c #channels] [-d #bytes] [-m
#blocks] [-n #dB] [-p #order] [-q #bits] [-r #bits] [-t filetype] [-v
#version] [waveform-file [shortened-file]]
shorten -x [-hl] [ -a #bytes] [-d #bytes] [shortened-file [waveform-
file]]
shorten [ -e | -i | -k | -s | -S<name> ] shortened-file
shorten [ -s | -S<name> ] < shortened-data
DESCRIPTION
shorten reduces the size of waveform files (such as audio) using Huff-
man coding of prediction residuals and optional additional quantisa-
tion. In lossless mode the amount of compression obtained depends on
the nature of the waveform. Those composing of low frequencies and low
amplitudes give the best compression, which may be 2:1 or better.
Lossy compression operates by specifying a minimum acceptable segmental
signal to noise ratio or a maximum bit rate. Lossy compression oper-
ates by zeroing the lower order bits of the waveform, so retaining
waveform shape.
If both file names are specified then these are used as the input and
output files. The first file name can be replaced by "-" to read from
standard input and likewise the second filename can be replaced by "-"
to write to standard output. Under UNIX, if only one file name is
specified, then that name is used for input and the output file name is
generated by adding the suffix ".shn" on compression and removing the
".shn" suffix on decompression. In these cases the input file is
removed on completion. The use of automatic file name generation is
not currently supported under DOS. If no file names are specified,
shorten reads from standard input and writes to standard output. When-
ever possible, the output file inherits the permissions, owner, group,
access and modification times of the input file.
From release 2.3 the RIFF WAVE (Microsoft .wav) file type is the
default. These files contain enough information to set most of the
switches presented below, so effective operation is obtained just by
setting the desired level of compression (-n or -r switch).
OPTIONS
-a align bytes
Specify the number of bytes to be copied verbatim before com-
pression begins. This option can be used to preserve fixed
length ASCII headers on waveform files, and may be necessary if
the header length is an odd number of bytes.
-b block size
Specify the number of samples to be grouped into a block for
processing. Within a block the signal elements are expected to
have the same spectral characteristics. The default option
works well for a large range of audio files.
-c channels
Specify the number of independent interwoven channels. For two
signals, a(t) and b(t) the original data format is assumed to be
a(0),b(0),a(1),b(1)...
-d discard bytes
Specify the number of bytes to be discarded before compression
or decompression. This may be used to delete header information
from a file. Refer to the -a option for storing the header
information in the compressed file.
-e Erase seek information from an existing file.
-h Give a short message specifying usage options.
-i Inquire as to whether the given file is an external seek table
file, a file with seek tables appended to it, or neither. If
seek tables are present, the seek table revision number is
shown.
-k Append seek information to an existing file.
-l Prints the software license specifying the conditions for the
distribution and usage of this software.
-m blocks
Specify the number of past blocks to be used to estimate the
mean and power of the signal. The value of zero disables this
prediction and the mean is assumed to lie in the middle of the
range of the relevant data type (i.e. at zero for signed quanti-
ties). The default value is non-zero for format versions 2.0
and above.
-n noise level
Specify the minimum acceptable segmental signal to noise ratio
in dB. The signal power is taken as the variance of the samples
in the current block. The noise power is the quantisation noise
incurred by coding the current block assuming that samples are
uniformally distributed over the quantisation interval. The bit
rate is dynamically changed to maintain the desired signal to
noise ratio. The default value represents lossless coding.
-p prediction order
Specify the maximum order of the linear predictive filter. The
default value of zero disables the use of linear prediction and
a polynomial interpolation method is used instead. The use of
the linear predictive filter generally results in a small
improvement in compression ratio at the expense of execution
time. This is the only option to use a significant amount of
floating point processing during compression. Decompression
still uses a minimal number of floating point operations.
Decompression time is normally about twice that of the default
polynomial interpolation. For version 0 and 1, compression time
is linear in the specified maximum order as all lower values are
searched for the greatest expected compression (the number of
bits required to transmit the prediction residual is monotoni-
cally decreasing with prediction order, but transmitting each
filter coefficient requires about 7 bits). For version 2 and
above, the search is started at zero order and terminated when
the last two prediction orders give a larger expected bit rate
than the minimum found to date. This is a reasonable strategy
for many real world signals - you may revert back to the exhaus-
tive algorithm by setting -v1 to check that this works for your
signal type.
-q quantisation level
Specify the number of low order bits in each sample which can be
discarded (set to zero). This is useful if these bits carry no
information, for example when the signal is corrupted by noise.
-r bit rate
Specify the expected maximum number of bits per sample. The
upper bound on the bit rate is achieved by setting the low order
bits of the sample to zero, hence maximising the segmental sig-
nal to noise ratio.
-s Write seek table information to a separate file (uses shortened
file name with '.skt' extension). If the shortened data is read
from standard input, then the seek table information will be
saved in 'stdin.skt'.
-S<name>
Write seek table information to a separate file given by
"<name>".
-t file type
Gives the type of the sound sample file as one of aiff, wav, s8,
u8, s16, u16, s16x, u16x, s16hl, u16hl, s16lh, u16lh, ulaw, or
alaw.
The simple types are listed first and have an initial s or u for
signed or unsigned data, followed by 8 or 16 as the number of
bits per sample. No further extension means the data is in the
natural byte order, a trailing x specifies byte swapped data, hl
explicitly states the byte order as high byte followed by low
byte and lh the converse. Hence s16 means signed 16 bit inte-
gers in the natural byte order (like C would fwrite() shorts).
ulaw is the natural file type of ulaw encoded files (such as the
default sun .au files) and alaw is a similar byte-packed scheme.
Specific optimisations are applied to ulaw and alaw files. If
lossless compression is specified with ulaw files then a check
is made that the whole dynamic range is used (useful for files
recorded on a SparcStation with the volume set too high). Loss-
less coding of both file types uses an internal format with a
monotonic mapping to linear. If lossy compression is specified
then the data is internally converted to linear. The lossy
option "-r4" has been observed to give little degradation and
provides 2:1 compression.
With the types listed above you should explicitly set the number
of channels (if not mono) with -c and if the file contains a
header the size should be specified with -a. This is most
important for lossy compression which will lead to data corrup-
tion if a file header is inadvertently lossy coded.
Finally, as of version 2.3, the file type may be specified as
wav (the default). In this case the file to be compressed is
interogated for the specific data type (chosen from the above)
and the number of channels to be used. The header length align-
ment (-a flag) is also automatic so lossless compression
requires no switches to be set and lossy compression requires
only that the compression level be set with -n or -r.
-u The ulaw standard (ITU G711) has two codes which both map onto
the zero value on a linear scale. The "-u" flag maps the nega-
tive zero onto the positive zero and so yields marginally better
compression for format version 2 (the gain is significant for
older format versions).
-v version
Specify the binary format version number of compressed files.
Legal values are currently 1, 2 and 3, with higher numbers gen-
erally giving better compression. 2 and 3 are identical, with
the exception that 2 does not generate seek tables, while 3
does. Detection of format version on decode is automatic.
-x extract
Reconstruct the original file. All other command line options
except -a and -d are ignored.
METHODOLOGY
shorten works by blocking the signal, making a model of each block in
order to remove temporal redundancy, then Huffman coding the quantised
prediction residual.
Blocking
The signal is read in a block of about 128 or 256 samples, and con-
verted to integers with expected mean of zero. Sample-wise-interleaved
data is converted to separate channels, which are assumed independent.
Decorrelation
Four functions are computed, corresponding to the signal, difference
signal, second and third order differences. The one with the lowest
variance is coded. The variance is measured by summing absolute values
for speed and to avoid overflow.
Compression
It is assumed the signal has the Laplacian probability density function
of exp(-abs(x)). There is a computationally efficient way of mapping
this density to Huffman codes, The code is in four parts: a run of
zeros; a bounding one; a fixed number of bits mantissa; and the sign
bit. The number of leading zeros gives the offset from zero. Some
examples for a 2 bit mantissa:
Value zeros stopbit mantissa signbit total code
0 1 00 0 1000
1 1 01 0 1010
2 1 10 0 1010
4 0 1 00 0 01000
7 0 1 11 0 01110
8 00 1 00 0 001000
-1 1 00 1 1001
-2 1 01 1 1011
-7 0 1 10 1 01101
Note that negative numbers are offset by one as there is no need to
have two zero codes. The technical report CUED/F-INFENG/TR.156
included with the shorten distribution as files tr154.tex and tr154.ps
contains bugs in this format description and is superceeded by this man
page.
EMBEDDED OPERATION
Shorten may be used embedded within other programs. shorten is a func-
tion call implemented in the file shorten.c. The file main.c provides
a wrapper for stand alone operation. A simple example of ebedded oper-
ation can be found in the file embedded.c. Full windows DLL operation
is provided in the windll subdirectory.
SEE ALSO
compress(1),pack(1).
DIAGNOSTICS
Exit status is normally 0. A warning is issued if the file is not
properly aligned, i.e. a whole number of records could not be read at
the end of the file.
BUGS
An easy way to test shorten for your system is to use "make check", if
this fails, for whatever reason, please report it to <shnu-
[email protected]>.
No check is made for increasing file size, but valid waveform files
generally achieve some compression. Even compressing a file of random
bytes (which represents the worst case waveform file) only results in a
small increase in the file length (about 6% for 8 bit data and 3% for
16 bit data). There is one condition that is know to be problematic,
that is the lossy compression of unsigned data without mean estimation
- large file sizes may result if the mean is far from the middle range
value. For these files the value of the -m switch should be non-zero,
as it is by default in format version 2.
There is no provision for different channels containing different data
types. Normally, this is not a restriction, but it does mean that if
lossy coding is selected for the ulaw type, then all channels use lossy
coding.
The technical report CUED/F-INFENG/TR.156 (included in the shorten dis-
tribution) report contains errors in the bitfield format description
and is superceeded by this document.
See the file "ChangeLog" for a history of bug fixes and feature addi-
tions.
Please mail Jason Jordan at the address below if you find a bug in
shorten involving seek tables.
Please mail Brian Willoughby at the address below if you find a bug in
the AIFF implementation.
Please mail Tony Robinson immediately at the address below if you find
a bug in shorten that is NOT related to seek tables or AIFF support.
Make sure you can reproduce your bug using version 2.3a, the last ver-
sion known to be released by him.
AVAILABILITY
The latest 2.x and 3.x versions can be obtained from
<http://www.etree.org/shnutils/shorten/> or <http://shnu-
tils.freeshell.org/shorten/>.
AUTHORS
Copyright (C) 1992-1999 by Tony Robinson and SoftSound Ltd (ajr@soft-
sound.com)
Unix maintenance of 3.x versions by Jason Jordan <shnu-
[email protected]>.
AIFF support and maintenance by Brian Willoughby
<[email protected]> of Sound Consulting <http://sounds.wa.com/>.
Shorten is available for non-commercial use without fee. See the
LICENSE file for the formal copying and usage restrictions. For sup-
ported versions please see http://www.softsound.com/Shorten.html and
for commercial use please contact [email protected]
shorten 3.6.1 March 2007 SHORTEN(1)
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#39
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
shntool install.txt, 2006-12-23
Code:
shntool for DOS/Windows ----------------------- shntool was built as a native DOS/Windows console application using the MinGW toolkit, available at <http://www.mingw.org/>. Support for various file formats is available by downloading the appropriate win32 helper program linked from the shntool webpage. ============ Installation ============ To install shntool, first extract the files contained in the distribution .zip file to a temporary directory, and copy shntool.exe to any directory that is in your PATH. To find out what directories are in your PATH, open a DOS prompt and type: C:\> echo %PATH% Any of the listed directories will do, but perhaps the best choice is one of the Windows directories, e.g. C:\Windows, C:\Windows\Command, C:\Windows\System, C:\WinNT, C:\WinNT\System32, et cetera. Of course, yours may be different than these, and there may be more than one Windows directory listed. To make sure shntool working correctly, go to the DOS prompt and type: C:\> shntool -v If that doesn't work, you may need to add the extension: C:\> shntool.exe -v You should see shntool's version information (verify that it shows the correct version - if not, then you probably have an outdated copy of shntool.exe somewhere on your hard drive that you need to remove). If you don't see the version information, or if you get a message saying that the command was not found, then shntool is not installed correctly. After you are sure that shntool is installed correctly, you can install any of the helper programs listed above by copying them to the same directory in which shntool.exe resides. ===== Usage ===== To use shntool, simply invoke it from a DOS prompt as follows: C:\> shntool To learn more about shntool command-line parameters and how to use its various modes, see the shntool.txt or shntool.pdf files included in this distribution. ================== Document revision: ================== $Id: INSTALL.mingw,v 1.2 2006/12/23 06:10:11 jason Exp $
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#40
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
shntool changelog.txt and known bugs, 2009-03-30
Code:
version 3.0.10 (2009-03-30)
+ cat mode: fixed bug that prevented use of the -d option
+ cat mode [win32]: properly write WAVE data to the terminal
+ conv mode [win32]: properly read WAVE data from the terminal
version 3.0.9 (2009-03-18)
+ allow fix mode to fix (essentially postpad) just one file, which is useful
when using the -c option to check for boundary issues
+ added new global -F option to specify a file containing input filenames
(most modes will now accept input filenames from a single source, using the
following order of precedence: file specified by -F option, otherwise
filenames on the command line, otherwise filenames read from the terminal)
version 3.0.8 (2008-08-27)
+ added new -a option to show default encoder/decoder arguments
+ fixed bug when prompting for overwrite action when stdin was
already at EOF on certain platforms (e.g. OS X)
+ split mode: handle CUE sheets that contain Unicode BOMs
+ wv format: support self-extracting WavPack files
version 3.0.7 (2008-03-02)
+ support for TAK decoding (requires TAK 1.0.4+)
+ updated MPEG-4 ALS to version RM20, and added output support
+ removed detection of unsupported formats RKAU and WMA
version 3.0.6 (2007-12-16)
+ support for TAK encoding (requires TAK 1.0.3+)
version 3.0.5 (2007-10-22)
+ hash mode: show progress indicators
+ cmp mode: new -c option to specify size of byte-shift comparison buffer
version 3.0.4 (2007-09-07)
+ no longer ignore raw WavPack files (wvunpack creates WAVE header for us)
+ support for TTA 3.4.x as well as TTA encoding
+ fixed display bug in joined mode when input files were not CD-quality
+ split mode: new -m option to allow character manipulation of CUE filenames
version 3.0.3 (2007-06-01)
+ improved use of exit codes
+ mkw format: removed deprecated input kluge
+ split mode: override path separation characters in CUE-generated files
version 3.0.2 (2007-02-18)
+ split mode: -c option works again
+ split mode: support wider range of CUE sheets
+ aiff format: support for sox 13.x
version 3.0.1 (2007-01-24)
+ fixed bug with WavPack format detection on 64-bit systems
+ split mode: fixed bug parsing CUE sheets whose last line lacks a newline
+ added support for MKW files
+ added support for MPEG-4 ALS files (input only)
+ added support for detection of TAK files (no input or output yet)
+ added support for detection of WMA files (no input or output yet)
+ added support for detection of RKAU files (no input or output yet)
version 3.0.0 (2007-01-01)
[platform support]
+ shntool is now a native windows executable (Cygwin is no longer needed)
[file formats]
+ added support for WavPack 4.x files
+ added support for m4a (Apple Lossless Audio Codec) files (input only)
+ added support for la (Lossless Audio) files (input only)
+ added support for tta files (input only)
+ added support for bonk files
+ added support for kxs (Kexis) files (input only)
+ added new format 'term' to send output to a terminal (standard output)
+ cust format: correct output filenames now shown (instead of "file.custom")
+ cust format: partially-written output files are now removed on error
[modes]
+ added new mode 'gen' to generate arbitrary-sized files containing silence
+ added new mode 'trim' to trim silence from front and/or back of files
+ renamed mode 'md5' to 'hash', since it now calculates MD5 and SHA1 hashes
+ hash mode: added option to reorder filenames - may be useful with -c
+ split mode: new -n option to control output count format (01, 001, ...)
+ split mode: support for wider range of CUE sheets
+ split mode: new -t option to name files based on keywords in CUE sheets
+ split mode: fixed bug in which -l option failed with large input files
+ split mode: new -e/-u options for specifying lead-in/lead-out
+ split mode: new -x option to extract specific tracks
+ len mode: show compression ratio for individual files as well as overall
+ len mode: show input file format for each file
+ len mode: new -c/-t options to suppress column names/totals line
+ len mode: configurable units for files and totals
+ conv mode: new -t option to convert WAVE data read from the terminal
+ fix, join and hash modes: filenames can now be sorted automatically using
a natural sorting algorithm, which orders filenames containing numbers the
the same way a human would, e.g. "t1.wav, t2.wav, ... t10.wav" instead of
"t1.wav, t10.wav, t2.wav, ...". as this was taken from the sources of GNU
ls (see 'ls -v'), it is considered stable enough to be the default.
if desired, sorting can still be done interactively, or not at all.
[global behavior]
+ user-configureable progress types (percentage, dots, spin, faces or none)
+ default overwrite option is now 'ask' - can be overridden with -O option
+ allow on-the-fly renaming when files exist and overwrite option is 'ask'
+ new -H option to show h:mm:ss.{ff,nnn} in output, instead of m:ss.{ff,nnn}
+ new -a and -z options to override default file name prefix and postfix
+ new options -w to suppress warnings and -q to suppress non-critical output
+ converted to getopt - this means long options have become single characters
+ alternate input decoder: -i "fmt decoder [arg1 ... argN]"
+ alternate output ext/encoder: -o "fmt [ext=abc] [encoder [arg1 ... argN]]"
+ in addition to the new -i/-o options above, default encoders/decoders
and/or their arguments, as well as file extensions, can be overridden
using any combination of appropriately named environment variables:
ST_<format>_DEC="decoder [arg1 ... argN]"
ST_<format>_ENC="[ext=abc] [encoder [arg1 ... argN]]"
e.g.:
% ST_SHN_DEC="shorten-2.3b" shntool len *.shn
% ST_FLAC_ENC="flake - %f" shntool conv -o flac *.wav
% ST_AIFF_ENC="ext=aif" shntool gen -o aiff -l 1:00
version 2.0.3 (2004-05-05)
+ fixed bug in len mode that sometimes caused the m:ss.ff value on the totals
line to be reported as being one second longer than it actually is - this
should finally resolve all variants of this bug, which was discovered after
2.0.0 was released, thought to have been fixed in 2.0.1, and has since been
determined to have existed from version 0.96 onward
+ len and info modes now indicate whether audio data is block-aligned
version 2.0.2 (2004-05-04)
+ fixed crash when using -stdout in join mode without specifying an output
format
version 2.0.1 (2004-05-03)
+ fixed bug in len mode that sometimes caused the m:ss.ff value on the totals
line to be reported as being one second shorter than it actually is
version 2.0.0 (2004-04-20)
+ added new mode 'pad' to individually prepad or postpad CD-quality files
+ added new mode 'cue' to generate CUE sheets or split points from files
+ split mode now supports simple CUE sheets for splitting
+ added "-l len" option in split mode to split file into smaller files
based on multiples of time interval "len"
+ added -c option to md5 mode for calculating composite MD5 fingerprints
+ added the ability to prepad or postpad files created in join mode
+ added support for sowt-compressed AIFF-C files (requires sox 12.17.4)
+ added the ability to skip ID3v2 tags contained in files or input streams:
- formats with decoders that natively handle ID3v2 tags: shn, flac, ape
- formats that handle ID3v2 tags through clever trickery: wav, aiff, ofr
- formats that currently cannot handle ID3v2 tags: lpac, wv
+ added -O option to all modes that create output files, so that the user can
control whether output files that already exist are overwritten
+ len mode modified to always show overall compression ratio
+ new column in len mode to indicate whether files contain an ID3v2 tag
+ changed length format for non-CD quality files from m:ss to m:ss.nnn
+ several additions and updates to the information shown by info mode
+ all modes now accept the -D option, which enables debugging information
+ modes that create files now remove partially-written output files on error
(does not apply to the cust format module, since filename cannot be trusted)
+ updates to handle NULL-padding of odd-sized data chunks, per RIFF specs
+ fixed nasty bug in conv mode that caused some input files to be overwritten
+ fixed split mode m:ss.nnn bug that ignored nnn when file was not CD quality
version 1.2.3 (2003-03-20)
+ split mode will now split any file, not just CD-quality ones
+ cat mode now accepts multiple filenames
+ fixed bug in split mode where split point files with Windows line endings
were considered invalid
version 1.2.2 (2003-02-22)
+ fixed bug in md5 mode that caused extra RIFF chunks to inadvertently be
included in the calculation of MD5 fingerprints
+ relaxed the file name placeholder requirement for the cust format module
(the '%f' placeholder can now be a substring of an argument)
version 1.2.1 (2003-02-17)
+ added new mode 'md5' (computes MD5 hash of audio data, independent of format)
+ added support for wv (WavPack) file format
+ added new output format module 'cust' that allows one to specify a custom
encoder to use in the creation of output files - this enables the user to
override the default encoder arguments for formats that shntool already
supports, as well as encode to formats that shntool does not yet support
version 1.2.0 (2002-12-07)
+ info mode now supports extra per-format information (currently this is used
to indicate seekability of shn files)
+ join mode now supports joining of non-CD quality files
version 1.2.0-rc2 (2002-10-31)
+ overall compression ratio shown in len mode if all input files are compressed
+ fixed bug in fix mode that caused shntool to hang in rare instances
+ added support for ofr (OptimFROG) and lpac file formats
version 1.2.0-rc1 (2002-09-12)
+ added support for aiff, flac and ape file formats; dropped kexis support
(aiff format supports only AIFF and uncompressed AIFF-C, not compressed AIFF-C)
+ added new mode 'conv' (converts files from one format to another)
+ improved functionality in cmp mode (new -s, -l and -f options)
+ join mode can now write to stdout (only with 'wav' output format)
+ shntool now waits for child processes (prevents shorten 3.4/md5sum race condition)
+ fixed bug in join mode that caused output file to have incorrect data size
when the data was not sector-aligned, and -nopad was specified
+ some debugging output now shown if SHNTOOL_DEBUG environment variable is set
(currently limited to the status of child processes - useful if shntool is hanging)
version 1.01 (2001-01-23)
+ fixed rounding error in len and info modes that caused certain
non-sector-boundary-aligned CD-quality files to appear to be about one
second shorter than they actually are. For example, a file that was just
over half of a frame longer than 3:14.74 would have been incorrectly rounded
to 3:14.00, when it should have been rounded to 3:15.00. The error occurred
when the WAVE data size modulo 176400 fell in the range [175224, 176399].
Assuming that the data sizes of non-sector-aligned CD-quality WAVE files are
uniformly distributed, the chance of this error occurring is just over 1 in
150 (1176 in 176325, to be exact).
+ removed arbitrary 4-byte file size cutoff
version 1.00 (2001-01-13)
+ fixed offset miscalculation in cmp mode for files that differ
+ fixed design error in cat mode where extra RIFF chunks were not output.
If cat mode was used to extract a file (e.g. shncat file.shn > file.wav),
then the output file would appear to be truncated to len mode. Extra RIFF
chunks can be still suppressed if needed via the new -nr switch.
+ cat mode now quits when nothing more would be output
+ minor documentation and output updates
version 1.00 beta 9 (2001-01-08)
+ added 'r' shift type to fix mode (round to nearest sector boundary)
+ added new mode 'cmp' (compares WAVE data in two files)
+ added -c switch to split mode
+ now only installs symbolic links for specified built-in modes
+ finally wrote a "tutorial"
+ generalized the file order editor, and added more useful commands to it
+ added -nd switch to cat mode
version 1.00 beta 8 (2001-01-05)
+ split mode erroneous input bug fixed
+ minor code cleanup and (hopefully) improved alias installation
version 1.00 beta 7 (2001-01-05)
+ Digital Unix 4.0D compile fix and a 64-bit-architecture header size
calculation fix
+ added new mode 'split'
+ shortened some command-line arguments in certain modes
version 1.00 beta 6 (2001-01-03)
+ added new mode 'cat'
+ each mode is now aliased to "shn<mode>", e.g. shnlen, shnfix, shncat, etc.
+ cleaned up all errors reported by gcc -Wall
version 1.00 beta 5 (2001-01-01)
+ fixed display errors when using aliases
version 1.00 beta 4 (2001-01-01)
+ added support for conditional compilation of modules
(see the INSTALL file for more information)
version 1.00 beta 3 (2000-12-31)
+ converted to GNU autoconf
version 1.00 beta 2 (2000-12-28)
+ reimplemented mode aliasing, e.g. creating a symbolic link to shntool named
'shnlen' will start shntool in len mode
version 1.00 beta 1 (2000-12-23)
+ completely rewritten to be more modular
+ added three new modes - 'join', 'strip' and 'info'
+ see the README file for more information
version 0.98 (2000-11-22, never released)
+ started improving some things, but gave up in favor of a full code redesign
version 0.97a (2000-11-22)
+ fixed help screen bug
version 0.97 (2000-11-21)
+ cleaned up and corrected help screens
+ check whether files are 'CD-quality', and report if they are not
+ display file length in m:ss.ff format only if it is CD-quality, and
print totals line in m:ss.ff format only if all files were CD-quality -
otherwise, display file length in m:ss format
+ check that all files are CD-quality before proceeding in fix mode
+ check that at least one file has an error before proceeding in fix mode
+ some code cleanup
+ realized that this thing is due for a rewrite :^)
version 0.96 (2000-11-18)
+ now report file length in m:ss.ff format, where ff is a number from 0 to 74
that best approximates the remaining number of 2352-byte blocks after m:ss
+ more error and sanity checking for input files
version 0.95 (2000-10-19)
+ fixed bug where chunk size wasn't being updated for files that were altered in fix mode
+ added code to help determine whether shorten is in the default path
+ WAVE data for headers in .wav (not .shn) files are now verified
+ added extra debugging information in len mode
+ file names created in fix mode are now based on input filenames when -f or -b are given
version 0.94 (2000-08-24)
+ added option to pad the last file with zeroed data in fix mode, if necessary
version 0.93 (2000-07-06)
+ I partially broke file reading from stdin in len mode in 0.92 - fixed.
+ cleaned up code to use the file_info struct for the filename wherever possible
+ added error checking after some malloc's
+ made some error messages more descriptive with regard as to why they may have happened
+ added a generic bug_report() routine (may want to add some diagnostic info to it later)
+ changed all // comments to standard comments to satisfy some bitchy compilers :)
version 0.92 (2000-07-04)
+ added setlinebuf() support for architectures that don't have it
(via the "-D_SETLINEBUF_HACK" compiler option)
+ added description of the len mode "-debug" flag to its help menu
version 0.91 (2000-07-04)
+ WAVE headers are processed correctly again
+ added "-debug" switch for len mode
+ fixed segfaults with headers > 64 bytes
version 0.9 (2000-07-03)
+ initial public release
version 0.03 (2000-07-02)
+ all major bugs seem to be worked out, only minor cosmetic
issues remain
version 0.02 (2000-07-01)
+ started merging shnlen with fixwav to form a unified tool
version 0.01 (2000-06-30)
+ some ideas coalesced, and development started on fixwav
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#41
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
text from the old etree shorten page, still hosted at shnutils.freeshell.org
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#42
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
shorten license and changelog. As of v3.6.1 Cygwin.dll is no longer needed, 2007-03-19.
Code:
SHORTEN SOFTWARE LICENSE This software is being provided to you, the LICENSEE, by Tony Robinson and SoftSound under the following license. By obtaining, using and/or copying this software, you agree that you have read, understood, and will comply with these terms and conditions: This software may not be sold or incorporated into any product which is sold without prior permission from SoftSound. When no charge is made, this software may be copied and distributed freely. Permission is granted to use this software for decoding and non-commercial encoding (e.g. private or research use). Please email [email protected] for commercial encoding terms. DISCLAIMER This software carries no warranty, expressed or implied. The user assumes all risks, known or unknown, direct or indirect, which involve this software in any way. Code:
1.00 released on Tue 30 Mar 1993
shorten.h changed to allow ANSI prototypes
insertion of Steve Lowes fixes for PC compatibility
Inclusion of the file laplacian.tex
Typo in man page fixed (hl -> lh)
1.01 released on Tue 06 Apr 1993
Inclusion of the file change.log
Documentation of the default byte order
Setjmp() moved so as to only be used in embedded applications
Bug in casting to long in word_get() fixed
1.02 released on Thu 08 Apr 1993
sizech.c removed in line with allowing sizeof(int) == 2
variable nsd in vario.c:uvar_put() changed to unsigned long
variable uvar in vario.c:var_get() changed to unsigned long
constant 1 changed to 1L in vario.c:var_put()
log(0.0) avoided in lpc.c for pathological cases
check inserted for predictor order being less than the block size
if NEED_TO_GUARANTEE_LPC_STABILITY is defined, it will do just that
1.03 released on Mon 12 Apr 1993
resetopt() added to getopt.c and called before getopt() in shorten.c
tables in bitshift.h changed from int to char to reduce executable size
option -d added to discard header bytes on compression/decompression
wav2lpc() fixed so that the returned value "resn" is non-negative
1.04 released on Fri 07 May 1993
check added to ensure that the lpc order is less than the buffersize
1.05 released on Sat 08 May 1993
option -d fixed to work with pipe input and discard on decompression
bitshift.h removed from the distribution to reduce the size
types uchar and schar typedef'ed in shorten.h and used in bitshift.h
1.06 released on Tue 11 May 1993
try to preserve the mode, owner, group, atime and mtime of UNIX files
input file in unlinked if output file was written successfully
array.c created to contan pmalloc() and long2d() which error check
1.07 released on Thu 13 May 1993
added the file INSTALL to give installation instructions
fixed a few function declarations that were missing
internal movement within shorten.c in prepration for lossy coding
changed test file to be real speech
change from shar to tar.Z format for distribution
new typdefs ulong and ushort for the obvious things
pmalloc and long2d now take arguments of type ulong
1.08 released on Fri 18 Jun 1993
better function prototyping (gcc style) in shorten.h
uchar ushort ulong now #defined to avoid warnings if typedef exists
1.09 released on Thu 01 Jul 1993
provisional implementation of -q and -r flags - not finalised
getc_exit and putc_exit macros used in shorten.c
-a for version 2 now copies verbatim (checking for the magic number)
various changes and additions to sphere.c from Jon Fiscus
getopt functions/variables have hs_ prepended to avoid system conflict
dupfileinfo.c renamed to be dupfinfo.c - less than eight characters
memory allocation in fixio.c and vario.c tied up for embedded use
1.10 released on Mon 04 Oct 1993
updated man page for -q and -r
exit routines now use varargs and are less verbose
bitshift now prints longs to bitshift.h as %ld
shn109.exe included for the first time
1.11 released on Mon 08 Nov 1993
hsgetopt.h deleted - obsoleted by correct definitions in shorten.h
division by zero for null input avoided in lpc.c
1.12 released on Wed 23 Feb 1994
out by one bug in lpc.c internal array sizes fixed (-p 64 now works)
magic and version (0 ... 7) numbers merged for SPHERE header parsing
decompression starts when the magic number is found
option -a now allows for alignment prior to during decoding
1.13 released on Mon 11 Apr 1994
dupfinfo.c - utime() now called before chmod() and chown()
prototpye for malloc changed to unsigned long
readme.dos created for DOS specific problems
support for stdargs added if HAVE_STDARG_H defined on compilation
exit.c - fprintf(stderr, ": "); perror(NULL) changed to perror("\0")
main.c - DOS pipe output hacked by opening fd 1 "wb" with no buffer
fixio.c - optimisation test for nchan == 0 changed to nchan == 1
shorten.c - changed abs() for labs() as arguements are long, not int
lots of non-functional disambiguation to keep DOS compilation quiet
bitshift.c renamed to mkbshift.c and bitshift.h hardwired in for DOS
shorten.exe included in the distribution
releases now made with mkrelease, *.tar.Z, *.tar.gz. *.zip
1.14 released on Mon 08 Aug 1994
ulaw files are now lossy coded by internally converting to linear
better treatment of LPC quantisation errors from version 2
slightly better -h screen
default nmean is 4 as from version 2
fixed stupid bug that corrupted the zip version of shorten.exe
1.15 released on Wed 24 Aug 1994
ICASSP94 support code deleted
lpc.c: now pass non-zero mean signal and offset
shorten.c: massive internal reorganisation of compression section
shorten.c: reasonable mean correction when in lossy mode from V 2.0
1.16 released on Mon 29 Aug 1994
stdlib.h and string.h now assumed to exist
lpc.c: fix bug which malloced too few bytes (introduced in 1.16)
1.17 released on Wed 31 Aug 1994
1.18 released on Sat 03 Sep 1994 (by mistake)
lossy compression to a given segmental SNR is now supported (-n)
man page rewritten and updated to support lossy compression
the au file type option is has been renamed ulaw (au is still valid)
filetimes on the DOS release now match those on the UNIX release
v2: maximum lpc order searched is the best previous value plus two
PC compilation moved from XT/tcc to 486/gcc and Makefile.dos deleted
1.19 released on Mon 03 Oct 1994
spurious labs() in poly.c swapped for abs
change all #ifdef unix for #ifndef MSDOS as djgpp #defs unix
1.20 released on Mon 17 Oct 1994
bcc supported again as the executable is smaller (so labs() is back)
1.21 released on Mon 14 Nov 1994
option -l implemented to print the contents of the LICENSE file
technical report 156 added as files tr156.tex and tr156.ps
man page updated
support added for the WATCOM compiler from [email protected]
mkrelease and Change.log renamed to release and change.log
shorten.c: very minor change in lossy coding with -n (2.0 -> 25.0/12.0)
MSDOS stdin/stdout binary mode fiddling moved from main.c to shorten.c
linear2ulaw(int) changed to linear2ulaw(long)
old XT compatable executable renamed shorten.086
1.22 released on Tue 10 Jan 1995
shorten.c: bug with FN_ZERO fixed - no longer look for more bitshifts
exit.c: basic_exit() - delete output file if abnormal termination
shorten.1: warn about lossy coding of unsigned data with offset
shorten.c: new flag, -u, maps both ulaw zeros onto the positive zero
v2: new type for lossless ulaw, TYPE_AU2, for two zero ulaw data
1.23 released on Fri 14 Jul 1995
minor documenation changes
2.0 released on Sun 27 Aug 1995
lpc.c: round quantised coefficents to the nearest integer
*.c: numerous casts to avoid warnings with Visual C/C++
shorten.1: changed format of bit table
ulaw.c: replaced with Sulawalaw.c
alaw support: much like ulaw except no zero merge or fancy bitshift()
shorten.c: help screen left shifted by six chars to accomodate "alaw,"
Limited WINDOWS support added
slight optimisation when frame is all zero (don't change bitshift)
shorten.c: bug fixed when FN_QLPC called after FN_ZERO
fixio.c:signed values close to max were converted to min when quantised
BUGFIX_RELEASE definition moved from Makefile to shorten.h
old ANNOUNCE file deleted and minor changes to INSTALL
shorten.mak: Default DOS compiler changed from BCC to MS Visual C++
Makefile/release: now take BUGFIX_RELEASE from shorten.h
Makefile: no longer delete bitshift.h on clean/spotless
2.1 released on Mon 26 Feb 1996
lpc.c: a bug disabled the early stopping on the search for LP order
shorten.c: silly bug in ordering of arguments in a rare printf()
shorten.c: redundant variable/storage buffer1 removed
shorten.1: Document bugs in the tech report on Rice coding
-t is now honoured (where possible) to convert file types on decode
Makefile updated to be more package friendly (James Christie)
2.2 released on Mon 10 Mar 1997
New -t option "wav" for RIFF WAVE files (automatic selection of -t)
-t wav now the default - man page and shntest updated, mvs_s16 renamed
script release renamed mkRelease to avoid MS VC++ name conflict
setjump() bugfixes for embedded operation (Martin Saxon)
New windows DLL operation (Martin Saxon)
2.3 released on Thu 04 Sep 1997
exit.c: system dependence on *sys_errlist[] changed to strerror()
SHORTEN.086, SHORTEN.EXE and shortn32.exe removed
Some Debian support
2.3a released on Fri 26 Feb 1999
3.0 released on Fri 29 Sep 2000
Seek table extensions by Wayne Stielau
Unix backport of seek table extensions by Jason Jordan
Debian support improvements by Caleb Epstein
3.1 released on Tue 10 Oct 2000
Seek table append option 'fixed'
Documentation updated
3.2 released on Sat 13 Jan 2001
Added '-i' switch to display whether a file contains seek information
Cleaned up endian-conversion code
Fixed a file naming bug - now, when only an input file name is given,
output files are named according to the following rules:
If shortening a file:
If the input file name ends in .wav, then change
extension to .shn; otherwise, append .shn to the
input file name. Examples:
file.wav -> file.shn
file.ext -> file.ext.shn
If extracting a file:
If the input file name ends in .shn, then change
extension to .wav; otherwise, append .wav to the
input file name.
file.shn -> file.wav
file.ext -> file.ext.wav
When the caller specifies -v2 on the command line, seek tables are
not generated (neither appended nor created in separate files).
The default behavior is to generate/append seek tables.
3.3 released on Sun 12 Aug 2001
Converted to autoconf/automake build system
Made seek table code 64-bit clean
Changed seek table data structures to compensate for compilers that don't
properly implement #pragma pack(1)
Various minor cleanups/updates that don't impact the shorten algorithm
3.4 released on Sun 10 Feb 2002
Fix for reading/writing binary data on stdin/stdout for operating systems
that do not have a single '\x0A' as a line separator (Frank Klemm)
Shorten now refuses to input data from or output data to a tty
Fixed crash when trying to create seek tables from a non-shorten file
-s and -S options can now create seek table files from data read on stdin
(with -s, output filename is 'stdin.skt')
Seek tables are now appended to non-stdout output file when reading
uncompressed data from stdin (e.g. shorten - outfile.shn < data.wav)
3.5.0 released on Mon 18 Nov 2002
Support for compression of AIFF files contributed by Brian Willoughby of
Sound Consulting
Changed file naming convention during extraction - when only an input file
name is given, output files are named according to the following rules:
If the input file name contains more than one '.' and
ends in .shn, then drop the .shn; otherwise, if the input
file name ends in .shn, then change the extension to .wav;
otherwise, append .wav to the input file name.
file.aiff.shn -> file.aiff
file.aiff.ext -> file.aiff.ext.wav
file.shn -> file.wav
file.ext -> file.ext.wav
This change was made so that non-wav files would be properly named after
shortening and unshortening. For example, 'shorten file.aiff' creates
file.aiff.shn, and with the change above, 'shorten -x file.aiff.shn'
will now create file.aiff (instead of file.aiff.wav).
3.5.1 released Wed 12 Feb 2003
Minor AIFF spec compliance updates
3.5.2 released Sun 28 Mar 2004
Fixed seek table permissions bug when creating seek-enabled files from
read-only input files
3.6.0 released Mon 03 May 2004
Fixed a seek table bug which, in rare cases, caused seek tables for certain
files (e.g. ones that end with silence) to be generated incorrectly. Seek
tables created with the -k, -s or -S options are not affected. To help
distinguish older, possibly buggy seek tables from newer ones, the seek
table revision number has been bumped from 0 to 1. Thanks to Peter Kunath
for the report and the fix.
Updated the '-i' option to determine whether a file is an external seek
table file, a file with seek tables appended, or neither. If seek tables
are present, the seek table revision number is now shown.
3.6.1 released Mon 19 Mar 2007
Shorten is now a native Windows executable (Cygwin is no longer needed)
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#43
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
earliest known announcement of legacy software mkwACT, 2000-10-30. we use Trader's Little Helper for .mkw, .shn, .md5 since 2005.
playing older .shn files, you could not seek, i.e. skip to the middle of a track. mkwACT was the killer app because it usually worked and could encode seekable .shn files for the first time ever. none of this is an issue in 2020 lol. Quote:
Code:
MKW LICENSE
This software is copyright (c) 1998, 1999 by Michael K. Weise ("the author".)
Personal use of the software is permitted free of charge.
Commercial use of the software or incorporation of the software into an income-
producing product is not permitted without the author's prior written consent.
The software may be redistributed freely, provided that it is not altered, that
it is accompanied by the author's original documentation and that no fee
whatsoever is charged of the recipient.
DISCLAIMER OF WARRANTY
This software is provided "as is" without warranty of any kind, either expressed or
implied, including, but not limited to, the implied warranties of merchantability
and fitness for a particular purpose. By installing or using the software, you
assume all associated risks, known or unknown. In no event will the author be
liable for any damages arising from the use of or inability to use the software.
Quote:
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#44
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
etree.org mkwACT page, as it appeared from 2001 until about 2017-11-30
Quote:
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
|
#45
|
||||
|
||||
|
Re: The Validity of MD5 Checksums
mkwACT v0.94a 2/6/99 (Use this version to decode MKW files created with versions prior to 0.94)
Quote:
Quote:
Code:
Several workarounds have been proposed for MKW-XP trouble. This is reportedly the simplest and most effective to date. Mike Wren <[email protected]> wrote: To run mkwACT in Windows XP, change the compatibility mode for mkwACT to "Windows 2000" by: * Right-click on the link to mkwACT in the start menu or desktop * Click properities * Click the Compatibility tab * Click the checkbox for "Run this program in compatibility mode for: * In the pulldown menu, choose "Windows 2000" br0thercr0w <[email protected]> added: That should have it running 99% correctly (i still haven't been able to get it to let me batch files to it by highlighting a large group of files and right clicking on them and choosing to "convert to wav" or "encode to shn", but drag & drop still works in batches fine and it otherwise works as it always has).
__________________
Checksums Demystified | ask for help in Technobabble thetradersden.org | ttd recommended free software/freeware webring shntool tlh eac foobar2000 spek audacity cdwave vlc Quote:
No members have liked this post.
|
![]() |
| The Traders' Den |
Similar Threads
|
||||
| Thread | Forum | Replies | Last Post | |
| HOW DO I ADD THE CHECKSUMS... - firemt66 | Technobabble | 2 | 2013-12-02 03:15 AM | |
| Where to download checksums? - popeye | Technobabble | 1 | 2006-12-03 11:24 AM | |
| creating checksums - Music 2 My Ears | Technobabble | 2 | 2006-07-05 12:24 AM | |
| How do I get Checksums? - Scott | Technobabble | 7 | 2005-09-09 04:54 PM | |
|
|