Speech Kit
Offline and private speech-to-text, text-to-speech, and translation for desktop notes. Dictate notes, transcribe meetings, and more. NVIDIA, Whisper, and natural voices running on your machine. - This plugin has not been manually reviewed by Obsidian staff.
The above warnings are based on limited information and might not always be accurate.
Data
| ID | local-dictation |
| Author | Alexander Brittain |
| Minimum Obsidian Version | 1.11.5 |
| Official Release Date | 2026-05-16 |
| Last update | 2026-10-03 |
Last Refresh
Obsidian Stats last refreshed the data behind this page on Oct 27, 2026.
| Community plugin snapshot | Oct 26, 2026 |
| Repository clone | last successful checkout Oct 7, 2026 |
| Release acquisition | release metadata checked Oct 7, 2026; latest main.js acquired |
Quick Links
- Plugin Docs
- GitHub Repo
- View in Obsidian
- View on Obsidian Community
- View on the Obsidian Hub
- Author Website
Changes
| Date | Changed Property | Old Value | New Value |
|---|---|---|---|
| 2026-05-16 | Plugin Added | ||
| 2026-05-16 | Plugin Removed | ||
| 2026-05-19 | Plugin Re-Added | ||
| 2026-05-19 | description | This plugin has not been manually reviewed by Obsidian staff. Dictate notes privately on-device with Whisper, Cohere Transcribe, Silero VAD, and optional Ollama LLM cleanup. | This plugin has not been manually reviewed by Obsidian staff. Dictate notes with Whisper or Cohere Transcribe; clean up with a local Ollama model. Private, on-device speech-to-text for Obsidian. |
| 2026-06-08 | Plugin Removed | ||
| 2026-06-08 | Plugin Re-Added | ||
| 2026-06-10 | Plugin Removed | ||
| 2026-06-11 | Plugin Re-Added | ||
| 2026-06-14 | Plugin Removed | ||
| 2026-06-15 | Plugin Re-Added | ||
| 2026-06-15 | description | This plugin has not been manually reviewed by Obsidian staff. Dictate notes with Whisper or Cohere Transcribe; clean up with a local Ollama model. Private, on-device speech-to-text for Obsidian. | Dictate notes with Whisper or Cohere Transcribe; clean up with a local Ollama model. Private, on-device speech-to-text for Obsidian. - This plugin has not been manually reviewed by Obsidian staff. |
| 2026-07-10 | description | Dictate notes with Whisper or Cohere Transcribe; clean up with a local Ollama model. Private, on-device speech-to-text for Obsidian. - This plugin has not been manually reviewed by Obsidian staff. | Private, offline speech-to-text, voice typing, and meeting transcription. Dictate notes live or transcribe calls and system audio with Whisper, speaker labels, timestamps, and optional AI cleanup. - This plugin has not been manually reviewed by Obsidian staff. |
| 2026-07-12 | Plugin Removed | ||
| 2026-07-12 | Plugin Re-Added | ||
| 2026-07-17 | Plugin Removed | ||
| 2026-07-17 | Plugin Re-Added | ||
| 2026-07-20 | Plugin Removed | ||
| 2026-07-20 | Plugin Re-Added | ||
| 2026-07-20 | description | Private, offline speech-to-text, voice typing, and meeting transcription. Dictate notes live or transcribe calls and system audio with Whisper, speaker labels, timestamps, and optional AI cleanup. - This plugin has not been manually reviewed by Obsidian staff. | Local speech-to-text and text-to-speech for notes and meetings. Dictate live, transcribe microphone and system audio with Whisper and other models, add speaker labels and timestamps, shape transcripts - This plugin has not been manually reviewed by Obsidian staff. |
| 2026-07-29 | Plugin Removed | ||
| 2026-07-29 | Plugin Re-Added | ||
| 2026-07-29 | name | Local Dictation | Speech Kit |
| 2026-07-29 | description | Local speech-to-text and text-to-speech for notes and meetings. Dictate live, transcribe microphone and system audio with Whisper and other models, add speaker labels and timestamps, shape transcripts - This plugin has not been manually reviewed by Obsidian staff. | Local speech-to-text, dictation, meeting transcription, translation, and text-to-speech for desktop notes. - This plugin has not been manually reviewed by Obsidian staff. |
| 2026-07-31 | description | Local speech-to-text, dictation, meeting transcription, translation, and text-to-speech for desktop notes. - This plugin has not been manually reviewed by Obsidian staff. | Offline and private speech-to-text, text-to-speech, and translation for desktop notes. Dictate notes, transcribe meetings, and more. NVIDIA, Whisper, and natural voices running on your machine. - This plugin has not been manually reviewed by Obsidian staff. |
| 2026-08-15 | Plugin Removed | ||
| 2026-08-20 | Plugin Re-Added | ||
| 2026-08-20 | repo | brittain9/local-dictation-obsidian-plugin | brittain9/speech-kit-obsidian-plugin |
| 2026-09-27 | Plugin Removed | ||
| 2026-09-28 | Plugin Re-Added |
Repository Data
| License | MIT in package.json MIT in LICENSE file |
| Package Manager | npm |
| Uses Typescript | Yes |
| Installed Bundlers | esbuild |
| Installed Testing Frameworks | Vitest |
| Has Test Files | Yes |
Latest Release main.js Size | 1.15 MB |
| Detected ES Version | ES2022 |
| Probably Minified | Yes |
| main.js API Findings | 20 disclosures |
| Uses BRAT beta releases | No |
| Dependencies | None |
| Dev Dependencies | @biomejs/biome, @codemirror/state, @codemirror/view, @eslint/js, @eslint/json, @types/node, @typescript-eslint/parser, @typescript/native, esbuild, eslint, eslint-plugin-obsidianmd, obsidian, obsidian-floor, tslib, typescript, typescript-eslint, vitest |
main.js API Findings
These findings come directly from Glass Lint's JavaScript and Obsidian rule catalogs applied to the latest release main.js. The confidence column is Glass Lint's definite/possible match certainty.
| Disclosure | Rule Descriptions |
|---|---|
| Archive Or Compression | Uses archive or compression libraries |
| Clipboard Access | Writes clipboard data |
| Codemirror Integration | Uses CodeMirror extension primitives |
| Cryptographic Operations | Uses cryptographic operations |
| Editor Behavior | Registers editor extensions |
| Electron Api Access | Uses Electron APIs, Uses Electron shell APIs |
| Lifecycle Events | Registers Obsidian lifecycle events |
| Network Access | Constructs or references URLs, References authorization or user-agent headers, References private-network addresses, Uses Node HTTP modules, Uses Obsidian request APIs, Uses browser network request APIs |
| Node Filesystem Access | Uses Node filesystem and path APIs |
| Obsidian Config Access | References .obsidian configuration paths |
| Permission Sensitive Browser Api | Uses browser media capture |
| Platform Branching | Checks Obsidian platform flags |
| Plugin Storage Access | Reads or writes app-scoped storage and secrets, Reads plugin data, Writes plugin data |
| Private Network Access | References private-network addresses |
| Process Or Shell Access | Reads Node process environment or platform metadata, Starts Node subprocesses |
| User Interface Access | Registers Obsidian views, Registers plugin settings UI, Registers ribbon icons, Registers status bar items, Uses Obsidian menus, Uses Obsidian modal UI, Uses Obsidian notices |
| Vault Access | Accesses Obsidian vault APIs |
| Worker Usage | Starts or loads background JavaScript |
| Workspace Access | Registers Obsidian workspace events |
| Workspace Layout | Manages workspace leaves |
| Finding | Type | Confidence | Evidence |
|---|---|---|---|
| Starts or loads background JavaScript | Warning | Definite | constructor of "Worker" |
| Uses Electron shell APIs | Warning | Definite | member_call of "electron" |
| Starts Node subprocesses | Warning | Definite | import of "node:child_process" (3), member_call of "node:child_process" (2) |
| Reads or writes app-scoped storage and secrets | Warning | Definite | member_call of "app.secretStorage.getSecret" (2), member_call of "app.secretStorage.setSecret" |
| Writes clipboard data | Info | Definite | member_call of "navigator.clipboard.writeText" (3) |
| Uses browser media capture | Info | Definite | member_call of "navigator.mediaDevices.enumerateDevices" |
| Uses browser network request APIs | Info | Definite | call of "fetch" |
| Uses Electron APIs | Info | Definite | import of "electron" |
| References authorization or user-agent headers | Info | Definite | string_contains of "user-agent", string_contains of "User-Agent", string_contains of "api-key" (2) |
| References private-network addresses | Info | Definite | string_contains of "private network address" (11) |
| Constructs or references URLs | Info | Definite | member_call of "URL.createObjectURL" (2), member_call of "URL.revokeObjectURL" (2), string_contains of "https://" (8), constructor of "URL" (10), string_contains of "http://" (4) |
| Uses archive or compression libraries | Info | Definite | import of "node:zlib" |
| Uses cryptographic operations | Info | Definite | import of "node:crypto" (8), member_call of "node:crypto" |
| Uses Node filesystem and path APIs | Info | Definite | import of "node:fs/promises" (6), call of "node:fs/promises.open", member_call of "node:fs/promises" (33), call of "node:fs/promises.rm" (11), call of "node:fs/promises.stat" (3), import of "node:fs", call of "node:fs.readFileSync", member_call of "node:fs", call of "node:fs/promises.readFile" (4), call of "node:fs/promises.mkdir" (4), call of "node:fs/promises.writeFile" (3), call of "node:fs/promises.rename" (6), call of "node:fs/promises.readdir" |
| Uses Node HTTP modules | Info | Definite | import of "node:https" (2), import of "node:http" (2) |
| Reads Node process environment or platform metadata | Info | Definite | member_read of "process.platform" (13), member_read of "process.env" (5), member_read of "process.arch" (5) |
| Uses CodeMirror extension primitives | Info | Definite | import of "@codemirror/state" (5), import of "@codemirror/view" (5) |
| Registers editor extensions | Info | Definite | member_call of "obsidian.Plugin" (5) |
| Registers Obsidian lifecycle events | Info | Definite | member_call of "obsidian.Plugin" |
| Uses Obsidian request APIs | Info | Definite | member_call of "obsidian" (2) |
| Checks Obsidian platform flags | Info | Definite | member_read of "obsidian" (26) |
| Reads plugin data | Info | Definite | member_call of "obsidian.Plugin" (2) |
| Writes plugin data | Info | Definite | member_call of "obsidian.Plugin" (2) |
| Uses Obsidian menus | Info | Definite | member_call of "obsidian.Menu" (3) |
| Uses Obsidian modal UI | Info | Definite | class of "obsidian.Modal" (16) |
| Uses Obsidian notices | Info | Definite | constructor of "obsidian.Notice" |
| Registers ribbon icons | Info | Definite | member_call of "obsidian.Plugin" |
| Registers plugin settings UI | Info | Definite | class of "obsidian.PluginSettingTab", member_call of "obsidian.Plugin" |
| Registers status bar items | Info | Definite | member_call of "obsidian.Plugin" (3) |
| Accesses Obsidian vault APIs | Info | Definite | member_read of "app.vault" (2) |
| References .obsidian configuration paths | Info | Definite | member_read of "app.vault.configDir" |
| Registers Obsidian views | Info | Definite | member_call of "obsidian.Plugin" |
| Registers Obsidian workspace events | Info | Possible | member_call of "app.workspace.on" |
| Manages workspace leaves | Info | Definite | member_call of "app.workspace.getLeavesOfType" (3), member_call of "app.workspace.getLeftLeaf" |
The above data may not be accurate and contain errors. For more information refer to the page about data collection.
Lines of Code
The plugin has a total of 112327 lines of code. The following chart shows the lines of code split by programming language.
Downloads
The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.
Version History
| Version | Release Date | Note |
|---|---|---|
| 2026.5.16 | 2026-06-16 | None |
| 2026.5.19 | 2026-05-21 | None |
| 2026.5.20 | 2026-05-21 | Released while not listed |
| 2026.5.23 | 2026-05-24 | None |
| 2026.5.24 | 2026-05-24 | None |
| 2026.6.7 | 2026-06-16 | None |
| 2026.6.8 | 2026-06-10 | None |
| 2026.6.9 | 2026-06-10 | None |
| 2026.6.10 | 2026-06-12 | Released while not listed |
| 2026.6.11 | 2026-06-16 | None |
| 2026.7.1 | 2026-07-07 | None |
| 2026.7.2 | 2026-07-08 | None |
| 2026.7.3 | 2026-07-12 | None |
| 2026.7.4 | 2026-07-14 | None |
| 2026.7.5 | 2026-08-05 | None |
| 2026.7.6 | 2026-08-05 | None |
| 2026.7.7 | 2026-07-19 | None |
| 2026.7.8 | 2026-07-19 | None |
| 2026.7.9 | 2026-08-05 | None |
| 2026.7.10 | 2026-07-22 | None |
| 2026.7.11 | 2026-08-05 | None |
| 2026.7.12 | 2026-07-29 | None |
| 2026.7.13 | 2026-07-31 | None |
| 2026.8.0 | 2026-08-05 | None |
| 2026.8.1 | 2026-08-07 | None |
| 2026.8.2 | 2026-08-09 | None |
| 2026.8.3 | 2026-08-22 | None |
| 2026.8.4 | 2026-08-22 | None |
| 2026.8.5 | 2026-08-23 | None |
| 2026.8.6 | 2026-08-25 | None |
| 2026.8.7 | 2026-08-29 | None |
| 2026.9.1 | 2026-09-09 | None |
| 2026.9.2 | 2026-09-21 | None |
| 2026.9.3 | 2026-09-29 | None |
| 2026.9.4 | 2026-10-02 | None |
| 2026.10.1 | 2026-10-04 | None |
Blacklisted versions are versions that are known to cause major issues or contain security concerns and have thus been blacklisted by the Obsidian team. Obsidian will disable plugins on startup whose installed version is blacklisted. Released while not listed versions happened outside the period where the plugin was present in the community plugin list and are excluded from aggregate release statistics.