Mimic

Type something.
Hear it in your own voice.

Mimic learns your voice from one paragraph, then says anything you type in it. In a browser, in a Mac app, and on an iPhone with the network off.

Web, Mac and iPhone2026Swift · Python · ONNX Runtime · SwiftUImimic.davidcvet.com

Mimic in a browser: what should it say, in which voice, and a button to speak it
Mimic on an iPhone, running entirely on the phone

Listen

One of these is me.

The other is Mimic, in the voice it learned from a paragraph I read to it once.

Voice A

It was the best of times, it was the worst of times. It was the age of wisdom, it was the age of foolishness.

0:07

Voice B

Bright orange leaves fell through the cold November air, and somewhere further down the valley a church bell rang twice.

0:07

Play both, then pick the real one.

Try it

Say anything.

This is Mimic's main screen. Pick a passage and press Speak it: every word was made by Mimic, in my voice, on my laptop.

Pick something for it to say

Every word of this was spoken by a model running on my own laptop, in a voice it learned from fifteen seconds of me reading a paragraph aloud.

In which voiceDavid
0:07

11.2 s for 8.0 s of audio · 1.40× real time, on my laptop

On the phone

Works in aeroplane mode.

On an iPhone the whole engine is rewritten in Swift, and the phone does all of it: no server, no Python, no network. Download it once, switch everything off, and it keeps talking.

How it works

It starts talking before it has finished thinking.

Making speech is slower than playing it. So Mimic works out how much audio it needs in hand for playback never to run dry, and starts the moment it has that much:

B seconds in hand, for a passage T seconds long, made r times slower than real time. Drag the speed, or start too soon, and watch.

0s20s40s60s80s0s10s20s
Audio madeAudio playedWaiting for the whole passage

First sound after 3.8 s instead of 23.8 s, with 3.2 s of audio banked. It never runs dry.

Why there is no PyTorch

The bigger model was the faster one.

The obvious build is PyTorch and the small checkpoint. Six times the parameters, quantised to INT4 and run through ONNX Runtime, won on every count at once.

PyTorch, 0.1BONNX Runtime, 0.6B in INT4

Parameters

0.1B
0.6B

Seconds to make one second of speech

1.70
1.19

Memory while speaking

about 3 GB
about 1 GB

Download

4.1 GB
968 MiB

Hear yourself say something you never said.

Mimic is for your own voice, or one you have permission to use.