Voice input
Last updated
Dictate a message instead of typing it, in the Tempr CLI, Tempr Code and Tempr Chat in your IDE. You speak, the text lands in the message box, and you edit and send it yourself. Transcription runs on your own OpenAI or Groq key.
/voice is in the CLI from 0.9.25. The voice key (hold Space to talk) is in it from 0.9.27. Tempr Code has it from its first release, the preview. Tempr Chat has the mic button in VS Code and JetBrains IDEs from 1.1.28 and in Visual Studio from 2.3.12.
How it works
- You start recording. The microphone is on only from now until you stop.
- You stop. The recording goes to Tempr, which sends it to OpenAI or Groq under your own key and gets the text back.
- The text goes into the message box. Nothing is sent to the agent until you press Enter, so you can fix a word first.
It's dictation, not a spoken conversation: the agent never hears you, it reads the message you send.
A recording stops by itself at two minutes, or after 15 seconds of quiet once you've started talking. A recording with no speech in it isn't sent at all.
What you need
- A Tempr plan that runs the agent (Standard and above).
- An OpenAI or Groq key in your provider keys:
tempr keys add openaiortempr keys add groq, or Settings > Providers in Tempr Code. On an organization's license, the organization's key is used. See Providers & BYOK. - A microphone, and a way to record on your computer:
- Windows: nothing to install. Tempr uses Windows' own audio.
- Linux: one of
arecord(alsa-utils),pw-record(PipeWire),parecord(pulseaudio-utils) or SoX'srecon your PATH. Tempr uses the first it finds. - macOS: nothing to install from CLI 0.9.26: Tempr uses the Mac's own audio. The first time, macOS asks to let your terminal use the microphone; if it was refused, allow it in System Settings > Privacy & Security > Microphone.
In the CLI: /voice
Type /voice at the prompt. The CLI records until you press Enter, then puts the text in the prompt for you to edit and send. Esc throws the recording away.
/voice record; Enter stops, Esc throws it away
/voice models the speech-to-text models your keys can use, with prices
/voice model groq/whisper-large-v3-turbo use this model from now on
/voice model back to the default for your keys
/voice language de expect German
/voice language work out the language from what you sayThe model and language are saved in the CLI's config and apply to every session. /voice needs a terminal to record in, so it doesn't work in piped or --json runs.
Hold Space to talk
Turn on the voice key and you don't need to type /voice at all. It works on an empty prompt:
/voice hold hold Space to talk, let go to put the text in the prompt
/voice tap press a key to start recording, press it again (or Enter) to stop
/voice key f9 tap mode's key: space (the default), f9, ctrl+t, alt+v...
/voice off no voice key; /voice on its own still works- Hold mode: hold Space on an empty prompt. The prompt says "Keep holding" and then shows a red dot, the time and a level meter while it records. Let go and the text lands in the prompt. Esc throws the recording away.
- A quick Space still types a space. Terminals don't say when a key is let go, so the CLI tells a held Space from a typed one by your keyboard's auto-repeat, as Claude Code does. On an empty prompt a single Space therefore appears after your repeat delay (half a second on most computers), and sooner once the CLI has seen your keyboard repeat. With text in the prompt, Space types at once.
- Tap mode is for terminals that don't repeat keys: press the key on an empty prompt to start and again, or Enter, to stop.
- Over SSH the voice key is off, with a notice: the microphone would be the other machine's. The setting stays saved for when you run the CLI on your own computer.
The setting is voiceKey (hold, tap or off) in the CLI's config.json, with voiceTapKey for tap mode's key. If a held Space isn't recognized because your repeat delay is long, set voiceRepeatDelayMs to it (Windows reads it from the system by itself).
In Tempr Code
Click the mic button in the message box, or press Ctrl+Shift+Space. Click it or press the keys again to stop and transcribe; Esc throws the recording away. The text is added to whatever is already in the message box.
Settings > Voice has:
- Show the mic button: turn it off to hide the button.
- Speech-to-text model: the models your keys can use, or the default for your keys.
- Language: a code like
enorde, or empty to work it out from what you say.
To use a different key combination, change "Dictate into the message box" in Settings > Keyboard.
In VS Code, JetBrains IDEs and Visual Studio
Click the mic button next to Send in Tempr Chat's message box, or press Ctrl+Shift+Space there. Click it or press the keys again to stop and transcribe; Esc throws the recording away. The text is added to whatever you've typed.
- Settings: Tempr Chat's settings have a Voice section: show the mic button, the speech-to-text model, and the language.
- VS Code: it records with what your computer already has: Windows' own audio, the Linux recorders above, or the Mac's own audio (SoX's
recwhen it's on your PATH). Not in a remote window (SSH, WSL, Dev Containers, Codespaces), which has no microphone of its own. - JetBrains IDEs record through Java; Visual Studio through Windows' own audio. Not on a JetBrains Remote Development host.
- On a Mac, macOS asks the first time to let the IDE use the microphone. If it was refused, allow it in System Settings > Privacy & Security > Microphone.
Models and cost
Tempr offers the models for the keys you have. With no model picked, it uses GPT-4o mini Transcribe if you have an OpenAI key (GPT Transcribe from February 26, 2027), else Whisper Large v3 Turbo on Groq.
| Model id | Provider | List price |
|---|---|---|
openai/gpt-transcribe | OpenAI | $0.0045 a minute |
openai/gpt-4o-mini-transcribe | OpenAI | $0.003 a minute |
openai/gpt-4o-transcribe | OpenAI | $0.006 a minute |
openai/whisper-1 | OpenAI | $0.006 a minute |
groq/whisper-large-v3-turbo | Groq | $0.04 an hour, at least 10 seconds a recording |
groq/whisper-large-v3 | Groq | $0.111 an hour, at least 10 seconds a recording |
OpenAI shuts down whisper-1, gpt-4o-transcribe and gpt-4o-mini-transcribe on February 26, 2027. From that day, a recording sent to one of them goes to openai/gpt-transcribe instead, at its price.
Your provider bills you for the transcription; Tempr charges nothing for it. Each one shows in your usage like any other request, with its cost worked out from the recording's length and these list prices.
To help with spelling, Tempr sends the provider a short list of words with each recording: the project folder's name, the names of the files and folders at its top level, and the model's name. That's why "Tempr.Agent.Core" comes back spelled the way your code spells it.
What's sent and kept
- The recording goes from your computer to Tempr's servers and on to OpenAI or Groq. Tempr doesn't store or log the recording or the text.
- Tempr records the provider, model, length and cost of each transcription, as it does for any request.
- The provider handles the recording under its own terms and retention policy.
The Privacy Policy has the details.
Your computer's own dictation
Your operating system's dictation types into Tempr too, and sends nothing to Tempr:
- Windows: press Win+H. It needs Online speech recognition on, in Settings > Privacy & security > Speech.
- macOS: press Fn twice (or Control twice).
- Linux desktops have no dictation of their own.
Troubleshooting
| Message | What to do |
|---|---|
| Voice input isn't available yet. | Tempr has switched voice input off for now. Your computer's own dictation works meanwhile. |
| Voice input uses your own OpenAI or Groq key, and there's neither in your provider keys. | Add one: tempr keys add openai or tempr keys add groq, or Settings > Providers in Tempr Code. |
| OpenAI (or Groq) turned down your key. | Check the key in your provider keys. |
| Voice input needs a recorder. | Linux: install one of the recorders above. macOS: brew install sox. |
| Nothing was heard. | The recording had no speech in it, so nothing was sent. Check the microphone and its level. |
| The recording is too long. | A recording can be two minutes at most. Dictate in parts. |