저는 clap.cpp를 구현하여 C++/GGML 기반의 오디오 임베딩 추론 기능을 만들었습니다. 이 도구는 GGUF 모델을 사용하며, CLI(명령줄 인터페이스), HTTP 서버, 그리고 Python, Rust, Node.js 바인딩을 제공합니다.
지원하는 모델에는 CLAP, CLAP2, CLaMP3, MERT, MuQ, 그리고 MuQ-MuLan이 포함됩니다. WAV, MP3, FLAC 입력을 지원하며, 자동 리샘플링(resampling)과 모노 다운믹싱(mono downmixing) 기능을 제공합니다. 또한 OpenAI와 호환되는 텍스트 임베딩 요청 형식을 갖춘 HTTP 엔드포인트도 제공됩니다.
GitHub: https://github.com/gorse-io/clap.cpp
오디오 파일은 CLAP 임베딩을 통해 텍스트로 검색할 수 있습니다:
$ clap search esc5 --model larger_clap_general-q4_k_m.gguf --text 'dog' --top-k 10
[ {"path": "esc5/2-118072-A-0-dog.wav", "score": 0.3736357720143104}, {"path": "esc5/1-110389-A-0-dog.wav", "score": 0.36165991257288893}, {"path": "esc5/4-183992-A-0-dog.wav", "score": 0.3574270305924374}, {"path": "esc5/1-30226-A-0-dog.wav", "score": 0.34910229736736315}, {"path": "esc5/3-180977-A-0-dog.wav", "score": 0.34359234068457495}, {"path": "esc5/4-194754-A-0-dog.wav", "score": 0.3425423428503198}, {"path": "esc5/2-118964-A-0-dog.wav", "score": 0.3389233902904601}, {"path": "esc5/1-100032-A-0-dog.wav", "score": 0.33009392183878733}, {"path": "esc5/5-9032-A-0-dog.wav", "score": 0.3280081351893563}, {"path": "esc5/4-182395-A-0-dog.wav", "score": 0.32210240115509925} ] submitted by /u/zhenghaoz [link] [comments]