MIT-licensed voice dictation for macOS and Windows with local Whisper, Parakeet and Canary models, plus optional cloud transcription | Rust + Tauri
9
stars
78
commits
Rust
primary language
Sep 8, 2026
updated

Voice dictation for any app on macOS and Windows. Hold a shortcut, speak, and release to put the text at your cursor. Built with Rust and Tauri 2.
Downloads · Setup · Development · Release guide
Download Dictámelo 1.0.0: choose the installer for your computer below.
| Your computer | Installer |
|---|---|
| Apple Silicon Mac — M1, M2, M3, M4 and later | Download for Mac (.dmg) |
| Windows — Intel or AMD 64-bit | Download for Windows Intel/AMD (.exe) |
| Windows 11 — ARM64 | Download for Windows ARM64 (.exe) |
Checksums · Release notes and signatures
On macOS, open the DMG and drag Dictámelo into Applications. Allow Microphone and Accessibility when requested. On Windows, run the installer and allow desktop microphone access in Windows Settings. Intel Macs, 32-bit Windows and Linux installers are not provided.
Mac releases require Developer ID signing, Apple notarization and stapling. Windows installers are signed for the Tauri updater, but do not currently have a Microsoft Authenticode certificate; SmartScreen may display a warning. See the actual verification record.
Cloud account setup: Installed-app Google sign-in and real email confirmation/password recovery have been verified. Auth emails are delivered by Resend from Dictámelo no-reply@dictamelo.com. Google OAuth is External / In production, and Google confirms that the verified branding is shown to users. Signup abuse controls remain a launch follow-up. The privacy policy and terms are public in six languages. The proposed seven-day Pro trial is disabled. Personal-key mode works without a Dictámelo account.
| Free — your own keys | Free Cloud | Pro | |
|---|---|---|---|
| Dictámelo price | Free; your provider may charge | Free | $4.99/month |
| Account | Not required | Email/password or Google | Existing Pro license supported |
| Transcription | Your provider's limits | 30 minutes/week across devices | 180 hours per rolling 30 days |
| AI cleanup | Uses your provider key | Included with accepted transcription | Included within token allowance |
| Hosted recording limit | Not applicable | Two minutes | Ten minutes per request |
| Audio files | Supported formats and local splitting | Mono 16 kHz PCM WAV, up to two minutes | Local conversion and ten-minute chunks |
| Devices | Your provider's limits | Account-wide audio counter | Up to five per license |
Free Cloud renews Monday at 00:00 UTC, displayed in your local time. Time is measured from validated audio. The last accepted recording is delivered in full, allowing at most one two-minute recording beyond the allowance. AI cleanup adds no audio usage. Definite provider rejections refund audio time; uncertain failures retain the reservation. Signing out or reinstalling does not reset usage. The service permits 1,000 transcription attempts per week and one active transcription per account. Cleanup is tied to the original transcript, with short-lived receipts and bounded retries. See cloud configuration for safeguards.
Pro counts the preceding 30 days, with a minimum of ten seconds per transcription. The hosted service uses Whisper Large v3 Turbo and GPT-OSS 20B, with 36,000 provider requests, 9 million cleanup input tokens and 6 million completion tokens per rolling 30 days. Completion tokens include reasoning. Reaching a cleanup allowance does not remove remaining transcription time. Personal keys remain available for other workloads.
The seven-day trial stays disabled until checkout, immediate access, cancellation and expiry are verified. Production readiness lists the remaining cloud launch work. Provider inventory distinguishes implemented adapters from future options.
Windows uses Win32 for keyboard/clipboard and Media Foundation for conversion. A regular process cannot paste into an administrator app; text remains on the clipboard. That decoder does not support AIFF/CAF. x64 execution in an ARM VM is emulation, not a physical Intel/AMD test.
Download Whisper Tiny, Base, Small or Large v3, Canary 180M Flash or Parakeet v3 from the compact model list. Initial downloads require internet; local transcription runs on the computer without an account, API key or hosted allowance. Parakeet is the recommended local model. Optional AI cleanup sends local transcripts to the selected cloud cleaner only after explicit consent.
New installations enable launch at login by default; saved preferences are preserved. See local models and catalog maintenance and cloud providers. Building from source requires CMake plus the platform compiler toolchain; packaged-app users do not need development tools.
This is the real application used to compile the official edition. A clean source build uses personal keys and leaves hosted services and automatic updates disabled. Official and self-hosted builds inject public service metadata into the same source. There is no second editable copy of the app.
Local audio is transcribed on the computer; optional cloud cleanup of local text requires explicit consent. Free/Pro audio goes through the configured backend to Groq; personal-key mode sends it to the selected provider. Temporary audio is removed after use and history stays local. The backend records account/license usage metadata and cleanup transcript hashes, not saved audio or transcript contents. Provider retention policies still apply. Supabase Auth manages identity.
API keys, account sessions and Pro licenses use macOS Keychain or Windows Credential Manager. The Mac implementation caches runtime credentials, performs noninteractive access and separates development credentials. An inaccessible old credential asks for re-entry in the app. Keys are not stored in unencrypted SQLite or JSON. See local credentials.
Supabase URLs, anon/publishable keys, client IDs and checkout identifiers are public configuration. Provider keys, Google client secrets, SMTP passwords, service-role keys and signing secrets belong outside the source and app bundle. A private operations wrapper can pin this repository as a submodule; it is optional. See auth and cloud configuration.
Install Rust stable, Node.js 20+, Python 3 and the Tauri platform prerequisites. macOS needs CMake and Xcode Command Line Tools. Windows requires MSVC, Windows SDK, CMake, Ninja, Clang and NASM as documented in the release guide. Backend checks require Deno.
npm ci
npm run dev # personal keys; cloud disabled by default
npm test
npm run test:backend
npm run check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
The committed English speech fixture has an open redistribution license and an official reference transcript. Release build scripts run offline regression checks before compiling/signing. Live provider checks are explicit and require test credentials; never place credentials in the repository.
For a cloud build, prepare the ignored .env.cloud-build file from .env.cloud-build.example, then run:
python3 scripts/with-cloud-config.py --config .env.cloud-build -- npm run dev
The wrapper accepts only public build metadata and injects it at compile time. Changing configuration requires rebuilding. Do not source a general production .env into the desktop build. Enable updates only for the official distribution or after configuring your own endpoint and public verification key.
For a browser-only UI preview, run python3 -m http.server 4179 --directory ui. Mock login does not create an account or prove native authentication or audio behavior.
ui/ Interface, onboarding, translations and browser mocks
src-tauri/src/account.rs Password/Google authentication and sessions
src-tauri/src/cloud_config.rs Optional public service configuration
src-tauri/src/pipeline.rs Record → transcribe → clean → paste
src-tauri/src/platform/ macOS and Windows integration
src-tauri/src/transcription/ Provider and hosted transcription adapters
src-tauri/src/cleanup/ Text cleanup adapters
src-tauri/src/secrets.rs OS credential storage, tracked source code
supabase/functions/ Hosted transcription, cleanup and usage
supabase/migrations/ Server-owned schemas and quotas
tests/fixtures/ Licensed speech and expected transcript
scripts/ Checks, configuration, building and release tools
docs/ Setup, operations and verification records
Personal-key setup offers Groq, OpenAI, Mistral and Deepgram. The additional OpenAI, Mistral and Deepgram adapters have offline request/response contract coverage; live calls with their respective provider accounts remain pending. Existing credentials and settings remain compatible. Add a provider through TranscriptionProvider or TextCleaner, register it, and verify it with the speech fixture.
Follow docs/RELEASING.md: synchronize versions and lockfiles, update README and English release notes, deploy compatible backend changes, run checks, push the reviewed source to main, build the same commit on each machine, sign/notarize, verify the actual installers, and publish only the complete checked set.
AGENTS.md records maintenance rules. .gitignore excludes private and generated files; release instructions remain tracked. Installers belong in GitHub Releases, not source commits. Public installer bytes are immutable.
Application: MIT. The speech fixture has its own attribution and license.
77 commits
1 commits
Rust
47.0%
JavaScript
25.6%
Python
8.5%
PLpgSQL
4.7%
TypeScript
3.5%
PowerShell
3.1%
HTML
3.0%
CSS
2.9%
Swift
1.0%
MIT-licensed voice dictation for macOS and Windows with local Whisper, Parakeet and Canary models, plus optional cloud transcription | Rust + Tauri
9
stars
78
commits
Rust
primary language
Sep 8, 2026
updated

Voice dictation for any app on macOS and Windows. Hold a shortcut, speak, and release to put the text at your cursor. Built with Rust and Tauri 2.
Downloads · Setup · Development · Release guide
Download Dictámelo 1.0.0: choose the installer for your computer below.
| Your computer | Installer |
|---|---|
| Apple Silicon Mac — M1, M2, M3, M4 and later | Download for Mac (.dmg) |
| Windows — Intel or AMD 64-bit | Download for Windows Intel/AMD (.exe) |
| Windows 11 — ARM64 | Download for Windows ARM64 (.exe) |
Checksums · Release notes and signatures
On macOS, open the DMG and drag Dictámelo into Applications. Allow Microphone and Accessibility when requested. On Windows, run the installer and allow desktop microphone access in Windows Settings. Intel Macs, 32-bit Windows and Linux installers are not provided.
Mac releases require Developer ID signing, Apple notarization and stapling. Windows installers are signed for the Tauri updater, but do not currently have a Microsoft Authenticode certificate; SmartScreen may display a warning. See the actual verification record.
Cloud account setup: Installed-app Google sign-in and real email confirmation/password recovery have been verified. Auth emails are delivered by Resend from Dictámelo no-reply@dictamelo.com. Google OAuth is External / In production, and Google confirms that the verified branding is shown to users. Signup abuse controls remain a launch follow-up. The privacy policy and terms are public in six languages. The proposed seven-day Pro trial is disabled. Personal-key mode works without a Dictámelo account.
| Free — your own keys | Free Cloud | Pro | |
|---|---|---|---|
| Dictámelo price | Free; your provider may charge | Free | $4.99/month |
| Account | Not required | Email/password or Google | Existing Pro license supported |
| Transcription | Your provider's limits | 30 minutes/week across devices | 180 hours per rolling 30 days |
| AI cleanup | Uses your provider key | Included with accepted transcription | Included within token allowance |
| Hosted recording limit | Not applicable | Two minutes | Ten minutes per request |
| Audio files | Supported formats and local splitting | Mono 16 kHz PCM WAV, up to two minutes | Local conversion and ten-minute chunks |
| Devices | Your provider's limits | Account-wide audio counter | Up to five per license |
Free Cloud renews Monday at 00:00 UTC, displayed in your local time. Time is measured from validated audio. The last accepted recording is delivered in full, allowing at most one two-minute recording beyond the allowance. AI cleanup adds no audio usage. Definite provider rejections refund audio time; uncertain failures retain the reservation. Signing out or reinstalling does not reset usage. The service permits 1,000 transcription attempts per week and one active transcription per account. Cleanup is tied to the original transcript, with short-lived receipts and bounded retries. See cloud configuration for safeguards.
Pro counts the preceding 30 days, with a minimum of ten seconds per transcription. The hosted service uses Whisper Large v3 Turbo and GPT-OSS 20B, with 36,000 provider requests, 9 million cleanup input tokens and 6 million completion tokens per rolling 30 days. Completion tokens include reasoning. Reaching a cleanup allowance does not remove remaining transcription time. Personal keys remain available for other workloads.
The seven-day trial stays disabled until checkout, immediate access, cancellation and expiry are verified. Production readiness lists the remaining cloud launch work. Provider inventory distinguishes implemented adapters from future options.
Windows uses Win32 for keyboard/clipboard and Media Foundation for conversion. A regular process cannot paste into an administrator app; text remains on the clipboard. That decoder does not support AIFF/CAF. x64 execution in an ARM VM is emulation, not a physical Intel/AMD test.
Download Whisper Tiny, Base, Small or Large v3, Canary 180M Flash or Parakeet v3 from the compact model list. Initial downloads require internet; local transcription runs on the computer without an account, API key or hosted allowance. Parakeet is the recommended local model. Optional AI cleanup sends local transcripts to the selected cloud cleaner only after explicit consent.
New installations enable launch at login by default; saved preferences are preserved. See local models and catalog maintenance and cloud providers. Building from source requires CMake plus the platform compiler toolchain; packaged-app users do not need development tools.
This is the real application used to compile the official edition. A clean source build uses personal keys and leaves hosted services and automatic updates disabled. Official and self-hosted builds inject public service metadata into the same source. There is no second editable copy of the app.
Local audio is transcribed on the computer; optional cloud cleanup of local text requires explicit consent. Free/Pro audio goes through the configured backend to Groq; personal-key mode sends it to the selected provider. Temporary audio is removed after use and history stays local. The backend records account/license usage metadata and cleanup transcript hashes, not saved audio or transcript contents. Provider retention policies still apply. Supabase Auth manages identity.
API keys, account sessions and Pro licenses use macOS Keychain or Windows Credential Manager. The Mac implementation caches runtime credentials, performs noninteractive access and separates development credentials. An inaccessible old credential asks for re-entry in the app. Keys are not stored in unencrypted SQLite or JSON. See local credentials.
Supabase URLs, anon/publishable keys, client IDs and checkout identifiers are public configuration. Provider keys, Google client secrets, SMTP passwords, service-role keys and signing secrets belong outside the source and app bundle. A private operations wrapper can pin this repository as a submodule; it is optional. See auth and cloud configuration.
Install Rust stable, Node.js 20+, Python 3 and the Tauri platform prerequisites. macOS needs CMake and Xcode Command Line Tools. Windows requires MSVC, Windows SDK, CMake, Ninja, Clang and NASM as documented in the release guide. Backend checks require Deno.
npm ci
npm run dev # personal keys; cloud disabled by default
npm test
npm run test:backend
npm run check
cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings
The committed English speech fixture has an open redistribution license and an official reference transcript. Release build scripts run offline regression checks before compiling/signing. Live provider checks are explicit and require test credentials; never place credentials in the repository.
For a cloud build, prepare the ignored .env.cloud-build file from .env.cloud-build.example, then run:
python3 scripts/with-cloud-config.py --config .env.cloud-build -- npm run dev
The wrapper accepts only public build metadata and injects it at compile time. Changing configuration requires rebuilding. Do not source a general production .env into the desktop build. Enable updates only for the official distribution or after configuring your own endpoint and public verification key.
For a browser-only UI preview, run python3 -m http.server 4179 --directory ui. Mock login does not create an account or prove native authentication or audio behavior.
ui/ Interface, onboarding, translations and browser mocks
src-tauri/src/account.rs Password/Google authentication and sessions
src-tauri/src/cloud_config.rs Optional public service configuration
src-tauri/src/pipeline.rs Record → transcribe → clean → paste
src-tauri/src/platform/ macOS and Windows integration
src-tauri/src/transcription/ Provider and hosted transcription adapters
src-tauri/src/cleanup/ Text cleanup adapters
src-tauri/src/secrets.rs OS credential storage, tracked source code
supabase/functions/ Hosted transcription, cleanup and usage
supabase/migrations/ Server-owned schemas and quotas
tests/fixtures/ Licensed speech and expected transcript
scripts/ Checks, configuration, building and release tools
docs/ Setup, operations and verification records
Personal-key setup offers Groq, OpenAI, Mistral and Deepgram. The additional OpenAI, Mistral and Deepgram adapters have offline request/response contract coverage; live calls with their respective provider accounts remain pending. Existing credentials and settings remain compatible. Add a provider through TranscriptionProvider or TextCleaner, register it, and verify it with the speech fixture.
Follow docs/RELEASING.md: synchronize versions and lockfiles, update README and English release notes, deploy compatible backend changes, run checks, push the reviewed source to main, build the same commit on each machine, sign/notarize, verify the actual installers, and publish only the complete checked set.
AGENTS.md records maintenance rules. .gitignore excludes private and generated files; release instructions remain tracked. Installers belong in GitHub Releases, not source commits. Public installer bytes are immutable.
Application: MIT. The speech fixture has its own attribution and license.
77 commits
1 commits
Rust
47.0%
JavaScript
25.6%
Python
8.5%
PLpgSQL
4.7%
TypeScript
3.5%
PowerShell
3.1%
HTML
3.0%
CSS
2.9%
Swift
1.0%