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.
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.

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.

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.

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
Speaker diarization — The 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 textAutomatic Speech Recognition — Technology 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 textCUDA — A 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 textCPU — The central processor that executes general-purpose program instructions. AI workloads may divide work between it and other processors such as GPUs.
Back to the textInference — The 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