microsoft/VibeVoice
Open-Source Frontier Voice AI
Python★ 56,137+223 that day#11 on trending
C57/100
Duplication52
8.5% in python, bashDead code89
1.1%Complexity40
69.9% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
8.36%duplicated code · 1,347 of 16,116 lines
77clones in code
29code files of 66 scanned
8.41%duplicated over all files · 119 clones
Most complex files
- vllm_plugin/scripts/gradio_asr_demo_api_video.py286 cx
- vibevoice/modular/modular_vibevoice_tokenizer.py201 cx
- vllm_plugin/model.py189 cx
- vibevoice/schedule/dpm_solver.py152 cx
- demo/vibevoice_asr_gradio_demo.py123 cx
- vibevoice/modular/modeling_vibevoice_streaming_inference.py123 cx
- vibevoice/modular/modeling_vibevoice_asr.py115 cx
- vllm_plugin/asr_streaming_server.py99 cx
- vibevoice/processor/vibevoice_processor.py98 cx
- vibevoice/processor/vibevoice_asr_processor.py86 cx
Dead code 1.1% unused · 98 findings
- vllm_plugin/inputs.pyunused-file
- vibevoice/schedule/timestep_sampler.pyunused-file
- vllm_plugin/asr_streaming.py:segments_to_textunused-export
- finetuning-asr/lora_finetune.py:prepare_model_for_kbit_trainingunused-import
- vibevoice/processor/vibevoice_processor.py:VibeVoiceTextTokenizerunused-import
- vibevoice/processor/vibevoice_streaming_processor.py:VibeVoiceTextTokenizerunused-import
- demo/realtime_model_inference_from_file.py:reunused-import
- demo/realtime_model_inference_from_file.py:Anyunused-import
- demo/realtime_model_inference_from_file.py:Dictunused-import
- demo/realtime_model_inference_from_file.py:Listunused-import
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 45 lines in 2 placespython396 tokensvibevoice/processor/vibevoice_processor.py:646–690vibevoice/processor/vibevoice_streaming_processor.py:363–407
646def batch_decode(self, *args, **kwargs): 647 """ 648 This method forwards all its arguments to VibeVoiceTextTokenizer's [`~PreTrainedTokenizer.batch_decode`]. 649 Please refer to the docstring of this method for more information. 650 """ 651 return self.tokenizer.batch_decode(*args, **kwargs) 652 653def decode(self, *args, **kwargs): 654 """ 655 This method forwards all its arguments to VibeVoiceTextTokenizer's [`~PreTrainedTokenizer.decode`].First 10 of 45 lines.
- 51 lines in 2 placespython368 tokensvibevoice/processor/vibevoice_processor.py:461–511vibevoice/processor/vibevoice_streaming_processor.py:313–363
461def prepare_speech_inputs( 462 self, 463 speech_inputs: List[np.ndarray], 464 return_tensors: Optional[Union[str, TensorType]] = None, 465 device: Optional[Union[str, torch.device]] = None, 466 dtype: Optional[torch.dtype] = None, 467) -> Dict[str, Any]: 468 """ 469 Prepare speech inputs for model consumption. 470First 10 of 51 lines.
- 78 lines in 2 placespython365 tokensvibevoice/processor/vibevoice_processor.py:55–132vibevoice/processor/vibevoice_streaming_processor.py:51–128
55 [`VibeVoiceProcessor`]: The processor object instantiated from pretrained model. 56""" 57import os 58import json 59from transformers.utils import cached_file 60from .vibevoice_tokenizer_processor import VibeVoiceTokenizerProcessor 61from vibevoice.modular.modular_vibevoice_text_tokenizer import ( 62 VibeVoiceTextTokenizer, 63 VibeVoiceTextTokenizerFast 64)First 10 of 78 lines.
7 more
- 71 lines in 2 placespython359 tokens
- 50 lines in 2 placespython285 tokens
- 24 lines in 2 placespython223 tokens
- 35 lines in 2 placespython198 tokens
- 33 lines in 2 placespython190 tokens
- 30 lines in 2 placespython175 tokens
- 16 lines in 2 placespython160 tokens
Largest clones over all files, tests and data included
- 111 lines in 2 placespythondocs and examples622 tokens
710theme_css = """ 711<style> 712:root { 713 --segment-bg: #f8f9fa; 714 --segment-border: #e1e5e9; 715 --segment-text: #495057; 716 --segment-meta: #6c757d; 717 --content-bg: white; 718 --content-border: #007bff; 719 --warning-bg: #fff3cd;First 10 of 111 lines.
- 23 lines in 2 placespythondocs and examples435 tokensdemo/vibevoice_asr_streaming_fastapi_demo.py:199–221vllm_plugin/scripts/fastapi_asr_streaming_demo_api.py:183–205
199} 200* { box-sizing: border-box; } 201body { margin:0; background:var(--bg); color:var(--fg); font-size:15px; 202 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto, 203 "Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif; } 204header { padding:18px 24px; border-bottom:1px solid var(--line); 205 display:flex; align-items:center; gap:12px; flex-wrap:wrap; } 206h1 { font-size:17px; margin:0; font-weight:600; } 207.dot { width:8px; height:8px; border-radius:50%; background:var(--muted); } 208.dot.ok { background:var(--ok); }First 10 of 23 lines.
- 45 lines in 2 placespython396 tokensvibevoice/processor/vibevoice_processor.py:646–690vibevoice/processor/vibevoice_streaming_processor.py:363–407
646def batch_decode(self, *args, **kwargs): 647 """ 648 This method forwards all its arguments to VibeVoiceTextTokenizer's [`~PreTrainedTokenizer.batch_decode`]. 649 Please refer to the docstring of this method for more information. 650 """ 651 return self.tokenizer.batch_decode(*args, **kwargs) 652 653def decode(self, *args, **kwargs): 654 """ 655 This method forwards all its arguments to VibeVoiceTextTokenizer's [`~PreTrainedTokenizer.decode`].First 10 of 45 lines.
- 51 lines in 2 placespython368 tokens
- 78 lines in 2 placespython365 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 29 | 16,116 | 77 | 1,347 | 8.36% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 40 | 20,657 | 102 | 1,761 | 8.52% |
| bash | 8 | 302 | 10 | 91 | 30.13% |
| markdown | 11 | 1,511 | 5 | 75 | 4.96% |
| json | 5 | 396 | 2 | 86 | 21.72% |
| markup | 1 | 1,017 | 0 | 0 | 0% |
| toml | 1 | 56 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Nov 6, 2026 | #11 | 56,137 (+223) | 66 | 23,939 | 119 | 8.41% | 8.36% | C 57 | 16fb2cb |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.