8000 feat(transcribe): expect the names the namespace knows by adeelahmad · Pull Request #583 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content
8000

feat(transcribe): expect the names the namespace knows - #583

Merged
adeelahmad merged 1 commit into
mainfrom
claude/project-thread-xfmkzn
Oct 18, 2026
Merged

adeelahmad merged 1 commit into
mainfrom
claude/project-thread-xfmkzn

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Description

Before: speech-to-text got the names only you use (family, colleagues, places, projects) wrong in every recording, however often they had been fixed.

After: with Settings → Transcription → Expect your own names on (transcribe.vocabulary, off by default), each recording is transcribed knowing up to 60 words its namespace already knows: its custom vocabulary, named people, defined entities and the names people fixed in its transcripts. Whisper and OpenAI-compatible servers get them as the prompt, Deepgram as key terms or keywords, AssemblyAI as key terms or boosted words; SenseVoice and ElevenLabs take no hints.

How: a new domain/vocabulary.py collects the words; speech.py passes them to each engine in its own form; ingest hands them over per recording.

Motivation and Context

Item from the personal feature plan sheet ("custom vocabulary / names in transcription").

Screenshots (if appropriate):

n/a

Steps to reproduce (if appropriate):

Turn on Settings → Transcription → Expect your own names, name a person in People, then transcribe a recording that says their name.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change; ! in the title)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project (make hooks checks it on commit).
  • I added or updated tests (test_speech.py test_the_namespaces_own_names_go_to_the_engine).
  • My change requires documentation updates, and I have updated docs/ accordingly (docs/processing.md, Your own names in transcription).
  • Users need more than the title to understand it, so I wrote it under ## Unreleased in CHANGELOG.md.

Done questions (AGENTS.md)

  • Goal: delivers what the user wanted, merged on green CI.
  • Agents: the setting is in the settings API like every other; transcripts agents read get the names right.
  • Zero setup: no new prerequisite, .env edit or manual step.
  • Fewest clicks and keystrokes: one switch; the words come from what the namespace already knows.
  • Configurable: one switch in Settings → Transcription, off by default, not in the wizard.
  • Light: no new model or dependency; a few small queries per recording.
  • Private and secure: the words go only to the speech engine already transcribing the recording; no new surface.
  • Cost: no extra model calls; the hint rides on the transcription call already made.
  • User decides: off by default; defaults unchanged.
  • Upgrades: no stored-data change.
  • Honest: docs say which engines take hints and which don't.
  • Tests, docs and generated files updated.
  • Open standards; no new dependencies.
  • Result reported with evidence. Refine later: let people see and edit the list a recording was given.
  • Reuse: uses each provider's own hint parameter and the namespace's existing people and entities.

Local CI (ci/local-ci.sh): FastAPI (embedded and server), Next.js, PR title and the upgrade check passed; pre-commit passed after main fixed its requirements check.


Generated by Claude Code

@adeelahmad adeelahmad self-assigned this Oct 18, 2026
@adeelahmad
adeelahmad force-pushed the claude/project-thread-xfmkzn branch from fdb789a to fd93c81 Compare October 18, 2026 09:40
With transcribe.vocabulary on (off by default), each recording is transcribed
knowing its namespace's custom vocabulary, named people, defined entities and
the names people fixed in its lines: Whisper and OpenAI-compatible servers get
them as the prompt, Deepgram as key terms or keywords, AssemblyAI as key terms
or boosted words.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QFUNzy1QZy5HhKAyJxTAYJ
@adeelahmad
adeelahmad force-pushed the claude/project-thread-xfmkzn branch from fd93c81 to 504cc25 Compare October 18, 2026 11:05
@adeelahmad
adeelahmad merged commit 70f6ffd into main Oct 18, 2026
11 checks passed
@adeelahmad
adeelahmad deleted the claude/project-thread-xfmkzn branch October 18, 2026 11:32
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

0