#fingerprinting #bindings #chromaprint #version

sys chromaprint-sys-next

Rust bindings to Chromaprint

8 releases (stable)

1.5.3 Jul 24, 2022
1.5.2 Jul 5, 2022
1.5.1+04 Jul 4, 2022
1.5.0 Jul 3, 2022

#518 in Audio

29 downloads per month
Used in 2 crates (via chromaprint-rust)

MIT license

1MB
23K SLoC

C++ 16K SLoC // 0.2% comments C 3.5K SLoC // 0.2% comments Python 1.5K SLoC // 0.2% comments Bazel 721 SLoC // 0.1% comments Prolog 434 SLoC SWIG 238 SLoC Shell 218 SLoC // 0.2% comments Rust 144 SLoC // 0.1% comments Objective-C 20 SLoC

chromaprint-sys-next

Crates.io

Rust bindings for Chromaprint.

The major.minor version tracks the library version, while .patch tracks the crate version.

Prerequisites

General

  • LLVM or Clang for buildgen.

Linux (Debian/Ubuntu)

Static linking (preferred):

sudo apt install pkg-config cmake libfftw3-dev

Dynamic linking:

sudo apt install pkg-config libchromaprint-dev

macOS

brew install cmake

Windows

  1. Install cargo-vcpkg: cargo install cargo-vcpkg
  2. Install vcpkg deps: cargo vcpkg build
  3. Build and run: cargo run

Building chromaprint from source

If the library is not found on the system, the script will try to build it from source. This requires:

  1. CMake: https://cmake.org/download/
  2. FFTW3 (optional, but highly recommended): https://www.fftw.org/

Dependencies