Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comparison with rust-chromaprint #6

Closed
Holzhaus opened this issue Oct 2, 2024 · 7 comments
Closed

Comparison with rust-chromaprint #6

Holzhaus opened this issue Oct 2, 2024 · 7 comments

Comments

@Holzhaus
Copy link
Contributor

Holzhaus commented Oct 2, 2024

How mature is this crate? And how does it compare to https://github.com/0xcaff/rust-chromaprint ?

@darksv
Copy link
Owner

darksv commented Oct 4, 2024

Well, I missed that library when I was searching for a pure Rust implementation - it hadn't been published on crates.io at the time. From a quick glance, it seems like a more complete port, as it includes fingerprint compression, which I haven't needed so far.

As to maturity, I'm aware that at least https://github.com/qarmin/czkawka uses it and they reported some issues which were fixed quite some time ago.

@Holzhaus
Copy link
Contributor Author

Holzhaus commented Oct 4, 2024

Well, I missed that library when I was searching for a pure Rust implementation - it hadn't been published on crates.io at the time.

That crate is still not published on crates.io and seems like it has been abandoned. From the code perspective, it looks like your code is more ideomatic rust, while the other one seems like a direct port with many C-isms. Maybe some benchmarks make sense.

As to maturity, I'm aware that at least https://github.com/qarmin/czkawka uses it and they reported some issues which were fixed quite some time ago.

Yup, I've seen this. They use it to compare audio fingerprints to determine similarity.

My use case is different: I actually want to generate fpcalc-compatible base64-encoded compressed fingerprints. I've seen that you added an fpcalc crate which is currently not implemented and just prints "Hello world". Is the missing fingerprint compression the only blocker for implementing this? Or is something else missing/broken?

From a quick glance, it seems like a more complete port, as it includes fingerprint compression, which I haven't needed so far.

I'm willing to contribute compression (I actually have a PoC), but my fingerprints differ from the fpcalc output. Maybe I'll file a PR and an initial fpcalc implementation and we can work together on getting it up to par?

@Holzhaus
Copy link
Contributor Author

Holzhaus commented Oct 5, 2024

See #9.

@darksv
Copy link
Owner

darksv commented Oct 11, 2024

First of all, sorry for my late response, but I haven't had much time lately.

Is the missing fingerprint compression the only blocker for implementing this? Or is something else missing/broken?

That should be all what is needed as far as I recall.

See #9.

Thanks, I'll take a look :)

@Holzhaus
Copy link
Contributor Author

@darksv Anything missing before tagging a new version? My CI doesn't support git dependencies (only crates.io) and I'd like to integrate the fixes from #10.

@darksv
Copy link
Owner

darksv commented Oct 26, 2024

@Holzhaus I found another small issue - fixed it in #12. And I've just released a new version to crates.io

@Holzhaus
Copy link
Contributor Author

Awesome, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants