SoundFingerprinting is a C# framework that implements an efficient algorithm of audio fingerprinting and identification. Designed for developers, enthusiasts, researchers in the fields of audio processing, data mining, digital signal processing.
See the version list below for details.
Version 6.2.0 comes with additional realtime filters as well as the option to create hashes without querying the underlying datasource. Version 6.1.1 contains an enhaced Track object, that allows storing additional meta data in a generic map. Version 6.1.0 comes with the ability to create realtime queries, that will continuously poll data from a shared queue and query the storage in realtime. Version 6.0.0 comes with redesigned model services, to support track and fingerprints insertion in one method call. Version 5.2.3 added a support for MetaFields passed during query requests to the server. Version 5.2.2 supports 8Khz and 16KHz audio files at the input. Version 5.2.0 provides EstimatedCoverage which shows the estimated portion of the track that has been captured in the query. SoundFingerprintingAudioService now supports 48KHz files at the input. Version 5.1.0 provides new fingerprinting configurations that support noisy environments, that fit well scenarious when recordings are provided from mobile devices. Version 5.0.0 supports .NET Standard 2.0 as well as .NET Core apps. Default audio service is now SoundFingerprintingAudioService that supports only raw wave files in the input. If you want to process mp3 or flac files please use SoundFingerprinting extension packages with NAudio or Bass.
4.2.1 comes with a bugfix related to fingerprints serialization.
In 4.2.0 FFT is running on arrays allocated on the stack rather than on RAM, yielding to faster fingerprinting. Version 4.1.0 comes without Ninject dependency. Fingerprints signature has changed to Int32 instead of Int64, which allows better memory management. MaxEntropyPermutations are now used as default permutations for locality sensitive hashing.
Version 4.0.0 comes with a list of improvements. New Haar wavelet transformation normalization factor is now set-up as the default one. It yields better recall and accuracy. Re-index fingerprints if you are migrating from v3.x. Most important update in v4 is an improved fingerprinting speed (2 mins of audio are fingerprinted in ~300 ms), with fever bytes used throughout the process. Similarly to v3.2.0 the InMemoryModelService can now be serialized to file system, and reloaded on application startup (useful for scenarios when you don't want to add external data storages). QueryResult now contains Stats information about the number of candidates analyzed during the query, as well as segregated query duration information: QueryDuration and FingerprintingDuration. Fingerprinting and Query configurations are simplified with various profiles available for choice: LowLatency, Default and HighPrecision configurations. Choose one that corresponds to your scenario. Check Solr data source for fast persistent storage for fingerprints https://github.com/AddictedCS/soundfingerprinting.solr.
Contact email@example.com for early access to specially designed fingerprinting storage that outperforms Solr.
- protobuf-net (>= 2.3.2)