Local speech recognition & synthesis

Create local meeting notes with transcripts, timestamps, and speakers

Finding speakers and decisions by replaying a meeting recording is tedious. Local transcription turns audio into text, then adds timestamps and speaker labels for review. Recognition, diarization1, and summarization are separate stages. Verify each on a short recording before handling sensitive meetings.

Requirements and key details
  • Whole-file transcription and live captions are different pipelines. Nemotron 3.5 is cache-aware streaming; Parakeet TDT v3 uses whole-utterance inference.
  • Diarization segments voices; it does not identify people's names from sound alone.
  • Bind a local service to `127.0.0.1`. Binding to `0.0.0.0` can expose it to other devices.

Choose what your meeting notes need

Decide whether you need searchable text, timestamps, speaker labels, or captions during the meeting. Live captions need lower latency than processing a recording afterward. Write down the output you need before choosing between a streaming and batch model.

A microphone at the center of an empty meeting table with a laptop
Decide whether you need a transcript or live captions.

Review recognition and diarization separately

ASR2 turns speech into text; diarization segments who spoke when. Audio alone does not reveal names, so map Speaker 1 and Speaker 2 to attendees yourself. NeMo-Speech.cpp documents Sortformer v2 for up to four speakers. Review overlapping speech and microphone changes manually.

A laptop with three colored audio tracks beside matching notebooks
Review before mapping automatic speaker labels to attendees.

Prepare the local runtime and model

NVIDIA NeMo-Speech.cpp documents Metal on Apple Silicon, NVIDIA CUDA3, and CPU4 paths. Start with its official command: `curl -fsSL https://github.com/NVIDIA/NeMo-Speech.cpp/raw/main/scripts/install.sh | sh`. Models are downloaded separately. Setup needs internet, but transcription can run offline after the model is present.

Add timestamps and speakers to a short recording

First transcribe a short WAV and compare the result with the audio. Then enable timestamps and diarization, and check whether you need JSON or subtitles. NeMo documents a workflow such as `nemo-speech transcribe meeting.wav --diarize --json`. If names and product terms recur, check for vocabulary hint support.

Review decisions after the meeting

For a long recording, measure first output separately from full completion, then turn the result into searchable notes after the meeting. The following is a review-format example, not an actual meeting transcript or model measurement.

Example utterance: “Share the draft by Friday; decide the release date after legal review.” → draft transcript: “Draft shared by Friday. Release date decided after legal review.” → items to confirm with people: draft owner, exact Friday deadline, legal-review owner, and when the release date will be finalized.

A summary may sound conclusive; do not treat it as an approved record until checked against the audio.

A recorder and transcript screen in a home office at dusk
Record first-text latency separately from full-file completion time.

Handle recordings and transcripts carefully

Begin with a recording safe to use. Check permissions and retention rules before processing sensitive meetings. If you run a local server, bind it to `127.0.0.1` and keep it off external networks. Verify decisions, numbers, and names against the audio. Offline inference5 alone does not secure stored transcripts.

Terminology notes

  1. Speaker diarizationThe task of dividing a recording into who-spoke-when segments and labeling them by speaker. It does not identify a speaker’s real-world identity.

    Back to the text
  2. Automatic Speech RecognitionTechnology that recognizes spoken language in audio and converts it to text. The recognized text represents the utterance, not a reconstruction of the audio.

    Back to the text
  3. CUDAA software platform for general-purpose computing on NVIDIA GPUs. Programs built for CUDA are not guaranteed to run unchanged on other GPUs.

    Back to the text
  4. CPUThe central processor that executes general-purpose program instructions. AI workloads may divide work between it and other processors such as GPUs.

    Back to the text
  5. InferenceThe process of using a trained model to compute an output for an input. Here, local inference means running the model on the user’s device.

    Back to the text