Instructions to use openbmb/VoxCPM-0.5B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- VoxCPM
How to use openbmb/VoxCPM-0.5B with VoxCPM:
import soundfile as sf from voxcpm import VoxCPM model = VoxCPM.from_pretrained("openbmb/VoxCPM-0.5B") 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
| { | |
| "architecture": "voxcpm", | |
| "lm_config": { | |
| "bos_token_id": 1, | |
| "eos_token_id": 2, | |
| "hidden_size": 1024, | |
| "intermediate_size": 4096, | |
| "max_position_embeddings": 32768, | |
| "num_attention_heads": 16, | |
| "num_hidden_layers": 24, | |
| "num_key_value_heads": 2, | |
| "rms_norm_eps": 1e-05, | |
| "rope_theta": 10000, | |
| "rope_scaling": { | |
| "type": "longrope", | |
| "long_factor": [1.0004360675811768, 1.0668443441390991, 1.1631425619125366, 1.3025742769241333, 1.5040205717086792, 1.7941505908966064, 2.2101221084594727, 2.802666664123535, 3.6389970779418945, 4.804192543029785, 6.39855432510376, 8.527148246765137, 11.277542114257812, 14.684998512268066, 18.69317054748535, 23.13019371032715, 27.72362518310547, 32.1606559753418, 36.168827056884766, 39.57627868652344, 42.32667541503906, 44.45526885986328, 46.04962921142578, 47.21482849121094, 48.05115509033203, 48.64370346069336, 49.05967712402344, 49.34980392456055, 49.551246643066406, 49.69068145751953, 49.78697967529297, 49.85338592529297], | |
| "short_factor": [1.0004360675811768, 1.0668443441390991, 1.1631425619125366, 1.3025742769241333, 1.5040205717086792, 1.7941505908966064, 2.2101221084594727, 2.802666664123535, 3.6389970779418945, 4.804192543029785, 6.39855432510376, 8.527148246765137, 11.277542114257812, 14.684998512268066, 18.69317054748535, 23.13019371032715, 27.72362518310547, 32.1606559753418, 36.168827056884766, 39.57627868652344, 42.32667541503906, 44.45526885986328, 46.04962921142578, 47.21482849121094, 48.05115509033203, 48.64370346069336, 49.05967712402344, 49.34980392456055, 49.551246643066406, 49.69068145751953, 49.78697967529297, 49.85338592529297], | |
| "original_max_position_embeddings": 32768 | |
| }, | |
| "vocab_size": 73448, | |
| "scale_emb": 12, | |
| "dim_model_base": 256, | |
| "scale_depth": 1.4, | |
| "use_mup": false | |
| }, | |
| "patch_size": 2, | |
| "feat_dim": 64, | |
| "scalar_quantization_latent_dim": 256, | |
| "scalar_quantization_scale": 9, | |
| "residual_lm_num_layers": 6, | |
| "encoder_config": { | |
| "hidden_dim": 1024, | |
| "ffn_dim": 4096, | |
| "num_heads": 16, | |
| "num_layers": 4 | |
| }, | |
| "dit_config": { | |
| "hidden_dim": 1024, | |
| "ffn_dim": 4096, | |
| "num_heads": 16, | |
| "num_layers": 4, | |
| "cfm_config": { | |
| "sigma_min": 1e-06, | |
| "solver": "euler", | |
| "t_scheduler": "log-norm", | |
| "inference_cfg_rate": 2.0 | |
| } | |
| }, | |
| "max_length": 4096, | |
| "device": "cuda", | |
| "dtype": "bfloat16" | |
| } |