Chris@294: 
Chris@354: Changes in Sonic Annotator 1.5 (25 May 2017) since the previous release 1.4:
Chris@294: 
Chris@294: Front-end changes:
Chris@294: 
Chris@294:  - Change mp3 file loading so as to compensate for encoder/decoder
Chris@294:    delay and padding (using "gapless playback" logic). While this is a
Chris@294:    real improvement, unfortunately it does mean that the initial
Chris@294:    padding in mp3 file load has changed from previous versions, which
Chris@294:    may change alignment of features based on mp3 files relative to
Chris@294:    those generated by previous versions. It's not a great idea to use
Chris@294:    mp3 as a file format of record, because of differences like this
Chris@294:    between decoders
Chris@294: 
Chris@294:  - Add --transform-minversion flag to test for available version of
Chris@294:    a plugin transform
Chris@354: 
Chris@294:  - Add quiet mode (-q)
Chris@294: 
Chris@294: Bug fixes:
Chris@294: 
Chris@294:  - Fix possible crash in multiplexed file handling (--multiplex, -m)
Chris@294: 
Chris@294:  - Fix nominal rounding error (out by 1ns) in output under some
Chris@294:    conditions
Chris@294: 
Chris@246: 
Chris@354: Changes in Sonic Annotator 1.4 (18 Mar 2016) since the previous release 1.3:
Chris@246: 
Chris@246: Front-end changes:
Chris@246: 
Chris@246:  - Better error reporting, especially for invalid transform files
Chris@246:    and transform-not-found
Chris@246: 
Chris@246:  - Avoid crashing out when a single plugin (that is not being used)
Chris@246:    can't be loaded because of e.g. an undefined symbol
Chris@246: 
Chris@246: Bug fixes:
Chris@246: 
Chris@246:  - Fix (with test) horrible crash with --multiplex option
Chris@246: 
Chris@246:  - Fix erroneous quantization to 16 bits for coded file types of
Chris@246:    greater bit depth
Chris@246: 
Chris@246:  - Fix multiple outputs when requesting both summary and non-summary
Chris@246:    for the same output
Chris@246: 
Chris@246: 
Chris@354: Changes in Sonic Annotator 1.3 (05 Nov 2015) since the previous release 1.2:
Chris@211: 
Chris@211: Back-end (feature writer) changes:
Chris@211: 
Chris@211:  - Add the --csv-digits, --lab-digits, and --jams-digits options to
Chris@211:    control the number of significant figures printed for feature values
Chris@211: 
Chris@211:  - Update the JAMS writer to JAMS 0.2.0 format
Chris@211: 
Chris@211:  - Show a more useful error message when user provides a filename
Chris@211:    instead of a transform id to the -d option (happened to me when
Chris@211:    cut-and-pasting command lines and I was quite baffled at first)
Chris@211: 
Chris@200: 
Chris@354: Changes in Sonic Annotator 1.2 (01 Sep 2015) since the previous release 1.1:
Chris@200: 
Chris@200: Front-end changes:
Chris@200: 
Chris@200:  - Add the --segments-from option, providing the ability to read
Chris@200:    segment boundaries from a file
Chris@200: 
Chris@200: Back-end (feature writer) changes:
Chris@200: 
Chris@200:  - Rename the JSON feature writer to JAMS. There may be other JSON
Chris@200:    formats supported in future
Chris@200: 
Chris@200: Bug fixes:
Chris@200: 
Chris@200:  - Fix invalid JSON written by JAMS feature writer for dense
Chris@354:    features
Chris@354: 
Chris@200:  - Fix invalid UTF-8 output from RDF feature writer when processing
Chris@200:    MP3 files having ID3 tags in non-ASCII, non-UTF8 encodings
Chris@200: 
Chris@127: 
Chris@354: Changes in Sonic Annotator 1.1 (16 Oct 2014) since the previous release 1.0:
Chris@127: 
Chris@127: Front-end changes:
Chris@127: 
Chris@127:  - Add support for the start time and duration properties of a
Chris@127:    transform, applying a plugin to only a range of the input audio
Chris@354: 
Chris@179:  - Reduce the internal processing blocksize from 16384 to 1024 samples
Chris@179:    to reduce extent of time rounding at end of file or range
Chris@354: 
Chris@128:  - Add --multiplex option to compose multiple audio files into a
Chris@128:    single multi-channel stream with one input file per channel
Chris@354: 
Chris@172:  - Add --normalise to request each audio file be normalised to 1.0 max
Chris@354: 
Chris@172:  - Add support for the plugin_version property of a transform, causing
Chris@172:    Sonic Annotator to refuse to run with the wrong version of a plugin
Chris@354: 
Chris@128:  - Add --minversion option to permit scripts to check that the
Chris@128:    version of Sonic Annotator is as they expect
Chris@354: 
Chris@172:  - Add new housekeeping options to list the available feature writers
Chris@172:    and supported audio file formats
Chris@354: 
Chris@172:  - Pull out the feature-writer-specific help text into separate help
Chris@172:    options (-h <writertype>) as the help was getting too long
Chris@172: 
Chris@172: Back-end (feature writer) changes:
Chris@172: 
Chris@172:  - Add --csv-omit-filename, --csv-end-times, and --csv-fill-ends
Chris@172:    options to the CSV feature writer to adjust various aspects of its
Chris@172:    output
Chris@354: 
Chris@172:  - Add "json" feature writer, exporting to JAMS (JSON Annotated Music
Chris@181:    Specification) format. This writer is provisional and is expected
Chris@172:    to change in future releases to comply more effectively with the
Chris@172:    specification
Chris@354: 
Chris@172:  - Add "midi" feature writer, exporting to MIDI files
Chris@354: 
Chris@172:  - Add "lab" feature writer, exporting to tab-separated label files.
Chris@172:    (This is equivalent to using the CSV writer with a tab separator and
Chris@172:    the new --csv-omit-filename and --csv-end-times options, but it's
Chris@172:    simpler to use if .lab is what you want)
Chris@128: 
Chris@128: Bug fixes:
Chris@128: 
Chris@128:  - Fix the former habit of forging ahead even if not all transform
Chris@128:    files could be found or parsed (this may have been intentional
Chris@128:    behaviour but it is confusing more than it is useful)
Chris@354: 
Chris@128:  - Fix failure to support --summary-only flag when reading transforms
Chris@128:    with summaries from a transform file
Chris@71: 
Chris@172: 
Chris@354: Changes in Sonic Annotator 1.0 (09 May 2013) since the previous release 0.7:
Chris@71: 
Chris@87: Bug fixes:
Chris@87: 
Chris@71:  - Fix incorrect samplerate in reading m4a files on OS/X
Chris@354: 
Chris@73:  - Fix incorrect handling of FixedSampleRate outputs (Vamp SDK fix)
Chris@354: 
Chris@86:  - Add tests that use the Vamp test plugin
Chris@65: 
Chris@172: 
Chris@354: Changes in Sonic Annotator 0.7 (17 Jul 2012) since the previous release 0.6:
Chris@65: 
Chris@65: Build changes:
Chris@65: 
Chris@65:  - Support 64-bit builds on OS/X (using CoreAudio instead of
Chris@65:    obsolete QuickTime audio file reader)
Chris@65: 
Chris@65:  - Simplify RDF reading and fix some bugs. Now requires Dataquay
Chris@65:    (http://breakfastquay.com/dataquay/) rather than using Redland
Chris@65:    directly. Release builds use Sord/Serd rather than Redland
Chris@49: 
Chris@172: 
Chris@354: Changes in Sonic Annotator 0.6 (28 Sep 2011) since the previous release 0.5:
Chris@49: 
Chris@49: Build changes:
Chris@49: 
Chris@49:  - Switch to modular SV-libraries build using svcore library
Chris@354: 
Chris@53:  - We now require Vamp plugin SDK v2.3
Chris@354: 
Chris@49:  - Add autoconf configure script
Chris@49: 
Chris@49: Front-end changes:
Chris@49: 
Chris@49:  - Pick up default sample rate and channel count from the first
Chris@49:  audio file, where not specified in the transform, instead of using
Chris@49:  hard coded defaults
Chris@354: 
Chris@53:  - Make it possible to specify the window shape in transform
Chris@354: 
Chris@49:  - Fix the --csv-one-file option which did not work in 0.5
Chris@354: 
Chris@49:  - Fix --force option when using playlists
Chris@354: 
Chris@49:  - Add -v option to print version number and exit
Chris@36: 
Chris@172: 
Chris@354: Changes in Sonic Annotator 0.5 (26 May 2010) since the previous release 0.4:
Chris@36: 
Chris@36: Build changes:
Chris@36: 
Chris@36:  - Remove unused audioio library and avoid its dependencies
Chris@36: 
Chris@36: Front-end changes:
Chris@36: 
Chris@36:  - Avoid leaking file descriptors on exceptions
Chris@354: 
Chris@36:  - Fix embarrassing bug that caused failure to mix down to mono
Chris@36:  properly for single-channel plugins with multi-channel input files
Chris@354: 
Chris@36:  - Fail sooner if the output file is not writable (i.e. don't wait
Chris@36:  until the first data is available for writing)
Chris@23: 
Chris@172: 
Chris@354: Changes in Sonic Annotator 0.4 (25 Sep 2009) since the previous release 0.3:
Chris@27: 
Chris@27: Build changes:
Chris@27: 
Chris@27:  - Sonic Annotator now requires the Vamp plugin SDK v2.1 or newer.
Chris@27: 
Chris@27: Front-end changes:
Chris@27: 
Chris@28:  - Frequency-domain plugins now use the PluginInputDomainAdapter's new
Chris@28:  ShiftData processing method, ensuring that the first block received
Chris@28:  by the plugin is the one centred on 0 rather than starting at 0.
Chris@28:  Unfortunately, the old behaviour omitted a timing compensation step,
Chris@28:  and this fix actually changes the results from some plugin processes:
Chris@28:  the previous behaviour was not always in line with the Vamp plugin
Chris@28:  specification.
Chris@28: 
Chris@27:  - More useful diagnostics are now available when a plugin fails to
Chris@28:  load or run.
Chris@27: 
Chris@27: CSV back-end (feature writer) changes:
Chris@27: 
Chris@27:  - The CSV writer now closes its output files properly when it
Chris@27:  finishes writing to each one, rather than leaving them all open
Chris@27:  until the end and risk running out of file descriptors.  This was
Chris@27:  already the behaviour of the RDF writer, the CSV one has just been
Chris@27:  updated to match it.
Chris@354: 
Chris@27:  - The behaviour of the CSV writer has also been changed to match
Chris@27:  that of the RDF writer in handling file write failures (it now
Chris@27:  continues processing only if --force is given).
Chris@27: 
Chris@27: 
Chris@354: Changes in Sonic Annotator 0.3 (07 Jul 2007) since the previous release 0.2:
Chris@23: 
Chris@23: Front-end changes:
Chris@23: 
Chris@23:  - A new --force front-end option (distinct from the --csv-force and
Chris@23:  --rdf-force back-end options) has been added, which makes Sonic
Chris@23:  Annotator continue to process subsequent audio files instead of
Chris@23:  exiting after an error, if multiple audio files have been specified.
Chris@23: 
Chris@23: RDF back-end (feature writer) changes:
Chris@23: 
Chris@23:  - The RDF writer now conforms more correctly with the Music Ontology
Chris@23:  in the way it relates signal, track, and track metadata.  Signals
Chris@23:  that have available metadata now gain a Track resource to associate
Chris@23:  that metadata with, instead of hanging it directly from the Signal
Chris@23:  resource; also the audio file now encodes the signal rather than the
Chris@23:  signal being available as the audio file (matching the domain
Chris@23:  specification of the Music Ontology).  Note that this new resource
Chris@23:  structure will not be properly read by versions of Sonic Visualiser
Chris@23:  prior to 1.6 (should importing the data into Sonic Visualiser be of
Chris@23:  interest to you).
Chris@23: 
Chris@23:  - The --rdf-signal-uri option has been removed and replaced with the
Chris@23:  more meaningful set of options --rdf-audiofile-uri, --rdf-track-uri,
Chris@23:  and --rdf-maker-uri.
Chris@23: 
Chris@23:  - A new --rdf-network option is available, to cause Sonic Annotator
Chris@23:  to try to retrieve RDF descriptions for plugins from the network
Chris@23:  where those descriptions are not available locally.  Use of this
Chris@23:  option is recommended, but it is not the default because of the
Chris@23:  possible performance implication (even though the results are mostly
Chris@23:  cached, there may be some network access involved).
Chris@23: 
Chris@23:  - The RDF writer now writes the computed_by property for signal
Chris@23:  features.
Chris@23: 
Chris@23:  - Plugin and output URIs in the resulting RDF are now percent-encoded.
Chris@23: