Chris@370: Chris@389: Changes in Sonic Annotator 1.6 (8 June 2020) since the previous release 1.5: Chris@370: Chris@370: Front-end changes: Chris@370: Chris@370: - Add support for reading the Opus audio codec on all platforms Chris@370: Chris@370: - Add support for reading WMA and AAC formats on 64-bit Windows. (AAC Chris@370: was already supported on macOS.) Note that AAC support on Windows Chris@370: is not "gapless", i.e. the decoder provides no way to identify and Chris@370: remove the encoder gap at the start of the stream, so timings will Chris@370: vary between Windows and Mac. For this reason, like mp3, AAC should Chris@370: not be used as a file format of record Chris@370: Chris@370: - Add warning to the help text about avoiding mp3 and AAC as file Chris@370: format of record Chris@370: Chris@370: Build changes: Chris@370: Chris@370: - General updates to dependency libraries and build system following Chris@370: changes to the rest of the Sonic Visualiser family code since v1.5 Chris@370: appeared Chris@389: 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 ) 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: