Instructions to use openbmb/VoxCPM2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- VoxCPM
How to use openbmb/VoxCPM2 with VoxCPM:
import soundfile as sf from voxcpm import VoxCPM model = VoxCPM.from_pretrained("openbmb/VoxCPM2") 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
feat: point AutoTokenizer to VoxCPM2Tokenizer via auto_map
Browse files- tokenizer_config.json +9 -3
tokenizer_config.json
CHANGED
|
@@ -97,7 +97,7 @@
|
|
| 97 |
"rstrip": false,
|
| 98 |
"single_word": false,
|
| 99 |
"special": true
|
| 100 |
-
},
|
| 101 |
"110": {
|
| 102 |
"content": "<|/speaker_id|>",
|
| 103 |
"lstrip": false,
|
|
@@ -205,8 +205,14 @@
|
|
| 205 |
"pad_token": null,
|
| 206 |
"sp_model_kwargs": {},
|
| 207 |
"spaces_between_special_tokens": false,
|
| 208 |
-
"tokenizer_class": "
|
| 209 |
"unk_token": "<unk>",
|
| 210 |
"use_default_system_prompt": false,
|
| 211 |
-
"chat_template": "{% for message in messages %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 212 |
}
|
|
|
|
| 97 |
"rstrip": false,
|
| 98 |
"single_word": false,
|
| 99 |
"special": true
|
| 100 |
+
},
|
| 101 |
"110": {
|
| 102 |
"content": "<|/speaker_id|>",
|
| 103 |
"lstrip": false,
|
|
|
|
| 205 |
"pad_token": null,
|
| 206 |
"sp_model_kwargs": {},
|
| 207 |
"spaces_between_special_tokens": false,
|
| 208 |
+
"tokenizer_class": "VoxCPM2Tokenizer",
|
| 209 |
"unk_token": "<unk>",
|
| 210 |
"use_default_system_prompt": false,
|
| 211 |
+
"chat_template": "{% for message in messages %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}",
|
| 212 |
+
"auto_map": {
|
| 213 |
+
"AutoTokenizer": [
|
| 214 |
+
"tokenization_voxcpm2.VoxCPM2Tokenizer",
|
| 215 |
+
null
|
| 216 |
+
]
|
| 217 |
+
}
|
| 218 |
}
|