Get started
Freehand turns speech into text and text into speech using a service you choose. Install the app, connect a service or set up a local runtime, then try one task. You can use each task independently.
What you need
Section titled “What you need”- A supported computer: Windows 11 x64 or ARM64 with WebView2, or macOS 13+ on Apple Silicon or Intel.
- Somewhere to run speech: a local runtime managed by Freehand, or a compatible service on your computer, another machine, or a hosted provider.
- For dictation: a microphone. Audio files and text to speech do not need one.
Freehand is free and open source, with no account or subscription. Your chosen provider or hosting may charge for use. A local GPU is not required when you connect to another machine or a hosted service. On Windows ARM64, choose a compatible service; managed Windows runtimes currently require x64. See Windows setup for architecture choices.
First launch
Section titled “First launch”Freehand opens Voice with Set up voice transcription. Choose Audio file or Text to speech on the left if you want to start with a different task.
Choose where processing will run:
Freehand can install and manage a supported runtime on this computer. Runtime binaries and models are separate, explicit downloads; neither is bundled with the app.
- Open Local runtime. Follow local runtime setup to install NeMo and download the recommended Nemotron 3.5 Streaming model.
- Start the runtime. Wait for Running, then select its built-in NeMo-Speech.cpp Connection in Voice. No URL or API key is needed.
- Enable realtime for live dictation. Turn on Realtime transcription in Voice’s Transcription options and finish microphone setup below.
For speech generation, add MagpieTTS to NeMo. The local runtime guide also covers whisper.cpp transcription and optional S1-mini cleanup.
Have the service’s base URL, model ID, and API key if it requires one. The service can run locally, on your network, or with a hosted provider.
- Add the connection. In your task’s connection picker, choose Add connection…. Name it, choose its Backend, enter its URL and authentication, then choose Save and return.
- Choose the model. Select or enter the exact model ID and review its model profile. whisper.cpp uses its server-loaded model instead.
- Save the options. Use Save in the options sidebar. First-run model selections apply immediately.
Use Connect a speech server for endpoint examples and connection checks, or backend guides to run a server yourself.
Each task selects its own connection. To share a manual service, enable the needed connection uses and select it in each task. A managed connection supplies its runtime’s selected model.
Configure the speech endpoint
Section titled “Configure the speech endpoint”For a manual connection, enter the base URL, not the full transcription
route. Most transcription backends use a /v1 prefix; whisper.cpp uses the
server root. Follow the URL examples for your backend.
HTTPS is the default. Allow HTTP only on a trusted local or LAN connection:
it sends audio and credentials without encryption.
Choose the recording language
Section titled “Choose the recording language”Open your task’s Settings cog, then Transcription, and choose a supported language, Server default, or Automatic detection. Language selection explains which choice to use. S1-mini cleanup supports English only.
Choose your transcript workflow
Section titled “Choose your transcript workflow”Leave Cleanup off for your first attempt to receive the speech model’s transcript unchanged. You can add cleanup later; if it fails, Freehand falls back to the raw transcript.
Run your first dictation
Section titled “Run your first dictation”- Finish Voice setup. Select your connection and model, then follow Next step to check the microphone and shortcut. On macOS, grant the requested permissions.
- Check the connection. Choose Check connection, resolve any reported problem, then Finish setup and save. The check reads metadata; it does not submit audio or run a model.
- Focus the destination. Click the text field in the application where your words should appear.
- Record a short phrase. Press Ctrl + Shift + Space to start, then press it again to stop. If you changed the shortcut, use that chord.
- Keep the destination focused. Wait for transcription and delivery.
Expected result: your text appears in the destination. If insertion is blocked, check for partially inserted text, choose Copy, and paste it yourself. Freehand will not redirect the result to a different focused window. See safe text insertion.
Transcribe a stored audio file
Section titled “Transcribe a stored audio file”Open Audio file, select its transcription connection and model, then Choose a file. Selecting a file does not upload it; Transcribe starts the request. Copy the finished result yourself.
Generate speech
Section titled “Generate speech”Open Text to speech → Configure speech, select a speech connection, model, and voice, then turn on Enable text to speech and Save. Enter text and choose Speak. Playback is optional and off by default.
Optional features
Section titled “Optional features”Start with one successful request, then adjust the options you need.
| Feature | Initial setting | Learn more |
|---|---|---|
| Local voice detection and status overlay | On | Voice controls |
| Silence trimming, automatic stop, pause-aware checkpoints | Off | Recording options |
| Transcript cleanup | Off | Cleanup |
| Memory-only transcript history | Off | History |
| Audio-file text updates | Completed output; streaming optional | Audio files |
| Text-to-speech playback | Off | Text to speech |
| Insert dictation into the original application | On, when focused and safe | Delivery rules |
| Automatic update checks | On | Workspace and settings |
| Windows Mica material | Off | Workspace appearance |
Voice detection alone does not enable automatic stop, trimming, or checkpoints.