sarrazola/dictamelo

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

dictamelo.com
dictation
local-ai
macos
mit-license
offline
open-source
parakeet
rust
speech-to-text
tauri
voice-dictation
voice-typing
whisper
windows
wispr-flow-alternative
Browse cluster: Whisper Speech Recognition & Deployment

README

Dictámelo

Dictámelo

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

Download Dictámelo 1.0.0: choose the installer for your computer below.

Your computerInstaller
Apple Silicon Mac — M1, M2, M3, M4 and laterDownload for Mac (.dmg)
Windows — Intel or AMD 64-bitDownload for Windows Intel/AMD (.exe)
Windows 11 — ARM64Download 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.

Get started

  1. On the first launch, choose local models, your own keys, Free Cloud or Pro in the setup assistant. Skip is available on every step; you can configure everything later in Settings.
  2. For offline transcription, download a model in Models → On this computer, then select Use model. With your own keys, choose Groq, OpenAI, Mistral or Deepgram and save the provider key. Whisper Large v3 is recommended on Groq. Saved keys appear masked with explicit Change/Cancel actions. Neither mode requires a Dictámelo account.
  3. Use Continue with Google for Free Cloud, or Create free account with email/password and enter the confirmation code sent to your inbox. Returning users can Sign in; password recovery also uses an emailed code. Existing Pro licenses can be activated in Plan.
  4. Review language, shortcut and permissions. Hold Alt/Option + Shift + Space, speak, and release.
  5. Open Files to transcribe a recording. You can also expand Import using a local path. Optional AI cleanup applies to dictation and uploaded files. If cleanup fails, the original transcript stays available.

Three plans

Free — your own keysFree CloudPro
Dictámelo priceFree; your provider may chargeFree$4.99/month
AccountNot requiredEmail/password or GoogleExisting Pro license supported
TranscriptionYour provider's limits30 minutes/week across devices180 hours per rolling 30 days
AI cleanupUses your provider keyIncluded with accepted transcriptionIncluded within token allowance
Hosted recording limitNot applicableTwo minutesTen minutes per request
Audio filesSupported formats and local splittingMono 16 kHz PCM WAV, up to two minutesLocal conversion and ten-minute chunks
DevicesYour provider's limitsAccount-wide audio counterUp 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.

Features

  • Menu bar/system tray app with a configurable push-to-talk shortcut.
  • Mac Settings remain in the Dock and application switcher while open; closing Settings returns to the menu bar.
  • Paste at the cursor and restore the previous clipboard, including images and files; preserve anything copied during the operation.
  • Floating recording indicator; Escape cancels without transcription.
  • English, Spanish, Portuguese, French, German and Italian interfaces.
  • Launch at login, system sounds, custom vocabulary and optional AI cleanup.
  • Downloadable local speech models with verified downloads, progress, cancellation and deletion in a compact list.
  • Audio-file transcription with local conversion and splitting for longer recordings.
  • Local history with copy/delete controls and retry for failed dictation.
  • Check for Updates in the tray and Mac application menu; verified automatic updates in explicitly enabled official builds.

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.

Public source and credentials

Local models and personal providers

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.

Shared application source

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.

Development

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.

Project structure

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.

Releasing a version

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.

License

Application: MIT. The speech fixture has its own attribution and license.

Contributors

sarrazola

77 commits

Jairoalejo456

1 commits

sarrazola/dictamelo

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

dictamelo.com
dictation
local-ai
macos
mit-license
offline
open-source
parakeet
rust
speech-to-text
tauri
voice-dictation
voice-typing
whisper
windows
wispr-flow-alternative
Browse cluster: Whisper Speech Recognition & Deployment

README

Dictámelo

Dictámelo

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

Download Dictámelo 1.0.0: choose the installer for your computer below.

Your computerInstaller
Apple Silicon Mac — M1, M2, M3, M4 and laterDownload for Mac (.dmg)
Windows — Intel or AMD 64-bitDownload for Windows Intel/AMD (.exe)
Windows 11 — ARM64Download 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.

Get started

  1. On the first launch, choose local models, your own keys, Free Cloud or Pro in the setup assistant. Skip is available on every step; you can configure everything later in Settings.
  2. For offline transcription, download a model in Models → On this computer, then select Use model. With your own keys, choose Groq, OpenAI, Mistral or Deepgram and save the provider key. Whisper Large v3 is recommended on Groq. Saved keys appear masked with explicit Change/Cancel actions. Neither mode requires a Dictámelo account.
  3. Use Continue with Google for Free Cloud, or Create free account with email/password and enter the confirmation code sent to your inbox. Returning users can Sign in; password recovery also uses an emailed code. Existing Pro licenses can be activated in Plan.
  4. Review language, shortcut and permissions. Hold Alt/Option + Shift + Space, speak, and release.
  5. Open Files to transcribe a recording. You can also expand Import using a local path. Optional AI cleanup applies to dictation and uploaded files. If cleanup fails, the original transcript stays available.

Three plans

Free — your own keysFree CloudPro
Dictámelo priceFree; your provider may chargeFree$4.99/month
AccountNot requiredEmail/password or GoogleExisting Pro license supported
TranscriptionYour provider's limits30 minutes/week across devices180 hours per rolling 30 days
AI cleanupUses your provider keyIncluded with accepted transcriptionIncluded within token allowance
Hosted recording limitNot applicableTwo minutesTen minutes per request
Audio filesSupported formats and local splittingMono 16 kHz PCM WAV, up to two minutesLocal conversion and ten-minute chunks
DevicesYour provider's limitsAccount-wide audio counterUp 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.

Features

  • Menu bar/system tray app with a configurable push-to-talk shortcut.
  • Mac Settings remain in the Dock and application switcher while open; closing Settings returns to the menu bar.
  • Paste at the cursor and restore the previous clipboard, including images and files; preserve anything copied during the operation.
  • Floating recording indicator; Escape cancels without transcription.
  • English, Spanish, Portuguese, French, German and Italian interfaces.
  • Launch at login, system sounds, custom vocabulary and optional AI cleanup.
  • Downloadable local speech models with verified downloads, progress, cancellation and deletion in a compact list.
  • Audio-file transcription with local conversion and splitting for longer recordings.
  • Local history with copy/delete controls and retry for failed dictation.
  • Check for Updates in the tray and Mac application menu; verified automatic updates in explicitly enabled official builds.

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.

Public source and credentials

Local models and personal providers

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.

Shared application source

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.

Development

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.

Project structure

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.

Releasing a version

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.

License

Application: MIT. The speech fixture has its own attribution and license.

Contributors

sarrazola

77 commits

Jairoalejo456

1 commits

Languages

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%