Skip to content

wtf_transcribe: audio fingerprint cache + NFS retry#164

Open
pavanputhra wants to merge 1 commit into
feature/observability-instrumentationfrom
pavankumar/audio-fingerprint-cache
Open

wtf_transcribe: audio fingerprint cache + NFS retry#164
pavanputhra wants to merge 1 commit into
feature/observability-instrumentationfrom
pavankumar/audio-fingerprint-cache

Conversation

@pavanputhra
Copy link
Copy Markdown
Contributor

Summary

  • Replaces the Redis transcription cache in the wtf_transcribe link with a Shazam-style audio fingerprint cache (FFT spectral peaks → peak-pair hashes), kept as a per-worker in-memory dict (fingerprint_cache.py).
  • Adds an NFS ESTALE/ENOENT retry loop on file:// reads so transient mount blips no longer fail the link.
  • Sets cachish: true on the vfun POST so the upstream service knows the call is cache-aware.
  • Adds libchromaprint1 to the runtime image and scipy to project deps (FFT).

Authorship

Code authored by @howejacob1 — opening on his behalf so review can start. He can take over the branch or push fixups directly.

Test plan

  • Build image, run conserver against a chain that uses wtf_transcribe
  • First call: cache miss, vfun hit, fingerprint stored
  • Second call with the same audio: cache hit, no vfun call
  • Simulate an NFS ESTALE: confirm retry succeeds instead of failing the link

Replaces the Redis transcription cache with a Shazam-style audio
fingerprint cache (FFT spectral peaks -> peak-pair hashes), kept as a
per-worker in-memory dict.

Also adds:
- NFS ESTALE/ENOENT retry loop on file:// reads in wtf_transcribe
- cachish: true on the vfun POST
- libchromaprint1 to the runtime image
- scipy to project deps (FFT)

Linear: CON-523
@pavanputhra pavanputhra requested a review from howejacob1 May 13, 2026 06:50
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

Successfully merging this pull request may close these issues.

2 participants