[{"data":1,"prerenderedAt":671},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-microsoft\u002FVibeVoice":249,"page-views-\u002Ftrending\u002Fmicrosoft\u002FVibeVoice":669},[4,29,104,124,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94,99],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":250,"url":251,"appearances":252,"latest":268},"microsoft\u002FVibeVoice","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FVibeVoice",[253],{"date":254,"rank":255,"stars":256,"starsToday":257,"headSha":258,"sources":259,"lines":260,"clones":261,"duplicatedLines":262,"percentage":263,"codePercentage":264,"codeSources":265,"healthScore":266,"healthGrade":267},"2026-11-06",11,56137,223,"16fb2cb1217c9934a886e1948ffb06120caa2df5",66,23939,119,2013,8.41,8.36,29,57,"C",{"date":254,"generatedAt":269,"name":250,"url":251,"description":270,"language":271,"stars":256,"starsToday":257,"defaultBranch":272,"headSha":258,"durationMs":273,"total":274,"formats":278,"topClones":313,"code":457,"health":552,"complexity":582,"deadCode":627},"2026-11-06T05:21:38.798Z","Open-Source Frontier Voice AI","Python","main",1101,{"sources":259,"lines":260,"tokens":275,"clones":261,"duplicatedLines":262,"duplicatedTokens":276,"percentage":263,"percentageTokens":277},139572,12788,9.16,[279,286,293,299,305,310],{"format":280,"sources":281,"lines":282,"clones":283,"duplicatedLines":284,"percentage":285},"python",40,20657,102,1761,8.52,{"format":287,"sources":288,"lines":289,"clones":290,"duplicatedLines":291,"percentage":292},"bash",8,302,10,91,30.13,{"format":294,"sources":255,"lines":295,"clones":296,"duplicatedLines":297,"percentage":298},"markdown",1511,5,75,4.96,{"format":300,"sources":296,"lines":301,"clones":302,"duplicatedLines":303,"percentage":304},"json",396,2,86,21.72,{"format":306,"sources":307,"lines":308,"clones":309,"duplicatedLines":309,"percentage":309},"markup",1,1017,0,{"format":311,"sources":307,"lines":312,"clones":309,"duplicatedLines":309,"percentage":309},"toml",56,[314,339,363,385,394,403,415,426,436,447],{"format":280,"lines":315,"tokens":316,"first":317,"others":321,"copies":302,"excerpt":326,"kind":338},111,622,{"name":318,"start":319,"end":320},"demo\u002Fvibevoice_asr_gradio_demo.py",710,820,[322],{"name":323,"start":324,"end":325},"vllm_plugin\u002Fscripts\u002Fgradio_asr_demo_api_video.py",1374,1484,{"lines":327,"total":315},[328,329,330,331,332,333,334,335,336,337],"theme_css = \"\"\"","\u003Cstyle>",":root {","    --segment-bg: #f8f9fa;","    --segment-border: #e1e5e9;","    --segment-text: #495057;","    --segment-meta: #6c757d;","    --content-bg: white;","    --content-border: #007bff;","    --warning-bg: #fff3cd;","docs",{"format":280,"lines":340,"tokens":341,"first":342,"others":346,"copies":302,"excerpt":351,"kind":338},23,435,{"name":343,"start":344,"end":345},"demo\u002Fvibevoice_asr_streaming_fastapi_demo.py",199,221,[347],{"name":348,"start":349,"end":350},"vllm_plugin\u002Fscripts\u002Ffastapi_asr_streaming_demo_api.py",183,205,{"lines":352,"total":340},[353,354,355,356,357,358,359,360,361,362],"}","* { box-sizing: border-box; }","body { margin:0; background:var(--bg); color:var(--fg); font-size:15px;","       font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,","                   \"Helvetica Neue\",\"PingFang SC\",\"Microsoft YaHei\",sans-serif; }","header { padding:18px 24px; border-bottom:1px solid var(--line);","         display:flex; align-items:center; gap:12px; flex-wrap:wrap; }","h1 { font-size:17px; margin:0; font-weight:600; }",".dot { width:8px; height:8px; border-radius:50%; background:var(--muted); }",".dot.ok { background:var(--ok); }",{"format":280,"lines":364,"tokens":301,"first":365,"others":369,"copies":302,"excerpt":374,"kind":384},45,{"name":366,"start":367,"end":368},"vibevoice\u002Fprocessor\u002Fvibevoice_processor.py",646,690,[370],{"name":371,"start":372,"end":373},"vibevoice\u002Fprocessor\u002Fvibevoice_streaming_processor.py",363,407,{"lines":375,"total":364},[376,377,378,379,377,380,381,382,377,383],"def batch_decode(self, *args, **kwargs):","    \"\"\"","    This method forwards all its arguments to VibeVoiceTextTokenizer's [`~PreTrainedTokenizer.batch_decode`].","    Please refer to the docstring of this method for more information.","    return self.tokenizer.batch_decode(*args, **kwargs)","","def decode(self, *args, **kwargs):","    This method forwards all its arguments to VibeVoiceTextTokenizer's [`~PreTrainedTokenizer.decode`].","code",{"format":280,"lines":386,"tokens":387,"first":388,"others":391,"copies":302,"kind":384},51,368,{"name":366,"start":389,"end":390},461,511,[392],{"name":371,"start":393,"end":372},313,{"format":280,"lines":395,"tokens":396,"first":397,"others":400,"copies":302,"kind":384},78,365,{"name":366,"start":398,"end":399},55,132,[401],{"name":371,"start":386,"end":402},128,{"format":280,"lines":404,"tokens":405,"first":406,"others":410,"copies":302,"kind":384},71,359,{"name":407,"start":408,"end":409},"vibevoice\u002Fmodular\u002Fmodeling_vibevoice.py",143,213,[411],{"name":412,"start":413,"end":414},"vibevoice\u002Fmodular\u002Fmodeling_vibevoice_asr.py",85,154,{"format":280,"lines":416,"tokens":417,"first":418,"others":422,"copies":302,"kind":384},50,285,{"name":419,"start":420,"end":421},"vibevoice\u002Fmodular\u002Fmodular_vibevoice_text_tokenizer.py",112,161,[423],{"name":419,"start":424,"end":425},210,259,{"format":280,"lines":427,"tokens":257,"first":428,"others":432,"copies":302,"kind":384},24,{"name":429,"start":430,"end":431},"vibevoice\u002Fmodular\u002Fmodular_vibevoice_tokenizer.py",1074,1097,[433],{"name":429,"start":434,"end":435},1164,1187,{"format":294,"lines":437,"tokens":438,"first":439,"others":443,"copies":302,"kind":338},36,214,{"name":440,"start":441,"end":442},"README.md",136,171,[444],{"name":445,"start":386,"end":446},"docs\u002Fvibevoice-tts.md",84,{"format":280,"lines":448,"tokens":449,"first":450,"others":454,"copies":302,"kind":384},35,198,{"name":451,"start":452,"end":453},"vibevoice\u002Fmodular\u002Fconfiguration_vibevoice.py",208,242,[455],{"name":451,"start":393,"end":456},347,{"sources":265,"lines":458,"tokens":459,"clones":460,"duplicatedLines":461,"duplicatedTokens":462,"percentage":264,"percentageTokens":463,"formats":464,"topClones":466,"generated":550},16116,92322,77,1347,8270,8.96,[465],{"format":280,"sources":265,"lines":458,"clones":460,"duplicatedLines":461,"percentage":264},[467,473,487,503,507,511,515,519,530,540],{"format":280,"lines":364,"tokens":301,"first":468,"others":469,"copies":302,"excerpt":471,"kind":384},{"name":366,"start":367,"end":368},[470],{"name":371,"start":372,"end":373},{"lines":472,"total":364},[376,377,378,379,377,380,381,382,377,383],{"format":280,"lines":386,"tokens":387,"first":474,"others":475,"copies":302,"excerpt":477,"kind":384},{"name":366,"start":389,"end":390},[476],{"name":371,"start":393,"end":372},{"lines":478,"total":386},[479,480,481,482,483,484,485,377,486,381],"def prepare_speech_inputs(","    self,","    speech_inputs: List[np.ndarray],","    return_tensors: Optional[Union[str, TensorType]] = None,","    device: Optional[Union[str, torch.device]] = None,","    dtype: Optional[torch.dtype] = None,",") -> Dict[str, Any]:","    Prepare speech inputs for model consumption.",{"format":280,"lines":395,"tokens":396,"first":488,"others":489,"copies":302,"excerpt":491,"kind":384},{"name":366,"start":398,"end":399},[490],{"name":371,"start":386,"end":402},{"lines":492,"total":395},[493,494,495,496,497,498,499,500,501,502],"    [`VibeVoiceProcessor`]: The processor object instantiated from pretrained model.","\"\"\"","import os","import json","from transformers.utils import cached_file","from .vibevoice_tokenizer_processor import VibeVoiceTokenizerProcessor","from vibevoice.modular.modular_vibevoice_text_tokenizer import (","    VibeVoiceTextTokenizer,","    VibeVoiceTextTokenizerFast",")",{"format":280,"lines":404,"tokens":405,"first":504,"others":505,"copies":302,"kind":384},{"name":407,"start":408,"end":409},[506],{"name":412,"start":413,"end":414},{"format":280,"lines":416,"tokens":417,"first":508,"others":509,"copies":302,"kind":384},{"name":419,"start":420,"end":421},[510],{"name":419,"start":424,"end":425},{"format":280,"lines":427,"tokens":257,"first":512,"others":513,"copies":302,"kind":384},{"name":429,"start":430,"end":431},[514],{"name":429,"start":434,"end":435},{"format":280,"lines":448,"tokens":449,"first":516,"others":517,"copies":302,"kind":384},{"name":451,"start":452,"end":453},[518],{"name":451,"start":393,"end":456},{"format":280,"lines":520,"tokens":521,"first":522,"others":525,"copies":302,"kind":384},33,190,{"name":407,"start":523,"end":524},76,108,[526],{"name":527,"start":528,"end":529},"vibevoice\u002Fmodular\u002Fmodeling_vibevoice_streaming.py",61,94,{"format":280,"lines":531,"tokens":532,"first":533,"others":536,"copies":302,"kind":384},30,175,{"name":407,"start":534,"end":535},129,158,[537],{"name":527,"start":538,"end":539},126,155,{"format":280,"lines":541,"tokens":542,"first":543,"others":546,"copies":302,"kind":384},16,160,{"name":366,"start":544,"end":545},188,203,[547],{"name":371,"start":548,"end":549},189,204,{"files":309,"minified":309,"sample":551},[],{"score":266,"grade":267,"size":553,"dimensions":557},{"lines":554,"files":555,"class":556},20705,41,"M",[558,568,576],{"id":559,"source":560,"value":561,"adjusted":562,"lines":284,"halfLife":561,"formats":563,"excluded":564,"weight":307,"score":567},"duplication","jscpd",8.5,8.1,[280,287],[306,565,566],"text","data",51.8,{"id":569,"source":560,"value":570,"adjusted":571,"lines":572,"halfLife":573,"coverage":574,"weight":307,"score":575},"dead-code",1.1,1.3,227,7.5,100,88.9,{"id":577,"source":560,"value":578,"adjusted":579,"lines":580,"halfLife":416,"weight":307,"score":581},"complexity",69.9,65.6,14470,40.3,{"total":583,"mean":528,"files":584},2503,[585,589,593,597,602,606,610,614,619,623],{"path":323,"complexity":586,"lines":587,"bytes":588},286,2209,88246,{"path":429,"complexity":590,"lines":591,"bytes":592},201,1207,51899,{"path":594,"complexity":548,"lines":595,"bytes":596},"vllm_plugin\u002Fmodel.py",1359,57892,{"path":598,"complexity":599,"lines":600,"bytes":601},"vibevoice\u002Fschedule\u002Fdpm_solver.py",152,1065,49964,{"path":318,"complexity":603,"lines":604,"bytes":605},123,1268,49351,{"path":607,"complexity":603,"lines":608,"bytes":609},"vibevoice\u002Fmodular\u002Fmodeling_vibevoice_streaming_inference.py",906,42627,{"path":412,"complexity":611,"lines":612,"bytes":613},115,798,34678,{"path":615,"complexity":616,"lines":617,"bytes":618},"vllm_plugin\u002Fasr_streaming_server.py",99,852,37714,{"path":366,"complexity":620,"lines":621,"bytes":622},98,692,30082,{"path":624,"complexity":303,"lines":625,"bytes":626},"vibevoice\u002Fprocessor\u002Fvibevoice_asr_processor.py",604,24934,{"percentage":570,"findings":620,"files":364,"byCategory":628,"largest":638},[629,631,633,636],{"category":630,"count":302},"unused-file",{"category":632,"count":307},"unused-export",{"category":634,"count":635},"unused-symbol",9,{"category":637,"count":303},"unused-import",[639,642,645,650,655,658,660,663,665,667],{"category":630,"path":640,"name":381,"line":307,"lines":641},"vllm_plugin\u002Finputs.py",101,{"category":630,"path":643,"name":381,"line":307,"lines":644},"vibevoice\u002Fschedule\u002Ftimestep_sampler.py",19,{"category":632,"path":646,"name":647,"line":648,"lines":649},"vllm_plugin\u002Fasr_streaming.py","segments_to_text",310,6,{"category":637,"path":651,"name":652,"line":653,"lines":654},"finetuning-asr\u002Flora_finetune.py","prepare_model_for_kbit_training",28,3,{"category":637,"path":366,"name":656,"line":657,"lines":654},"VibeVoiceTextTokenizer",62,{"category":637,"path":371,"name":656,"line":659,"lines":654},58,{"category":637,"path":661,"name":662,"line":654,"lines":307},"demo\u002Frealtime_model_inference_from_file.py","re",{"category":637,"path":661,"name":664,"line":296,"lines":307},"Any",{"category":637,"path":661,"name":666,"line":296,"lines":307},"Dict",{"category":637,"path":661,"name":668,"line":296,"lines":307},"List",{"\u002Ftrending\u002Fmicrosoft\u002FVibeVoice":670},{"views":309,"visits":309},1793953239783]