![]() |
|
![]() |
| Great to see this. Seems simple enough, but I can't wait until ORMs like peewee incorporate support alongside things like FTS, etc. just for the sake of case of use. |
![]() |
| In the meantime this workaround works:
|
![]() |
| Really curious to hear about what kind of music embedding models/tools you used! I've tried finding some good models before but they were all pretty difficult to use |
![]() |
| In the past I mainly screwed around with [2] musig as it was fairly easy to modify, right off hand I don't know why I stopped using it. [1] seek-tune (not-shazam) was just post here on hn yesterday, I had to modify it quite a bit to actually get something working in a way I was happy with. Overall it was a little slow, but that's not something I'm gonna fault the author for as the project is still quite new. While browsing around yesterday after messing with [2], I found [3] cpuimage/shazam. It's a little easier for me to screw around with as it's in c, and would probably be the one I try and modify to use this project.
Everything is based on the shazam algorithm or something similar, so chunking the audio stream, and fingerprinting it. I was focused on that because it allows me to figure out where OP and ED are in some anime and allows me to add a skip button. Also since anime in the same season typically have the same OP/ED I can use that to try and auto categorize them after the first ones been identified. TL;DR: It's all shazam look alikes, everything else was to annoying to use. [1] https://github.com/cgzirim/seek-tune [2] https://github.com/sfluor/musig [3] https://github.com/cpuimage/shazam |
![]() |
| What library do you use to compute embedding right now? I'm wondering if it's possible to do both embedding and vector search client-side for a local-first app. |
![]() |
| Been using this for video games and it's absolutely awesome. Alex, the author, is also great and very approachable.
I've been looking for something like this for a while. |
![]() |
| I love this. I know how much work addressing the dependencies must be, but you’re really attacking the right problems. Looking forward to trying this out with my project. |
![]() |
| No, libsql added custom vector search directly into their library, while sqlite-vec is a separate SQLite extension.
The libsql vector feature only works in libsql, sqlite-vec works in all SQLite versions. The libsql vector feature works kindof like pgvector, while sqlite-vec works more like the FTS5 full text SQLite extension. I'd say try both and see which one you like more. sqlite-vec will soon be a part of Turso's and SQLite Cloud's products. Turso's version: https://turso.tech/vector |
sqlite-vec works on MacOS, Linux, Windows, Raspberry Pis, in the browser with WASM, and (theoretically) on mobile devices. I focused a lot on making it as portable as possible. It's also pretty fast - benchmarks are hard to do accurately, but I'd comfortable saying that it's a very very fast brute-force vector search solution.
One experimental feature I'm working on: You can directly query vectors that are in-memory as a contiguous block of memory (ie NumPy), without any copying or cloning. You can see the benchmarks for that feature here under "sqlite-vec static", and it's competitive with faiss/usearch/duckdb https://alexgarcia.xyz/blog/2024/sqlite-vec-stable-release/i...