# Changes

## v0.8.2

- #418: Fixed a bug in time-frequency sonification with single-interval inputs.

## v0.8.1

- #410: Fixed several errors with time-frequency sonification

- #412: Removed unused import of deprecated scipy submodule

- #416: mir_eval.io routines now support pathlib.Path (and generally os.Pathlike) inputs as well as strings or open file descriptors.

- #416: mir_eval.io.load_wav is deprecated and will be removed in v0.9.’

## v0.8

- #397: Removed invalid chord types from chord.QUALITIES

- #390: Migrate from personal to organization account

- #388: Update to packaging workflow

- #387: Various modernizations

- #385: Fixed import error

- #384: Rename testing to tests

- #382: Deprecated the source separation module

- #380: Matplotlib support modernization

- #379: Support nans in pitch contour sonification

- #378: Improved efficiency in chord validation

- #374: Fixed length calculation error in sonify.time_frequency

- #370: Test and CI modernization

- #367: Added interpolation method to docs for resample_multipitch

- #361: Added PyPI package release workflow

- #360: Fixed broken link

- #359: Remove support for python 2

- #356, #357, #358: Migrate testing to github actions

- #355: Optimize and fix sonification

- #353: Set numerical precision, fix support for modern numpy

## v0.7

- #334: Support notation for unknown/ambiguous key or mode

- #343: Add suite of alignment metrics

## v0.6

- #297: Return 0 when no overlap in transcription_velocity

- #299: Allow one reference tempo and both estimate tempi to be zero

- #301: Allow zero tolerance in tempo, but issue a warning

- #302: Loosen separation test tolerance

- #305: Use toarray instead of todense for sparse matrices

- #307: Use tuple index in chord.rotate_bitmap_to_root

- #309: Require matplotlib <3 for testing

- #312: Fix raw chroma accuracy for unvoiced estimates

- #320: Add comment support to io methods

- #323: Fix interpolation in sonify.time_frequency

- #324: Add generalized melody metrics

- #327: Stop testing 2.7

- #328: Cast n_voiced to int in display.multipitch

## v0.5

- #222: added int cast for inferred length in sonify.clicks

- #225: improved t-measures and l-measures

- #227: added marginal flag to segment.nce

- #234: update display to use matplotlib 2

- #236: force integer division in beat.pscore

- #240: fix unit tests for source separation

- #242: use regexp in chord label validation

- #245: add labeled interval formatter to display

- #247: do not sonify negative amplitudes in time_frequency

- #249: support gaps in util.interpolate_intervals

- #252: add modulo and length arguments to chord.scale_degree_to_bitmap

- #254: fix bss_eval_images single-frame fallback documentation

- #255: fix crackle in sonify.time_frequency

- #258: make util.match_events faster

- #259: run pep8 check after nosetests

- #263: add measures for chord over- and under-segmentation

- #266: add amplitude parameter to sonify.pitch_contour

- #268: update display tests to support mpl2.1

- #277: update requirements and fix deprecations

- #279: isolate matplotlib side effects

- #282: remove evaluator scripts

- #283: add transcription eval with velocity

## v0.4

- #189: expanded transcription metrics

- #195: added pitch contour sonification

- #196: added the display submodule

- #203: support unsorted segment intervals

- #205: correction in documentation for sonify.time_frequency

- #208: refactored file/buffer loading

- #210: added io.load_tempo

- #212: added frame-wise blind-source separation evaluation

- #218: speed up melody.resample_melody_series when times are equivalent

## v0.3

- #170: implemented transcription metrics

- #173: fixed a bug in chord sonification

- #175: filter_kwargs passes through **kwargs

- #181: added key detection metrics

## v0.2

- #103: incomplete files passed to melody.evaluate should warn

- #109: STRICT_BASS_INTERVALS is now an argument to chord.encode

- #122: improved handling of corner cases in beat tracking

- #136: improved test coverage

- #138: PEP8 compliance

- #139: converted documentation to numpydoc style

- #147: fixed a rounding error in segment intervals

- #150: sonify.chroma and sonify.chords pass kwargs to time_frequecy

- #151: removed labels support from util.boundaries_to_intervals

- #159: fixed documentation error in chord.tetrads

- #160: fixed documentation error in util.intervals_to_samples

## v0.1

- Initial public release.