onespeechDocs
onespeech docs
Everything about OneSpeech 1.0.0: getting started, transcribing files, live sessions, word timing, diarization and speaker recognition, the model families, model files and offline packages, captions, and every measured result. These docs are for OneSpeech 1.0.0, read at the v1.0.0 tag (63002de).
Start
Getting startedInstall OneSpeech for .NET 10, transcribe a recording with timed words and speaker turns, run a live session from packaged models with no network, and use the onespeech command-line tool. Every program below was run on the 1.0.0 packages from NuGet, and the output shown is…OverviewOneSpeech transcribes audio, times words, labels speakers and supports live sessions in managed .NET 10. Open-weight models run on OneModel; OneAudio decodes and resamples audio. No native inference runtime is required.Transcribing filesSpeech recognition for .NET. OneSpeech is unaffiliated with other products or companies named OneSpeech.Live sessions and file streamingA LiveSession accepts borrowed mono 16 kHz AudioBuffer blocks through synchronous Push, or awaits those blocks through Listen. Resampling and capture belong to the caller. Complete flushes real input; it does not append silence. Normal async end-of-input calls Complete.…Shared contractsAudioBuffer views interleaved float PCM without copying it. Mono is one channel; multiple channels preserve separated-party audio for later channel diarization. Sample rates are positive Hz and buffers contain whole frames; processing implementations document rate/channel…Transcript JSON, version 1UTF-8 JSON, written and read using a generated System.Text.Json context. The root object has required schemaVersion (integer major version, currently 1) and required transcript. Every other major version is rejected. Unknown fields are rejected; a future additive schema needs…
Coming from another library
From Whisper.netThis is a concept map, not an API-compatible shim. It uses the published package documentation, consulted 2026-11-08; no implementation source is needed.From sherpa-onnx .NETThis guide maps concepts from the published C# documentation, consulted 2026-11-08. It is not a shim and does not import model configuration objects or native handles.From Azure Speech SDKHere “offline recognition” means recognizing a file rather than a microphone; it does not imply that an Azure service call itself is offline. This concept map uses Microsoft's recognition guide, consulted 2026-11-08. No SDK implementation is used.From WhisperXThis guide uses only the published package description, consulted 2026-11-08. It maps a workflow, not Python modules, dictionaries or an API signature.
Audio, timing and biasing
Audio input and the pipelineAudioFileSource is a synchronous pull decoder. It accepts seekable encoded streams or paths and returns interleaved float PCM at 16,000 Hz, preserving the original channels. Supported formats are those registered by OneAudio: WAV, MP3, FLAC, Ogg Vorbis/Opus, AAC-LC in…Long files and cancellationUse Speech.Transcribe when you need a complete document with whole-recording speaker labels. Use Speech.TranscribeStream when you want final segments as bounded VAD-first chunks finish. The latter does not perform whole-file speaker clustering. Neither API requires retaining…Voice activity detectionThe core assembly embeds the unmodified silero_vad.onnx from Silero VAD v6.2.3, revision 5cd7945676eb32225748052e2e6a0580e4686a08, SHA-256 1a153a22f4509e292a94e67d6f9b85e8deb25b4988682b7e174c65279d8788e3. It runs on OneModel 1.0.0 in float32 fast arithmetic with one inference…Word timing and alignmentEvery Word has nullable Start and End, nullable Confidence, and TimingMethod. Times are TimeSpan values on the original audio clock, not processing time. Missing boundaries remain null; confidence is not inferred from having a boundary. Speaker assignment cannot fill missing…The CTC alignment trellisCtcTrellis.Align accepts row-major natural-log frame probabilities and a fixed sequence of nonblank vocabulary IDs. It consumes every frame and requires the complete target. Leading and trailing blank are allowed. Blank separates equal adjacent target IDs; distinct adjacent…Contextual phrase biasingContextual biasing favours domain names and phrases during recognition; it is not model training and cannot guarantee that a phrase is spoken. The low-level entry point is SpeechRecognizer.WithPhrases. Check the recognizer's Capabilities.Biasing before requesting it.…Contextual token scoringOneSpeech.Decoding.PhraseTrie is an immutable, inference-only context graph. Construct it from TokenPhrase values tokenized by the model's tokenizer. Include word-boundary markers when the tokenizer uses them; this primitive matches IDs, not words, case variants or Unicode…
Speakers
DiarizationSpeech recognition for .NET. Speaker labels are document-local, not biometric identities. No audio or embedding is persisted by diarization helpers.Live speaker labelsSpeech.Listen adds bounded online clustering to live recognition. The low-level OnlineDiarizationSession decorates a fresh recognition-only LiveSession and borrows its session and SpeakerEmbedder; dispose the decorator first, then its borrowed resources. Push mono 16 kHz…Nemotron 3 DiarizationSpeech recognition for .NET. OneSpeech.Diarization.NemotronDiarizer is an explicitly selected, overlap-aware, tier-2 file diarizer for up to eight anonymous speakers. It is never a default. The clustering documentation shows the one-call pipeline replacement. This is…Gated models and segmentationGated entries are tier 2, explicitly named, never defaults or mirrors. The catalog pins publisher revisions and each file's SHA-256. ModelStore.PullAsync takes an ephemeral API token, falling back to ONESPEECH_MODEL_TOKEN only when the API argument is null. It checks gate…Speaker recognitionDiarization asks who spoke when, using anonymous labels. Recognition asks whether speech matches an enrolled identity. InMemorySpeakerRegistry borrows a SpeakerEmbedder, holds enrollment vectors only in memory and clears them on disposal. Keep the embedder alive until the…Speaker identity and scoresSpeakerEmbedder is the synchronous CPU extraction role. Its model metadata identifies the checkpoint and licence; Dimension fixes output length and SampleRate fixes mono input Hz. Embed writes into caller-owned storage and accepts cancellation. Input must be nonempty, mono…
Model families
WhisperOneSpeech.Audio.WhisperLogMelSpectrogram consumes at most 480,000 samples of 16 kHz mono float PCM. Resampling and channel mixing belong to the audio input layer. Samples are not clipped. Nonfinite samples and signals whose power exceeds float32 range are rejected.Qwen3-ASR and forced alignmentQwen3-ASR-0.6B and Qwen3-ASR-1.7B run on OneModel, including their AuT audio encoder/projector and Qwen language decoder with a past/present KV cache. The published ungated checkpoints are Apache-2.0. Model revisions, publisher file SHA-256s and independently reproduced…MoonshineThe registered English checkpoints are moonshine-ai/moonshine-tiny, moonshine-base, moonshine-streaming-tiny, moonshine-streaming-small and moonshine-streaming-medium (all IDs use the moonshine-ai/ publisher prefix). They are pinned, ungated MIT checkpoints. Other…NeMo and transducersNemoLogMelSpectrogram consumes mono 16 kHz float PCM. It implements the Parakeet v3 preprocessor parameters: 128 Slaney-area-normalized mel bands, 400-sample symmetric Hann window centered in a 512-point FFT, 160-sample hop, preemphasis 0.97, power spectrum and natural log…Cache-aware FastConformerNemotron 3.5 ASR loads only by explicit model name, nvidia/nemotron-3.5-asr-streaming-0.6b. It is an upstream-only OpenMDW-1.1 model, never a default or a redistributed weight package. ModelStore verifies the pinned publisher safetensors, configuration and tokenizer files…Custom speech graphsOneSpeech.Custom.GraphSpeechRecognizer is a low-level SpeechRecognizer for caller-supplied float32 ONNX or OneModel files. It never downloads or converts weights. The caller supplies lawful provenance in ModelInfo and an immutable TokenVocabulary, including a blank ID.…Integer inferenceThe fp32 defaults are unchanged. The following explicit catalog IDs select locally converted, mixed-int8 graphs:
Models and files
First-use modelsmodel selects the requested role, not an isolated inference graph. Present files are verified and reused. Nothing is downloaded on Transcript export. Tier-2 models must be explicitly named and always come from their publisher; prefetch never accepts a gate for you. Silero VAD…Model files and pre-fetchModelCatalog.Default reads a versioned embedded data catalog without network access. ModelStore.PullAsync(id) resolves an explicit model ID to a ResolvedModel containing an absolute directory and ModelInfo. The returned directory contains verified publisher files and…Loading and composing rolesEvery downloadable family has the same canonical loader pair:Tier-2 models and gatesTier 2 includes CC-BY-4.0, OpenMDW-1.1 and every gated model even if its licence is MIT. Select these models explicitly by catalog ID. They are never defaults, mirrored weights or offline model packages. They load pinned publisher files with SHA-256 verification and may…Command line and model packagesSpeech recognition for .NET. onespeech --help lists commands, positional arguments, options and exit codes. The tool accepts standalone audio and OneMedia containers. transcribe and align emit text, schema-v1 JSON, SRT or VTT (--format); --output selects a UTF-8 file instead…Containers and captionsRecursiveAI.OneSpeech.Media references core, OneMedia and OneMedia.Audio. Call OneSpeech.Media.MediaInput.Register() once during startup, before inference. Registration sets core's explicit AudioFileSource.AdditionalDecoder hook; it does not scan assemblies, download models…
Measured results
Measured results and limitsThe release revalidation table distinguishes full-split measurements from the earlier fixed-slice evidence below. The tables disclose incomplete datasets, qualified references and remaining gaps; these results are not a cross-hardware guarantee. Lower is better for all errors…EvaluationSpeech recognition for .NET. These tools score every system with the same reference text and normalizer. They are not part of the runtime package. The project is unaffiliated with other products or companies named OneSpeech.
Inside the library
Model-data and document readersThis is the inventory of file-reading code owned by OneSpeech. The mutation targets are development tools; measured results report the completed campaigns separately.The safetensors readerThe internal OneSpeech.Formats.SafeTensorFile reads the published safetensors format (v0.6.2 format description). It does not load executable objects. A readable, seekable stream is required. Construction starts at file offset zero and owns the stream unless leaveOpen is…Third-party noticesCore embeds the Silero VAD v6.2.3 ONNX release model. No other model weights are included.ChangelogAll notable changes are documented here, following Keep a Changelog.