Saltar a contenido

openvoice model guide

Overview

openvoice is a VoiceHub text to speech integration. This page is generated from the model registry and its executable data and training contracts, so the documented support stays aligned with code. Open the openvoice Colab notebook.

Quickstart

python -m pip install voicehub
  1. Install VoiceHub and the provider extra shown above.
  2. Choose a checkpoint that matches this integration.
  3. Provide an authorized reference.wav and an exact reference transcript when the example requests them.
  4. Generate audio and inspect the returned sample rate and metadata.
from pathlib import Path

from voicehub import AutoModelForTextToSpeech, TTSGenerationConfig

model = AutoModelForTextToSpeech.from_pretrained(
    'myshell-ai/OpenVoiceV2',
    model_type='openvoice',
    device="cuda",
    lazy_load=True,
)
generation_kwargs = {
    "speaker_audio_path": str(REFERENCE_AUDIO),
}
output = model.generate(
    "VoiceHub keeps model integrations consistent and easy to extend.",
    generation_config=TTSGenerationConfig(
        seed=42,
        output_file=Path("output.wav"),
    ),
    **generation_kwargs,
)
print(output.file_path, output.sample_rate)

Use only authorized recordings for reference voice, transcription, detection, or evaluation. The example selects a concrete device; verify checkpoint-specific hardware needs and pin an immutable revision before production use.

Supported tasks and capabilities

Property Value
Task Text to speech
Architecture openvoice-v2-converter
Runtime VoiceHub-native
Capabilities text-to-speech, voice-cloning, multilingual, fine-tuning, safetensors, voicehub-native, native-runtime, paired-waveform-training, explicit-base-waveform
Reusable components wavmark

Data contract

Property Value
Readiness integrated-raw
Data architecture vits
Sample rate 22,050 Hz
Contract getter get_tts_dataset_spec('openvoice')
Variant Required fields One of Boundary Other rules
paired-waveforms source_audio, target_audio Source
paired-waveform-aliases audio, target_waveform Source

VITS/GAN text, waveform, spectrogram, and adversarial data. Follow the shared data workflow for manifest loading, audio validation, leakage-safe splits, and model-owned preprocessing.

Checkpoints, provenance, and license

Property Value
Default checkpoint myshell-ai/OpenVoiceV2
Checkpoint status Registry default; pin an immutable revision for production and reproducible evidence
Implementation voicehub.models.openvoice.modeling_openvoice.OpenVoiceForTextToSpeech
Configuration voicehub.models.openvoice.configuration_openvoice.OpenVoiceConfig
Source provenance voicehub/models/openvoice/source/SOURCE.json
License Checkpoint-specific

No VoiceHub-specific license override is registered. Verify the checkpoint and upstream source terms before use.

The default checkpoint identifies the expected family, not every compatible variant. Confirm the selected checkpoint's revision, access terms, provenance, and license before downloading or redistributing it.

Optimization and training support

All public optimizations enter this model through the shared BaseSpeechModel lifecycle. Use available_optimization_passes() to discover the public pass registry, then apply, inspect, serialize, or restore a plan through the common model API. Application remains fail-closed when the active runtime or hardware cannot satisfy a pass.

Training contract

Property Value
Support custom
Family vits
Recipe single-phase
Default phase generator
Training checkpoint myshell-ai/OpenVoiceV2
Native training graph yes
Phase Kind Components Required inputs Loss keys
generator generator model.enc_q, model.flow, model.dec, model.ref_enc source_spectrogram, source_lengths, target_waveform, target_lengths loss

This profile uses model-specific phases; inspect and honor each phase boundary. Call model.validate_training_support() before constructing a trainer. Follow the shared training workflow for a one-step smoke test, validation, checkpoint resume, optimization, and portable export.

Public API

Purpose Public object
Discover get_model_spec('openvoice')
Load and run AutoModelForTextToSpeech
Configure OpenVoiceConfig
Model implementation OpenVoiceForTextToSpeech
Normalized output TTSOutput
Training contract get_training_spec('openvoice')
Optimization lifecycle available_optimization_passes, apply_optimization_plan, optimization_manifest, restore_optimization_plan

Related shared documentation: