GUIDE · NOVEMBER 7, 2026
Run speech to text and text to speech on your own computer: a plain guide
Two open source projects let an ordinary computer listen and talk without a cloud speech service. faster-whisper turns speech into text. Piper turns text into a spoken voice. This guide covers what each one is, what hardware their own pages describe, how to install and test each, and the trade offs. Every fact about the projects links to the project page it came from.
What the two tools are
faster-whisper is, in the words of its README, a reimplementation of the OpenAI Whisper speech recognition model using CTranslate2, a fast inference engine for Transformer models. The project says it is up to 4 times faster than the original openai/whisper code for the same accuracy while using less memory, and that 8-bit quantization can improve that further on both CPU and GPU. It is MIT licensed, and so are the original Whisper code and model weights. At the time of writing, PyPI lists faster-whisper 1.2.1, released October 31, 2025. Source: github.com/SYSTRAN/faster-whisper.
Piper is a fast and local neural text to speech engine. It embeds espeak-ng to turn written words into phonemes, the sounds of speech, before the voice model speaks them. Its voices are trained with VITS and exported for ONNX Runtime, so each voice is two files: a .onnx model and a .onnx.json config. Development moved from the original rhasspy/piper repository, which was archived on October 6, 2025, to OHF-Voice/piper1-gpl, which is GPL-3.0 licensed. At the time of writing, PyPI lists piper-tts 1.8.0, released September 4, 2026, by The Home Assistant Authors, marked as alpha.
What hardware you need
faster-whisper needs Python 3.9 or newer. It runs on an ordinary CPU, or on an NVIDIA graphics card. For the graphics card route, the README asks for cuBLAS for CUDA 12 and cuDNN 9 for CUDA 12, and notes that the latest CTranslate2 releases support only CUDA 12 and cuDNN 9; older CUDA setups need an older CTranslate2 version. You do not need FFmpeg installed, because audio is decoded with PyAV, which bundles the FFmpeg libraries.
The README publishes timings for transcribing 13 minutes of audio. These are the project figures for its own test machines, not a promise for yours:
| Setup | Precision | Time | Memory |
|---|---|---|---|
| small model, CPU, Intel Core i7-12700K, 8 threads | fp32 | 2m37s | 2257 MB RAM |
| small model, CPU, same machine | int8 | 1m42s | 1477 MB RAM |
| small model, CPU, same machine, batch_size=8 | int8 | 51s | 3608 MB RAM |
| large-v2 model, NVIDIA RTX 3070 Ti 8GB, CUDA 12.4 | fp16 | 1m03s | 4525 MB VRAM |
| large-v2 model, same GPU | int8 | 59s | 2926 MB VRAM |
| large-v2 model, same GPU, batch_size=8 | int8 | 16s | 4500 MB VRAM |
Model size is the biggest lever. The openai/whisper README lists six sizes with speed and accuracy trade offs. Its memory column is for the original implementation on a graphics card, and its relative speeds were measured on an A100, so treat both as a rough ranking rather than a forecast:
| Size | Parameters | English only version | Required VRAM | Relative speed |
|---|---|---|---|---|
| tiny | 39 M | tiny.en | about 1 GB | about 10x |
| base | 74 M | base.en | about 1 GB | about 7x |
| small | 244 M | small.en | about 2 GB | about 4x |
| medium | 769 M | medium.en | about 5 GB | about 2x |
| large | 1550 M | none | about 10 GB | 1x |
| turbo | 809 M | none | about 6 GB | about 8x |
Piper needs Python 3.9 or newer. PyPI has ready made packages for Windows on x86-64, Linux on x86-64 and ARM64, macOS 10.9 or newer on Intel, and macOS 11 or newer on ARM64. It runs on the CPU; a graphics card is optional through the --cuda option, which needs the onnxruntime-gpu package. We found no minimum CPU or memory figure in the Piper docs, so test on your own machine.
Install and test faster-whisper
The install and test commands below follow the official project docs linked in each step, the faster-whisper README and the Piper command line docs. Projects change, so check those pages before you run them.
Use a Python virtual environment so the packages stay out of your system Python. On macOS or Linux:
python3 -m venv speech
source speech/bin/activate
pip install faster-whisper
On Windows, activate it with speech\Scripts\activate instead. On Debian or Ubuntu, if python3 -m venv says ensurepip is not available, install the python3-venv package with apt, as the error message suggests. Then save this as transcribe.py. It is adapted from the README usage example, set to run on the CPU with 8-bit numbers:
from faster_whisper import WhisperModel
model = WhisperModel("small", device="cpu", compute_type="int8")
segments, info = model.transcribe("test.wav", beam_size=5)
print("Detected language:", info.language, round(info.language_probability, 2))
for segment in segments:
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
Point it at any short recording, or make test.wav with Piper in the next section. Run python3 transcribe.py. The first run downloads the model from the Hugging Face Hub, so it takes longer than later runs. Two details from the README are worth knowing: segments is a generator, so the work only starts when you loop over it, and on an NVIDIA card you would use device="cuda" with compute_type="float16".
Install and test Piper
In the same virtual environment, the Piper command line docs give these steps: install, download a voice, then write a WAV file.
pip install piper-tts
python3 -m piper.download_voices en_US-lessac-medium
python3 -m piper -m en_US-lessac-medium -f test.wav -- "This is a test."
Run python3 -m piper.download_voices with no name to list the voices. The voice downloads to the current folder unless you add --data-dir. Leave out -f test.wav to play straight to your speakers, which needs ffplay. You can listen to voice samples before you choose, and the voice files live on Hugging Face. Voice names end with a quality level such as x_low, low, medium or high, and the voices page lists 44 languages.
The command line reloads the voice every time it runs, which the docs call slow. For an app that speaks often, the docs point to the Piper web server, or you can keep a voice loaded with the Python API.
A round trip test
With both installed, the quickest check is to let Piper say a sentence into test.wav and let faster-whisper read it back with python3 transcribe.py. If the printed text matches what Piper said, both halves work on your machine. Then try a recording of your own voice, in the room and with the microphone you plan to use, because that is the case that matters.
The trade offs
- Cost. There is no per-minute speech bill, because the work runs on hardware you already own. You pay in setup time, disk space for models, and the computer being busy while it works.
- Speed against accuracy. Bigger Whisper models are slower and need more memory. 8-bit numbers cut memory, as the benchmark rows above show. Pick the smallest model that is accurate enough for your voice and your room.
- Graphics cards help, with strings attached. The fast route is NVIDIA specific and tied to CUDA and cuDNN versions. A CPU works, more slowly.
- Licenses differ. faster-whisper and Whisper are MIT licensed. Piper is GPL-3.0, and each voice has its own license. The Piper voices page says Piper is intended for personal use and text to speech research only, so read each MODEL_CARD before building a product on a voice.
- Moving projects. Piper is marked alpha on PyPI and moved to a new home in 2025, so older tutorials may point at the archived repository. Use the commands from the current docs.
- Where your data goes. Recognition and synthesis run on your computer, so the audio does not need to go to a cloud speech service. Whatever you do with the text next, such as sending it to an online AI model, is a separate choice with its own rules.
How Clarilot uses them
Clarilot is our pocket AI companion with a round screen for the AI agents you already run. It sends your voice over your home Wi-Fi to your own computer. There, faster-whisper turns your voice into text and Piper speaks the answer back, so your voice stays on your own computer and there are no speech fees. The text of each request still goes to the AI model you choose for your agent, exactly as if you had typed it. Clarilot is working today on your home Wi-Fi, on the same network as your computer. Waitlist open.
Questions
Do I need a graphics card to run faster-whisper?
No. The faster-whisper README shows the model running on the CPU with 8-bit numbers, and its CPU benchmark was run on an Intel Core i7-12700K. An NVIDIA graphics card with CUDA 12 and cuDNN 9 makes it faster.
Which Whisper model size should I start with?
On a CPU, small is a sensible first try, because it is the model the faster-whisper CPU benchmark uses. Move down to base or tiny if it is too slow for you, or up to a larger model if the text is not accurate enough.
Does Piper need a graphics card?
No. Piper runs on the CPU by default. The --cuda option is optional and needs the onnxruntime-gpu package.
Do I need to install FFmpeg?
Not for faster-whisper: it decodes audio with PyAV, which bundles the FFmpeg libraries. Piper writes WAV files without it, but playing straight to your speakers uses ffplay, which comes with FFmpeg.
Can I use any Piper voice in a commercial product?
Do not assume so. The Piper voices page says Piper is intended for personal use and text to speech research only, and that some voices have restrictive licenses. Read the MODEL_CARD that comes with each voice.
Does running speech locally keep everything on my computer?
It keeps the audio on your computer, because recognition and synthesis run there. Anything you then send elsewhere, such as the text of a question to an online AI model, leaves your computer as usual.
Sources
- faster-whisper README and PyPI page
- openai/whisper README, for model sizes
- Piper (OHF-Voice/piper1-gpl), its command line docs, voices page and PyPI page
- rhasspy/piper, the archived original repository
- Python venv documentation
Related notes: why the agent stays on the host and measuring voice-agent latency.
How to guides: talk to your agents from your pocket · use your agents from a watch · show your agents on the TV · voice without speech fees.
Join the Clarilot email waitlist for project updates.