Open-Source Frontier Voice AI
This report presents the forensic synthetic code analysis of microsoft/VibeVoice, a Python project with 50,063 GitHub stars. SynthScan v2.0 examined 19,924 lines of code across 55 source files, recording 376 pattern matches distributed across 15 syntactic categories. The overall adjusted score of 24.2 places this repository in the Moderate AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 376 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/vibevoice_asr_gradio_demo.py | 14 | CODE | |
| LOW | demo/vibevoice_asr_gradio_demo.py | 949 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 10 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 13 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 16 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 17 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 19 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 292 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 488 | CODE | |
| LOW | demo/realtime_model_inference_from_file.py | 3 | CODE | |
| LOW | demo/realtime_model_inference_from_file.py | 5 | CODE | |
| LOW | demo/realtime_model_inference_from_file.py | 5 | CODE | |
| LOW | demo/realtime_model_inference_from_file.py | 5 | CODE | |
| LOW | demo/realtime_model_inference_from_file.py | 5 | CODE | |
| LOW | demo/realtime_model_inference_from_file.py | 5 | CODE | |
| LOW | demo/web/app.py | 2 | CODE | |
| LOW | demo/web/app.py | 18 | CODE | |
| LOW | vibevoice/__init__.py | 2 | CODE | |
| LOW | vibevoice/__init__.py | 2 | CODE | |
| LOW | vibevoice/__init__.py | 6 | CODE | |
| LOW | vibevoice/__init__.py | 6 | CODE | |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 2 | CODE | |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 3 | CODE | |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 5 | CODE | |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 10 | CODE | |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 10 | CODE | |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 57 | CODE | |
| LOW | vibevoice/processor/vibevoice_processor.py | 2 | CODE | |
| LOW | vibevoice/processor/vibevoice_processor.py | 61 | CODE | |
| LOW | vibevoice/processor/__init__.py | 2 | CODE | |
| LOW | vibevoice/processor/__init__.py | 3 | CODE | |
| LOW | vibevoice/processor/__init__.py | 4 | CODE | |
| LOW | vibevoice/processor/__init__.py | 4 | CODE | |
| LOW | vibevoice/processor/vibevoice_tokenizer_processor.py | 6 | CODE | |
| LOW | vibevoice/processor/vibevoice_tokenizer_processor.py | 7 | CODE | |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 9 | CODE | |
| LOW | vibevoice/processor/audio_utils.py | 6 | CODE | |
| LOW | vibevoice/processor/audio_utils.py | 6 | CODE | |
| LOW | vibevoice/processor/audio_utils.py | 6 | CODE | |
| LOW | vibevoice/processor/audio_utils.py | 6 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 3 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 4 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 12 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 13 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 17 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 21 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 21 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 21 | CODE | |
| LOW | vibevoice/modular/streamer.py | 1 | CODE | |
| LOW | vibevoice/modular/streamer.py | 7 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 3 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 3 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 3 | CODE | |
| LOW | vibevoice/modular/configuration_vibevoice_streaming.py | 3 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 4 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 15 | CODE | |
| LOW | vibevoice/modular/__init__.py | 2 | CODE | |
| LOW | vibevoice/modular/__init__.py | 3 | CODE | |
| LOW | vibevoice/modular/__init__.py | 4 | CODE | |
| LOW | vibevoice/modular/__init__.py | 4 | CODE | |
| 41 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | demo/vibevoice_asr_gradio_demo.py | 407 | print(f"Error on segment {idx}: {e}") | CODE |
| MEDIUM | demo/vibevoice_asr_gradio_demo.py | 428 | print(f"Error loading audio file: {e}") | CODE |
| MEDIUM | demo/vibevoice_asr_gradio_demo.py | 623 | def run_transcription(): | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 43 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 230 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 323 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 338 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 403 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 427 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 512 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 595 | except Exception as exc: | CODE |
| LOW | demo/vibevoice_asr_gradio_demo.py | 635 | except Exception as e: | CODE |
| MEDIUM | demo/vibevoice_asr_gradio_demo.py | 912 | print(f"Error during transcription: {e}") | STRING |
| LOW | demo/vibevoice_asr_gradio_demo.py | 911 | except Exception as e: | STRING |
| LOW | demo/vibevoice_asr_inference_from_file.py | 184 | except Exception as e: | CODE |
| LOW | demo/vibevoice_asr_inference_from_file.py | 391 | except Exception as e: | CODE |
| MEDIUM | demo/vibevoice_asr_inference_from_file.py | 392 | print(f"Error loading dataset: {e}") | CODE |
| MEDIUM⚡ | demo/realtime_model_inference_from_file.py | 149 | print(f"Error: txt file not found: {args.txt_path}") | CODE |
| MEDIUM⚡ | demo/realtime_model_inference_from_file.py | 158 | print("Error: No valid scripts found in the txt file") | CODE |
| LOW | demo/realtime_model_inference_from_file.py | 201 | except Exception as e: | CODE |
| MEDIUM | demo/realtime_model_inference_from_file.py | 205 | print("Error loading the model. Trying to use SDPA. However, note that only flash_attention_2 has been fully | CODE |
| LOW | demo/web/app.py | 100 | except Exception as e: | CODE |
| MEDIUM | demo/web/app.py | 102 | print("Error loading the model. Trying to use SDPA. However, note that only flash_attention_2 has been f | CODE |
| LOW | demo/web/app.py | 232 | except Exception as exc: # pragma: no cover - diagnostic logging | CODE |
| LOW | demo/web/app.py | 259 | except Exception as exc: | CODE |
| LOW | demo/web/app.py | 401 | except Exception: | CODE |
| LOW | demo/web/app.py | 430 | except Exception: | CODE |
| LOW | demo/web/app.py | 473 | except Exception as e: | CODE |
| MEDIUM | demo/web/app.py | 474 | print(f"Error in websocket stream: {e}") | CODE |
| LOW | demo/web/app.py | 486 | except Exception: | CODE |
| LOW | demo/web/app.py | 497 | except Exception as e: | CODE |
| MEDIUM | demo/web/app.py | 498 | print(f"Error closing websocket: {e}") | CODE |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 80 | except Exception as e: | STRING |
| LOW | vibevoice/processor/vibevoice_processor.py | 84 | except Exception as e: | STRING |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 128 | except Exception as e: | CODE |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 293 | except Exception as e: | CODE |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 563 | except Exception as e: | CODE |
| LOW | vibevoice/processor/audio_utils.py | 85 | except Exception: | CODE |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 334 | except Exception: | CODE |
| LOW | finetuning-asr/lora_finetune.py | 234 | except Exception as e: | CODE |
| LOW | finetuning-asr/inference_lora.py | 137 | except Exception as e: | CODE |
| LOW | vllm_plugin/__init__.py | 46 | except Exception: | CODE |
| LOW | vllm_plugin/__init__.py | 52 | except Exception: | CODE |
| LOW | vllm_plugin/model.py | 519 | except Exception: | CODE |
| LOW | vllm_plugin/model.py | 981 | except Exception: | CODE |
| LOW | vllm_plugin/model.py | 1095 | except Exception as e: | CODE |
| LOW | vllm_plugin/tests/test_api.py | 130 | except Exception as e: | CODE |
| MEDIUM | vllm_plugin/tests/test_api.py | 131 | print(f"Error preparing audio: {e}") | CODE |
| LOW | vllm_plugin/tests/test_api.py | 224 | except Exception as e: | CODE |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 453 | except Exception as e: | CODE |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 508 | except Exception as e: | CODE |
| MEDIUM⚡ | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 690 | print(f"Error loading audio file: {e}") | CODE |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1804 | def _copy_file(): | CODE |
| LOW⚡ | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 689 | except Exception as e: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 88 | except Exception as e: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 156 | except Exception: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 161 | except Exception: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 196 | except Exception as e: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 224 | except Exception as e: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 232 | except Exception: | CODE |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …oice/modular/modeling_vibevoice_streaming_inference.py | 33 | # ============================================================================ | COMMENT |
| MEDIUM | …oice/modular/modeling_vibevoice_streaming_inference.py | 36 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/model.py | 16 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/model.py | 18 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/model.py | 87 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/model.py | 381 | # ========================================== | COMMENT |
| MEDIUM | vllm_plugin/model.py | 383 | # ========================================== | COMMENT |
| MEDIUM | vllm_plugin/model.py | 473 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/model.py | 475 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/model.py | 920 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/model.py | 922 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 694 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 696 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 66 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 68 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 121 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 123 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1140 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1142 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1153 | # ============================================================================ | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1155 | # ============================================================================ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/vibevoice_asr_inference_from_file.py | 72 | def _prepare_generation_config( | CODE |
| LOW | demo/vibevoice_asr_inference_from_file.py | 269 | def load_dataset_and_concatenate( | CODE |
| LOW | vibevoice/schedule/dpm_solver.py | 87 | def rescale_zero_terminal_snr(betas): | CODE |
| LOW | vibevoice/schedule/dpm_solver.py | 627 | def dpm_solver_first_order_update( | CODE |
| LOW | vibevoice/schedule/dpm_solver.py | 696 | def multistep_dpm_solver_second_order_update( | CODE |
| LOW | vibevoice/schedule/dpm_solver.py | 819 | def multistep_dpm_solver_third_order_update( | CODE |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 170 | def process_input_with_cached_prompt( | STRING |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 490 | def post_process_transcription(self, text: str) -> List[Dict[str, Any]]: | CODE |
| LOW | vibevoice/processor/audio_utils.py | 80 | def _get_ffmpeg_max_concurrency() -> int: | CODE |
| LOW | vibevoice/processor/audio_utils.py | 107 | def load_audio_bytes_use_ffmpeg(data: bytes, *, resample: bool = False, target_sr: int = 24000): | CODE |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 66 | def _add_vibevoice_special_tokens(self): | CODE |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 163 | def _add_vibevoice_special_tokens(self): | CODE |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 264 | def _add_vibevoice_special_tokens(self): | CODE |
| LOW | vibevoice/modular/modeling_vibevoice_asr.py | 426 | def prepare_inputs_for_generation( | CODE |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 97 | def apply_parametrization_norm(module: nn.Module, norm: str = 'none') -> nn.Module: | CODE |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 117 | def _update_model_kwargs_for_generation( | CODE |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 242 | def prepare_inputs_for_generation( | CODE |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 300 | def _update_model_kwargs_for_generation( | CODE |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 315 | def _init_cache_for_generation(self, generation_config, model_kwargs, batch_size, max_cache_length, device): | CODE |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 498 | def _build_generate_config_model_kwargs(self, generation_config, inputs, tokenizer, return_processors=False, **kwarg | CODE |
| LOW | vllm_plugin/model.py | 272 | def _ensure_audio_encoder_dtype(self): | CODE |
| LOW | vllm_plugin/model.py | 559 | def get_mm_max_tokens_per_item( | CODE |
| LOW | vllm_plugin/model.py | 666 | def get_dummy_processor_inputs( | CODE |
| LOW | vllm_plugin/model.py | 787 | def _hf_processor_applies_updates( | CODE |
| LOW | vllm_plugin/inputs.py | 43 | def vibevoice_audio_input_mapper(ctx, data: Union[str, bytes, np.ndarray, List[str]]) -> MultiModalInputs: | CODE |
| LOW | vllm_plugin/tools/generate_tokenizer_files.py | 151 | def download_qwen_tokenizer_files(output_dir: str, qwen_model: str = DEFAULT_QWEN_MODEL) -> None: | CODE |
| LOW | vllm_plugin/tools/generate_tokenizer_files.py | 293 | def generate_added_tokens_json(output_dir: str) -> None: | CODE |
| LOW | vllm_plugin/tools/generate_tokenizer_files.py | 315 | def generate_special_tokens_map_json(output_dir: str) -> None: | CODE |
| LOW | vllm_plugin/tools/generate_tokenizer_files.py | 355 | def generate_vibevoice_tokenizer_files(output_dir: str, qwen_model: str = DEFAULT_QWEN_MODEL) -> None: | CODE |
| LOW | vllm_plugin/tests/test_api.py | 47 | def _get_duration_seconds_ffprobe(path: str) -> float: | CODE |
| LOW | vllm_plugin/tests/test_api.py | 65 | def _extract_audio_from_video(video_path: str) -> str: | CODE |
| LOW | vllm_plugin/tests/test_api.py | 86 | def test_transcription_with_hotwords( | CODE |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 64 | def _get_duration_seconds_ffprobe(path: str) -> float: | CODE |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 75 | def _extract_audio_from_video(video_path: str) -> str: | CODE |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 102 | def _find_last_segment_boundary(text: str) -> int: | CODE |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 114 | def _find_safe_print_boundary(text: str, max_pos: int) -> int: | CODE |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 463 | def test_transcription_with_recovery( | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 144 | def _get_duration_seconds_ffprobe(path: str) -> float: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 721 | def get_available_models_sync(self) -> List[str]: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 984 | def _parse_truncated_segments(self, text: str) -> Optional[List[Dict]]: | CODE |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1054 | def _recover_incomplete_segment(self, incomplete_text: str) -> Optional[Dict]: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/vibevoice_asr_gradio_demo.py | 247 | CODE | |
| LOW | demo/vibevoice_asr_gradio_demo.py | 344 | CODE | |
| LOW | demo/vibevoice_asr_gradio_demo.py | 518 | CODE | |
| LOW | demo/vibevoice_asr_gradio_demo.py | 962 | CODE | |
| LOW | demo/vibevoice_asr_gradio_demo.py | 115 | CODE | |
| LOW | demo/vibevoice_asr_inference_from_file.py | 269 | CODE | |
| LOW | demo/web/app.py | 367 | CODE | |
| LOW | vibevoice/schedule/dpm_solver.py | 28 | CODE | |
| LOW | vibevoice/schedule/dpm_solver.py | 203 | CODE | |
| LOW | vibevoice/schedule/dpm_solver.py | 321 | CODE | |
| LOW | vibevoice/schedule/dpm_solver.py | 528 | CODE | |
| LOW | vibevoice/schedule/dpm_solver.py | 627 | CODE | |
| LOW | vibevoice/schedule/dpm_solver.py | 696 | CODE | |
| LOW | vibevoice/processor/vibevoice_tokenizer_processor.py | 65 | CODE | |
| LOW | vibevoice/processor/vibevoice_tokenizer_processor.py | 282 | CODE | |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 267 | CODE | |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 490 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 274 | CODE | |
| LOW | vibevoice/modular/streamer.py | 216 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice_asr.py | 208 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 242 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 788 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 926 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 1079 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 1169 | CODE | |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 242 | CODE | |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 574 | CODE | |
| LOW | finetuning-asr/lora_finetune.py | 201 | CODE | |
| LOW | vllm_plugin/model.py | 318 | CODE | |
| LOW | vllm_plugin/model.py | 988 | CODE | |
| LOW | vllm_plugin/model.py | 1010 | CODE | |
| LOW | vllm_plugin/tools/generate_tokenizer_files.py | 387 | CODE | |
| LOW | vllm_plugin/tools/generate_tokenizer_files.py | 414 | CODE | |
| LOW | vllm_plugin/tests/test_api.py | 86 | CODE | |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 220 | CODE | |
| LOW | vllm_plugin/tests/test_api_auto_recover.py | 143 | CODE | |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1157 | CODE | |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1596 | CODE | |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 776 | CODE | |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 923 | CODE | |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 984 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | vibevoice/modular/modeling_vibevoice.py | 0 | set the speech tokenizers used for encoding and decoding speech. | STRING |
| HIGH | vibevoice/modular/modeling_vibevoice_asr.py | 0 | set the speech tokenizers used for encoding and decoding speech. | STRING |
| HIGH | vibevoice/modular/modeling_vibevoice_streaming.py | 0 | set the speech tokenizers used for encoding and decoding speech. | STRING |
| HIGH | …oice/modular/modeling_vibevoice_streaming_inference.py | 0 | set the speech tokenizers used for encoding and decoding speech. | STRING |
| HIGH | vibevoice/modular/modeling_vibevoice.py | 0 | tie the weights between the input embeddings and the output embeddings. | STRING |
| HIGH | vibevoice/modular/modeling_vibevoice_asr.py | 0 | tie the weights between the input embeddings and the output embeddings. | STRING |
| HIGH | …oice/modular/modeling_vibevoice_streaming_inference.py | 0 | tie the weights between the input embeddings and the output embeddings. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/vibevoice_asr_inference_from_file.py | 336 | # Check if adding this chunk exceeds max_duration | COMMENT |
| LOW | demo/vibevoice_asr_inference_from_file.py | 571 | # Print results | COMMENT |
| LOW | demo/realtime_model_inference_from_file.py | 33 | # Check if voices directory exists | COMMENT |
| LOW⚡ | demo/realtime_model_inference_from_file.py | 147 | # Check if txt file exists | COMMENT |
| LOW | vibevoice/processor/vibevoice_processor.py | 255 | # Check if it's a file path | COMMENT |
| LOW | vibevoice/processor/vibevoice_processor.py | 621 | # Check if we need to normalize speaker IDs (only if all are > 0) | COMMENT |
| LOW | vibevoice/processor/vibevoice_tokenizer_processor.py | 161 | # Check if it's a list of file paths | COMMENT |
| LOW | vibevoice/processor/vibevoice_tokenizer_processor.py | 167 | # Check if it's batched audio arrays | COMMENT |
| LOW | vibevoice/modular/modeling_vibevoice_asr.py | 294 | # Check if this is the final segment | COMMENT |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 715 | # # Check if audio_streamer has been ended (stopped externally) | COMMENT |
| LOW | finetuning-asr/inference_lora.py | 215 | # Print results | COMMENT |
| LOW | vllm_plugin/model.py | 404 | # Check if this is the final segment | COMMENT |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 994 | # Check if text starts with array | COMMENT |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1213 | # Check if uploaded file is a video | COMMENT |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1327 | # Check if stopped by user | COMMENT |
| LOW | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1983 | # Check if it's a recorded video that needs conversion | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | vibevoice/processor/vibevoice_tokenizer_processor.py | 182 | # Create a proper batch dimension (B, T) | COMMENT |
| MEDIUM | vibevoice/modular/streamer.py | 37 | # Create a queue for each sample in the batch | COMMENT |
| MEDIUM | vibevoice/modular/modular_vibevoice_tokenizer.py | 286 | # Create a unique layer ID for cache management | COMMENT |
| MEDIUM | vibevoice/modular/modular_vibevoice_tokenizer.py | 461 | # Create a unique layer ID for cache management | COMMENT |
| MEDIUM | vibevoice/modular/modular_vibevoice_diffusion_head.py | 219 | # Create the intermediate layers | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 1300 | # Create a stopped result - parse whatever we have so far | COMMENT |
| MEDIUM | vllm_plugin/scripts/gradio_asr_demo_api_video.py | 2011 | # Create a temp VTT file for the video player | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vibevoice/__init__.py | 11 | __all__ = [ | CODE |
| LOW | vibevoice/processor/vibevoice_streaming_processor.py | 407 | __all__ = [ | CODE |
| LOW | vibevoice/processor/vibevoice_processor.py | 690 | __all__ = [ | CODE |
| LOW | vibevoice/processor/__init__.py | 6 | __all__ = [ | CODE |
| LOW | vibevoice/processor/vibevoice_tokenizer_processor.py | 413 | __all__ = ["VibeVoiceTokenizerProcessor", "AudioNormalizer"] | CODE |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 572 | __all__ = ["VibeVoiceASRProcessor"] | CODE |
| LOW | vibevoice/modular/modeling_vibevoice.py | 490 | __all__ = [ | CODE |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 309 | __all__ = [ | CODE |
| LOW | vibevoice/modular/configuration_vibevoice_streaming.py | 102 | __all__ = [ | CODE |
| LOW | vibevoice/modular/modeling_vibevoice_asr.py | 518 | __all__ = [ | CODE |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 1203 | __all__ = [ | CODE |
| LOW | vibevoice/modular/__init__.py | 7 | __all__ = [ | CODE |
| LOW | vibevoice/modular/modular_vibevoice_diffusion_head.py | 285 | __all__ = [ | CODE |
| LOW | vibevoice/modular/configuration_vibevoice.py | 400 | __all__ = [ | CODE |
| LOW | vibevoice/modular/modeling_vibevoice_streaming.py | 187 | __all__ = [ | CODE |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 904 | __all__ = [ | CODE |
| LOW | finetuning-asr/lora_finetune.py | 41 | logger = logging.getLogger(__name__) | CODE |
| LOW | vllm_plugin/inputs.py | 15 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | demo/vibevoice_asr_gradio_demo.py | 115 | CODE | |
| LOW | demo/web/app.py | 237 | CODE | |
| LOW | vibevoice/schedule/dpm_solver.py | 203 | CODE | |
| LOW | vibevoice/processor/vibevoice_asr_processor.py | 193 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 170 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice.py | 333 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 136 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_text_tokenizer.py | 234 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice_asr.py | 110 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice_asr.py | 341 | CODE | |
| LOW | vibevoice/modular/modeling_vibevoice_asr.py | 426 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 90 | CODE | |
| LOW | vibevoice/modular/modular_vibevoice_tokenizer.py | 259 | CODE | |
| LOW | vibevoice/modular/configuration_vibevoice.py | 34 | CODE | |
| LOW | vibevoice/modular/configuration_vibevoice.py | 97 | CODE | |
| LOW | vibevoice/modular/configuration_vibevoice.py | 151 | CODE | |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 338 | CODE | |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 401 | CODE | |
| LOW | …oice/modular/modeling_vibevoice_streaming_inference.py | 574 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 369 | # Step 1: Download base files from Qwen2 | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 372 | # Step 2: Patch tokenizer_config.json | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 375 | # Step 3: Patch tokenizer.json | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 378 | # Step 4: Generate added_tokens.json | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 381 | # Step 5: Generate special_tokens_map.json | COMMENT |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 415 | # Step 1: Install system dependencies | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 419 | # Step 2: Install VibeVoice | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 422 | # Step 3: Download model | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 425 | # Step 4: Generate tokenizer files | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 429 | # Step 5: Start server | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 369 | # Step 1: Download base files from Qwen2 | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 372 | # Step 2: Patch tokenizer_config.json | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 375 | # Step 3: Patch tokenizer.json | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 378 | # Step 4: Generate added_tokens.json | COMMENT |
| LOW⚡ | vllm_plugin/tools/generate_tokenizer_files.py | 381 | # Step 5: Generate special_tokens_map.json | COMMENT |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 415 | # Step 1: Install system dependencies | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 419 | # Step 2: Install VibeVoice | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 422 | # Step 3: Download model | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 425 | # Step 4: Generate tokenizer files | STRING |
| LOW⚡ | vllm_plugin/scripts/start_server.py | 429 | # Step 5: Start server | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vibevoice/processor/vibevoice_processor.py | 362 | # No padding, just create attention masks | COMMENT |
| MEDIUM | vibevoice/processor/vibevoice_processor.py | 579 | # Use regex to be more robust | COMMENT |
| MEDIUM | vibevoice/processor/audio_utils.py | 129 | # For stdin bytes, we don't have a cheap/robust way to probe original sr. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | vllm_plugin/model.py | 590 | # Cannot exceed the model's context window | COMMENT |
| MEDIUM | vllm_plugin/model.py | 627 | # Cannot exceed model context window | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | vibevoice/schedule/dpm_solver.py | 1 | # Copyright 2024 TSAIL Team and The HuggingFace Team. All rights reserved. | COMMENT |
| LOW | vllm_plugin/__init__.py | 61 | # Note: This function is called via vllm.general_plugins entry point | COMMENT |