whatmodel.sh / tts / OpenVoice V1

OpenVoice V1 is an open-weights text-to-speech model from MyShell, released January 2024. Licence: mit.

Catalogue identity notes

myshell-ai/OpenVoice (V1). Distinct from OpenVoice V2 (myshell-ai/OpenVoiceV2, MeloTTS base speakers).

50.7±14.4#64 of 118 text-to-speech modelsfrom 1 benchmark result across 1 source* thinly tested, treat the rank as provisional

Score within the Vapi Humanness · Bradley–Terry rating, 2026-09-25 snapshot comparison set only.

$ how it compares

The text-to-speech models ranked either side of OpenVoice V1, out of 148 with a score, then more from MyShell.

#modelscorewhereRAMreleased
77Llasa-8B HKUST Audio52±3local~20GB2025-01
78Gradium TTS Gradium51±3api $38.00/M chars2025-12
79OpenVoice V1 MyShell51±14local~0.3GB2024-01
80Eleven Multilingual v2 ElevenLabs51±5api $100.00/M chars2023-08
81Azure Ameha Neural Microsoft50±16comparison only2021-10
more from MyShell
103MeloTTS English MyShell44±5local~0.7GB2024-02
138OpenVoice V2 MyShell26±3local~0.8GB2024-04

see all text-to-speech models · find the ones that fit your machine

$ what it's good at

other tests1 not in a task · 16% of its score
testresultvs the others in its rundifficultycountswhy
TTSDS v1 · default four-factor score87.1% ✎▂▂····▃·▃▅▂█ beats 10/14very easy · avg 86%▇▇▇▇▇▇▇ 16%blunt

$ where to run it

Other ways to run it

  1. Run it as published · needs ~0.3 GB · from github.com/myshell-ai
    conda create -n openvoice python=3.9 && conda activate openvoice && git clone https://github.com/myshell-ai/OpenVoice.git && cd OpenVoice && pip install -e . && huggingface-cli download myshell-ai/OpenVoice --revision c70fc8b939bd1d8213994ff7c88e32be39708271 --include 'checkpoints/*' --local-dir . && python -c "import os, torch from openvoice import se_extractor from openvoice.api import BaseSpeakerTTS, ToneColorConverter ckpt_base = 'checkpoints/base_speakers/EN' ckpt_converter = 'checkpoints/converter' device='cuda:0' if torch.cuda.is_available() else 'cpu' output_dir = 'outputs' base_speaker_tts = BaseSpeakerTTS(f'{ckpt_base}/config.json', device=device) base_speaker_tts.load_ckpt(f'{ckpt_base}/checkpoint.pth') tone_color_converter = ToneColorConverter(f'{ckpt_converter}/config.json', device=device) tone_color_converter.load_ckpt(f'{ckpt_converter}/checkpoint.pth') os.makedirs(output_dir, exist_ok=True) source_se = torch.load(f'{ckpt_base}/en_default_se.pth').to(device) reference_speaker = 'resources/example_reference.mp3' target_se, audio_name = se_extractor.get_se(reference_speaker, tone_color_converter, target_dir='processed', vad=True) save_path = f'{output_dir}/output_en_default.wav' text = 'This audio is generated by OpenVoice.' src_path = f'{output_dir}/tmp.wav' base_speaker_tts.tts(text, src_path, speaker='default', language='English', speed=1.0) tone_color_converter.convert(audio_src_path=src_path, src_se=source_se, tgt_se=target_se, output_path=save_path, message='@MyShell') "

Weights and documentation: huggingface.co/myshell-ai ↗

$ how the score was worked out · TTSDS v1 published results 16%

Each result implies a score on its own, after adjusting for how hard its test is and who ran it. The score is their weighted average, with a small pull toward the middle for thinly tested models. Each test's weight is its counts column above; here it's added up by who ran the tests. How it works

sourceresultsshare of the scorelicence
TTSDS v1 published results1▇▇▇▇▇ 16%MIT
prior · pull toward the middle▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 84%
weighted average= 50.7

$ improve this page

Use a short GitHub form or edit the data through a pull request. Every number needs a source; here's which ones we can use.

data updated · sources and licences · json