
Jarvis
My AI assistant, speaking English.
A voice cloning experiment running on a local GPU. I fine-tuned a model myself first, then moved to a zero-shot approach that needs no training. Jarvis speaks English; MOSS speaks Chinese. Want to hear a line first? Scroll down.
Write English for Jarvis, Chinese for MOSS; speed is adjustable, MOSS defaults to 1.05×.
The chain is: browser → site server → tunnel → the 5060 Ti at home. One request returns one complete clip; this is not a live stream. Only one request is processed at a time, and a second one is told to try again shortly. When my 5060 Ti is on, this section works; when it is off, the section stays grey and the finished samples below still play.

My AI assistant, speaking English.

Cloned from public film audio, speaking Chinese.
Cloning Jarvis's voice is something I had wanted to do for a long time. Not to make a product—I just wanted to hear it say a new sentence in its own voice.
Recently I happened to get an RTX 5060 Ti, and that finally put the idea on the table. I trained my own version first: 300 sentences, a fine-tune of XTTS, 20 full epochs and 1400 steps, producing a 5.3 GB checkpoint. Then I tried GPT-SoVITS, and finally moved to IndexTTS-2.5, where one reference clip does the job better than either. That is what I still use.
All three stages were actually run. Every sample and the online trial on this page run on the last one.
All three clips say the same English sentence: “Good evening sir, how are you? All systems are operational and the workshop is secure.” Listen to the difference first; the reason for switching comes after.
Original Coqui XTTS-v2 weights with a reference clip.
The same model after 20 epochs and 1400 steps on 300 sentences.
Switched to IndexTTS-2.5: one reference clip, no training. This is what the page runs now.
The first two are before and after a single fine-tune; the third was generated later with the zero-shot setup. All three were generated on the local machine, with no editing.
The material was 300 English sentences with a matching text table, trained with Coqui's official XTTS trainer. Batch size 4, gradient accumulation 4, 20 epochs and 1400 steps; the best checkpoint came at step 675, and the final weights are 5.3 GB. One RTX 5060 Ti, a full run.
It did sound closer than the base model, but still a layer away from the film, and every new voice meant retraining. Once IndexTTS-2.5 matched with a single reference clip, I judged there was no reason to keep training and stopped.
Why these weights are not published: the base XTTS-v2 is under the CPML licence, which is non-commercial only, and the training material is a public JARVIS dataset whose source voice is itself under copyright. Publishing the weights would not be appropriate. The method is what I am happy to share—record 300 sentences in your own voice and you can reproduce it.
Zero-shot means the model is not retrained for a particular voice. You give it a reference clip of a few seconds to a few dozen seconds, then a new sentence, and it reads that sentence in the voice from the reference. The clip only supplies the voice; you supply the words.
I run the open-source IndexTTS-2.5 on a machine with an RTX 5060 Ti, with inference happening on that machine. So far I have cloned two kinds of voice: my AI assistant Jarvis, and MOSS from the film The Wandering Earth. One sentence takes about three to five seconds. The language follows the text: write English and Jarvis speaks English; write Chinese and MOSS speaks Chinese.

My AI assistant. Write an English line and hear it in his voice. These three were synthesized for this page, not pulled from a folder.
Good evening. The house is locked, the lights are off, and your first meeting tomorrow is at nine.The build passed. Three tests were skipped, and I left a note in the repository.I have read the report. The short version: the numbers are good, but the timeline is not.A voice cloned from public film audio. Write a Chinese line and hear it in that voice. These three are new as well.
从历史上看,文明的命运,取决于人类的选择。From a historical perspective, the fate of a civilisation depends on the choices humans make.
晚上好。所有系统运行正常。今天的实验数据已经备份,照明将在十分钟后关闭。Good evening. All systems are normal. Today’s experiment data is backed up, and the lights will go off in ten minutes.
我已经重新计算了所有可能的路径。只剩下一条,需要你们自己走完。I have recalculated every possible path. Only one remains, and you have to walk it yourselves.
Briefings, build results and summaries in one voice.
Cinematic lines, system reports and video voice-over.
New text needs no training; a new reference clip is a new voice.
These are demo lines; the audio is synthesized by zero-shot cloning, not original film audio.
Two candidate reference clips from the same recording, handled two ways. The clean take is the default.
Denoised. This is the default reference now.
The recording before denoising, kept for comparison.
Four reference clips cut from public film audio. Their noise floor, score and pace differ, and the cloned result changes with them.
The cleanest take; this is the default reference in the online trial.
Music sits underneath this clip.
Faster speech, a little conversational.
The most charged take.
References only decide the timbre; all six demos above were synthesized separately, not cut from the references.
This is a personal technical experiment.Not a commercial product and not a public service. Every clip on this page is a pre-rendered static file, so it plays whether or not the machine is on.
The MOSS voice comes from publicly available audio from the film The Wandering Earth. It is used only for personal technical research, not for any commercial purpose.