Skip to content

Releases: AddictedCS/soundfingerprinting

Release 8.20.0

12 Jan 14:36
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  This is obviously a stable version.

Release 8.19.0

12 Dec 13:28
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Adding release notes.
  ResultEntry concatenation cannot be designed to satisfy all existing edge-cases. Having said this, we will favor the simplest solution, which in turn also returns same set of results for our validation set (same F1 score, which was downgraded in v8.17.0 and v8.18.0). ResultEntryConcatenator will not guarantee ordering of track/query matches, but will just concatenate the results as is.
  Max gap should not exceed permitted gap.
  Adding one more test to cover overlap scenario that happens during querying.

Release 8.18.0

08 Dec 19:20
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Release notes.
  I don't like the idea of intercepting fingerprints directly in the API. Let's think about a different way of capturing fingerprints from fingerprinted command.
  Updating the fingerprint builder command to be able to intercept raw fingerprints before they are getting hashed.

Release 8.17.0

30 Nov 08:22
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Adding release notes.
  More tests.
  Limit is not used anymore since we are requesting all the paths all the time.
  Adding tests to the splitting function on matched with extensions.
  Updating release notes, version bump.
  Unifying Single/Multiple best query path reconstruction strategy, the following concepts are now true for the algorithm behavior: 1. Returned Coverage has both query/track sequence number in strictly increasing order. 2. Cross-matches will not be returned (they are not required and set cleanup efforts). 3. Permitted gap will not be used by multiple best path query reconstruction to split result entries, it will be solely used to ignore gaps inside the query/track. 4. Result entries will be split based upon an internal logic which calculates max possible gap.
  Adding the ability to split best path by maximum gap.

Release 8.16.5

26 Nov 13:53
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Upgrading release notes.
  Grouping tests together when they reference the same tested class.
  Updating NUnit test adapter.
  Adding a delta to Coverage contains method, acknowledging the fact that we can't really get perfect increasing matches on both query/track without sacrificing track/query match length.
  Actually there is no performance penalty there.
  For use-cases when query length is smaller than the distance between matches we can identify same match multiple times. This implies more precise test data setup, where both query and track length have to be correctly set-up. Since SingleMatch query best path reconstruction strategy can return more matches if they occur over max gap, we need to clear them using OverlappingRegionFilter.
  Minor refactoring that minimizes code clutter in query path reconstruction strategy.
  Adding coverage track/query match ends at second properties, that will be used by Coverage.Contains method. This change unifies backend with frontend logic.
  We can exclude candidates from the same sequence but which are not increasing it's length but rather are breaking the strictly increasing condition.
  For single best path we are guaranteed to get only one best path.
  The difference between single and multi query path reconstruction strategy, is defined in how many coverages are we gathering from the underlying result set. This can be expressed in a parameter, eliminating the need to express it via inheritance.

Release 8.16.3

22 Nov 09:26
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Adding comments to publicly visible matched with extension methods.
  Merging Extension classes into one static class.
  Adding more comments to publicly visible types.
  This synthetic class is not required anymore.
  Renaming method name to reflect what it actually does.
  More release notes.
  Setting obsolete hamming score calculation algorithm for Legacy query path reconstruction.
  Changing the default scoring algorithm, we will now consider the best candidate the one that as the largest amount of sub-fingerprint matches.
  Let's unify the behavior for Track/Query gaps. All gaps have to be reported, even the ones that are located on edge. For streaming use case, when we ignore on-edge gaps, we can treat it as a special case, rather than the normal, where the query is expected to contain the track and query gaps information.
  Upgrading .NET dependencies for test project.

Release 8.16.2

16 Nov 13:04
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Version bump to v8.16.2
  We can use Array.Empty here.
  Hiding some of the interfaces from public use.
  Removing the ability to filter outliers, since it is based on score we don't really need to support it.
  Gradually removing the concept of Score from Coverage object.
  Minor documentation improvements.
  TrackCoverageLength is misleading, we need only TrackCoverageWithPermittedGapsLength/TrackDiscreteCoverageLength

Release 8.16.1

14 Nov 12:27
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Adding release notes.
  This method can be made private.
  Fixing tests.
  Minor fixes related to Query/Track gaps calculation.
  Improving the speed of calculation of overlapping region filter.
  Let's have a more consistent query/track gaps calculation, in accordance with Query/Track gaps enumerable.
  We are ignoring score anyways, let's get rid of it.
  Unifying single and multi paths query path selection strategies. The difference between the two is how we treat gaps inside the matching sequence: for "single", the returning sequence is treated as a whole (no concept of maxGap is in use), the gaps are then treated as a part of entire matched sequence. For "multi" the matches are divided by maxGap parameter, meaning every time we encounter a gap that is longer than the maxGap we generate new bestPath sequence.
  Trying to error MultipleQueryPathReconstructionStrategy, could not do it.
  Minor test fixes.
  Hotfixing SingleQueryPathReconstructionStrategy, making sure query and track sequence numbers are strictly increasing. Strictly increasing invariant provides guarantees we do not end up with weird query/track match discrepancies.

Release 8.16.0

11 Nov 21:08
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Minor documentation improvement.
  Version bump to v8.16.0
  Renaming QueryPathReconstructionStrategy to QueryPathReconstructionStrategyType.
  Adding more tests, rebuilding full path, allowing both query and track matches to repeat but not both. This makes the algorithm more precise, since query match and track match are independent of each other and should be treated this way.
  It is absolutely debatable whether this was correct, at least now it is.
  Implementing a more rigid strategy of query path reconstruction for which both TrackMatchAt and QueryMatchAt are both increasing. Setting it as the default reconstruction path for Audio. Video query configuration defaults to Legacy as of now.

Release 8.15.0

20 Sep 14:44
Compare
Choose a tag to compare
Merge branch 'develop'

* develop:
  Version bump to v8.15.0