# ideasman42/nerd-dictation

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ideasman42-nerd-dictation).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

1,878 stars · 159 forks · Python · GPL-3.0

## Links

- GitHub: https://github.com/ideasman42/nerd-dictation
- awesome-repositories: https://awesome-repositories.com/repository/ideasman42-nerd-dictation.md

## Description

Nerd-dictation is a command-line utility that provides offline speech-to-text transcription and system-wide desktop automation. It functions as a local recognition engine, processing microphone audio streams directly on the host machine without requiring cloud connectivity or external network services.

The tool distinguishes itself by integrating transcription directly into the desktop environment through system-level input injection, which simulates keyboard events to type recognized speech into active application windows. It supports grammar-constrained decoding, allowing users to define specific vocabularies to improve transcription accuracy for technical domains. Additionally, the software includes a pipeline-based transformation system that enables users to execute custom scripts, perform numeric formatting, and trigger automated workflows based on recognized keywords.

The framework manages the entire dictation lifecycle, including start, stop, and pause signaling, while offering configuration options to balance resource consumption against processing performance. It is designed for use on Linux environments and provides a modular interface for audio capture and text processing.

## Tags

### Artificial Intelligence & ML

- [Speech-to-Text Converters](https://awesome-repositories.com/f/artificial-intelligence-ml/speech-to-text-converters.md) — Converts spoken audio into written text using offline recognition models for system-wide dictation. ([source](https://github.com/ideasman42/nerd-dictation#readme))
- [Desktop Dictation Utilities](https://awesome-repositories.com/f/artificial-intelligence-ml/speech-to-text-converters/desktop-dictation-utilities.md) — Enables system-wide desktop automation by converting spoken audio into text and injecting it directly into active application windows as simulated keystrokes.
- [Offline](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/speech-processing/automatic-speech-recognition/speech-recognition-engines/offline.md) — Provides local, offline speech-to-text transcription by processing microphone audio streams directly on the host machine without cloud connectivity.
- [Contextual Accuracy Improvements](https://awesome-repositories.com/f/artificial-intelligence-ml/audio-transcription/transcription-apis/contextual-accuracy-improvements.md) — Improves transcription precision for specialized domains by constraining the recognition vocabulary.
- [Grammar-Constrained Speech Processors](https://awesome-repositories.com/f/artificial-intelligence-ml/machine-learning/speech-processing/speech-reasoning-processors/grammar-constrained-speech-processors.md) — Provides a framework that restricts recognition to specific vocabularies and executes custom scripts based on spoken keywords.
- [Constrained Decoding](https://awesome-repositories.com/f/artificial-intelligence-ml/sequence-decoding-models/sequence-decoders/constrained-decoding.md) — Limits the speech recognizer's search space using predefined vocabulary files to improve transcription accuracy for technical domains.
- [Custom Vocabularies](https://awesome-repositories.com/f/artificial-intelligence-ml/vocabulary-management/custom-vocabularies.md) — Allows users to define custom vocabularies to improve transcription accuracy for specialized technical domains. ([source](https://github.com/ideasman42/nerd-dictation/blob/main/changelog.rst))

### Part of an Awesome List

- [Voice Dictation](https://awesome-repositories.com/f/awesome-lists/ai/voice-dictation.md) — Provides control over the transcription lifecycle, including start, stop, and pause signaling. ([source](https://github.com/ideasman42/nerd-dictation#readme))
- [Keyboard and Mouse Input Simulations](https://awesome-repositories.com/f/awesome-lists/devtools/keyboard-mouse/keyboard-and-mouse-input-simulations.md) — Simulates keyboard input by injecting transcribed text into active windows across various display servers. ([source](https://github.com/ideasman42/nerd-dictation/blob/main/readme.rst))

### Business & Productivity Software

- [Voice-to-Text Input Automation](https://awesome-repositories.com/f/business-productivity-software/voice-to-text-input-automation.md) — Automates system input by injecting transcribed speech directly into active applications as simulated keystrokes.

### Operating Systems & Systems Programming

- [Linux Desktop Automation](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-desktop-automation.md) — Provides a system-level interface for Linux desktop automation via speech-to-text and keyboard injection.

### Software Engineering & Architecture

- [Speech-to-Text Transformation Pipelines](https://awesome-repositories.com/f/software-engineering-architecture/custom-scripting-engines/custom-scripting-functions/text-transformation-scripts/speech-to-text-transformation-pipelines.md) — Passes recognized text through custom scripts to perform formatting, keyword triggering, and numeric conversion.

### User Interface & Experience

- [Voice Command Mapping](https://awesome-repositories.com/f/user-interface-experience/input-mapping/voice-command-mapping.md) — Triggers automated workflows and custom scripts by mapping spoken keywords to system actions.
- [Process-Level Input Injectors](https://awesome-repositories.com/f/user-interface-experience/text-input-managers/input-injection-utilities/process-level-input-injectors.md) — Injects transcribed text into active application windows by simulating keyboard events at the process level.
