Instructions to use FuturePresentLabs/tts-jarvis with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- VoxCPM
How to use FuturePresentLabs/tts-jarvis with VoxCPM:
import soundfile as sf from voxcpm import VoxCPM model = VoxCPM.from_pretrained("FuturePresentLabs/tts-jarvis") wav = model.generate( text="VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly expressive speech.", prompt_wav_path=None, # optional: path to a prompt speech for voice cloning prompt_text=None, # optional: reference text cfg_value=2.0, # LM guidance on LocDiT, higher for better adherence to the prompt, but maybe worse inference_timesteps=10, # LocDiT inference timesteps, higher for better result, lower for fast speed normalize=True, # enable external TN tool denoise=True, # enable external Denoise tool retry_badcase=True, # enable retrying mode for some bad cases (unstoppable) retry_badcase_max_times=3, # maximum retrying times retry_badcase_ratio_threshold=6.0, # maximum length restriction for bad case detection (simple but effective), it could be adjusted for slow pace speech ) sf.write("output.wav", wav, 16000) print("saved: output.wav") - Notebooks
- Google Colab
- Kaggle
V4 adapter is now public, with audio previews
The Jarvis V4 LoRA adapter is now public under Apache 2.0, along with its inference recipe and six audio previews.
What this is: a VoxCPM2 adapter for English assistant speech with a British male conversational target. Not a foundation model β the base weights are openbmb/VoxCPM2, and what we are releasing is the adapter plus the settings around it.
Previews are on the model card: a short reply, a greeting, multi-sentence dialogue, technical content, and two deliberately harder cases β numbers/identifiers and a long passage. Those last two are the failure modes listed under Evaluation And Limitations, included so they are audible rather than only described.
Two things worth knowing before you try it:
The reference recording matters as much as the adapter. The previews were rendered with the reference the adapter was selected against, and that recording is not distributed. Synthesising with a different reference will not sound like them β that is a property of the recipe, not a defect. Supply reference audio you are authorized to use.
Six inference steps are the selected default after a 6/12/24-step comparison. Higher step counts increased latency without a clear audible improvement.
The write-up covers how it was built β a dataset studio for field recordings, why "train it more" was usually the wrong next experiment, and what our metrics missed: https://fpl.dev/post/building-jarvis-tts-and-dataset-studio/
Feedback on the harder cases is welcome, particularly long-form artifacts and name pronunciation.