For researchers

VoiceForever runs on a single iPad, with no server, a speech synthesis that takes on a person’s own voice, and gaze tracking through the front camera. Here is how it works, and how to measure it.

The Speak screen during a fixation: the copper ring closes around the Speak button as it is looked at.The Speak screen during a fixation: the copper ring closes around the Speak button as it is looked at.
The Speak screen, by gaze: the copper ring closes on whatever you look at. A video of real use will follow.

A fully on-device architecture

No account, no remote API, no analytics. Inference runs on the iPad’s GPU with MLX, from a Swift app.

On the iPad

  • Gaze

    1. Front camera
    2. ARKit face tracking
    3. VoiceForever gaze engine: calibration, target choice
    4. Phrase or key selected by dwell
  • Voice

    1. Typed text
    2. Qwen3-TTS on MLX, conditioned on a reference clip and its transcript
    3. Audio played while it is generated
  • Transcription

    1. Microphone
    2. Parakeet (NVIDIA) on MLX
    3. Transcript checked by the person
  • Suggestions

    1. Sentence in progress
    2. The person’s own vocabulary, the iPadOS spell checker, Apple’s on-device model when the iPad supports it
    3. Suggested words and phrases

What comes in, once: the models, downloaded from Hugging Face at a pinned revision.

What goes out, only if the person decides: a technical report, a profile export, a gaze trace.

The models

Qwen3-TTS for the voice (Apache-2.0 license) and NVIDIA Parakeet for transcription (CC BY 4.0 license), both converted for MLX. Each one is pinned to a revision: the app downloads exactly these files. The light voice is the default; the high-quality voice is available as an option for iPads with enough memory.

ModelRoleSizeRepository and revision
Qwen3-TTS 0.6B Base 8-bitVoice2.0 GBmlx-community/Qwen3-TTS-12Hz-0.6B-Base-8bit
@50f45ef0047c
Qwen3-TTS 1.7B Base 8-bitVoice3.1 GBmlx-community/Qwen3-TTS-12Hz-1.7B-Base-8bit
@e7dd05856522
Qwen3-TTS 1.7B Base BF16Voice4.5 GBmlx-community/Qwen3-TTS-12Hz-1.7B-Base-bf16
@a6eb4f68e4b0
Parakeet TDT 0.6B v3 8-bitTranscription0.9 GBanimaslabs/parakeet-tdt-0.6b-v3-mlx-8bit
@18498133db8b

Measurements

The app shows its own measurements in Advanced mode, which you turn on in Settings, About. They are explained there in plain language, with their units.

Gaze

  • Median error and 90th percentile, in screen points
  • Accuracy exercise: 40 targets, then a rest period
  • Calibration history
  • Export of gaze traces (JSONL) and of the accuracy report (JSON)

Speech synthesis

  • Time to first sound
  • Real-time factor
  • Memory used
  • For each recent phrase
Gaze accuracy on iPad On request
Protocol, calibration sessions recorded on the device, and traces replayed on a test bench to check every change to the engine.
Speech synthesis performance on iPad In progress
Time to first sound, real-time factor and memory, for both voices, several reference lengths and several sentence lengths, with a blind listening test.

We only publish a figure together with the report that establishes it. VoiceForever has not been the subject of any clinical study: these measurements describe how the app behaves technically on a device, not any effect on health.

Get in touch

Evaluating the app, planning a study, or want to compare it with your own system? Ask us for the reports or for a conversation.